Commit Graph

436 Commits

Author SHA1 Message Date
Charles Pigott
3dfee979a7 Codechange: Drop libxdg-basedir dependency in favour of finding the directories ourselves 2021-01-02 19:46:08 +00:00
Charles Pigott
860c270c73 Codechange: Replace assert_compile macro with static_assert 2020-12-27 10:55:42 +00:00
Jonathan G Rennison
0e017f6233 Codechange: Enable FINAL, (un)likely, __attribute__ when building with clang 2020-12-27 10:30:55 +00:00
Jonathan G Rennison
fc52d3df50 Codechange: Use likely/__builtin_expect for assertion macros 2020-12-27 10:30:55 +00:00
Jonathan G Rennison
5cf28be742 Codechange: Add support for verbose asserts 2020-12-27 10:30:55 +00:00
Jonathan G Rennison
eb74179c6d Codechange: Unconditionally use static_assert
We're well past having to support non-C++11 compliant compilers now.
2020-12-27 10:30:55 +00:00
Charles Pigott
52f3abba6e Cleanup: Remove unnecessary assert_tcompile macro 2020-12-27 10:30:55 +00:00
Jonathan G Rennison
755fa8196f Use PRI macros where available for 64 bit printf format codes 2020-10-24 10:52:57 +01:00
Jonathan G Rennison
5c43de8ef8 Add padded printf 64 hex defines 2020-10-17 14:23:01 +01:00
Jonathan G Rennison
737ced9f50 Merge branch 'master' into jgrpp 2020-07-07 17:28:19 +01:00
TechGeekNZ
716c883737 Fix: Globally apply preprocessor directive coding style
Global; except for the 32-bit SSE blitter, which has some #DEFINEs
in not-very-nice places.
2020-07-03 09:08:46 +02:00
TechGeekNZ
cf8ea74733 Update: Merge branch 'jgrpp_master_cmake' into jgrpp_cmake 2020-06-28 21:56:43 +01:00
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.
2020-06-18 08:56:27 +01:00
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.
2020-06-05 19:36:05 +02:00
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
2019-11-12 18:43:10 +00:00
S. D. Cloudt
13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
Jonathan G Rennison
03fbe87752 Merge branch 'master' into jgrpp 2019-10-12 00:56:56 +01:00
Joe Stringer
66c32533ec Fix: [Cygwin] Fix missing definitions in stdafx
Fix the following compile errors:

In file included from openttd/src/debug.h:15:0,
                 from openttd/src/string.cpp:13:
openttd/src/cpu.h:35:19: error: 'uint' was not declared in this scope
 bool HasCPUIDFlag(uint type, uint index, uint bit);

openttd/src/string.cpp: In function 'char* strcasestr(const char*, const char*)':
openttd/src/string.cpp:548:7: error: 'strncasecmp' was not declared in this scope
   if (strncasecmp(haystack, needle, needle_len) == 0) return const_cast<char *>(haystack);

openttd/src/strgen/strgen_base.cpp: In function 'void EmitPlural(Buffer*, char*, int)':
openttd/src/core/alloc_func.hpp:136:6: error: 'alloca' was not declared in this scope
  (T*)alloca((num_elements) * sizeof(T)))

