Jonathan G Rennison
551d581215
Unix crash log: Fix stack trace formatting when using addr2line
2023-06-18 20:17:38 +01:00
Jonathan G Rennison
a7a8f4c695
Windows crash log: Don't bother writing raw stack if it can be decoded
...
The raw values are almost always useless
2023-06-18 15:46:13 +01:00
Jonathan G Rennison
bcab44dc98
Windows crash log: Fix stack overflow in crash dialog window setup
...
Excessive stack use for crash log text conversion buffers
2023-06-18 15:38:33 +01:00
Jonathan G Rennison
d211ef557a
Windows crash log: Handle crash log faults (MSVC)
2023-06-18 15:38:26 +01:00
Jonathan G Rennison
8c507d6611
Crash log: Suppress messages from internal faults
2023-06-13 00:57:05 +01:00
Jonathan G Rennison
ad995cbebc
Windows crash log: Use TerminateProcess instead of ExitProcess
2023-06-13 00:57:05 +01:00
Jonathan G Rennison
940656bb6c
Windows crash log: Handle crash log faults (MinGW)
2023-06-13 00:57:05 +01:00
Jonathan G Rennison
b26a3fa41e
Crash log: Write out crash log incrementally on Windows, MacOS
2023-06-13 00:57:05 +01:00
Jonathan G Rennison
76304c1f76
Crash log: Checkpoint each line of decoded stack trace
2023-06-12 19:03:37 +01:00
Jonathan G Rennison
da07c8ce51
Crash log: Move GDB/LLDB logging to its own section
2023-06-12 18:38:27 +01:00
Jonathan G Rennison
dd57fc6ecf
Unix crash log: Generalise crash log fault handling to all sections
2023-06-12 18:34:37 +01:00
Jonathan G Rennison
7a9cf87ff8
Windows: Add fallback for DoOSAbort implementation
2023-06-11 17:04:15 +01:00
Jonathan G Rennison
417abcccff
Windows: Handle abort exception in VectoredExceptionHandler
...
To make sure that it is definitely handled
2023-06-11 16:47:01 +01:00
Jonathan G Rennison
cca7c0ef0a
Windows: Don't call abort, use RaiseException directly
2023-06-11 16:46:12 +01:00
Jonathan G Rennison
cb6f6f94e6
Fix string handling error in OTTDStringCompare Windows implementation
...
See: #542
2023-06-11 15:26:54 +01:00
Patric Stout
2618179664
Fix: Wayland crash on startup due to Pango also using FontConfig ( #10916 )
...
Basically, we haven't been a good neighbour. Turns out you shouldn't
actually call FcFini when you are done, as some library might still
want to use FontConfig. And they use a shared instance for their
administration.
The idea is that you call FcInit once, and use FcConfigReference
after that to get an instance, you can release. This entry is
ref-counted, and things happen automatically based on that.
At least, I think.
(cherry picked from commit cd751a598a )
2023-06-10 16:42:22 +01:00
PeterN
8034609368
Fix: Ask FontConfig for the face index when opening fonts. ( #10878 )
...
This allows selection of the correct face in truetype fonts containing
multiple faces.
(cherry picked from commit 876871157f )
2023-06-10 16:42:22 +01:00
Jonathan G Rennison
ac2f9a21e8
Move upstream saveload to src/saveload/, move jgrpp saveload to src/sl/
...
Leave afterload in src/saveload/
2023-06-08 00:01:40 +01:00
Jonathan G Rennison
3a47b421b0
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/company_cmd.cpp
# src/core/overflowsafe_type.hpp
# src/economy.cpp
# src/engine_base.h
# src/ground_vehicle.cpp
# src/group_gui.cpp
# src/industry_cmd.cpp
# src/industry_gui.cpp
# src/newgrf_commons.cpp
# src/newgrf_engine.cpp
# src/newgrf_industries.cpp
# src/newgrf_object.cpp
# src/newgrf_roadstop.cpp
# src/newgrf_station.cpp
# src/rail_gui.cpp
# src/road_cmd.h
# src/road_gui.cpp
# src/saveload/afterload.cpp
# src/script/api/script_log.cpp
# src/script/api/script_log.hpp
# src/settings_gui.cpp
# src/settingsgen/settingsgen.cpp
# src/station_cmd.cpp
# src/station_cmd.h
# src/station_gui.cpp
# src/strgen/strgen.cpp
# src/string_func.h
# src/string_type.h
# src/table/settings/network_private_settings.ini
# src/tests/math_func.cpp
# src/textfile_gui.cpp
# src/timetable_gui.cpp
# src/town_cmd.cpp
# src/vehicle.cpp
# src/waypoint_cmd.cpp
# src/waypoint_cmd.h
# src/widgets/dropdown.cpp
2023-06-03 19:16:57 +01:00
Jonathan G Rennison
02fe4af934
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/release-windows.yml
# src/company_base.h
# src/company_cmd.cpp
# src/company_gui.cpp
# src/console_cmds.cpp
# src/economy.cpp
# src/economy_cmd.h
# src/fios.h
# src/goal.cpp
# src/group_gui.cpp
# src/network/core/config.h
# src/network/network_admin.cpp
# src/newgrf_config.cpp
# src/os/windows/win32.cpp
# src/saveload/afterload.cpp
# src/saveload/company_sl.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload_error.hpp
# src/settings_gui.cpp
# src/ship_cmd.cpp
# src/stdafx.h
# src/story.cpp
# src/story_base.h
# src/string.cpp
# src/table/settings/economy_settings.ini
# src/tests/CMakeLists.txt
# src/tests/math_func.cpp
2023-05-30 00:49:24 +01:00
Jonathan G Rennison
fd4d4d341d
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/animated_tile.cpp
# src/cargopacket.h
# src/cheat_gui.cpp
# src/company_cmd.cpp
# src/company_gui.cpp
# src/date.cpp
# src/disaster_vehicle.cpp
# src/dock_gui.cpp
# src/economy.cpp
# src/engine.cpp
# src/error_gui.cpp
# src/fontcache/spritefontcache.cpp
# src/game/game_gui.cpp
# src/game/game_text.cpp
# src/gfx.cpp
# src/graph_gui.cpp
# src/highscore_gui.cpp
# src/industry_cmd.cpp
# src/lang/dutch.txt
# src/lang/english_AU.txt
# src/lang/english_US.txt
# src/lang/finnish.txt
# src/lang/french.txt
# src/lang/italian.txt
# src/lang/portuguese.txt
# src/lang/russian.txt
# src/lang/turkish.txt
# src/lang/vietnamese.txt
# src/main_gui.cpp
# src/misc_gui.cpp
# src/network/network_gui.cpp
# src/network/network_server.cpp
# src/newgrf.cpp
# src/newgrf.h
# src/newgrf_generic.cpp
# src/news_gui.cpp
# src/openttd.cpp
# src/os/unix/unix.cpp
# src/os/windows/font_win32.cpp
# src/os/windows/win32.cpp
# src/rail_gui.cpp
# src/road_gui.cpp
# src/saveload/afterload.cpp
# src/saveload/misc_sl.cpp
# src/saveload/oldloader_sl.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/script/script_gui.cpp
# src/settings_table.cpp
# src/signs_gui.cpp
# src/smallmap_gui.cpp
# src/smallmap_gui.h
# src/spritecache.cpp
# src/spritecache.h
# src/spriteloader/grf.cpp
# src/station_cmd.cpp
# src/statusbar_gui.cpp
# src/stdafx.h
# src/strgen/strgen_base.cpp
# src/subsidy.cpp
# src/table/settings/difficulty_settings.ini
# src/texteff.cpp
# src/timetable_cmd.cpp
# src/timetable_gui.cpp
# src/toolbar_gui.cpp
# src/town_cmd.cpp
# src/town_gui.cpp
# src/townname.cpp
# src/vehicle.cpp
# src/waypoint_cmd.cpp
# src/widgets/dropdown.cpp
# src/window.cpp
2023-05-26 19:36:48 +01:00
Rubidium
68ff3fd062
Change: include fmt.h C++ headers in stdafx.h
...
This to prevent compilation issues between runs with and without precompiled
headers. Also remove the headers from the rest of the code base as they are
not needed there anymore, although they do relatively little harm.
2023-05-08 16:49:23 +02:00
Michael Lutz
b14c5aff1f
Fix: [Win32] Text line breaking did not properly handle punctuation characters. ( #10775 )
2023-05-06 16:15:40 +00:00
Peter Nelson
00bf42353a
Codechange: Place gamelog into its own class, along with internal data.
...
Data is now stored in vectors to avoid manual memory management and
passing lengths around.
2023-05-02 19:47:55 +01:00
Michael Lutz
908be59699
Fix: [Win32] Wrong multi-line text layout due to incorrect whitespace handling.
2023-05-01 16:31:59 +02:00
Michael Lutz
715234502c
Fix: Typo in variable name.
2023-05-01 16:31:59 +02:00
Rubidium
3a822fcd01
Codechange: Make FiosItem's name and title std::string
2023-04-29 13:23:34 +02:00
Rubidium
c829930440
Codechange: replace strnatcmp with C++ string capable version
2023-04-29 12:07:45 +02:00
Rubidium
df19673fbd
Codechange: let convert_to_fs accept std::string
2023-04-29 12:07:45 +02:00
Rubidium
4dd5f994be
Codechange: replace strncasecmp with case ignoring variant of StrStarts/EndsWith
2023-04-29 10:25:25 +02:00
Rubidium
86786a7af6
Codechange: introduce StrEqualsIgnoreCase/StrCompareIgnoreCase to replace strcasecmp
2023-04-29 10:25:25 +02:00
Rubidium
f74e26ca7e
Codechange: replace error/usererror printf variant with fmt variant and rename
2023-04-25 17:55:09 +02:00
Rubidium
f5f6306af3
Codechange: use string/fmt instead of printf for ShowInfo(F)
2023-04-24 17:51:54 +02:00
PeterN
e97bf271dc
Codechange: Make SpriteType, CargoSortType, SourceType and ScriptType enum classes. ( #10663 )
...
This avoids a (soft) namespace conflict between the four ST_* enums.
2023-04-16 20:00:55 +01:00
Rubidium
9b56505fec
Codechange: split building into a library and executable
2023-04-16 18:58:21 +02:00
Rubidium
9e89eb5726
Codechange: move main function(s) to separate files
2023-04-16 18:58:21 +02:00
Charles Pigott
6fc28d649e
Cleanup: Unused alloca definitions and includes
2023-04-15 16:57:00 +01:00
Charles Pigott
b282664242
Codechange: Replace all usages of alloca/AllocaM with more modern/less discouraged alternatives
2023-04-15 16:57:00 +01:00
Jonathan G Rennison
cfb0d366f3
Unix: Trigger crash log handler on receiving SIGQUIT
2023-04-02 01:07:54 +01:00
Jonathan G Rennison
97acdfaa05
Crashlog: Unix: Use dladdr1 for symbol offset for addr2line
...
Subtract 1 from offset given to addr2line
2023-02-20 23:42:55 +00:00
PeterN
968709735d
Fix #10477 : Not enough space for text due to rounding down (OSX) ( #10489 )
...
(cherry picked from commit 2376112c77 )
2023-02-20 17:32:31 +00:00
Jonathan G Rennison
588a92648d
Fix fbfbaa11: gmtime replaccement in Windows exception handler
2023-02-20 09:29:51 +00:00
PeterN
2376112c77
Fix #10477 : Not enough space for text due to rounding down (OSX) ( #10489 )
2023-02-18 05:50:20 -05:00
Jonathan G Rennison
fbfbaa118a
Remove use of gmtime and asctime
2023-02-15 22:02:23 +00:00
Rubidium
d51d08ddcb
Codechange: put stack variables in global variables for gamelog/crashlog
2023-01-28 17:23:30 +01:00
Jonathan G Rennison
1bfd96c7f2
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/3rdparty/fmt/core.h
# src/command_type.h
# src/console_cmds.cpp
# src/core/overflowsafe_type.hpp
# src/landscape.cpp
# src/network/network.cpp
# src/newgrf_object.h
# src/object_cmd.cpp
# src/order_gui.cpp
# src/saveload/vehicle_sl.cpp
# src/script/api/script_industrytype.cpp
# src/script/api/script_object.hpp
# src/script/api/script_town.cpp
# src/table/object_land.h
# src/timetable_cmd.cpp
# src/tree_cmd.cpp
# src/vehicle_gui.cpp
# src/window.cpp
2023-01-15 19:28:37 +00:00
Peter Nelson
8149ba338f
Change: Check glyph size before trying to render it.
...
This change of order ensures that the "Font glyph is foot large" occurs
even if the glyph is too large for an alloca() allocation.
2023-01-14 20:50:59 +00:00
Peter Nelson
fa0c67b10a
Change: Remove guess-work from calls to GetGlyphOutline().
...
This API method is intended to be called twice, so don't attempt to guess
the required size.
2023-01-14 20:50:59 +00:00
Peter Nelson
5370e910d3
Change: Use std::vector for fallback font list.
2023-01-14 20:50:59 +00:00
Jonathan G Rennison
5b490b243d
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/industry_cmd.cpp
# src/landscape.cpp
# src/object_cmd.cpp
# src/rail_cmd.cpp
# src/script/api/script_tile.cpp
# src/table/settings/difficulty_settings.ini
# src/table/settings/world_settings.ini
# src/terraform_cmd.cpp
# src/tilearea_type.h
# src/tree_cmd.cpp
# src/tree_cmd.h
# src/tree_gui.cpp
# src/water_cmd.cpp
2023-01-14 16:49:17 +00:00