Jonathan G Rennison
34f8098689
Suppress Wdeprecated-copy warning on clang/emscripten
3 years ago
Jonathan G Rennison
c4e3c2cd75
Avoid unknown pragma GCC diagnostic warning on GCC < 9
3 years ago
Jonathan G Rennison
a731da3956
Suppress Wdeprecated-copy warning in btree_iterator
3 years ago
Jonathan G Rennison
85d2d0daab
Fix 3rd party optional comparison operators
3 years ago
Jonathan G Rennison
62afd94b47
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# src/company_cmd.cpp
# src/economy.cpp
# src/lang/swedish.txt
# src/network/network_command.cpp
# src/news_gui.cpp
# src/saveload/saveload.h
# src/script/api/script_list.cpp
# src/video/cocoa/cocoa_v.mm
# src/video/sdl2_v.cpp
3 years ago
Jonathan G Rennison
61cc60099a
Merge branch 'jgrpp' into jgrpp-beta
...
# Conflicts:
# src/network/core/packet.cpp
# src/network/core/udp.cpp
3 years ago
Jonathan G Rennison
5586d1a20a
Remove use of deprecated allocator rebind in cpp-btree
3 years ago
Jonathan G Rennison
da282c3ecc
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# .github/workflows/ci-build.yml
# CMakeLists.txt
# src/lang/finnish.txt
# src/lang/french.txt
# src/lang/korean.txt
# src/lang/norwegian_bokmal.txt
# src/lang/russian.txt
# src/lang/spanish.txt
# src/misc_gui.cpp
# src/newgrf.cpp
3 years ago
Jonathan G Rennison
ffef1c9e44
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# src/saveload/cargopacket_sl.cpp
# src/saveload/cheat_sl.cpp
# src/saveload/company_sl.cpp
# src/saveload/engine_sl.cpp
# src/saveload/map_sl.cpp
# src/saveload/order_sl.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/saveload/station_sl.cpp
# src/saveload/vehicle_sl.cpp
# src/settings.cpp
# src/settings_gui.cpp
# src/settings_internal.h
# src/stdafx.h
# src/table/settings/settings.ini
# src/town_cmd.cpp
# src/vehicle.cpp
3 years ago
Loïc Guilloux
ff67f7b311
Fix #9588 , 140a96b: [Squirrel] Reaching memory limit during script registration could prevent further script detections ( #9589 )
...
Also the memory allocation triggering the limit was never freed.
And if the exception was thrown in a constructor using placement new, the pre-allocated memory was not freed either.
(cherry picked from commit ccd586a736
)
3 years ago
Rubidium
281a65b3e1
Cleanup: simplify some boolean expressions
3 years ago
Rubidium
a9774f3e34
Cleanup: [Squirrel] Use nullptr instead of 0 or NULL
3 years ago
rubidium42
c811d42d0c
Fix a99ac62: fmt's include of cassert breaks our assert logic
3 years ago
rubidium42
662d8dfc30
Add: minimal set of headers from {fmt} 7.1.3 to 3rdparty
3 years ago
glx22
00e3fddd0c
Fix: [MinGW] Unused squirrel code triggering a warning
3 years ago
Patric Stout
28e90769f7
Codechange: use "[[maybe_unused]]" instead of a wide variety of other ways we had
...
While at it, replace OTTD_ASSERT with WITH_ASSERT, as this
is always set if assert() is valid. No matter if NDEBUG is set
or not.
3 years ago
Rubidium
7274432987
Fix #9267 , 47a99bb: [Squirrel] Heap use after free
...
Due to 47a99bb
the order of elements in the garbage collection chain has
changed causing the class to be finalised before the instances of that class.
Since the instance's array of member values depends on the size of the values
in the class, the class finalisation resetting that size to 0 causes not all
finalisations to run, which subsequently causes a heap use after free. So,
just set the SQObjectPtrs to 'null' during the finalisation of the SQClass
so the SQInstance can release all instance variables during its finalisation.
(cherry picked from commit 5c01f9ea52
)
See: #256
3 years ago
Rubidium
5c01f9ea52
Fix #9267 , 47a99bb: [Squirrel] Heap use after free
...
Due to 47a99bb
the order of elements in the garbage collection chain has
changed causing the class to be finalised before the instances of that class.
Since the instance's array of member values depends on the size of the values
in the class, the class finalisation resetting that size to 0 causes not all
finalisations to run, which subsequently causes a heap use after free. So,
just set the SQObjectPtrs to 'null' during the finalisation of the SQClass
so the SQInstance can release all instance variables during its finalisation.
3 years ago
Jonathan G Rennison
1e4161ff56
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/group_gui.cpp
3 years ago
Rubidium
44d1b964bf
Fix #7513 : recursive array/class/table release caused stack overflow
3 years ago
Rubidium
47a99bb676
Fix #7513 : recursive garbage collection caused stack overflow
3 years ago
Jonathan G Rennison
edfa04286b
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/release.yml
# bin/CMakeLists.txt
# src/dock_gui.cpp
# src/lang/brazilian_portuguese.txt
# src/lang/catalan.txt
# src/lang/czech.txt
# src/lang/dutch.txt
# src/lang/english.txt
# src/lang/english_US.txt
# src/lang/estonian.txt
# src/lang/finnish.txt
# src/lang/french.txt
# src/lang/german.txt
# src/lang/hungarian.txt
# src/lang/indonesian.txt
# src/lang/italian.txt
# src/lang/japanese.txt
# src/lang/korean.txt
# src/lang/lithuanian.txt
# src/lang/luxembourgish.txt
# src/lang/norwegian_bokmal.txt
# src/lang/polish.txt
# src/lang/portuguese.txt
# src/lang/romanian.txt
# src/lang/russian.txt
# src/lang/serbian.txt
# src/lang/simplified_chinese.txt
# src/lang/slovak.txt
# src/lang/spanish.txt
# src/lang/spanish_MX.txt
# src/lang/swedish.txt
# src/lang/tamil.txt
# src/lang/ukrainian.txt
# src/lang/vietnamese.txt
# src/newgrf.cpp
# src/newgrf_gui.cpp
# src/object_gui.cpp
# src/pathfinder/yapf/yapf_costrail.hpp
# src/pathfinder/yapf/yapf_node_rail.hpp
# src/rail_cmd.cpp
# src/roadveh_cmd.cpp
# src/town_cmd.cpp
# src/vehicle.cpp
# src/water_cmd.cpp
3 years ago
Charles Pigott
dd798d688b
Fix #8919 : Release builds with asserts enabled ( #8925 )
3 years ago
Charles Pigott
591ea9862d
Codechange: Suppress warnings when asserts are disabled ( #8916 )
3 years ago
Jonathan G Rennison
f4e29071be
Merge tag '1.11.0-beta2' into jgrpp
...
# Conflicts:
# .github/workflows/ci-build.yml
# .github/workflows/release.yml
# CMakeLists.txt
# src/blitter/32bpp_optimized.cpp
# src/debug.cpp
# src/gfx.cpp
# src/gfx_func.h
# src/lang/czech.txt
# src/lang/english.txt
# src/lang/italian.txt
# src/lang/swedish.txt
# src/lang/ukrainian.txt
# src/network/network_server.cpp
# src/os/windows/crashlog_win.cpp
# src/os/windows/win32.cpp
# src/pathfinder/follow_track.hpp
# src/screenshot.cpp
# src/settings_type.h
# src/spritecache.cpp
# src/vehicle_gui.cpp
# src/video/sdl2_v.cpp
# src/video/video_driver.cpp
# src/video/video_driver.hpp
# src/video/win32_v.cpp
3 years ago
Michael Lutz
9a069faa01
Codechange: [Win32] Try to get an OpenGL 3.2+ context if possible.
3 years ago
Michael Lutz
ef478ade64
Add: [Win32] Video driver that uses OpenGL to transfer the video buffer to the screen.
3 years ago
Jonathan G Rennison
0d385c9688
Use 3rd party optional wrapper, always use local verison on Apple
3 years ago
Jonathan G Rennison
aaeba6887c
Revert "Cleanup: use std::optional instead of custom implementation."
...
This reverts commit 484ea62a62
.
3 years ago
Jonathan G Rennison
84eef99eaa
MinGW std: 🧵 suppress redundancy warning for non-debug builds
...
See: #216
3 years ago
Jonathan G Rennison
b7ddd486cf
Merge branch 'master' into jgrpp
...
# Conflicts:
# cmake/CompileFlags.cmake
# src/aircraft_cmd.cpp
# src/blitter/32bpp_anim.cpp
# src/cargopacket.cpp
# src/cheat_gui.cpp
# src/company_cmd.cpp
# src/company_gui.cpp
# src/core/pool_func.hpp
# src/date.cpp
# src/economy.cpp
# src/error_gui.cpp
# src/ground_vehicle.cpp
# src/ground_vehicle.hpp
# src/group_gui.cpp
# src/industry_cmd.cpp
# src/lang/dutch.txt
# src/lang/french.txt
# src/lang/german.txt
# src/linkgraph/linkgraph_gui.cpp
# src/linkgraph/mcf.cpp
# src/network/network_content.cpp
# src/network/network_server.cpp
# src/network/network_udp.cpp
# src/newgrf_engine.cpp
# src/newgrf_station.cpp
# src/order_cmd.cpp
# src/order_gui.cpp
# src/pathfinder/follow_track.hpp
# src/pathfinder/yapf/yapf_common.hpp
# src/saveload/saveload.cpp
# src/settings_gui.cpp
# src/station_cmd.cpp
# src/station_kdtree.h
# src/string_func.h
# src/table/settings.ini
# src/tgp.cpp
# src/timetable_cmd.cpp
# src/timetable_gui.cpp
# src/toolbar_gui.cpp
# src/town_cmd.cpp
# src/train_cmd.cpp
# src/train_gui.cpp
# src/tree_gui.cpp
# src/tunnelbridge_cmd.cpp
# src/vehicle.cpp
# src/vehicle_gui.cpp
# src/video/sdl2_v.cpp
# src/video/sdl_v.cpp
# src/video/win32_v.cpp
# src/viewport.cpp
# src/viewport_sprite_sorter_sse4.cpp
# src/window.cpp
3 years ago
Jonathan G Rennison
43980639de
Merge branch 'master' into jgrpp
...
# Conflicts:
# .gitignore
# CMakeLists.txt
# src/3rdparty/optional/optional.hpp
# src/group_cmd.cpp
# src/industry_cmd.cpp
# src/misc_gui.cpp
# src/video/sdl2_v.cpp
3 years ago
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
4 years ago
frosch
484ea62a62
Cleanup: use std::optional instead of custom implementation.
4 years ago
Jonathan G Rennison
22c3a01069
Comment out additional includes of <cassert>
...
This overrode our own assert handler in stdafx.h
4 years ago
Jonathan G Rennison
3adeff1883
Merge branch 'master' into jgrpp
...
# Conflicts:
# CMakeLists.txt
# cmake/CompileFlags.cmake
# src/bridge_gui.cpp
# src/saveload/afterload.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/saveload/town_sl.cpp
# src/screenshot.cpp
# src/screenshot.h
# src/toolbar_gui.cpp
# src/town.h
# src/town_cmd.cpp
4 years ago
TechGeekNZ
cf8ea74733
Update: Merge branch 'jgrpp_master_cmake' into jgrpp_cmake
4 years ago
Charles Pigott
64b1c70fdd
Codechange: Add WARN_FORMAT to vseprintf and fix the cascade of warnings that followed
4 years ago
Niels Martin Hansen
9895ced6af
Fix: Silence some warnings when building with clang-cl on VS 2019
...
Clang-cl presents as both _MSC_VER and __clang__ in the preprocessor which makes some things confusing.
4 years ago
Patric Stout
56d54cf60e
Add: introduce CMake for project management
...
CMake works on all our supported platforms, like MSVC, Mingw, GCC,
Clang, and many more. It allows for a single way of doing things,
so no longer we need shell scripts and vbs scripts to work on all
our supported platforms.
Additionally, CMake allows to generate project files for like MSVC,
KDevelop, etc.
This heavily reduces the lines of code we need to support multiple
platforms from a project perspective.
Addtiionally, this heavily improves our detection of libraries, etc.
4 years ago
Jonathan G Rennison
f8d6e781ba
Merge branch 'master' into jgrpp
...
# Conflicts:
# projects/openttd_vs140.vcxproj.filters
# projects/openttd_vs141.vcxproj.filters
# projects/openttd_vs142.vcxproj.filters
# src/base_consist.h
# src/company_base.h
# src/newgrf_config.cpp
# src/newgrf_config.h
# src/openttd.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/saveload/station_sl.cpp
# src/settings.cpp
# src/signs_base.h
# src/string.cpp
# src/string_func.h
# src/table/misc_settings.ini
# src/table/settings.h.preamble
# src/town_cmd.cpp
# src/vehicle.cpp
# src/vehicle_cmd.cpp
# src/video/cocoa/cocoa_v.mm
# src/video/null_v.cpp
4 years ago
Michael Lutz
8aef14386f
Add: Optional implementation of std::optional for pre-C++17 compilers.
...
Sourced from https://github.com/akrzemi1/Optional , Boost Software License, Version 1.0.
4 years ago
Jonathan G Rennison
babe98cdb1
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/network/network_server.h
# src/pathfinder/yapf/yapf_road.cpp
# src/viewport.cpp
4 years ago
glx
196157b29e
Fix #7966 : SQInteger is 64-bit, print it as 64-bit
4 years ago
Jonathan G Rennison
cbdd9f84d8
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/console_gui.cpp
# src/lang/korean.txt
# src/video/sdl2_v.cpp
# src/video/sdl2_v.h
# src/window.cpp
# src/window_gui.h
5 years ago
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
5 years ago
Jonathan G Rennison
e81697c363
cpp-btree: Fix -Wdeprecated-copy warnings on GCC 9
5 years ago
Jonathan G Rennison
edfd378e93
Merge branch 'master' into jgrpp
...
# Conflicts:
# source.list
# src/blitter/32bpp_anim.cpp
# src/linkgraph/linkgraphjob.cpp
# src/order_cmd.cpp
# src/vehicle.cpp
# src/vehicle_type.h
5 years ago
Charles Pigott
6378a78817
Codechange: Explicitly move a few variables to avoid a copy constructor (fixes warning from clang)
5 years ago
Charles Pigott
71a3e83468
Fix: GCC9's warnings about deprecated implicit assignment operators
5 years ago