Commit Graph

2075 Commits

Author SHA1 Message Date
Garux c50c044a31 fix volatile text rendering artifacts with MSAA
a0a47640b0
2020-10-29 22:00:17 +03:00
Garux af71efc0e6 * no shaderlist.txt or empty one = load all shaders 2020-10-25 09:07:29 +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
Thomas Debesse 1cf7b72e6b q3map2/light_bounce: prevent infinite loop on obscure bias compute
New code produces same result without loop at all, so
it cannot fall in infinite loop, and it is faster in
use cases requiring more than one loop in previous code.

The Unvanquished vega map is known to trigger the bug:
https://github.com/UnvanquishedAssets/map-vega_src.dpkdir
I reproduced it multiple time on various hardware (8 core FX-9590,
12 core/24 thread Ryzen 9 3900X) with commit af40508 and using
final compilation profile edited to use -fastbounce instead
of -fast option.

The symptom is simple, q3map2 stucks there:

--- Radiosity (bounce 1 of 8) ---
--- RadCreateDiffuseLights ---
0...1...2...3..

Or somewhere else in that progression bar given your hardware
and the amount of core your CPU has.

When stuck, all the CPU cores are running 100% but the thread
never returns (a strace can reveals it, a gdb backtrace too).

Thanks to @slipher for the precious advices and improving my first
attempt to fix it.

For more information on the issue, I asked:

> which negative value never can become positive
> when incremented infinitely?

slipher said:

> for a double, any value less than -2^53 would have this property
> don't know for float off the top of my head

But then, it means that's theorically verified this loop was able
to run forever in some case.

I don't know what this code is doing anyway, but at least we can
keep the behaviour without requiring to understand it.
2020-08-19 08:32:36 +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 14d67694a5 .gitignore .vscode 2020-07-22 19:57:51 +03:00
Garux 4bcce46a59 q3map2: -onlyents: support *.ent as map file param 2020-06-30 13:15:10 +03:00
Garux d8e8c10849 Add "slime" surfaceparam keyword to game_wolfet q3map2 for Quake 3 map shader compatibility.
#45
2020-06-30 12:55:52 +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 ae9fe08159 * support -extlmhacksize N N input for non square lightmaps, for example -extlmhacksize 2048 1024
also enables this for -lightmapsize, legitimacy is questionable here
2020-06-14 15:49:16 +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 8cdce0e07c undo searching for q3map_<surfaceparm> removal in f560e2703b
#43
2020-06-06 12:31:18 +03:00
Garux 9ef4e57518 fix infinite loop in bobtoolz modal dialog after "enter illegal data;ok;get msg box;ok;close dialog window;get msg box" 2020-06-06 12:18:28 +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 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 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 f14722d36f replace GTK_FILE_SELECTION 2020-05-21 19:16:09 +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 790424dbae GTK_OPTION_MENU -> GTK_COMBO_BOX_TEXT 2020-05-21 16:27:29 +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 a212ff3b27 GtkCombo -> GtkComboBox 2020-05-21 16:27:25 +03:00
Garux 3edde6c857 replace gtk_entry_new_with_max_length() 2020-05-21 16:27:23 +03:00
Garux bc48a22a7b gtk_container_border_width -> gtk_container_set_border_width 2020-05-21 16:27:22 +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