Jonathan G Rennison
a474e71243
Viewport: Cache landscape pixels in map mode
...
Avoid invalidating landscape pixels for non-landscape updates
(vehicles, overlays, etc.)
2020-10-01 23:18:39 +01:00
Jonathan G Rennison
35565a115b
Viewport: Fix casing of ClearViewportCache(s)
2020-10-01 23:18:39 +01:00
Jonathan G Rennison
5b78090a61
Merge branch 'master' into jgrpp
...
# Conflicts:
# CMakeLists.txt
# src/saveload/town_sl.cpp
# src/screenshot.h
# src/script/api/ai/ai_date.hpp.sq
# src/script/api/ai/ai_marine.hpp.sq
# src/script/api/ai/ai_station.hpp.sq
# src/script/api/game/game_date.hpp.sq
# src/script/api/game/game_marine.hpp.sq
# src/script/api/game/game_station.hpp.sq
# src/script/api/game/game_window.hpp.sq
# src/script/api/script_window.hpp
# src/script/api/template/template_window.hpp.sq
# src/signal.cpp
# src/statusbar_gui.cpp
# src/toolbar_gui.cpp
# src/viewport.cpp
# src/viewport_func.h
2020-08-27 18:31:09 +01:00
Jonathan G Rennison
48b15bb7b8
Avoid superfluous calls to SetDirtyAsBlocks when dragging window
...
See: #170
2020-07-09 20:27:51 +01:00
TechGeekNZ
cf8ea74733
Update: Merge branch 'jgrpp_master_cmake' into jgrpp_cmake
2020-06-28 21:56:43 +01:00
TechGeekNZ
fd2a120c9d
Cleanup: Improve documentation of dirty block system.
...
Partially re-applies 8652a4db76
, which
was reverted to allow commits to be cherry-picked from JGRPP.
2020-06-27 11:34:30 +12:00
TechGeekNZ
c9abf6ade6
Revert: "Cleanup: Give SetDirtyBlocks
a more descriptive name."
...
This reverts commit 8652a4db76
.
This is necessary to aid in the cherry-picking of commits from JGRPP.
2020-06-27 11:32:26 +12:00
TechGeekNZ
8652a4db76
Cleanup: Give SetDirtyBlocks
a more descriptive name.
2020-06-09 13:15:47 +01:00
TechGeekNZ
3d8597d42e
Cleanup: Add undocumented parameter to GetSpriteSize.
2020-06-07 01:04:41 +01:00
Jonathan G Rennison
4c59dfb6b1
Fix data race during palette animation with threaded blitters
2020-04-12 00:12:58 +01:00
Jonathan G Rennison
c061675001
Allow modal progress sleep to finish early on completion
2020-04-12 00:12:58 +01:00
Jonathan G Rennison
e2ab622a14
Avoid data race in modal progress mode
2020-04-12 00:12:58 +01:00
Jonathan G Rennison
0a6a38886d
Viewport: Fix viewport updates being applied to shaded windows
2020-03-28 23:54:01 +00:00
Jonathan G Rennison
c227d30801
Fix window re-rendering when ReInit() called within OnPaint/draw handler
2020-03-23 00:22:46 +00:00
Jonathan G Rennison
722af5f77a
Do not assert when attempting to draw 0 size sprite
...
Silently drop instead
2020-03-18 11:22:11 +00:00
Jonathan G Rennison
b4a814d371
Improve performance of vehicle route overlay rendering
2020-03-05 23:06:01 +00:00
Jonathan G Rennison
a4608f6f72
Cache vehicle positions across draw blocks in viewport map mode
2020-03-05 23:06:01 +00:00
Jonathan G Rennison
8f442500ea
Change how dirty screen, window and viewport areas are tracked for later redrawing
...
Track dirty viewport areas seperately form general screen redraws.
Maintain a dirty block grid per viewport, with a smaller block size.
Use even smaller block size in viewport map mode.
Use a rectangle array for general screen redraws instead of a block grid.
Add a dirty bit to windows and widgets, to simplify the common case
of repainting a whole window or widget, without catching
neighbouring windows or viewports.
2020-03-05 00:27:17 +00:00
Jonathan G Rennison
a152e2327c
Viewport: Reduce unnecessary region redraws when scrolling viewports
2020-02-09 10:54:32 +00:00
Jonathan G Rennison
4adfe0c9ae
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/industry_gui.cpp
# src/lang/korean.txt
# src/town.h
# src/town_gui.cpp
2020-01-08 18:40:34 +00:00
Niels Martin Hansen
35c55dfe70
Add: Filled polygon drawing function
2020-01-07 18:13:58 +01:00
Jonathan G Rennison
7960db35f2
Merge branch 'master' into jgrpp
...
# Conflicts:
# config.lib
# projects/openttd_vs140.vcxproj
# projects/openttd_vs140.vcxproj.filters
# projects/openttd_vs141.vcxproj
# projects/openttd_vs141.vcxproj.filters
# projects/openttd_vs142.vcxproj
# projects/openttd_vs142.vcxproj.filters
# src/aircraft_cmd.cpp
# src/base_station_base.h
# src/core/pool_type.hpp
# src/disaster_vehicle.cpp
# src/economy.cpp
# src/engine.cpp
# src/group.h
# src/group_cmd.cpp
# src/group_gui.cpp
# src/lang/english.txt
# src/lang/german.txt
# src/linkgraph/linkgraph_gui.cpp
# src/network/network_command.cpp
# src/network/network_server.cpp
# src/openttd.cpp
# src/order_cmd.cpp
# src/road_cmd.cpp
# src/saveload/afterload.cpp
# src/saveload/cargopacket_sl.cpp
# src/saveload/linkgraph_sl.cpp
# src/saveload/order_sl.cpp
# src/saveload/station_sl.cpp
# src/saveload/town_sl.cpp
# src/saveload/vehicle_sl.cpp
# src/screenshot.cpp
# src/screenshot.h
# src/settings_gui.cpp
# src/settings_type.h
# src/smallmap_gui.cpp
# src/station.cpp
# src/station_cmd.cpp
# src/table/settings.ini
# src/toolbar_gui.cpp
# src/town_cmd.cpp
# src/train.h
# src/train_cmd.cpp
# src/train_gui.cpp
# src/vehicle.cpp
# src/vehicle_base.h
# src/vehiclelist.cpp
# src/window_type.h
2020-01-06 18:45:51 +00:00
glx
42144ecd56
Add: a TextColour flag to ignore colour changes from strings
2019-12-23 17:30:13 +00:00
Jonathan G Rennison
fe9b024f1a
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/signs_cmd.cpp
# src/station.cpp
# src/station_cmd.cpp
# src/town_cmd.cpp
# src/viewport.cpp
# src/waypoint.cpp
# src/waypoint_cmd.cpp
2019-12-11 18:20:24 +00:00
stormcone
40ebf3c765
Fix: Do not refer to a function in the documentation that was removed years ago ( #7844 )
...
The 'DoDrawString' was removed with this commit: f11300d
2019-11-25 22:59:03 +01: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
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
2019-10-05 21:45:54 +01:00
JMcKiern
04f659e768
Fix: Some typos found using codespell
2019-09-29 21:27:32 +01:00
Jonathan G Rennison
b3431512ee
Add modifier key window for toggling shift/ctrl key states using mouse
2019-09-05 23:21:41 +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
Charles Pigott
327ff89808
Codechange: Remove PauseModeByte
2019-04-29 17:40:22 +01:00
Charles Pigott
96a4787710
Codechange: Set ZoomLevel's base type to byte instead of using ZoomLevelByte
2019-04-29 17:40:22 +01:00
Jonathan G Rennison
bd2fdde759
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/core/sort_func.hpp
# src/rail_cmd.cpp
# src/timetable_cmd.cpp
# src/video/sdl_v.cpp
# src/video/win32_v.cpp
2019-04-23 08:11:52 +01:00
glx
9195f2337a
Codechange: use std::vector for _resolutions
2019-04-18 21:49:34 +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
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02:00
Michael Lutz
baf9229931
Codechange: Replace AutoDeleteSmallVector with direct std::vector use in text layout code.
2019-04-09 22:45:15 +02:00
Michael Lutz
329bb52613
Codechange: Store text layout runs directly as values in a std::vector instead of heap allocated.
...
This reduces memory allocations and heap fragmentation.
2019-04-09 22:45:15 +02:00
Jonathan G Rennison
361758b516
Merge branches 'crashlog_improvements', 'save_ext' into jgrpp
...
# Conflicts:
# Makefile.src.in
# projects/openttd_vs140.vcxproj
# projects/openttd_vs140.vcxproj.filters
# projects/openttd_vs141.vcxproj
# projects/openttd_vs141.vcxproj.filters
# projects/openttd_vs142.vcxproj
# projects/openttd_vs142.vcxproj.filters
# src/core/smallstack_type.hpp
# src/linkgraph/linkgraphjob.cpp
# src/linkgraph/linkgraphjob.h
# src/misc.cpp
# src/network/network_udp.cpp
# src/openttd.cpp
# src/saveload/saveload.cpp
2019-04-09 19:06:26 +01:00
Michael Lutz
ae748166d0
Codechange: Use platform independent C++11 function for sleeping on a thread.
2019-04-06 11:27:39 +02:00
Michael Lutz
05f4e73608
Codechange: Replace custom mutex code with C++11 mutex'es.
...
A conforming compiler with a valid <mutex>-header is expected.
Most parts of the code assume that locking a mutex will never fail unexpectedly,
which is generally true on all common platforms that don't just pretend to
be C++11. The use of condition variables in driver code is checked.
2019-04-06 11:27:39 +02:00
Jonathan G Rennison
58433c7667
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/core/smallmap_type.hpp
# src/lang/korean.txt
# src/network/network_content.cpp
# src/smallmap_gui.cpp
# src/station_cmd.cpp
2019-03-30 20:45:58 +00:00
glx22
66dd7c3879
Fix: MSVC warnings ( #7423 )
2019-03-28 00:09:33 +01: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
Henry Wilson
ab711e6942
Codechange: Replaced SmallVector::[Begin|End]() with std alternatives
2019-03-26 20:15:57 +00:00
Henry Wilson
297fd3dda3
Codechange: Replaced SmallVector::Include() with include()
2019-03-26 20:15:57 +00:00
Henry Wilson
a690936ed7
Codechange: Replace SmallVector::Length() with std::vector::size()
2019-03-26 20:15:57 +00:00
Patric Stout
e3c639a09f
Remove: ENABLE_NETWORK switch
...
This switch has been a pain for years. Often disabling broke
compilation, as no developer compiles OpenTTD without, neither do
any of our official binaries.
Additionaly, it has grown so hugely in our codebase, that it
clearly shows that the current solution was a poor one. 350+
instances of "#ifdef ENABLE_NETWORK" were in the code, of which
only ~30 in the networking code itself. The rest were all around
the code to do the right thing, from GUI to NewGRF.
A more proper solution would be to stub all the functions, and
make sure the rest of the code can simply assume network is
available. This was also partially done, and most variables were
correct if networking was disabled. Despite that, often the #ifdefs
were still used.
With the recent removal of DOS, there is also no platform anymore
which we support where networking isn't working out-of-the-box.
All in all, it is time to remove the ENABLE_NETWORK switch. No
replacement is planned, but if you feel we really need this option,
we welcome any Pull Request which implements this in a way that
doesn't crawl through the code like this diff shows we used to.
2019-03-20 19:24:55 +01:00