Patric Stout
3677418225
Fix: [Network] also count the person downloading the map in the queue
...
Strictly seen, there are "N" people -waiting- in front of you
in the queue, but it is nicer to show "N + 1" for the person that
is currently downloading the map. Avoids it showing:
"0 clients in front of you". That just feels a bit off.
4 years ago
Pavel Stupnikov
4fd2eecb8b
Change: Improve console warnings on invalid network commands ( #8753 )
4 years ago
Patric Stout
53c28a8ec9
Codechange: [Network] replace _realtime_tick with std::chrono
4 years ago
Patric Stout
d068d61f3c
Fix bddfcaef: don't tell twice that a client left because of a timeout etc ( #8746 )
...
SendError() notifies all clients of the disconnect. This calls
CloseConnection() at the end, which also notified the clients
of the disconnect. Really no need to do it twice.
The status NETWORK_RECV_STATUS_SERVER_ERROR is only set by
SendError(), so in case that is the status, don't let
ClientConnection() send another notification.
4 years ago
Jonathan G Rennison
dfecdf3afb
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/dock_gui.cpp
# src/rail_gui.cpp
# src/road_gui.cpp
# src/terraform_gui.cpp
# src/vehicle.cpp
# src/video/allegro_v.cpp
# src/video/cocoa/cocoa_v.mm
# src/video/dedicated_v.cpp
# src/video/sdl2_v.cpp
# src/video/sdl_v.cpp
# src/video/win32_v.cpp
4 years ago
frosch
d9b4413bc9
Codechange: rename sound ids to make more sense. ( #8701 )
4 years ago
Jonathan G Rennison
e95216b59d
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/company_cmd.cpp
# src/core/geometry_func.cpp
# src/date.cpp
# src/genworld_gui.cpp
# src/gfx.cpp
# src/object_gui.cpp
# src/openttd.cpp
# src/settings_type.h
# src/video/allegro_v.cpp
# src/video/dedicated_v.cpp
# src/video/null_v.cpp
# src/video/sdl2_v.cpp
# src/video/sdl_v.cpp
# src/video/win32_v.cpp
4 years ago
Patric Stout
ac2b5e57cf
Fix: mention our websites with https:// (instead of http://) ( #8657 )
...
It is 2021. Nobody should advertise http anymore. Not even us.
4 years ago
SamuXarick
a4035af337
Codechange: Apply coding style ( #8640 )
...
* Fix: Missing or needed spaces
* Codechange: Remove space
* Codechange: Remove space
* Codechange: More missing spaces
* Codechange: Missing spaces
* Codechange: Remove space
* Codechange: Remove space
4 years ago
Jonathan G Rennison
650d5e014e
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/ai/ai_gui.cpp
# src/company_cmd.cpp
# src/lang/estonian.txt
# src/lang/german.txt
# src/lang/hungarian.txt
# src/lang/korean.txt
# src/lang/slovak.txt
# src/main_gui.cpp
# src/video/sdl2_v.cpp
4 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
4 years ago
Patric Stout
7fbf705c41
Fix 2db88953: default Network Server List sorter put compatible servers in wrong order ( #8626 )
...
If a server is compatible, it falls back to sorting by clients.
This used to be in reverse, so full servers are on top. With
the codechange commit, this was removed by accident, and as
such empty servers were on top. This is silly.
4 years ago
Jonathan G Rennison
082d9021d0
Only use more specific texts for money sending where available
4 years ago
Jonathan G Rennison
f9956d88c3
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/aircraft_cmd.cpp
# src/company_gui.cpp
# src/lang/arabic_egypt.txt
# src/lang/czech.txt
# src/lang/esperanto.txt
# src/lang/faroese.txt
# src/lang/finnish.txt
# src/lang/german.txt
# src/lang/korean.txt
# src/lang/latvian.txt
# src/lang/malay.txt
# src/lang/polish.txt
# src/lang/spanish.txt
# src/lang/spanish_MX.txt
# src/lang/unfinished/urdu.txt
# src/main_gui.cpp
# src/rail_cmd.cpp
# src/rail_gui.cpp
# src/road_cmd.cpp
# src/settings_type.h
# src/station_cmd.cpp
# src/table/settings.ini
4 years ago
Jonathan G Rennison
6c3e5642f8
Merge branch 'master' into jgrpp
...
# Conflicts:
# cmake/CompileFlags.cmake
# src/crashlog.cpp
# src/fileio.cpp
# src/fileio_func.h
# src/fios_gui.cpp
# src/ini_load.cpp
# src/ini_type.h
# src/lang/english.txt
# src/lang/german.txt
# src/lang/korean.txt
# src/network/network_client.cpp
# src/order_base.h
# src/order_cmd.cpp
# src/os/windows/win32.cpp
# src/road_cmd.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/settings.cpp
# src/station_cmd.cpp
# src/stdafx.h
# src/table/settings.ini
# src/tree_cmd.cpp
# src/tree_gui.cpp
# src/vehicle_base.h
# src/video/cocoa/cocoa_v.mm
# src/video/cocoa/event.mm
# src/video/cocoa/wnd_quartz.mm
# src/viewport.cpp
# src/widgets/tree_widget.h
4 years ago
Jonathan G Rennison
39df1c49a1
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/fileio.cpp
# src/group_gui.cpp
# src/industry.h
# src/lang/korean.txt
# src/linkgraph/linkgraphjob.cpp
# src/linkgraph/linkgraphjob.h
# src/linkgraph/linkgraphschedule.cpp
# src/linkgraph/linkgraphschedule.h
# src/openttd.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/town_cmd.cpp
# src/vehicle_gui.cpp
# src/vehicle_gui_base.h
4 years ago
Jonathan G Rennison
cb69611248
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/changelog.sh
# cmake/PackageDeb.cmake
# src/network/network_client.cpp
# src/settings_gui.cpp
4 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
4 years ago
glx22
6b8ad5a9b1
Change: Apply some consistency to singleplayer related comments
4 years ago
frosch
31d1968004
Fix: Start the inactivity-timeout for the content server only after the connection has been established. ( #8530 )
...
When connecting took long due to the first N resolve-addresses timing out, OpenTTD would immediately close the connection, without sending anything.
4 years ago
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
4 years ago
Patric Stout
62cdadb582
Change: move "give money" from client-list to company window
...
This is a much better location for this button, as you send
money from one company to another company, not from player
to player.
This is based on work done by JGRPP in:
f820543391
and surrounding commits, which took the work from estys:
https://www.tt-forums.net/viewtopic.php?p=1183311#p1183311
We did modify it to fix several bugs and clean up the code while
here anyway.
The callback was removed, as it meant a modified client could
prevent anyone from seeing money was transfered. The message
is now generated in the command itself, making that impossible.
4 years ago
Patric Stout
c288eba813
Fix: prevent clients making emergency saves twice if server disconnects ( #8477 )
...
This was clearly overlooked during the initial implementation.
4 years ago
Charles Pigott
e0161cf8da
Fix b408fe7: Don't try to construct a std::string from nullptr
4 years ago
Michael Lutz
5cbb2da794
Codechange: Even more std::string usage in file IO.
4 years ago
Michael Lutz
65f65ad2ad
Codechange: Convert some more FIO functions to take std::string.
4 years ago
Michael Lutz
f3326d34e7
Codechange: Use std::string in FIO search path handling.
4 years ago
Charles Pigott
860c270c73
Codechange: Replace assert_compile macro with static_assert
4 years ago
frosch
ba49fa3b82
Codechange: Rename strings to match their usage.
4 years ago
frosch
2bb691f50e
Change: Remove the LAN/Internet combobox from the server list in favour of adding two separate search buttons.
4 years ago
Jonathan G Rennison
0c5dc5d41e
Change: [Linkgraph] Pause the game when linkgraph jobs lag ( #6470 )
...
Check if the job is still running two date fract ticks before it is due
to join, and if so pause the game until its done.
When loading a game, check if the game would block immediately due to
a job which is scheduled to be joined within two date fract ticks,
and if so pause the game until its done.
This avoids the main thread being blocked on a thread join, which appears
to the user as if the game is unresponsive, as the UI does not repaint
and cannot be interacted with.
Show if pause is due to link graph job in status bar, update network
messages.
This does not apply for network clients.
4 years ago
Pavel Stupnikov
d989fb516b
Change: send network error to the server before making an emergency save ( #8387 )
4 years ago
Byoungchan Lee
0471de2d92
Fix: Remove unnessary reference to suppress warning ( #8337 )
...
Apple Clang version 12 (bundled with Xcode 12) complaints about copying
small objects in range loop (-Wrange-loop-analysis introduced by -Wall).
This warning can be easily avoided by removing the reference from
the const pointer type.
4 years ago
Patric Stout
8fbf5bef60
Fix: workarounds for two emscripten bugs in the network stack
4 years ago
Patric Stout
d15dc9f40f
Add: support for emscripten (play-OpenTTD-in-the-browser)
...
Emscripten compiles to WASM, which can be loaded via
HTML / JavaScript. This allows you to play OpenTTD inside a
browser.
Co-authored-by: milek7 <me@milek7.pl>
4 years ago
Jonathan G Rennison
1f54c8a018
Send vehicle caches to network clients to prevent desyncs due to bad GRFs
4 years ago
Jonathan G Rennison
bbbda0739b
Add third DoCommand parameter p3
4 years ago
Jonathan G Rennison
cce6d731a1
TBTR: Delete orphaned virtual trains on client disconnection
4 years ago
Jonathan G Rennison
2cad094725
Allow sending an empty password to drop settings_access
4 years ago
Jonathan G Rennison
4763f441f6
On load, use previous local company or first usable company
...
Instead of always using the first company slot
4 years ago
Jonathan G Rennison
11a9a4dc0c
Fix no error message when attaching new template/virtual vehicle fails
...
See: #187
4 years ago
Jonathan G Rennison
dea2be5d3f
Increase size of ContentInfo::name field
4 years ago
Jonathan G Rennison
7467051331
Merge branch 'master' into jgrpp
...
# Conflicts:
# .gitignore
# src/network/network_server.cpp
# src/vehicle_gui.cpp
4 years ago
Jonathan G Rennison
053d4f3bff
Fix: Thread unsafe use of SendPacket for PACKET_SERVER_MAP_SIZE
...
NetworkTCPSocketHandler::SendPacket is not thread safe and may not
be used concurrently from multiple threads without suitable locking
4 years ago
Jonathan G Rennison
53f9fa139d
Remove redundant year/month date globals
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
duck
1bc7047af7
Doc: Acknowledge integer type mismatch in certain admin packets using AdminUpdateType ( #8238 )
4 years ago
Charles Pigott
224acb78b0
Fix: Compiler warnings about memsetting non-trivial classes
4 years ago
Jonathan G Rennison
1ac0d4a5b2
Fix: Thread unsafe use of NetworkAddress::GetAddressAsString
...
Remove static buffer form of NetworkAddress::GetAddressAsString.
This is used in multiple threads concurrently, and is not thread-safe.
Replace it with a form returning std::string.
4 years ago
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