Signed-off-by: Joe Stringer <joe@wand.net.nz>
2019-10-07 21:36:00 +02:00
glx22
49f3592ac9 Fix: vcpkg used to patch lzma.h to define LZMA_API_STATIC for static builds (#7614)
(cherry picked from commit 846fc8fe09)
2019-07-09 08:48:07 +01:00
Jonathan G Rennison
36eb4165b8 Merge branch 'master' into jgrpp
# Conflicts:
#	src/bridge_map.h
#	src/crashlog.cpp
#	src/industry.h
#	src/linkgraph/linkgraph_type.h
#	src/order_type.h
#	src/saveload/afterload.cpp
#	src/settings.cpp
#	src/settings_type.h
#	src/smallmap_gui.cpp
#	src/spritecache.cpp
#	src/stdafx.h
#	src/table/settings.h.preamble
#	src/train.h
#	src/vehicle.cpp
#	src/viewport.cpp
#	src/viewport_func.h
#	src/widgets/station_widget.h
#	src/zoom_func.h
#	src/zoom_type.h
2019-07-08 16:19:07 +01:00
glx22
846fc8fe09 Fix: vcpkg used to patch lzma.h to define LZMA_API_STATIC for static builds (#7614) 2019-06-03 00:18:28 +02:00
glx22
19a6829ea2 Fix #7553: check bounds when loading strings (#7554)
(cherry picked from commit cef9a76c3f)
2019-05-02 18:35:47 +01:00
glx22
cef9a76c3f Fix #7553: check bounds when loading strings (#7554) 2019-05-01 19:12:37 +02:00
Jonathan G Rennison
674732cd68 Merge: Codechange: Use null pointer literal instead of the NULL macro 2019-04-11 18:14:13 +01:00
Jonathan G Rennison
f5747bf753 Merge branch 'master' into jgrpp
# Conflicts:
#	src/genworld_gui.cpp
#	src/group_gui.cpp
#	src/saveload/saveload.cpp
#	src/settings_gui.cpp
#	src/toolbar_gui.cpp
#	src/vehicle_gui.cpp
#	src/vehicle_gui_base.h
#	src/widgets/dropdown.cpp
#	src/widgets/dropdown_type.h
2019-04-11 18:12:22 +01:00
Michael Lutz
baf9229931 Codechange: Replace AutoDeleteSmallVector with direct std::vector use in text layout code. 2019-04-09 22:45:15 +02:00
Jonathan G Rennison
ba34ec7ade Merge branch 'master' into jgrpp
Replace build and refit, and group collapse implementations
Fix template creation build and refit

# Conflicts:
#	Makefile.bundle.in
#	config.lib
#	src/animated_tile.cpp
#	src/blitter/32bpp_anim.hpp
#	src/blitter/32bpp_base.hpp
#	src/blitter/8bpp_base.hpp
#	src/blitter/null.hpp
#	src/build_vehicle_gui.cpp
#	src/command.cpp
#	src/command_func.h
#	src/console_gui.cpp
#	src/core/smallstack_type.hpp
#	src/date.cpp
#	src/debug.cpp
#	src/genworld_gui.cpp
#	src/ground_vehicle.hpp
#	src/group_gui.cpp
#	src/lang/korean.txt
#	src/linkgraph/linkgraph_gui.h
#	src/main_gui.cpp
#	src/misc_gui.cpp
#	src/network/core/game.h
#	src/network/core/packet.cpp
#	src/network/core/udp.cpp
#	src/network/core/udp.h
#	src/network/network_content.cpp
#	src/network/network_type.h
#	src/network/network_udp.cpp
#	src/newgrf_house.h
#	src/openttd.cpp
#	src/order_cmd.cpp
#	src/order_gui.cpp
#	src/os/unix/crashlog_unix.cpp
#	src/os/windows/crashlog_win.cpp
#	src/osk_gui.cpp
#	src/pathfinder/opf/opf_ship.cpp
#	src/rail_cmd.cpp
#	src/rail_gui.cpp
#	src/saveload/saveload.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/smallmap_gui.h
#	src/station_base.h
#	src/station_cmd.cpp
#	src/table/gameopt_settings.ini
#	src/table/newgrf_debug_data.h
#	src/table/settings.ini
#	src/timetable_gui.cpp
#	src/toolbar_gui.cpp
#	src/train_gui.cpp
#	src/vehicle.cpp
#	src/vehicle_gui.cpp
#	src/vehiclelist.cpp
#	src/viewport.cpp
#	src/widgets/dropdown.cpp
#	src/window_gui.h
2019-03-27 18:12:04 +00:00
Patric Stout
72c5f2b3ee Remove: DOS support
In 10 years there was no active development on DOS. Although it
turned out to still work, the FPS was very bad. There is little
interest in the current community to look into this.

Further more, we like to switch to c++11 functions for threads,
which are not implemented by DJGPP, the only current compiler
for DOS.

Additionally, DOS is the only platform which does not support
networking. It is the reason we have tons of #ifdefs to support
disabling networking.

By removing DOS support, we can both use c++11 functions for threads,
and remove all the code related to disabling network. Sadly, this
means we have to see DOS go.

Of course, if you feel up for the task, simply revert this commit,
and implement stub c++11 functions for threads and stub functions
for networking. We are more than happy to accept such Pull Request.
2019-03-19 23:22:51 +01:00
Jonathan G Rennison
5e6d283463 Merge branch 'master' into jgrpp
Remove the viewport sign cache as this is now superseded by the kd tree
implementation

# Conflicts:
#	src/crashlog.cpp
#	src/lang/english.txt
#	src/misc.cpp
#	src/pathfinder/follow_track.hpp
#	src/pbs.cpp
#	src/rail_cmd.cpp
#	src/saveload/vehicle_sl.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/ship_cmd.cpp
#	src/station.cpp
#	src/station_base.h
#	src/station_cmd.cpp
#	src/table/settings.ini
#	src/thread/thread_morphos.cpp
#	src/town_cmd.cpp
#	src/train_cmd.cpp
#	src/viewport.cpp
#	src/waypoint.cpp
2019-03-13 03:38:26 +00:00
Patric Stout
1c5ea33099 Fix: warnings when compiling for a recent version of Haiku
This might break older Haiku versions, but it is hard to tell.
2019-03-05 22:22:00 +01:00
Patric Stout
f58db44ff2 Remove: BeOS support (deprecated by Haiku)
In 10 years there is no commit to change how BeOS works, and we
have no active maintainer for it. It is unlikely it works in its
current state (but not impossible).

With the arrival of SDL2 (and removal of SDL), BeOS is no longer
support. SDL2 suggests to use Haiku instead of BeOS.
2019-03-05 22:03:00 +01:00
Patric Stout
ad30d04b5e Codechange: removed some left-behind __NDS__ references 2019-03-05 22:03:00 +01:00
Patric Stout
7784d77713 Remove: MorphOS / AmigaOS support
In 10 years there is no commit to change how MorphOS works, and we
have no active maintainer for it. It is unlikely it works in its
current state (but not impossible).

With the arrival of SDL2 (and removal of SDL), MorphOS is no longer
support. There is an SDL2 port for MorphOS, but it is not maintained
by upstream SDL2, and nobody can currently test it out.

If anyone wants to re-add MorphOS, please do (revert this patch,
fix the problems, and create a Pull Request). If you need any help
doing so, let us know! It is not that we don't like MorphOS, it is
that we don't have anyone fixing the problems :(
2019-03-05 22:03:00 +01:00
Jonathan G Rennison
4f1d54564e Merge branch 'master' into jgrpp
# Conflicts:
#	src/debug.cpp
2019-01-02 16:09:44 +00:00
glx
c540d72445 Fix: [Win32] WIN32 may not be defined, always prefer the compiler predefined macro _WIN32 2018-12-27 18:09:16 +01:00
glx
3be6ab555c Change: use vcpkg integration in Visual Studio
Removes the need for us to provide OpenTTD-useful package
2018-12-26 17:29:11 +01:00
Jonathan G Rennison
5661763d6a Merge branch 'crashlog_improvements' into jgrpp 2018-07-26 19:04:34 +01:00
Jonathan G Rennison
7f027f8dca Add tile info dump function and assert variants 2018-07-26 18:48:53 +01:00
Jonathan G Rennison
035f5622b9 Merge branch 'master' into jgrpp
# Conflicts:
#	src/console_cmds.cpp
#	src/landscape.cpp
#	src/linkgraph/linkgraphschedule.cpp
#	src/openttd.cpp
#	src/roadveh_cmd.cpp
#	src/toolbar_gui.cpp
#	src/train_cmd.cpp
#	src/vehicle.cpp
#	src/viewport.cpp
#	src/window_type.h
2018-07-24 18:30:42 +01:00
Charles Pigott
63898f61b0 Codechange: Rearrange struct packing defines and make MinGW use _Pragma pack style 2018-07-19 20:24:17 +02:00
Jonathan G Rennison
fd4d9591c1 Merge branch 'save_ext' into jgrpp 2018-06-06 01:56:07 +01:00
Jonathan G Rennison
f05ca1ba91 Merge branch 'cpp-11' into save_ext 2018-06-06 01:55:09 +01:00
Jonathan G Rennison
183a5cb114 Add unaligned uint 16, 32, 64 typedefs 2018-06-06 01:54:37 +01:00
Jonathan G Rennison
fa304cdb75 Merge branch 'master' into save_ext
# Conflicts:
#	src/saveload/saveload.cpp
2018-05-25 19:09:20 +01:00
Jonathan G Rennison
ad1c402ad8 Merge branch 'master' into jgrpp
# Conflicts:
#	src/debug.cpp
#	src/saveload/afterload.cpp
#	src/saveload/saveload.cpp
#	src/settings_type.h
#	src/town_cmd.cpp
#	src/window.cpp
2018-05-03 23:54:51 +01:00
Patric Stout
aef69443e7 Remove: WinCE support 2018-04-29 15:32:16 +02:00
Patric Stout
85adde7485 Remove: PSP support 2018-04-29 15:32:16 +02:00
Jonathan G Rennison
f42cc19aad Merge branch 'cpp-11' into crashlog_improvements
# Conflicts:
#	Makefile.src.in
#	src/crashlog.cpp
#	src/crashlog.h
2018-04-27 00:33:44 +01:00
Charles Pigott
dd6b82d6b2 Codechange: Simplify C++11 check for assert_compile 2018-04-11 18:24:19 +02:00
Jonathan G Rennison
a93cc441a9 Merge branch 'cpp-11' into jgrpp 2017-10-05 18:20:54 +01:00