Commit Graph

657 Commits

Author SHA1 Message Date
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
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 658819cfac support https in help menu 2020-02-29 05:12:38 +03:00
Garux 097a662814 * preferences->Grid->Max grid coordinate: how much big grid to render (visual aid for games with small world)
known minor issues:
preference change to smaller value doesn't trigger 2d view origin, scale constraints evaluation (ok after doing manually)
preference change during region mode resets grid region size
2020-02-27 21:03:04 +03:00
Garux 9304e9bfa5 bigger default grid spacing 2020-02-25 19:21:14 +03:00
Garux 94a6cc9cda lower default camera fov 2020-02-25 19:01:48 +03:00
Garux abcc47ad64 more csg tool refactoring 2020-02-24 21:44:20 +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
Thomas Debesse 07a06b5b89 * ctrl + alt + m1: extrude pointed faces of selected brushes and selected faces inside/outside
* improve alt + m1 resizing camera for slanted faces
2020-02-22 04:14:45 +03:00