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
Garux
213b680a3c
* region XY: only deselect excluded objects for convenience
2019-03-24 23:05:14 +03:00
Garux
dabcad5088
* Shortcuts edit: fix "already assigned" check
...
rebase shortcuts logic on 'key is lower, modifiers are allowed in struct Accelerator' idea
2019-03-08 19:31:51 +03:00
Garux
af720a7f32
remove convhull_3d.h
2019-02-28 00:00:54 +03:00
Garux
1628abfd0f
calm down -Wdelete-non-virtual-dtor warnings
...
remove -Wno-non-virtual-dtor from makefile (what does it do anyway? -Wdelete-non-virtual-dtor is part of -Wall)
2019-02-26 19:08:47 +03:00
Garux
812a8b6001
q3map2: follow ODR
...
enables compilation with -fno-common
2019-02-23 00:09:42 +03:00
Garux
9f80983975
prevent buffer underflow in Vector4ClipPolygon
2019-02-22 23:55:20 +03:00
Garux
7c2d05f399
fix 'might be considered always true' warning
2019-02-22 23:53:39 +03:00
Garux
07d3008b96
calm down fall through warnings
2019-02-22 23:50:10 +03:00
Garux
ff4260c75a
* picomodel: fix md2 loader
...
duplicates management algorithm isn't as quick, as in old code, but quick nuff + working
2019-02-22 23:29:04 +03:00
Garux
b7bfa11b55
* entity inspector::smartEdit: display real key names
...
* entity inspector::smartEdit: show tooltips with extended names and descriptions for keys and flags
2019-01-11 21:25:31 +03:00
Garux
d19b3c9a28
* picomodel::obj: support polygons > quads
2019-01-10 16:29:38 +03:00
Garux
034f06f18d
* brushexport plugin: write Kd (diffuse color) and map_Kd (diffuse map) data to .mtl
...
* brushexport plugin fix: invert Y during YZ swap; invert V of UV coords (correct texturing)
* brushexport plugin: default to 'Don't collapse' option
q3map2: * obj export: save in popular 'Y = Up, -Z = Forward' format
* picomodel::obj: load as popular 'Y = Up, -Z = Forward' format
* picomodel::obj: fix support of back references in faces
2019-01-10 00:44:27 +03:00
Garux
0a91aaef32
fix compilation in Ubuntu
2018-12-16 14:18:46 +03:00
Garux
9eff327c70
refactor brush transform evaluation code to reduce amount of unneeded evaluations to 0
...
improvable: don't evaluateBRep on shader changed, perhaps more
fix: brush vertex manip: no vertexModeFree() after identity transform (mouse forth and back / rotate dialog 0 / insertion w/o move) = selects vertices on undo
fix: brush vertex manip: tex vertex lock: broken for 220
use brush::vertexmode code to delete selected brush components
2018-12-13 19:13:26 +03:00
Garux
435c41b73b
* new vertex editing mode, preserving non modified vertices (=adding/removing faces automatically)
...
with debug prints
2018-12-10 17:50:40 +03:00
Garux
6b8b568fd2
C++11 candy
2018-12-08 16:44:08 +03:00
Garux
389030e05d
fix cached brush face centroid tracking
2018-12-05 15:19:12 +03:00
Garux
70167de13b
switch CSG_build_hull to https://github.com/akuukka/quickhull lib, feels robust enough
...
use -std=c++11
2018-12-01 15:43:26 +03:00
Neon_Knight
e378a87134
It fixes compilation errors in some systems.
2018-11-14 20:59:37 -03:00
Zack Middleton
9aa9620d4d
Fix over allocating vertexes for OBJ models with multiple surfaces
...
Loading Wavefront OBJ models in picomodel (used by radiant and q3map2)
did not reset the surface vertex index when starting a new surface. This
caused there to be unused vertexes, equal to the number of vertexes in
all previous surfaces, at the beginning of each surface. Exponential OBJ
vertex memory usage as number of surfaces increases. It did not affect
displaying or processing the surface faces.
2018-10-30 20:27:44 -05:00
Garux
736f89026f
use convhull_3d for quicker hull calculation
2018-10-22 18:36:38 +03:00
Garux
1191f54ef4
add https://github.com/leomccormack/convhull_3d/blob/master/convhull_3d.h
2018-10-22 18:33:40 +03:00
Garux
0f7af6aaa4
binds... * shift + u: new uniform CSG wrap merge algorithm, merging selected brushes and/or components
2018-10-16 01:20:09 +03:00
Garux
502cc59eee
fix 64bit compilation
2018-10-07 04:54:32 +03:00
Garux
9c91f4fa78
binds... * alt + m1 in camera: new resizing mode for brushes, curves and doom3 lights with direct and indirect selection methods
2018-10-06 02:31:05 +03:00
Garux
f99cf57f27
fix some strncpy use
2018-09-29 21:34:03 +03:00
Garux
86904473bb
* picomodel: do some guessings about shader paths to handle more cases out of the box; ones are based on material and diffuse map names:
...
name w/o path: assume textures are in the folder, where model file is
absolute path or with ..: try to cut at "/models/" or "/textures/" (as if leading to game folders); do previous case, if not
strip extensions and turn slashes to forward ones anytime
* picomodel::obj: fix diffuse map paths loading from .mtl
2018-09-29 14:39:10 +03:00
Garux
cdd1676a59
minus inclusion, a bit of correctness in FBO_fallback
2018-08-29 00:12:00 +03:00
Garux
c5f2279f4a
* render direction arrow for group entities, having angle/angles key set or having angle/angles/direction attribute in .ent
...
draw condition relies on entity.getKeyValue, which also provides default values; thus removed default "0" for all group entities in .def loader
mind to add entity.getOnlySpecifiedKeyValue func or perform by visitor?
2018-08-16 20:00:58 +03:00
Garux
3706e1131a
binds...
...
* m3: copy texture name, alignment +new: color, light power, color
* alt + m3/drag: paste texture name (to pointed and selected stuff)
* shift + m3/drag: paste texture name, alignment +new: light power
* ctrl + m3/drag: paste texture seamlessly between brush faces +new: light color
* ctrl + shift + m3/drag: project texture from copied brush face +new: paste light power, color
* alt + ctrl/shift/ctrl+shift + m3/drag: respective texture alignment paste w/o texture name
fix void NormalizeColor( Vector3& color )
fix: reset texture clipboard texdef on selection in texbro (was only resetting scales)
2018-08-11 23:36:50 +03:00
Garux
461410f1a9
* fix automatic connection names resolving of cloned entities
...
issue was:
create entity 1, clone to 2,3; connect 1-2, 2-3 = 1-3 connected; 2-3, 1-2/3-2 2-1 = ok; create all ones via menu/clone-make-unique/ctrl+c +v = ok
clone-make-unique is broken, when operating with cloned entities, connected 3-2, 2-1 (ctrl+c +v too)
2018-07-27 20:21:42 +03:00
Garux
5c48131eba
* rectangular selector gestures, enabling select, deselect and toggle behaviors
2018-07-23 16:25:32 +03:00
Garux
bbc691a07b
* more robust open/save/import dialog path handling (could crash by opening file w/o extension or with illegal one)
...
likely fix for extensions in uppercase in OSes with case dependent FSes
2018-07-21 22:12:51 +03:00
Garux
a13ad776b4
* fix group entities name position with origin key used
2018-07-21 22:05:31 +03:00
Garux
9643c53990
* picomodel: fix parser->curLine for line number report (was increased twice)
2018-07-18 22:01:08 +03:00
Garux
b12ecc838b
picomodel: white default color of fm, md2 (was one white and rest black)
...
unified picoColor_white
2018-07-18 14:53:15 +03:00
Garux
47ef9a6ae2
* picomodel::obj: fix black default vertex color, also use one from .mtl
2018-07-14 20:52:17 +03:00
Garux
f83dc2e891
* use external textures mipmaps generation, draw NPoT textures correctly
2018-07-10 00:54:35 +03:00
Garux
6f8a0668a3
add and use VolumeTest/View.getViewDir()
2018-05-18 01:55:20 +03:00
Garux
ae1bd2c066
matrix4_for_normal_transform, matrix4_transformed_normal, plane3_transformed_affine_full functions
2018-05-16 14:16:43 +03:00
Garux
e1bc4a8ba9
fix quaternion_for_unit_vectors, quaternion_normalised
...
RotateFree got lower (realistic) sensitivity
2018-05-16 02:59:18 +03:00
Garux
813cd70fd3
add vector3_max_abs_component_index, vector3_min_abs_component_index functions
2018-05-14 22:35:31 +03:00
Garux
446ab50511
really support mouse_moved_epsilon system in camera freelook
...
use FreezePointer chain for freelook selections/manipulaions instead of extra gtk motion handler (fixes one step latency in window observer aswell)
2018-04-17 14:26:49 +03:00
Garux
93aef246ea
* support mouse_moved_epsilon system in camera freelook + refactor RadiantWindowObserver
2018-04-14 23:12:53 +03:00