glx
41232f18c1
Codechange: Replace network related FOR_ALL 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
6ce7f22fe6
Send server desync log to client
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
97baff6fd8
Add client desync log to server desync log output
5 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
5 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.
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
peter1138
07de9d6c3f
Codechange: Use override keyword in networking classes.
5 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.
5 years ago
Jonathan G Rennison
3001595916
Change chat arbitrary data field from an int64 to a struct.
7 years ago
rubidium
492c6ed39b
(svn r26576) -Fix [FS#6003]: [Network] AIs would not reset certain network state information upon creation of their company
10 years ago
rubidium
4a52300838
(svn r26576) -Fix [FS#6003]: [Network] AIs would not reset certain network state information upon creation of their company
10 years ago
frosch
24c7134bff
(svn r26485) -Codechange: Replace ttd_strlcpy and ttd_strlcat with strecpy and strecat.
10 years ago
frosch
ef4c2ce031
(svn r26485) -Codechange: Replace ttd_strlcpy and ttd_strlcat with strecpy and strecat.
10 years ago
rubidium
a59af5c3fc
(svn r26005) -Fix [FS#5478]: crash when transferring savegame from server to client
11 years ago
rubidium
18a3a569fb
(svn r26005) -Fix [FS#5478]: crash when transferring savegame from server to client
11 years ago
planetmaker
f00d9976f9
(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow)
12 years ago
planetmaker
c24374f99c
(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow)
12 years ago
rubidium
3d605f6488
(svn r23595) -Codechange: add comma after last enum to get a more uniform coding style
13 years ago
rubidium
df16ebd730
(svn r23595) -Codechange: add comma after last enum to get a more uniform coding style
13 years ago
rubidium
61a3963361
(svn r22424) -Document: some more bits
13 years ago
rubidium
c4aa943aaa
(svn r22424) -Document: some more bits
13 years ago
rubidium
8e39557a2e
(svn r22400) -Codechange: replace some defines in the tcp/game code so doxygen can create better documentation
13 years ago
rubidium
2e572b98de
(svn r22400) -Codechange: replace some defines in the tcp/game code so doxygen can create better documentation
13 years ago
rubidium
8430fadcbb
(svn r22368) -Codechange: move the IP address field from the ClientInfo to ClientSocket
13 years ago
rubidium
2cae0cd54c
(svn r22368) -Codechange: move the IP address field from the ClientInfo to ClientSocket
13 years ago
rubidium
7e151c1d51
(svn r22366) -Codechange: make GetClientIP a function of the server's ClientSocket, after all the Socket is the bit that's associated with the network
13 years ago
rubidium
c61abe0019
(svn r22366) -Codechange: make GetClientIP a function of the server's ClientSocket, after all the Socket is the bit that's associated with the network
13 years ago
rubidium
9328b8b63d
(svn r22363) -Codechange: NetworkFindClientStateFromClientID -> NetworkClientSocket::GetByClientID
13 years ago
rubidium
f1d0c1a746
(svn r22363) -Codechange: NetworkFindClientStateFromClientID -> NetworkClientSocket::GetByClientID
13 years ago
smatz
c85e1c3089
(svn r22116) -Codechange: use PoolBase::Clean() at more places
14 years ago
smatz
756cc6cf65
(svn r22116) -Codechange: use PoolBase::Clean() at more places
14 years ago
rubidium
f1e42dc23b
(svn r21854) -Codechange: refactor the password setting methods to make it possible to change the password of other companies (on the server)
14 years ago
rubidium
795a528328
(svn r21854) -Codechange: refactor the password setting methods to make it possible to change the password of other companies (on the server)
14 years ago
rubidium
a5108a1fa2
(svn r21853) -Codechange: HashCurrentCompanyPassword is only used by servers, so move it to network_server.* (dihedral)
14 years ago
rubidium
e54a1f6721
(svn r21853) -Codechange: HashCurrentCompanyPassword is only used by servers, so move it to network_server.* (dihedral)
14 years ago
rubidium
9b53982428
(svn r21399) -Change/Feature/Fix [FS#4284]: perform the compression of savegames to send to the client asynchroniously. This will reduce the lag of the other clients to the time it takes to make the memory dump and it will speed up downloading the map as the download starts earlier (possibly with a slightly lower bandwidth due to slow compression). This should also fix the lag message people get when the savegame compression takes more than a few seconds.
14 years ago
rubidium
216e48cd07
(svn r21399) -Change/Feature/Fix [FS#4284]: perform the compression of savegames to send to the client asynchroniously. This will reduce the lag of the other clients to the time it takes to make the memory dump and it will speed up downloading the map as the download starts earlier (possibly with a slightly lower bandwidth due to slow compression). This should also fix the lag message people get when the savegame compression takes more than a few seconds.
14 years ago
rubidium
f929107665
(svn r21398) -Change/Feature-ish: when making a savegame to send to a client, don't write it to disk but create the packets immediately
14 years ago
rubidium
02b3bc57d5
(svn r21398) -Change/Feature-ish: when making a savegame to send to a client, don't write it to disk but create the packets immediately
14 years ago
rubidium
71abb66b46
(svn r21363) -Add: support for limiting the amount of (accepted) incoming data
14 years ago
rubidium
fd752ca2b0
(svn r21363) -Add: support for limiting the amount of (accepted) incoming data
14 years ago
rubidium
4c76d8eaf6
(svn r21361) -Change: make sure the client is listening, or rather receiving, our frames
14 years ago
rubidium
31c8ab0ed8
(svn r21361) -Change: make sure the client is listening, or rather receiving, our frames
14 years ago
rubidium
242110b8cb
(svn r21030) -Codechange: move ClientStatus into the network server socket class
14 years ago
rubidium
f24c91c487
(svn r21030) -Codechange: move ClientStatus into the network server socket class
14 years ago
rubidium
b6799a23c4
(svn r20938) -Codechange: make the code for listening on a socket (more) reusable
14 years ago
rubidium
234bee0858
(svn r20938) -Codechange: make the code for listening on a socket (more) reusable
14 years ago
rubidium
a0f7099a7d
(svn r20937) -Codechange: move some variables from client/server to server only
14 years ago
rubidium
c9cbab14ea
(svn r20937) -Codechange: move some variables from client/server to server only
14 years ago
rubidium
332a1bfdea
(svn r20936) -Codechange: make server side packet sending methods class methods
14 years ago
rubidium
f712055002
(svn r20936) -Codechange: make server side packet sending methods class methods
14 years ago
rubidium
66087c5e60
(svn r20935) -Codechange: only let the server side use a pool of connected sockets
14 years ago
rubidium
9858d699a3
(svn r20935) -Codechange: only let the server side use a pool of connected sockets
14 years ago
rubidium
04ce759165
(svn r20934) -Codechange: move NetworkGetClientName to the server's socket
14 years ago
rubidium
bda26d03b5
(svn r20934) -Codechange: move NetworkGetClientName to the server's socket
14 years ago
rubidium
6ff39fc5ec
(svn r20929) -Codechange: make NetworkCloseClient a class method
14 years ago
rubidium
7ba07d9573
(svn r20929) -Codechange: make NetworkCloseClient a class method
14 years ago
rubidium
41e6567c0d
(svn r20924) -Codechange: make the game connection packet handling look more like UDP/content packet handling
14 years ago
rubidium
0ca7e4e82e
(svn r20924) -Codechange: make the game connection packet handling look more like UDP/content packet handling
14 years ago
rubidium
594faf45d9
(svn r20923) -Codechange: prepare creating sub-classes of NetworkClientSocket for server and client side
14 years ago
rubidium
8eb07d097e
(svn r20923) -Codechange: prepare creating sub-classes of NetworkClientSocket for server and client side
14 years ago
rubidium
9467b7c6d6
(svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header
15 years ago
rubidium
82fc28f77f
(svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header
15 years ago
rubidium
d1032d69c8
(svn r17617) -Codechange: make the server side packet handling be more like the client side's handling, i.e. return the connection status
...
-Fix: do not do invalid reads when a packet handling function closed a connection
15 years ago
rubidium
7d24e84a81
(svn r17617) -Codechange: make the server side packet handling be more like the client side's handling, i.e. return the connection status
...
-Fix: do not do invalid reads when a packet handling function closed a connection
15 years ago
rubidium
99d46e0ad7
(svn r17248) -Fix: add GPL license notice where appropriate
15 years ago
rubidium
7fbc33dae1
(svn r17248) -Fix: add GPL license notice where appropriate
15 years ago
rubidium
89e1afdaa0
(svn r15428) -Codechange: consistently use colour instead of having both color and colour.
16 years ago
rubidium
c0a8d09ca7
(svn r15428) -Codechange: consistently use colour instead of having both color and colour.
16 years ago
rubidium
2722cabcce
(svn r15242) -Feature: allow moving clients between companies/spectators by the server and the clients themselves (dihedral)
16 years ago
rubidium
04709f2798
(svn r15242) -Feature: allow moving clients between companies/spectators by the server and the clients themselves (dihedral)
16 years ago
rubidium
cb8b31c3c1
(svn r14721) -Codechange: s/NetworkTCPSocketHandler/NetworkClientSocket/ as it's (way) more descriptive what it's used for.
16 years ago
rubidium
ae96ca635c
(svn r14721) -Codechange: s/NetworkTCPSocketHandler/NetworkClientSocket/ as it's (way) more descriptive what it's used for.
16 years ago
rubidium
6d23f48bb6
(svn r14709) -Codechange: make a clearer distinction between 'unique' client identification ids and the indices into the clients/client info arrays.
16 years ago
rubidium
782b80eff7
(svn r14709) -Codechange: make a clearer distinction between 'unique' client identification ids and the indices into the clients/client info arrays.
16 years ago
rubidium
bae02e8c67
(svn r13343) -Codechange: reorder/move variable/functions in the network headers so that nothing from the network directory needs to include basically all network headers.
16 years ago
rubidium
2f3b88ef9a
(svn r13343) -Codechange: reorder/move variable/functions in the network headers so that nothing from the network directory needs to include basically all network headers.
16 years ago
rubidium
1ce0b03bf0
(svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description.
16 years ago
rubidium
d03994098b
(svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description.
16 years ago
rubidium
4169bfba06
(svn r9050) -Codechange: Foo(void) -> Foo()
18 years ago
rubidium
36bb92ae24
(svn r9050) -Codechange: Foo(void) -> Foo()
18 years ago
rubidium
98e462e564
(svn r8083) -Codechange: make a NetworkSocketHandler as base for all sockets and move a little of NetworkClientState functionality to the NetworkSocketHandler. Move the rest of the NetworkClientState to the new NetworkTCPSocketHandler class/struct, which is not yet implemented in an object oriented manner. The UDP socket handler now extends the NetworkSocketHandler instead of having a reference to a NetworkClientState.
18 years ago
rubidium
f66b373b52
(svn r8083) -Codechange: make a NetworkSocketHandler as base for all sockets and move a little of NetworkClientState functionality to the NetworkSocketHandler. Move the rest of the NetworkClientState to the new NetworkTCPSocketHandler class/struct, which is not yet implemented in an object oriented manner. The UDP socket handler now extends the NetworkSocketHandler instead of having a reference to a NetworkClientState.
18 years ago
rubidium
013df98f79
(svn r7759) -Merge: makefile rewrite. This merge features:
...
- A proper ./configure, so everything needs to be configured only once, not for every make.
- Usage of makedepend when available. This greatly reduces the time needed for generating the dependencies.
- A generator for all project files. There is a single file with sources, which is used to generate Makefiles and the project files for MSVC.
- Proper support for OSX universal binaries.
- Object files for non-MSVC compiles are also placed in separate directories, making is faster to switch between debug and release compiles and it does not touch the directory with the source files.
- Functionality to make a bundle of all needed files for for example a nightly or distribution of a binary with all needed GRFs and language files.
Note: as this merge moves almost all files, it is recommended to make a backup of your working copy before updating your working copy.
18 years ago
rubidium
66bbf336c6
(svn r7759) -Merge: makefile rewrite. This merge features:
...
- A proper ./configure, so everything needs to be configured only once, not for every make.
- Usage of makedepend when available. This greatly reduces the time needed for generating the dependencies.
- A generator for all project files. There is a single file with sources, which is used to generate Makefiles and the project files for MSVC.
- Proper support for OSX universal binaries.
- Object files for non-MSVC compiles are also placed in separate directories, making is faster to switch between debug and release compiles and it does not touch the directory with the source files.
- Functionality to make a bundle of all needed files for for example a nightly or distribution of a binary with all needed GRFs and language files.
Note: as this merge moves almost all files, it is recommended to make a backup of your working copy before updating your working copy.
18 years ago