Rubidium
a3c9eca722
Change: use 32 KiB packets to send requests to the content server
2021-04-25 21:27:54 +02:00
Rubidium
d6000c2ec5
Codechange: differentiate between UDP, TCP and compatibility MTU values
2021-04-25 21:27:54 +02:00
Rubidium
d4f027c03b
Codechange: encapsulate writing data from Packets into sockets/files/buffers to prevent packet state modifications outside of the Packet
2021-04-24 20:42:01 +02:00
Patric Stout
53c28a8ec9
Codechange: [Network] replace _realtime_tick with std::chrono
2021-02-27 00:36:14 +01:00
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.
2021-01-08 20:20:54 +01:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
2021-01-08 11:16:18 +01:00
Charles Pigott
e0161cf8da
Fix b408fe7: Don't try to construct a std::string from nullptr
2020-12-27 18:30:53 +00:00
Michael Lutz
5cbb2da794
Codechange: Even more std::string usage in file IO.
2020-12-27 13:19:25 +01:00
Michael Lutz
f3326d34e7
Codechange: Use std::string in FIO search path handling.
2020-12-27 13:19:25 +01:00
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.
2020-12-15 22:39:51 +01:00
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>
2020-12-15 15:46:39 +01:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
JMcKiern
04f659e768
Fix: Some typos found using codespell
2019-09-29 21:27:32 +01:00
glx
212140b88b
Codechange: replace grow() usage in ClientNetworkContentSocketHandler::OnReceiveData()
2019-05-04 19:50:53 +01:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02:00
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
2019-04-09 22:56:23 +02:00
glx22
66dd7c3879
Fix: MSVC warnings ( #7423 )
2019-03-28 00:09:33 +01: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
a0f36a50e6
Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back()
2019-03-26 20:15:57 +00:00
Henry Wilson
5795f66d2e
Codechange: Replaced SmallVector::Contains() with std::find() pattern
2019-03-26 20:15:57 +00:00
Henry Wilson
f3938fdb83
Codechange: Replaced SmallVector::Reset() with std::vector::clear() + shrink_to_fit()
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
Henry Wilson
bfd79e59dc
Codechange: Replace SmallVector::Clear() with std::vector::clear()
2019-03-26 20:15:57 +00:00
peter1138
07de9d6c3f
Codechange: Use override keyword in networking classes.
2019-03-24 17:38:42 +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
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.
2019-02-06 21:09:02 +01:00
frosch
4fc43b510d
(svn r27576) -Fix (r27570): Compilation failure with all compilers but mine.
2016-05-22 10:45:46 +00:00
frosch
97e6981e39
(svn r27570) -Fix [FS#6449]: Various incorrect but uncritical size computations in the content client.
2016-05-22 10:04:41 +00:00
rubidium
21f991e235
(svn r26489) -Codechange: properly account for the end of buffers in the file io code instead of assuming MAX_PATH is okay
2014-04-23 21:23:21 +00:00
rubidium
0463dbdc9e
(svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2014-04-23 20:13:33 +00:00
rubidium
2e54c8fdfa
(svn r26056) -Fix: a number of possibly uninitialised variables
2013-11-22 21:50:43 +00:00
rubidium
ed4e14dc20
(svn r26047) -Fix: possible, but very unlikely, null pointer dereference when gunziping just downloaded files
2013-11-22 21:41:49 +00:00
rubidium
5eac3a77d2
(svn r25597) -Fix [FS#5635]: [Content] When the server closed the connection, the client would for eternity try to read a packet and never timeout making it impossible to reconnect
2013-07-13 09:26:11 +00:00
planetmaker
c24374f99c
(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow)
2013-01-08 22:46:42 +00:00
yexo
483d878d5f
(svn r24466) -Codechange [FS#5236]: add general function for ContentType -> Subdirectory conversion (LordAro)
2012-08-13 18:49:38 +00:00
rubidium
8371ecc922
(svn r23719) -Fix [FS#4930]: extraction of music packs failed
2012-01-02 21:57:29 +00:00
truebrain
963802e9a7
(svn r23612) -Add: allow importing libraries in the same way as AI does, only with GS prefix (and in game/library)
2011-12-19 20:56:59 +00:00
truebrain
b4f832f29f
(svn r23605) -Add: GAME_DIR and CONTENT_TYPE_GAME, and read gamescript from that directory
2011-12-19 20:54:37 +00:00
truebrain
561b25d031
(svn r23601) -Fix: fix the conflict in window number
2011-12-19 20:50:21 +00:00
rubidium
fefe22b4aa
(svn r23590) -Codechange: make the string validation settings better expandable
2011-12-18 18:37:54 +00:00
rubidium
58423b26d1
(svn r23474) -Codechange: move the declaration error related functions to error.h
2011-12-10 13:54:10 +00:00
truebrain
cc12942d70
(svn r23384) -Remove: no longer allow a binary to be without AI support; the parts some compilers failed at, are integrated in other parts of the code now too
2011-12-01 12:03:34 +00:00
truebrain
e37149a1de
(svn r23362) -Codechange: refactor AIScanner, splitting it in AIScannerInfo and AIScannerLibrary
2011-11-29 23:21:52 +00:00
rubidium
a3a2fdcfc2
(svn r23234) -Fix [FS#4840]: crash when after downloading content
2011-11-16 16:54:37 +00:00
rubidium
2b897b4fa0
(svn r23219) -Change: different directories for basesets and newgrfs. So data to baseset or newgrf, and gm to baseset
2011-11-14 21:34:27 +00:00
rubidium
160294ff22
(svn r23216) -Codechange: introduce the concept of having different tar lists
2011-11-14 21:28:43 +00:00
rubidium
0061b5f184
(svn r22822) -Codechange: make a distinction between base sets and newgrfs for their directory
2011-08-24 13:33:49 +00:00
rubidium
944a5cb7aa
(svn r22423) -Document: some network stuff
2011-05-04 20:24:23 +00:00
rubidium
d4737e0724
(svn r22399) -Codechange: replace some defines in the tcp/content code so doxygen can create better documentation
2011-05-01 11:13:11 +00:00
rubidium
db6121f361
(svn r22208) -Fix [FS#4543]: When downloading a file via HTTP failed mid-way and OpenTTD fell back to the old system the partial downloaded amount would be counted twice
2011-03-06 10:11:59 +00:00
alberth
1dbc0a20be
(svn r22144) -Codechange: Unify 'while (true)' to 'for (;;)'
2011-02-25 21:53:43 +00:00
rubidium
81ef0dbcfc
(svn r21898) -Fix [FS#4438]: using a pointer-iterator and adding things (thus reallocating) to the iterated array caused OpenTTD to crash on invalid pointers
2011-01-23 11:20:55 +00:00
rubidium
eb299736c1
(svn r21886) -Codechange: move documentation towards the code to make it more likely to be updated [n].
2011-01-22 09:53:15 +00:00
rubidium
b6c2216749
(svn r21358) -Codechange: make some network function names conform to coding style
2010-11-30 13:38:46 +00:00
smatz
9594a3f7c5
(svn r21319) -Fix: crash when creating file download by the content download system failed
2010-11-25 13:43:09 +00:00
smatz
eb4516e50c
(svn r21318) -Fix: parameters to ShowErrorMessage() were swapped when content download failed
2010-11-25 13:41:30 +00:00
frosch
3972c790c2
(svn r20957) -Codechange: Add another parameter to FindGRFConfig() to define search restrictions.
2010-10-17 12:12:13 +00:00
rubidium
f555e6d72e
(svn r20933) -Codechange: move some more client related methods and such to network_client.cpp
2010-10-15 19:33:08 +00:00
alberth
35fec79700
(svn r20499) -Doc: Spelling fixes, and one doxygen comment addition.
2010-08-15 14:06:43 +00:00
rubidium
b8487afe54
(svn r20192) -Cleanup: bye bye variables.h, bye bye VARDEF... you won't be missed :)
2010-07-19 17:28:27 +00:00
frosch
4ce5c6d93d
(svn r20089) -Fix [FS#3932]: Access of already freed memory, esp. due to hidden destructor call from Swap().
2010-07-08 18:38:38 +00:00
rubidium
5ca4098443
(svn r20082) -Fix [FS#3899]: reading deleted memory when selecting a NewGRF in the content download window of which the data has not been acquired from the content server. The crash would occur after the content server's reply was processed and the ContentInfo object was replaced with another.
2010-07-05 21:07:31 +00:00
rubidium
948beec597
(svn r19777) -Change: use the file scanner to find the .tars
2010-05-10 09:37:17 +00:00
smatz
32510296b6
(svn r19686) -Fix (r15126): truncated archives were not detected when using zlib 1.2.3. This also fixes zlib 1.2.4 compatibility, zlib 1.2.5 is bugfree
2010-04-21 11:42:00 +00:00
smatz
0ef33548c2
(svn r19614) -Codechange: "it's" => "its" where appropriate
2010-04-12 14:12:47 +00:00
frosch
ba5f5c1ce1
(svn r19600) -Fix (r18994): Presence of online content was not properly updated after download due to duplicate slashes in the path.
2010-04-10 21:34:21 +00:00
rubidium
0f6d82df7e
(svn r19262) -Feature: finalise BaNaNaS support for music sets
2010-02-26 00:00:55 +00:00
smatz
f051066bc4
(svn r19224) -Codechange: change parameters passed to ShowErrorMessage() a bit
2010-02-24 14:46:15 +00:00
rubidium
21bd2722cd
(svn r19081) -Codechange: make it possible to disable compilation of the AI+Squirrel
2010-02-10 16:24:05 +00:00
rubidium
228da0ccd3
(svn r19001) -Fix: some GCC compile warnings
2010-02-04 13:35:20 +00:00
rubidium
d818c7c7b1
(svn r18996) -Fix (r18993, r18994): MSVC 64 bits had somethings to complain about
2010-02-03 21:45:48 +00:00
rubidium
2db44fc18e
(svn r18994) -Change: content mirroring support (based on work by TrueBrain).
2010-02-03 18:42:23 +00:00
rubidium
e437362c7b
(svn r18992) -Codechange: move the file opening/closing out of the content download function
2010-02-03 17:15:35 +00:00
rubidium
589aee0cee
(svn r18991) -Codechange: simplify memory management of DownloadSelectedContent
2010-02-03 17:12:19 +00:00
rubidium
28c7c49855
(svn r18638) -Fix: downloading music sets would fail
2009-12-26 09:38:41 +00:00
alberth
44aacfc59f
(svn r17928) -Codechange: ShowErrorMessage() now takes the summary string before the details string.
...
Gentlemen, swap your string parameters.
2009-10-31 19:46:51 +00:00
rubidium
d6cded5380
(svn r17693) -Cleanup: remove some unneeded includes
2009-10-04 17:16:41 +00:00
rubidium
7fbc33dae1
(svn r17248) -Fix: add GPL license notice where appropriate
2009-08-21 20:21:05 +00:00
rubidium
865fc40e29
(svn r17245) -Fix [FS#3137] (r17015): you could, via unselect all, also unselect already installed content; it would not uninstall it though
2009-08-21 08:41:54 +00:00
rubidium
9ee2a66c86
(svn r17139) -Change: add the concept of sound sets
2009-08-09 19:50:44 +00:00
rubidium
f118932643
(svn r17133) -Codechange: generalise the code that searches for base graphics
2009-08-09 16:54:03 +00:00
rubidium
95c204ebee
(svn r17038) -Fix (r17015): don't download the stuff we already have
2009-08-02 13:58:11 +00:00
rubidium
26070726ac
(svn r16361) -Fix: pointer incremented with wrong count
2009-05-19 21:25:20 +00:00
rubidium
22d9306889
(svn r15967) -Codechange: do not access NetworkSocketHandler::has_quit directly
2009-04-07 18:23:14 +00:00
rubidium
ce06df313d
(svn r15941) -Codechange: jonty-comp's wish partly implemented (content server) ;)
2009-04-03 17:20:57 +00:00
rubidium
804370d964
(svn r15914) -Codechange: let the content handling make use of NetworkAddress.
2009-04-02 18:35:59 +00:00
rubidium
9d018723b7
(svn r15711) -Codechange: lots of whitespace cleanup/fixes
2009-03-14 18:16:29 +00:00
rubidium
406832fed8
(svn r15632) -Feature: allow downloading scenarios and heightmaps via bananas.
2009-03-06 19:33:45 +00:00
rubidium
3ae9851bd8
(svn r15580) -Fix [FS#2684]: last activity time not properly updated causing downloads to be aborted after a minute.
2009-02-25 17:00:59 +00:00
rubidium
4bf2f4a166
(svn r15565) -Fix [FS#2675]: dependency information wasn't requested after the content state was reset causing the dependencies not always being selected (and thus downloaded) automatically.
2009-02-24 13:25:35 +00:00
rubidium
54f852f094
(svn r15552) -Fix (r15544): some compiler/OS combinations don't like closing the same FD twice and zlib's docs weren't very clear about whether it would close a FD it didn't open.
2009-02-22 02:57:15 +00:00
rubidium
fdc2e85184
(svn r15544) -Fix [FS#2650]: extracting downloaded content didn't work for Windows if one uses a non-ASCII.
2009-02-21 14:00:35 +00:00
smatz
0d3f5e6e74
(svn r15299) -Cleanup: remove many redundant includes
2009-01-31 20:16:06 +00:00
rubidium
8382b76b0f
(svn r15221) -Change [FS#2574]: only show missing NewGRFs when opening the content download window from a NewGRF list and there are missing NewGRFs, otherwise show just all NewGRFs the system knows.
2009-01-23 10:20:29 +00:00
rubidium
6f5078b555
(svn r15217) -Fix [FS#2573] (r15176): more corner cases when removing things from iterated vectors
2009-01-23 09:00:01 +00:00
rubidium
83e1288c6a
(svn r15215) -Fix: various MSVC x64 compiler warnings
2009-01-23 02:01:05 +00:00
rubidium
86c1d49c08
(svn r15196) -Fix (r15195): != != == :(
2009-01-21 20:18:12 +00:00
rubidium
4bf2326bd1
(svn r15195) -Fix: don't crash when removing from something you're iterating over
2009-01-21 12:23:08 +00:00
rubidium
ff328bf68b
(svn r15178) -Change: rename 'update' to 'upgrade' as that's a bit more clear
2009-01-20 21:05:13 +00:00