Jonathan G Rennison
b0f192abc4
Fix: Racy use of flags in TCPConnecter::CheckCallbacks
...
conected and aborted flags are used concurrently from multiple threads.
4 years ago
Jonathan G Rennison
d160536315
Fix has_packets in ServerNetworkGameSocketHandler::SendMap
4 years ago
Jonathan G Rennison
663886843c
Win32: Wine: Oversize buffer for WSAIoctl/SIO_GET_INTERFACE_LIST
...
This is a workaround for https://bugs.winehq.org/show_bug.cgi?id=49371
See also: 1e7a73b2
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
677940cfc6
Merge branch 'master' into jgrpp
4 years ago
Yexo
a9b3312d1a
Fix #8024 : make online content gui more responsive while loading
...
Previously the internal content list was invalidated and sorted for
every new item added. Now the sorting is delayed until the GUI is
drawn, which means we only sort once per GUI tick.
Since the amount of incoming items per GUI tick is not controlled by
the GUI but rather by network speed, we were previously doing a lot
of duplicate work per tick, causing the mouse cursor to lag while
the list was initialized.
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
43cd892e0c
Codechange: Replace custom linked list for GRF texts with STL vectors and strings.
4 years ago
Jonathan G Rennison
58c02030c2
Network: Avoid racy use of flags in TCPConnecter::CheckCallbacks
4 years ago
Jonathan G Rennison
ef7e658dee
Network: Remove static buffer form of NetworkAddress::GetAddressAsString
...
This is used in multiple threads concurrently
4 years ago
Jonathan G Rennison
a1d85b812b
Network: Use unique_ptr for packets, use deque for packet queues
4 years ago
Jonathan G Rennison
caa27cfa39
Network: Fix locking issues around server map PacketWriter
4 years ago
glx22
82573a5e73
Fix #8117 : Memory leak in admin port ( #8122 )
4 years ago
Jonathan G Rennison
b209b37db9
Add new CommandFlags value: CMD_SERVER_NS
5 years ago
Jonathan G Rennison
86b6e9727f
Cheats: Enable setting magic bulldozer, tunnels and jet crashes in multiplayer
5 years ago
Jonathan G Rennison
1e7a73b2c7
Win32: Check for buffer overrun when calling WSAIoctl/SIO_GET_INTERFACE_LIST
...
This has been observed on Wine
5 years ago
Jonathan G Rennison
f077c3bf6e
Merge branch 'master' into jgrpp
5 years ago
frosch
7fe291667f
Fix #8060 , 5880f14: Restore admin network API compatibility.
5 years ago
Jonathan G Rennison
8fb0b638fa
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/network/network.cpp
5 years ago
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.
5 years ago
Quipyowert2
d1b7eb2de1
Codechange: Limit field width to avoid sscanf crash
5 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
5 years ago
glx
2b1a7ceb4e
Fix #7976 : Don't kick the client doing the rcon
5 years ago
Bjarni Thor
5880f1479f
Feature #7756 : Allow server to supply a reason to kicked/banned clients
...
This commit adds the missing feature of allowing the server owner to
provide a reason for kicking/banning a client, which the client sees in
a pop-up window after being kicked. The implementation extends the
network protocol by adding a new network action called
NETWORK_ACTION_KICKED that is capable of having an error string, unlike
the other network error packages. Additionally, the kick function
broadcasts a message to all clients about the kicked client and the
reason for the kick.
5 years ago
Jonathan G Rennison
dd99fd646d
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/base_station_base.h
# src/industry.h
# src/industry_cmd.cpp
# src/industry_gui.cpp
# src/lang/korean.txt
# src/os/macosx/crashlog_osx.cpp
# src/station_cmd.cpp
# src/town.h
# src/town_cmd.cpp
# src/town_gui.cpp
5 years ago
Berbe
2fc2058b3b
Feature: Auto-restart loads the original resources again
...
If the game was started loading a savegame or scenario, auto-restart will load a new random map.
This is inconsistent with the case in which a heightmap was loaded, as in that case the heightmap is kept as a basis for a new game.
This proposal solves this heterogeneity be considering the originally loaded resource shall be kept, hence savegames & scenarios shall be reloaded
5 years ago
Jonathan G Rennison
150dfba95b
Codechange: Remove std::function from Pool iteration wrapper
...
Add a separate template wrapper for filtered iteration
5 years ago
Jonathan G Rennison
61934fdfdc
Remove std::function from Pool iteration wrapper
...
Add a separate template wrapper for filtered iteration
5 years ago
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
5 years ago
glx
e3c75a30ba
Fix: unused variable warnings
5 years ago
glx
ee7a8eebca
Codechange: Replace FOR_ALL_TOWNS with range-based for loops
5 years ago
glx
d8a1be48cd
Codechange: Replace vehicle related FOR_ALL with range-based for loops
5 years ago
glx
41232f18c1
Codechange: Replace network related FOR_ALL with range-based for loops
5 years ago
glx
ddabfed1cd
Codechange: Replace station related FOR_ALL with range-based for loops
5 years ago
glx
3a14cea068
Codechange: Replace FOR_ALL_COMPANIES with range-based for loops
5 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
c84a454d70
Network: Use shorter UDP MTU where data can be split across multiple packets.
5 years ago
Jonathan G Rennison
03fbe87752
Merge branch 'master' into jgrpp
5 years ago
Joe Stringer
b4f1056097
Fix: [Cygwin] Fix missing AI_ADDRCONFIG declaration
...
Fixes the following complaints:
src/network/core/address.cpp: In member function 'const sockaddr_storage* NetworkAddress::GetAddress()':
src/network/core/address.cpp:134:55: error: 'AI_ADDRCONFIG' was not declared in this scope
this->Resolve(this->address.ss_family, SOCK_STREAM, AI_ADDRCONFIG, nullptr, ResolveLoopProc);
Signed-off-by: Joe Stringer <joe@wand.net.nz>
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
fe9731d32c
Fix: clang and MSVC warnings (glx)
5 years ago
Charles Pigott
71a3e83468
Fix: GCC9's warnings about deprecated implicit assignment operators
5 years ago
JMcKiern
04f659e768
Fix: Some typos found using codespell
5 years ago
Jonathan G Rennison
ba9d1a0390
Merge branch 'jgrpp' into jgrpp-nrt
...
# Conflicts:
# .ottdrev-vc
# README.md
# jgrpp-changelog.md
5 years ago
Jonathan G Rennison
9a05ea67d5
Add chicken bits setting
...
2 bits so far
5 years ago
Jonathan G Rennison
04ef407ddf
Merge branch 'jgrpp' into jgrpp-nrt
...
# Conflicts:
# .ottdrev-vc
# README.md
# jgrpp-changelog.md
# src/ship_cmd.cpp
5 years ago
Jonathan G Rennison
2e4b1d73d8
Avoid performing emergency network save more than once
5 years ago
Jonathan G Rennison
6ce7f22fe6
Send server desync log to client
5 years ago
Jonathan G Rennison
459a49cb24
Add flags for mismatch type to client desync log
5 years ago
Jonathan G Rennison
ec892879f4
Add passworded mechanism to change server game settings from client
5 years ago
Jonathan G Rennison
17c054a650
Use password hash for network server and rcon passwords
5 years ago
Jonathan G Rennison
0aa366a24b
Desync: Log seed and state checksum on desync
5 years ago
Jonathan G Rennison
a1d36b02f0
Network: Add state checksum which is check in network sync
5 years ago
Jonathan G Rennison
c941d2d2a6
Desync: Change sync event logging to desync debug level 2
5 years ago
Jonathan G Rennison
385960af4e
Network: Decrease sync frame period when desync occurs
5 years ago
Jonathan G Rennison
dbc5f1baed
Merge branch 'master' into jgrpp-nrt
...
# Conflicts:
# src/fontcache.cpp
# src/game/game_text.cpp
# src/lang/korean.txt
# src/os/macosx/crashlog_osx.cpp
# src/os/windows/crashlog_win.cpp
# src/station_cmd.cpp
# src/viewport.cpp
5 years ago
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
5 years ago
Jonathan G Rennison
84d30e2f97
Fix packet overflow in ClientNetworkGameSocketHandler::SendDesyncLog
5 years ago
Jonathan G Rennison
96f000226e
Exclude virtual trains from various vehicle list iterations
5 years ago
Jonathan G Rennison
f3aff0fd7f
Avoid unnecessary reallocs in NetworkTCPSocketHandler::SendPacket
5 years ago
Jonathan G Rennison
97baff6fd8
Add client desync log to server desync log output
5 years ago
Jonathan G Rennison
cb0ca43eae
Use larger packets for server to client map/savegame transfer
5 years ago
Jonathan G Rennison
dc357c9239
Fix length checks in network packet send/recv binary
5 years ago
Jonathan G Rennison
002f5ca70e
Adjust desync log format and add company events to log
5 years ago
Jonathan G Rennison
2740537632
Handle case when ClientNetworkGameSocketHandler::SendChat is called after connection closed
5 years ago
Jonathan G Rennison
f37a93cecd
Add any output from CheckCaches to desync log
5 years ago
Jonathan G Rennison
fa55a1c002
Output a log, savegame and screenshot on desync events
5 years ago
glx
212140b88b
Codechange: replace grow() usage in ClientNetworkContentSocketHandler::OnReceiveData()
5 years ago
PeterN
9197926bca
Fix #7165 : Missed another 'Append() --> push_back()' replacement ( #7548 )
...
(cherry picked from commit 0ab6244f6b
)
5 years ago
Charles Pigott
5b34c8019f
Codechange: Remove Company/OwnerByte types
5 years ago
PeterN
0ab6244f6b
Fix #7165 : Missed another 'Append() --> push_back()' replacement ( #7548 )
5 years ago
Niels Martin Hansen
d5841109f0
Fix dcb2571: Missing override keywords
5 years ago
Niels Martin Hansen
a64bd6e22c
Fix: Also breaking for warning text in set company password
5 years ago
Niels Martin Hansen
dcb2571888
Add: Warn players that company passwords are not truly secure
5 years ago
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
6 years ago
Jonathan G Rennison
ede88aa6cd
Fix multi-packet network content requests (ContentVector)
...
Broken by incorrect merge conflict resolution in ba34ec7ad
See #86
6 years ago
glx
8899272614
Codechange: use std::vector for _language_dropdown
6 years ago
Jonathan G Rennison
0d93ecb6bf
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/core/alloc_type.hpp
# src/group_gui.cpp
# src/newgrf.cpp
# src/saveload/economy_sl.cpp
# src/saveload/map_sl.cpp
# src/station_cmd.cpp
6 years ago
glx
2db88953e7
Codechange: use std::sort() in GUIList
6 years ago
Jonathan G Rennison
674732cd68
Merge: Codechange: Use null pointer literal instead of the NULL macro
6 years ago
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
6 years ago
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
6 years ago
Jonathan G Rennison
f887b12be2
Add 3rd party mingw-std-threads headers to fix MinGW compilation
6 years ago
Jonathan G Rennison
01f957c51f
Fix: Crash due to use of invalid iterator in ClientNetworkContentSocketHandler
...
In particular this crash can be observed when using the
bootstrap GUI to download the base graphics.
In ClientNetworkContentSocketHandler::OnReceiveContentInfo
ClientNetworkContentSocketHandler::callbacks is iterated, using an iterator
cb->OnReceiveContentInfo() is called (cb is of type BootstrapAskForDownloadWindow)
This calls new BootstrapContentDownloadStatusWindow()
This inherits from BaseNetworkContentDownloadStatusWindow
The constructor of which calls _network_content_client.AddCallback(this)
This reallocates the std::vector which is being iterated in ClientNetworkContentSocketHandler::OnReceiveContentInfo
This results in iter being invalid, and an assertion failure occurs shortly
afterwards due to its use in the next iteration of cb->OnReceiveContentInfo()
Adjust all locations where ClientNetworkContentSocketHandler::callbacks
is iterated to avoid problematic behaviour
6 years ago
Michael Lutz
8b1880187a
Remove: AutoFreeSmallVector.
...
The last use was for storing a list of memory blocks. As the way these lists are accessed is very
specific, it is easier to just write an explicit destructor instead of trying to exactly match the behaviour.
6 years ago
Michael Lutz
e804173595
Codechange: If something is a vector of strings, use a vector of strings instead of an AutoFreeSmallVector.
6 years ago
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
6 years ago
Jonathan G Rennison
74e5e04724
Fix: Crash due to use of invalid iterator in ClientNetworkContentSocketHandler
...
In particular this crash can be observed when using the
bootstrap GUI to download the base graphics.
In ClientNetworkContentSocketHandler::OnReceiveContentInfo
ClientNetworkContentSocketHandler::callbacks is iterated, using an iterator
cb->OnReceiveContentInfo() is called (cb is of type BootstrapAskForDownloadWindow)
This calls new BootstrapContentDownloadStatusWindow()
This inherits from BaseNetworkContentDownloadStatusWindow
The constructor of which calls _network_content_client.AddCallback(this)
This reallocates the std::vector which is being iterated in ClientNetworkContentSocketHandler::OnReceiveContentInfo
This results in iter being invalid, and an assertion failure occurs shortly
afterwards due to its use in the next iteration of cb->OnReceiveContentInfo()
Adjust all locations where ClientNetworkContentSocketHandler::callbacks
is iterated to avoid problematic behaviour
6 years ago
Michael Lutz
ae748166d0
Codechange: Use platform independent C++11 function for sleeping on a thread.
6 years ago
Michael Lutz
94c5269fa7
Codechange: Use atomic variables for thread synchronization where useful.
6 years ago
Michael Lutz
05bc2ed7cb
Codechange: Replace custom thread code with C++11 thread objects.
...
We assume a conforming C++11 compiler environment that has a valid <thread>-header.
Failure to run a real thread is handled gracefully.
6 years ago
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.
6 years ago
glx22
a1e492d0d8
Fix #7439 : don't overwrite CompanyRemoveReason with ClientID ( #7465 )
6 years ago
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
6 years ago
PeterN
9244dad3f1
Fix #7434 : Incorrect use of vector iterator. ( #7437 )
6 years ago
glx22
66dd7c3879
Fix: MSVC warnings ( #7423 )
6 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
6 years ago
stormcone
b913c92aa7
Fix #7165 : Missed 'Append() --> push_back()' replacement
6 years ago
Henry Wilson
cc62f4163f
Cleanup: Remove unused size template parameters from SmallMap and Auto[Free|Delete]SmallVector
6 years ago
Henry Wilson
c01a2e2a81
Codechange: Removed SmallVector completely
6 years ago
Henry Wilson
ab711e6942
Codechange: Replaced SmallVector::[Begin|End]() with std alternatives
6 years ago
Henry Wilson
297fd3dda3
Codechange: Replaced SmallVector::Include() with include()
6 years ago
Henry Wilson
2bc2de9034
Codechange: Replaced SmallVector::Find() with std::find()
6 years ago
Henry Wilson
a0f36a50e6
Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back()
6 years ago
Henry Wilson
ca2f33c6d0
Codechange: Replaced SmallVector::Erase() with std::vector::erase()
6 years ago
Henry Wilson
097328c3d7
Codechange: Replaced SmallVector::Get() const with std alternatives
6 years ago
Henry Wilson
5795f66d2e
Codechange: Replaced SmallVector::Contains() with std::find() pattern
6 years ago
Henry Wilson
8460952240
Codechange: Replaced SmallVector::Find() const with suitable alternatives
...
The use of std::none_of in network/core/host.cpp is driven by the non-const
comparison operator use by NetworkAddress. A future commit should address
the const_casts in that class to ensure const-correctness.
6 years ago
Henry Wilson
81315939b9
Codechange: Replaced SmallVector::Find() non-const with std::find()
6 years ago
Henry Wilson
f3938fdb83
Codechange: Replaced SmallVector::Reset() with std::vector::clear() + shrink_to_fit()
6 years ago
Henry Wilson
a690936ed7
Codechange: Replace SmallVector::Length() with std::vector::size()
6 years ago
Henry Wilson
9cba6f7193
Codechange: Replaced SmallVector::Compact() with std::vector::shrink_to_fit()
6 years ago
Henry Wilson
bfd79e59dc
Codechange: Replace SmallVector::Clear() with std::vector::clear()
6 years ago
peter1138
07de9d6c3f
Codechange: Use override keyword in networking classes.
6 years ago
peter1138
317f69c152
Codechange: Use override specifier in Window-derived classes.
6 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.
6 years ago
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.
6 years ago
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
6 years ago
SamuXarick
cdb6dbad85
Cleanup: Remove repeated network error message on connection timeout. ( #7327 )
6 years ago
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.
6 years ago
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.
6 years ago
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 :(
6 years ago
Jonathan G Rennison
7ff252c58d
Merge branch 'master' into jgrpp
...
# Conflicts:
# Makefile.src.in
# findversion.sh
# projects/determineversion.vbs
# src/aircraft_cmd.cpp
# src/lang/dutch.txt
# src/linkgraph/linkgraph_gui.cpp
# src/linkgraph/linkgraph_gui.h
# src/order_cmd.cpp
# src/settings_gui.cpp
# src/smallmap_gui.cpp
# src/town_cmd.cpp
# src/viewport.cpp
# src/water_map.h
6 years ago
Niels Martin Hansen
c61acc7fc1
Fix #7280 : Save in the right location on desync and server timeout
6 years ago
Jonathan G Rennison
36ac643749
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/lang/afrikaans.txt
# src/lang/basque.txt
# src/lang/belarusian.txt
# src/lang/brazilian_portuguese.txt
# src/lang/bulgarian.txt
# src/lang/catalan.txt
# src/lang/croatian.txt
# src/lang/czech.txt
# src/lang/danish.txt
# src/lang/dutch.txt
# src/lang/english.txt
# src/lang/english_AU.txt
# src/lang/english_US.txt
# src/lang/estonian.txt
# src/lang/finnish.txt
# src/lang/french.txt
# src/lang/gaelic.txt
# src/lang/galician.txt
# src/lang/german.txt
# src/lang/greek.txt
# src/lang/hebrew.txt
# src/lang/hungarian.txt
# src/lang/icelandic.txt
# src/lang/indonesian.txt
# src/lang/irish.txt
# src/lang/italian.txt
# src/lang/japanese.txt
# src/lang/korean.txt
# src/lang/latin.txt
# src/lang/latvian.txt
# src/lang/lithuanian.txt
# src/lang/luxembourgish.txt
# src/lang/norwegian_bokmal.txt
# src/lang/norwegian_nynorsk.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/slovenian.txt
# src/lang/spanish.txt
# src/lang/spanish_MX.txt
# src/lang/swedish.txt
# src/lang/tamil.txt
# src/lang/thai.txt
# src/lang/traditional_chinese.txt
# src/lang/turkish.txt
# src/lang/ukrainian.txt
# src/lang/unfinished/persian.txt
# src/lang/vietnamese.txt
# src/lang/welsh.txt
# src/rail_cmd.cpp
# src/station_cmd.cpp
6 years ago
glx
7c31a32c2b
Fix: colour of network specific strings in company dropdown menus
6 years ago
Jonathan G Rennison
2fdcc52321
Merge branch 'save_ext' into jgrpp
...
# Conflicts:
# Makefile.src.in
# findversion.sh
# projects/determineversion.vbs
# src/lang/dutch.txt
# src/lang/korean.txt
# src/network/network.cpp
# src/network/network_client.cpp
# src/rail.cpp
# src/rail_cmd.cpp
# src/saveload/afterload.cpp
# src/ship_cmd.cpp
# src/toolbar_gui.cpp
# src/vehicle.cpp
6 years ago
Niels Martin Hansen
830ed6be61
Fix: Do not mangle tagged revision strings for network revision strings
6 years ago
Thomas den Hollander
412e6132b6
Fix: CompanyEconomy documentation
...
Company income was described as an unsigned integer, but it should be signed.
6 years ago
Niels Martin Hansen
db2c0ccae0
Fix fdc2e85: Double close of file handles
...
When unpacking downloaded content, the downloaded .gz file was being opened with `fopen`, the OS file handle given to zlib, and then afterwards zlib told to close the file.
But the `FILE *` object was never closed with `fclose`, meaning the stdio library would have a hanging file object, whose file handle was now invalid or referred to a different file. This caused asserts during shutdown with Microsoft's C library in debug mode.
Fix this by properly duplicating the OS handle and `fclose`ing the `FILE *` object, before giving the handle to zlib.
6 years ago
glx
8e7fe3973f
Add: CompanyCtrlAction enum for CMD_COMPANY_CTRL actions
6 years ago
Jonathan G Rennison
2142452305
Merge branch 'save_ext' into jgrpp
...
# Conflicts:
# Makefile.src.in
# findversion.sh
# projects/determineversion.vbs
# src/gamelog.cpp
# src/gamelog_internal.h
# src/lang/german.txt
# src/lang/korean.txt
# src/network/core/config.h
# src/network/network.cpp
# src/network/network_udp.cpp
# src/rev.h
# src/saveload/afterload.cpp
# src/saveload/company_sl.cpp
# src/saveload/depot_sl.cpp
# src/saveload/gamelog_sl.cpp
# src/saveload/misc_sl.cpp
# src/saveload/order_sl.cpp
# src/saveload/saveload.cpp
# src/saveload/station_sl.cpp
# src/saveload/town_sl.cpp
# src/saveload/vehicle_sl.cpp
# src/table/settings.ini
# src/viewport.cpp
6 years ago
Niels Martin Hansen
5f8354f358
Change: Make a shortened network revision string for use in server queries
6 years ago
Niels Martin Hansen
c511b0e801
Change: Increase NETWORK_REVISION_LENGTH to 33 bytes
6 years ago
Jonathan G Rennison
1dd8629227
Define socket constants on MinGW if missing
6 years ago
Jonathan G Rennison
255b6adfc9
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/vehicle_cmd.cpp
6 years ago
glx
b22fbfbe3d
Add: allow opening of one TextfileWindow per type
6 years ago
Jonathan G Rennison
191afd93c1
Merge branch 'save_ext' into jgrpp
...
# Conflicts:
# src/lang/english.txt
# src/lang/german.txt
# src/lang/korean.txt
# src/settings.cpp
# src/station_cmd.cpp
# src/table/settings.ini
# src/vehicle_base.h
# src/widgets/dropdown.cpp
6 years ago
Charles Pigott
fe8c24e081
Codechange: Remove unnecessarily defined functions under MinGW
6 years ago
Jonathan G Rennison
e3d167f9f0
Merge branch 'save_ext' into jgrpp
...
# Conflicts:
# config.lib
# src/misc_gui.cpp
# src/network/network_gui.cpp
# src/settings_type.h
# src/smallmap_gui.cpp
# src/smallmap_gui.h
# src/station_cmd.cpp
# src/toolbar_gui.cpp
# src/vehicle_gui.cpp
# src/window.cpp
6 years ago
PeterN
5ff0c24993
Fix #6780 : Some windows didn't get updated from OnTick() ( #7048 )
6 years ago
Jonathan G Rennison
4f1d54564e
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/debug.cpp
6 years ago
glx
c540d72445
Fix: [Win32] WIN32 may not be defined, always prefer the compiler predefined macro _WIN32
6 years ago
Jonathan G Rennison
a6c5951b2f
Fix flags field not being received in Reply_CLIENT_FIND_SERVER_extended
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
940314a3c7
Use std::string for CommandContainer text instead of giant static buffer
...
Use move semantics for CommandContainer instance where feasible
6 years ago
Niels Martin Hansen
4fb76db42f
Feature #986 : Automatic save when losing connection to a network game
6 years ago
Jonathan G Rennison
21040dc00b
Implementing sending server GRF info list response in multiple packets
...
Add/adjust GRF info message logging
6 years ago
Jonathan G Rennison
847a46d107
Fix assertion failure in RequestContentList with many GRFs
6 years ago
Jonathan G Rennison
7559db2bbb
Merge remote-tracking branch 'nielsmh/bug986' into jgrpp
6 years ago
Niels Martin Hansen
db5abdd78a
Feature #986 : Automatic save when losing connection to a network game
6 years ago
Jonathan G Rennison
6342099c4d
Allow 256 NewGRFs in multiplayer
...
Add extended network format for server info
Add general UDP packet fragmentation system
Fix map dimensions >= 64k
Increase length of server revision string
Maintain backwards compatibility with trunk for advertisement/server listing
6 years ago
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
6 years ago
J0an Josep
cfb8092397
Fix b4b98e5165: Use FALLTHROUGH attribute with correct indentation.
6 years ago
Matthijs Kooijman
fa87212a76
Fix: Some spelling errors in printed messages
6 years ago
Patric Stout
85adde7485
Remove: PSP support
6 years ago
Jonathan G Rennison
f34833f111
Merge branch 'improved_breakdowns' into jgrpp
...
# Conflicts:
# src/vehiclelist.cpp
7 years ago
frosch
b4b98e5165
(svn r27893) -Codechange: Use fallthrough attribute. (LordAro)
7 years ago
frosch
a47fb85cd8
(svn r27893) -Codechange: Use fallthrough attribute. (LordAro)
7 years ago
Jonathan G Rennison
d1dd5937eb
Merge branch 'send_money_company' into jgrpp
8 years ago
Jonathan G Rennison
e43f0dad21
Fix crashes/issues with non-broadcast network chat.
8 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
8 years ago
peter1138
ed01e81c42
(svn r27794) -Fix [FS#6526]: Chat text background overflowed due to missing padding.
8 years ago
peter1138
36837a070c
(svn r27794) -Fix [FS#6526]: Chat text background overflowed due to missing padding.
8 years ago
Jonathan G Rennison
54494a0a7c
Merge branch 'send_money_company' into jgrpp
8 years ago
Jonathan G Rennison
9c74da46b1
Change send money to company messages to be broadcasts.
...
Adjust text formatting depending on whether current client is
the source, destination or neither.
8 years ago
Jonathan G Rennison
63629852f7
Add a second int64 data field to chat arbitrary data field.
8 years ago
Jonathan G Rennison
3001595916
Change chat arbitrary data field from an int64 to a struct.
8 years ago
Jonathan G Rennison
c70a60fd18
Add another network broadcast mode.
8 years ago
patch-import
f820543391
Import give money to company patch
...
From: https://www.tt-forums.net/viewtopic.php?p=1183311#p1183311
Fix language files and minor formatting issues
8 years ago
Jonathan G Rennison
f89e8b76d6
Fix increased number of NewGRFs support.
...
Improve error handling if multiplayer limit is exceeded.
8 years ago
Jonathan G Rennison
24b3424ca3
Merge branch 'template_train_replacement' into jgrpp
...
# Conflicts:
# src/economy.cpp
# src/network/network_command.cpp
# src/saveload/extended_ver_sl.cpp
8 years ago
Jonathan G Rennison
285ba41699
TBTR: Fix spelling issues in comment and a method name.
8 years ago
Jonathan G Rennison
90cd312428
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/fios.h
8 years ago
frosch
8bd3a8a991
(svn r27729) -Codechange: Do not count static NewGRF when checking for the maximum number of NewGRFs in a game.
...
-Codechange: Remove LAST_GRF_SLOT and MAX_NEWGRFS. Now NETWORK_MAX_GRF_COUNT is the only constant to specify the maximum number of non-static NewGRF.
-Codechange: Increase the number of file slots, effectively increasing the maximum number of static NewGRF and baseset GRFs.
8 years ago
frosch
ec9a920aab
(svn r27729) -Codechange: Do not count static NewGRF when checking for the maximum number of NewGRFs in a game.
...
-Codechange: Remove LAST_GRF_SLOT and MAX_NEWGRFS. Now NETWORK_MAX_GRF_COUNT is the only constant to specify the maximum number of non-static NewGRF.
-Codechange: Increase the number of file slots, effectively increasing the maximum number of static NewGRF and baseset GRFs.
8 years ago
Jonathan G Rennison
d204062300
Merge branch 'master' into template_train_replacement
8 years ago
frosch
3f75b8bca2
(svn r27670) -Add: [FS#6471] Assign descriptive names to (GNU pthread) threads. (JGR)
8 years ago
frosch
31f046bd9b
(svn r27670) -Add: [FS#6471] Assign descriptive names to (GNU pthread) threads. (JGR)
8 years ago
Jonathan G Rennison
8e6569c11f
Include tick skip counter in all desync debug output.
...
Change message format to make field identification easier.
Update desync message reader to support tick skip counter.
8 years ago
Jonathan G Rennison
5e67582a64
Merge branch 'save_ext' into jgrpp
...
# Conflicts:
# config.lib
# src/saveload/extended_ver_sl.cpp
# src/saveload/saveload.cpp
8 years ago
cirdan
80fd6a2783
Drop memory allocator from ClientNetworkGameSocketHandler
...
Have ClientNetworkGameSocketHandler initialise all of its members
on construction and not derive from ZeroedMemoryAllocator.
(cherry picked from commit dddda4f0b7ba0bd6f310f924d3b85cadbc81dc99)
8 years ago
alberth
f286ba8db2
(svn r27653) -Fix(r27647): Rename FileOperation enum and values to SaveLoadOperation to avoid nameclash with windows compiler toolkit.
8 years ago
alberth
0adfb1ac6f
(svn r27653) -Fix(r27647): Rename FileOperation enum and values to SaveLoadOperation to avoid nameclash with windows compiler toolkit.
8 years ago
alberth
a959c0c965
(svn r27650) -Codechange: Replace SaveOrLoadMode by FileOperation and DetailedFileType.
8 years ago
alberth
597380e099
(svn r27650) -Codechange: Replace SaveOrLoadMode by FileOperation and DetailedFileType.
8 years ago
alberth
3b84827773
(svn r27648) -Codechange: Remove remaining _saveload_mode usage.
8 years ago
alberth
88bdf482c0
(svn r27648) -Codechange: Remove remaining _saveload_mode usage.
8 years ago
Jonathan G Rennison
23a1c07378
Merge branch 'master' into template_train_replacement
...
Fix Template creation window vehicle drag cursor.
8 years ago
Jonathan G Rennison
09291a3b74
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/blitter/32bpp_anim.cpp
# src/rail_gui.cpp
# src/saveload/saveload.cpp
# src/train_cmd.cpp
# src/vehicle_base.h
8 years ago
frosch
b1272ee714
(svn r27577) -Fix [FS#6386]: Dock and roadstop picker, client list and town authority window did not auto-resize according to their content when they were positioned at the bottom of the screen. (Eearslya)
8 years ago
frosch
8084f39bf3
(svn r27577) -Fix [FS#6386]: Dock and roadstop picker, client list and town authority window did not auto-resize according to their content when they were positioned at the bottom of the screen. (Eearslya)
8 years ago
frosch
9aa9d7e898
(svn r27576) -Fix (r27570): Compilation failure with all compilers but mine.
8 years ago
frosch
4fc43b510d
(svn r27576) -Fix (r27570): Compilation failure with all compilers but mine.
8 years ago
frosch
14c1a7ad0b
(svn r27571) -Codechange: Consistent naming for command callbacks which play a sound effect.
8 years ago
frosch
9aa33862a7
(svn r27571) -Codechange: Consistent naming for command callbacks which play a sound effect.
8 years ago
frosch
998a6c1302
(svn r27570) -Fix [FS#6449]: Various incorrect but uncritical size computations in the content client.
8 years ago
frosch
97e6981e39
(svn r27570) -Fix [FS#6449]: Various incorrect but uncritical size computations in the content client.
8 years ago