Commit Graph

451 Commits (2afd2967f2628f9f000f5f3611a777768732ae33)

Author SHA1 Message Date
TechGeekNZ cf8ea74733 Update: Merge branch 'jgrpp_master_cmake' into jgrpp_cmake 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 37bc2f8064 Codechange: Use std::string in the driver and blitter selection code. 4 years ago
Jonathan G Rennison 74b6981d97 Merge branch 'master' into jgrpp
# Conflicts:
#	src/os/macosx/macos.mm
#	src/video/cocoa/cocoa_v.mm
#	src/video/cocoa/fullscreen.mm
#	src/video/cocoa/wnd_quartz.mm
#	src/video/cocoa/wnd_quickdraw.mm
4 years ago
Jonathan G Rennison bee840bc44 Increase verbosity of height asserts in Blitter_32bppBase::ScrollBuffer 4 years ago
Michael Lutz 9dd8b3d430 Remove: [OSX] Stuff that is pre-10.7 from the Cocoa/Quartz video driver. 4 years ago
Jonathan G Rennison a152e2327c Viewport: Reduce unnecessary region redraws when scrolling viewports 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 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
JMcKiern 04f659e768 Fix: Some typos found using codespell 5 years ago
Jonathan G Rennison 1f535915d1 Merge branch 'master' into jgrpp-nrt
# Conflicts:
#	config.lib
#	src/core/bitmath_func.hpp
#	src/lang/korean.txt
#	src/main_gui.cpp
#	src/order_gui.cpp
#	src/script/api/script_object.cpp
#	src/station_cmd.cpp
#	src/video/cocoa/wnd_quartz.mm
5 years ago
glx22 2ed88d6898
Fix: inconsistent description for 32bpp-sse4-anim blitter (#7740) 5 years ago
Jonathan G Rennison 674732cd68 Merge: Codechange: Use null pointer literal instead of the NULL macro 5 years ago
Henry Wilson 7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 5 years ago
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
5 years ago
Henry Wilson af7d9020a1 Codechange: Use override specifer for overriding member declarations
This is a C++11 feature that allows the compiler to check that a virtual
member declaration overrides a base-class member with the same signature.

Also src/blitter/32bpp_anim_sse4.hpp +38 is no longer erroneously marked
as virtual despite being a template.
5 years ago
Jonathan G Rennison 281d346fe2 Merge branch 'master' into jgrpp
# Conflicts:
#	bin/baseset/no_sound.obs
#	bin/baseset/orig_dos.obg
#	bin/baseset/orig_dos.obs
#	bin/baseset/orig_dos_de.obg
#	bin/baseset/orig_win.obg
#	bin/baseset/orig_win.obm
#	bin/baseset/orig_win.obs
#	src/aircraft_cmd.cpp
#	src/blitter/32bpp_anim.cpp
#	src/blitter/32bpp_anim.hpp
#	src/blitter/32bpp_base.cpp
#	src/blitter/32bpp_base.hpp
#	src/blitter/8bpp_base.cpp
#	src/blitter/8bpp_base.hpp
#	src/blitter/common.hpp
#	src/group_gui.cpp
#	src/lang/korean.txt
#	src/linkgraph/linkgraph_gui.cpp
#	src/saveload/saveload.cpp
#	src/town_cmd.cpp
#	src/viewport.cpp
#	src/viewport_func.h
6 years ago
Jonathan G Rennison 4b256fed36 Codechange: [Blitter] Adjust line-drawing algorithm to reduce wasted off-screen work
This clips the line segment to be within the screen area prior to pixel iteration.
6 years ago
Jonathan G Rennison 0240e90169 Fix: [Blitter] Avoid signed overflow when drawing long lines 6 years ago
Jonathan G Rennison db924a4681 Codechange: [Blitter] Change DrawLine to be templated
This is remove per-pixel overheads due to use of the SetPixel virtual
method.
These overheads included:
* expensive virtual method call which prevents inlining
* palette lookup for every pixel
* branch on whether palette animation is enabled on every pixel

Regenerate project files.
6 years ago
Jonathan G Rennison 9bd98ceeab Blitter: Move DrawLineGeneric to a separate file to fix OSX compilation 6 years ago
Jonathan G Rennison e735c1a51a Merge branch 'master' into jgrpp
# Conflicts:
#	src/aircraft_cmd.cpp
#	src/autoreplace_cmd.cpp
#	src/pathfinder/follow_track.hpp
#	src/pathfinder/yapf/yapf_rail.cpp
#	src/saveload/afterload.cpp
#	src/saveload/saveload.cpp
#	src/script/api/ai/ai_station.hpp.sq
#	src/script/api/game/game_station.hpp.sq
#	src/script/api/script_station.hpp
#	src/track_func.h
#	src/vehicle_base.h
6 years ago
Charles Pigott f5b1115039 Doc: Lots and lots of doxymentation fixes 6 years ago
Jonathan G Rennison 3330e4cef8 Merge branch 'cargo_type_order' into jgrpp
# Conflicts:
#	src/pathfinder/yapf/yapf_common.hpp
#	src/saveload/extended_ver_sl.cpp
#	src/saveload/order_sl.cpp
#	src/saveload/station_sl.cpp
#	src/track_func.h
6 years ago
Charles Pigott 5f86e1a390 Codechange: Silence -Wclass-memaccess warnings with GCC8 6 years ago
Jonathan G Rennison 56be293107 Merge branch 'master' into jgrpp
# Conflicts:
#	src/blitter/32bpp_anim.cpp
#	src/blitter/32bpp_anim.hpp
#	src/blitter/32bpp_anim_sse2.cpp
#	src/blitter/32bpp_base.cpp
#	src/blitter/32bpp_base.hpp
#	src/ground_vehicle.cpp
#	src/linkgraph/linkgraph_gui.h
#	src/main_gui.cpp
#	src/newgrf_house.cpp
#	src/newgrf_house.h
#	src/town_cmd.cpp
#	src/vehicle_base.h
#	src/viewport_gui.cppp
6 years ago
Jonathan G Rennison 17257b9620 Add: 32bpp SSE2 blitter palette animator (#6795)
Create a new blitter mode: 32bpp-sse2-anim, which is 32bpp-anim + this.
32bpp-sse2-anim is now used by default where 32bpp-anim would have been.
Also use this with the 32bpp-sse4-anim blitter.

See issue #6469.
6 years ago
Jonathan G Rennison 1fe0bb76b9 Merge branches 'crashlog_improvements', 'save_ext', 'version_utils' into jgrpp 6 years ago
Michael Lutz 74b7f0a9aa Fix: [OSX] Remove some OSX compiler warnings on newer SDKs/compilers. 6 years ago
Jonathan G Rennison ab1b04055a Fix incorrect handling of over-brightness in non-SSE 32bpp blitter. 6 years ago
Jonathan G Rennison f8193578c1 Blitter: Performance adjustments to 32bpp anim non-SSE blitter 7 years ago
Jonathan G Rennison 11a10299d1 Blitter: Also use sprite flags for non-SSE 32bpp sprite encoder 7 years ago
Jonathan G Rennison 83e6cf50a0 Blitter: Adjust line-drawing algorithm to reduce wasted off-screen work 7 years ago
Jonathan G Rennison 2534c2a162 Blitter: Avoid signed overflow when drawing long lines 7 years ago
Jonathan G Rennison 0c2f49c08d Blitter: Change DrawLine to be templated 7 years ago
Jonathan G Rennison 8317eac918 Merge branch 'save_ext' into jgrpp
# Conflicts:
#	src/lang/german.txt
#	src/lang/korean.txt
#	src/lang/traditional_chinese.txt
#	src/window.cpp
7 years ago
peter1138 86430757bf (svn r27837) -Fix (r26969): Black remap did nothing in 8bpp-simple blitter. 7 years ago
peter1138 60d4d1db3f (svn r27837) -Fix (r26969): Black remap did nothing in 8bpp-simple blitter. 7 years ago
Jonathan G Rennison b3fd11efd2 Merge branch 'master' into jgrpp
# Conflicts:
#	src/blitter/32bpp_anim.cpp
#	src/blitter/32bpp_anim.hpp
#	src/blitter/32bpp_anim_sse4.cpp
7 years ago
frosch 19188818ea (svn r27796) -Fix [FS#6545]: 32bpp-anim blitters assumed that pitch and width of the screen were equal. 7 years ago
frosch 206a0838e9 (svn r27796) -Fix [FS#6545]: 32bpp-anim blitters assumed that pitch and width of the screen were equal. 7 years ago
frosch d5f82bf55b (svn r27774) -Fix [FS#5889]: Enabling palette animation for 32bpp blitters while paused skipped initialisation of the palette and resulted in black windows.
-Revert (r23978): No SDL-specific fix required anymore. The new fix applies to all backends.
7 years ago
frosch 5b7a04ca27 (svn r27774) -Fix [FS#5889]: Enabling palette animation for 32bpp blitters while paused skipped initialisation of the palette and resulted in black windows.
-Revert (r23978): No SDL-specific fix required anymore. The new fix applies to all backends.
7 years ago
Jonathan G Rennison d14d5731d8 Fix wrong palette being used when switching to animated blitter.
Fixes black sprites and UI elements when switching on full
animations on win32 and OSX.
7 years ago
frosch 914d4616ca (svn r27575) -Fix [FS#6404]: Memory leak when disabling palette animation. (JGR) 8 years ago
frosch 7108b0aa3b (svn r27575) -Fix [FS#6404]: Memory leak when disabling palette animation. (JGR) 8 years ago
Jonathan G Rennison 897744ab47 SSE2 anim blitter: fix edge case where medium path was used incorrectly. 9 years ago
Jonathan G Rennison d00fa4d25b Implement a 32bpp SSE2 palette animator. This is ~4x faster than 32bpp-anim's.
Create a new blitter mode: 32bpp-sse2-anim, which is 32bpp-anim + this.
32bpp-sse2-anim is now used by default where 32bpp-anim would have been.
Also use this with the 32bpp-sse4-anim blitter mode.

Fix memory leak in current 32bpp animated blitters.
9 years ago
patch-import 536a95dfd0 Import combined Enhanced viewport: zoom out, overlays & tooltips (r53_27127) patch
https://www.tt-forums.net/viewtopic.php?f=33&t=53394
9 years ago
rubidium 0c2f4bdc2b (svn r27020) -Cleanup: some coding style consistency improvements (mostly spaces) 10 years ago
rubidium d534c80e94 (svn r27020) -Cleanup: some coding style consistency improvements (mostly spaces) 10 years ago
rubidium 9f654b200d (svn r26970) -Fix (r26969): non-sse animated blitter crashed occasionally 10 years ago
rubidium 8c7f376ae1 (svn r26970) -Fix (r26969): non-sse animated blitter crashed occasionally 10 years ago
rubidium eabb35a874 (svn r26969) -Fix (r26869): black palette didn't work very well with unmasked 32bpp sprites 10 years ago
rubidium 9c31ffd893 (svn r26969) -Fix (r26869): black palette didn't work very well with unmasked 32bpp sprites 10 years ago
rubidium beb540ec55 (svn r26538) -Codechange: remove double accounting of the drivers 10 years ago
rubidium b476086c39 (svn r26538) -Codechange: remove double accounting of the drivers 10 years ago
rubidium 034735a54c (svn r26509) -Codechange: replace strdup with stredup (the latter ensures the return is not NULL) 10 years ago
rubidium 9ed12b0f07 (svn r26509) -Codechange: replace strdup with stredup (the latter ensures the return is not NULL) 10 years ago
rubidium 2be4215f43 (svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values 10 years ago
rubidium 0463dbdc9e (svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values 10 years ago
rubidium 6504817680 (svn r26473) -Fix: make sure there is no uninitialised sprite data; the other blitters cleared the memory too 10 years ago
rubidium c8fffcd5ce (svn r26473) -Fix: make sure there is no uninitialised sprite data; the other blitters cleared the memory too 10 years ago
peter1138 3465686076 (svn r26463) -Fix (r10190ish): Add special handling for PALETTE_CRASH to work for non-8bpp-mapped sprites. 10 years ago
peter1138 209d3e2e9e (svn r26463) -Fix (r10190ish): Add special handling for PALETTE_CRASH to work for non-8bpp-mapped sprites. 10 years ago
frosch da253a33c3 (svn r26334) -Fix: 32bit compilation. 11 years ago
frosch cb7544ea39 (svn r26334) -Fix: 32bit compilation. 11 years ago
rubidium 4f48e99c64 (svn r26260) -Codechange: add template parameters for (non) translucent and (non) animated sprites, so the least expensive variant can be chosen (MJP) 11 years ago
rubidium ef9108bd58 (svn r26260) -Codechange: add template parameters for (non) translucent and (non) animated sprites, so the least expensive variant can be chosen (MJP) 11 years ago
rubidium ec66bd461b (svn r26259) -Codechange: add and maintain some general flags about sprites to prevent unneeded execution of expensive code (MJP) 11 years ago
rubidium eb2c2ef877 (svn r26259) -Codechange: add and maintain some general flags about sprites to prevent unneeded execution of expensive code (MJP) 11 years ago
rubidium 4585f74faa (svn r26258) -Codechange: deduplicate Draw methods (MJP) 11 years ago
rubidium fdf55a1a48 (svn r26258) -Codechange: deduplicate Draw methods (MJP) 11 years ago
rubidium 3df799c1c6 (svn r26257) -Codechange: replace most of the SSE macros by functions 11 years ago
rubidium f5f4f8a4b3 (svn r26257) -Codechange: replace most of the SSE macros by functions 11 years ago
rubidium 2f3c3d2ba6 (svn r26256) -Codechange: do not load some data when it is not (often) used later on (MJP) 11 years ago
rubidium 3a44e22b1a (svn r26256) -Codechange: do not load some data when it is not (often) used later on (MJP) 11 years ago
rubidium 5849290640 (svn r26255) -Codechange: improve performance of brightness adjustment (MJP) 11 years ago
rubidium 70901e04c5 (svn r26255) -Codechange: improve performance of brightness adjustment (MJP) 11 years ago
rubidium d263ec2bd9 (svn r26254) -Codechange: MOVD is better in some cases than PINSRD (MJP) 11 years ago
rubidium 2f7c4f6d12 (svn r26254) -Codechange: MOVD is better in some cases than PINSRD (MJP) 11 years ago
rubidium d27f085ef6 (svn r26253) -Codechange: remove margin limitation to preserve block type (MJP) 11 years ago
rubidium 5b3b533697 (svn r26253) -Codechange: remove margin limitation to preserve block type (MJP) 11 years ago
rubidium 3f1550ed2f (svn r26252) -Codechange: deduplicate code for margin case (MJP) 11 years ago
rubidium 7f6e837b3a (svn r26252) -Codechange: deduplicate code for margin case (MJP) 11 years ago
rubidium 64fb166b74 (svn r26251) -Codechange: prepare Draw code for code deduplication (MJP) 11 years ago
rubidium 9a90bed79b (svn r26251) -Codechange: prepare Draw code for code deduplication (MJP) 11 years ago
rubidium 0d43f2f437 (svn r26250) -Codechange: deduplicate darkening (e.g. shadow) code (MJP) 11 years ago
rubidium 6e34672c6c (svn r26250) -Codechange: deduplicate darkening (e.g. shadow) code (MJP) 11 years ago
rubidium b9823410cc (svn r26249) -Codechange: simplify/cleanup ALPHA_BLEND macro (MJP) 11 years ago
rubidium 76661f2c56 (svn r26249) -Codechange: simplify/cleanup ALPHA_BLEND macro (MJP) 11 years ago
rubidium 1b8b8288b0 (svn r26248) -Fix (r26223): missed compiler warning (MJP) 11 years ago
rubidium 31c6e33878 (svn r26248) -Fix (r26223): missed compiler warning (MJP) 11 years ago
rubidium 08d405ea09 (svn r26247) -Fix [FS#5854, FS#5855]: Possible out of bounds reads with the sse blitters (MJP) 11 years ago
rubidium a942619911 (svn r26247) -Fix [FS#5854, FS#5855]: Possible out of bounds reads with the sse blitters (MJP) 11 years ago
planetmaker b67933bd4d (svn r26223) -Codechange: Silence some compile warnings about unititialized variables in the SSE blitters (MJP) 11 years ago
planetmaker 7b20da8a0a (svn r26223) -Codechange: Silence some compile warnings about unititialized variables in the SSE blitters (MJP) 11 years ago
rubidium b40b95e2ab (svn r26222) -Codechange: use SSE instructions for transparent colour "remap" in the SSE2/SSSE3 blitters as well 11 years ago