Garux
bb1931b745
* sort pk3s, so content of later (zzz) overrides earlier, like in radiant and engine
...
* fix strong performance penalty with large amount of files in pk3s
store pak file path once per pk3, not per each file inside
2021-08-13 03:20:07 +03:00
Garux
ee92bdd801
minor tweaks
2021-07-27 22:16:05 +03:00
Garux
44907db895
Add KTX and ETC1 texture support by @Triang3l
...
https://github.com/xonotic/netradiant/pull/1
https://gitlab.com/xonotic/netradiant/-/issues/5
This pull request adds support for Khronos Textures to NetRadiant and Q3Map2, with OpenGL ES 2.0 formats, Ericsson Texture Compression version 1, and BGR/BGRA.
The patent-free Ericsson Texture Compression format will be used in the next version of Warsow to significantly reduce VRAM usage on mobile GPUs and the integrated GPU of Intel Broadwell.
2021-07-18 16:18:49 +03:00
Garux
4c0d049c02
prevent overflow in ostream_write( Decimal )
2021-07-11 16:28:10 +03:00
Garux
4471302857
add and use BasicVector3.vec2()
2021-06-23 16:51:03 +03:00
Garux
7796044913
fix clang build error
2021-06-22 19:17:58 +03:00
Garux
089c100adc
assimp: fix -Waddress-of-packed-member
2021-06-01 01:06:57 +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
31e7829e2b
* support negative misc_model scale
2021-05-11 19:05:54 +03:00
Garux
c58749c72a
apply custom assimp fixes
2021-05-07 14:49:50 +03:00
Garux
75c7c09903
* replace model loaders by assimp library (40+ formats)
...
* auto split big model meshes to <= maxSurfaceVerts chunks (avoids excess meta process for vertexlit ones)
2021-05-07 14:47:39 +03:00
Garux
31a79faee4
update assimp
2021-04-07 01:56:00 +03:00
Garux
70b12396aa
build own assimp dll
2021-03-29 13:57:16 +03:00
Garux
b533eca7ca
add assimp library code
2021-03-29 02:06:58 +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
60652a335f
remove empty .cpp of header libs
2021-03-24 01:20:05 +03:00
Garux
2222100316
indent classes, align by spaces
2021-03-24 00:25:15 +03:00
Thomas Debesse
af82669bd3
do not fail on missing image or model plugin, they can be optional
2021-03-20 20:58:29 +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
ebd90382a4
* improve performance of deselecting big selections
2021-03-20 02:29:48 +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
a5fb9388c2
fix double free on PICO model parsing error
2021-03-13 14:54:59 +03:00
Garux
4f5f5649dc
consider ability of _pico_parse() to return empty string (on trailing space w/o linefeed in this case)
2021-03-13 11:32:45 +03:00
Garux
1144be0881
add BasicVector3 uniform constructor
2021-03-11 19:14:07 +03:00
Garux
902fb46938
random tweaks
2021-03-04 16:11:00 +03:00
Garux
9857bb955b
more c++ math
2021-02-26 01:10:51 +03:00
Garux
4ce944444d
rewrite q3map2 math in c++
2021-02-25 19:41:43 +03:00
Garux
92b2487875
fix string warnings
2021-02-08 01:33:36 +03:00
Garux
aa596f856d
bytebool.h : only #include <stdbool.h> w/o __cplusplus
2021-02-07 07:47:33 +03:00
Garux
b9d5f091e0
use fold expression, forwarding reference
2021-01-29 05:12:20 +03:00
Garux
623163ae9c
remove unused markers
2021-01-28 02:12:15 +03:00
Garux
22dd3d1719
fix warning
2021-01-25 01:09:21 +03:00
Garux
b949f70077
fix dds loading in 64 bit
2021-01-23 11:23:04 +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
3b39a5754d
prevent filename overflow in model .skin loader
...
strip model extension during filename construction
add variadic template operator to StringOutputStream for inline strings creation
2021-01-20 11:59:16 +03:00
Garux
13524d59ef
fix the build
2021-01-16 15:10:59 +03:00
Garux
e62c6f4bb3
fix warnings
2021-01-03 06:24:58 +03:00
Garux
155d633ae9
fix [-Wdeprecated-copy]
2021-01-01 17:44:18 +03:00
Garux
e42d17b71f
fix color of obj without usemtl
2020-10-31 10:20:51 +03:00
Garux
c50c044a31
fix volatile text rendering artifacts with MSAA
...
a0a47640b0
2020-10-29 22:00:17 +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
613cf37150
ensure, that opengl font glyph height >= width to prevent overruns
2020-06-05 21:02:09 +03:00
Garux
e357564ff8
remove more of deprecated Gtk stuff
2020-06-05 20:40:12 +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
64e0c125e8
replace gtk_toolbar_append_space()
2020-05-22 01:16:02 +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
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
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
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
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
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
0f0b251e70
remove unnecessary gdk_pixbuf_add_alpha call
2020-05-03 23:30:10 +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
7d59736ed6
print info on gdk_pixbuf_new_from_file() error
2020-04-14 19:46:38 +03:00
Garux
fbbbd2e7d7
picomodel::ase: support standard empty bitmap name 'none'
2020-03-23 19:55:03 +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
4b2f9d6080
* open/save dialogs: use current file path, name, focus it, if present
...
brushexport plugin: case insensitive extension check
2020-03-01 19:38:27 +03:00
Garux
53676dcf31
* csg tool: +faces face specification mode (only process selected faces)
...
* csg tool: also process unselected brushes with selected faces
2020-02-24 21:43:27 +03:00
Garux
1805e42582
make C code to compile with -std=c11 (though still many implicit function declarations)
2020-02-07 22:45:06 +03:00
Garux
4317ea2ab0
fix some l_net warnings
2020-02-03 23:14:27 +03:00
Garux
eb70faddc8
use standard C bool type:
...
get rid of qfalse, qtrue aliases everywhere
replace qboolean in q3map2, q3data
redefine qboolean type in q2 tools, mbspc
2020-02-03 01:15:30 +03:00
Garux
49c602d793
prevent OOB read in string_equal_suffix, string_equal_suffix_nocase
2019-11-11 01:15:28 +03:00
Garux
e849c95216
* build menu.customize: ctrl + c / ctrl + insert = copy, ctrl + v / shift + insert = paste build presets and command lines
2019-10-09 15:05:13 +03:00
Garux
4ebfc1dcac
refactor template class LatchedValue use
...
make m_sGameFile LatchedValue
fix odd prompt to restart after game change via global preferences dialog + OK in local preferences
sort games list alphabetically by .game file name
2019-09-07 23:04:10 +03:00
Garux
1a18246a1f
* suggest to automatically restart editor on change of preferences, which require this
...
* suggest to restart after selected game preference change
import of https://gitlab.com/xonotic/netradiant/merge_requests/141 e2f605b12f
2019-09-06 11:22:28 +03:00
Garux
6c9870f941
* workaround gamma bug in 2D views and texture browser with fresh nvidia drivers
2019-08-31 12:22:47 +03:00
Garux
070161fd13
shorten code
2019-07-25 19:23:13 +03:00
Garux
9c908392b9
fix warnings and error
2019-07-06 14:35:20 +03:00
Garux
018380da0c
try extra hardcoded font names to make gtkglext bitmap font to work on linux
...
#24
2019-07-05 19:22:46 +03:00
Garux
2426697f65
UV Tool: add patch support
...
patch controls move modifiers: shift = only move along the axis with the biggest move, ctrl = snap hard to grid and povit lines
fix a couple of Patch::Calculate_AvgNormal() and Patch::NaturalTexture() problems
2019-06-10 15:17:57 +03:00
Garux
aa99f4d254
* UV Tool (edit texture alignment of selected face) modifiers:
...
pivot control point and lines: ctrl = snap hard to face vertices and grid
grid density controls: shift = change density of both axes synchronously, ctrl = power of two grid
scale lines: shift = scale axes synchronously, ctrl = snap hard to vertices
alt + m1 on grid = skew texture (is possible alright in BP and Valve220 map formats, not in AP); ctrl = snap hard to edges
texture move: shift = only move along the axis with the biggest move, ctrl = snap grid lines hard to vertices and pivot
rotate: shift = rotate with step of 15 degrees, ctrl = snap hard to edges
2019-05-19 10:30:44 +03:00
Garux
3ce07bb310
change points order in plane3_for_points( const BasicVector3<Element>& p0, const BasicVector3<Element>& p1, const BasicVector3<Element>& p2 )
...
to be consistent over the related code
to omit points swap there and there
2019-05-01 12:38:58 +03:00
Garux
71c63fbdc6
* fix alt + m1 indirect faces picking, when object is partially or fully out of camera view
...
refactor math functions
2019-04-28 20:54:29 +03:00
Garux
57865138b9
g_free after g_object_get
2019-04-23 18:22:24 +03:00
Garux
8d1015c7c8
make RenderTextLabel OpenGLRenderable
...
render CamDrawSize in uniform way
2019-04-23 14:02:13 +03:00
Garux
58eb6e61d2
simplify RENDER_TEXT logic
...
class RenderTextLabel for text rendering
* consider texture alpha channel during rendering of shaders with qer_trans
2019-04-23 11:31:52 +03:00
Garux
f45f759b43
* bigger components handles
...
* render occluded brush vertices differently
disable NV_DRIVER_BUG workaround
remove RenderableWireframe::glColorPointer call
2019-04-16 00:07:50 +03:00
Garux
eff4d4224c
use hardcoded opengl font names in windows only
2019-04-12 20:54:23 +03:00
Garux
11724e3d58
handle "font for OpenGL rendering was not created" case better: don't crash, don't render bs, assert
2019-04-07 17:49:23 +03:00