Commit Graph

1372 Commits

Author SHA1 Message Date
Michael Lutz f3326d34e7 Codechange: Use std::string in FIO search path handling. 2020-12-27 13:19:25 +01:00
Charles Pigott 860c270c73 Codechange: Replace assert_compile macro with static_assert 2020-12-27 10:55:42 +00:00
frosch ba49fa3b82 Codechange: Rename strings to match their usage. 2020-12-25 00:40:35 +01:00
frosch 2bb691f50e Change: Remove the LAN/Internet combobox from the server list in favour of adding two separate search buttons. 2020-12-25 00:40:35 +01:00
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.
2020-12-22 15:17:57 +01:00
Pavel Stupnikov d989fb516b
Change: send network error to the server before making an emergency save (#8387) 2020-12-16 21:23:12 +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 8fbf5bef60 Fix: workarounds for two emscripten bugs in the network stack 2020-12-15 15:46:39 +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
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
2020-07-09 16:08:01 +01:00
duck 1bc7047af7
Doc: Acknowledge integer type mismatch in certain admin packets using AdminUpdateType (#8238) 2020-06-27 18:21:17 +02:00
Charles Pigott 224acb78b0 Fix: Compiler warnings about memsetting non-trivial classes 2020-06-27 14:51:14 +01:00
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.
2020-06-21 11:47:56 +01:00
Jonathan G Rennison b0f192abc4 Fix: Racy use of flags in TCPConnecter::CheckCallbacks
conected and aborted flags are used concurrently from multiple threads.
2020-06-18 19:57:34 +02:00
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.
2020-06-05 19:36:05 +02:00
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.
2020-06-01 10:59:11 +02:00
Michael Lutz 43cd892e0c Codechange: Replace custom linked list for GRF texts with STL vectors and strings. 2020-05-21 20:02:34 +02:00
glx22 82573a5e73
Fix #8117: Memory leak in admin port (#8122) 2020-05-07 02:00:53 +02:00
frosch 7fe291667f Fix #8060, 5880f14: Restore admin network API compatibility. 2020-04-05 18:36:21 +01:00
Quipyowert2 d1b7eb2de1 Codechange: Limit field width to avoid sscanf crash 2020-02-23 19:04:34 +00:00
glx 2b1a7ceb4e Fix #7976: Don't kick the client doing the rcon 2020-02-08 09:03:14 +01:00
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.
2020-02-04 22:17:39 +00:00
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
2020-01-12 23:47:19 +01:00
Jonathan G Rennison 150dfba95b Codechange: Remove std::function from Pool iteration wrapper
Add a separate template wrapper for filtered iteration
2020-01-07 09:00:45 +00:00
glx e3c75a30ba Fix: unused variable warnings 2019-12-21 20:13:03 +01:00
glx ee7a8eebca Codechange: Replace FOR_ALL_TOWNS with range-based for loops 2019-12-21 20:13:03 +01:00
glx d8a1be48cd Codechange: Replace vehicle related FOR_ALL with range-based for loops 2019-12-21 20:13:03 +01:00
glx 41232f18c1 Codechange: Replace network related FOR_ALL with range-based for loops 2019-12-21 20:13:03 +01:00
glx ddabfed1cd Codechange: Replace station related FOR_ALL with range-based for loops 2019-12-21 20:13:03 +01:00
glx 3a14cea068 Codechange: Replace FOR_ALL_COMPANIES with range-based for loops 2019-12-21 20:13:03 +01:00
S. D. Cloudt 13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
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>
2019-10-07 21:36:00 +02:00
Charles Pigott fe9731d32c Fix: clang and MSVC warnings (glx) 2019-09-30 14:00:06 +01:00
Charles Pigott 71a3e83468 Fix: GCC9's warnings about deprecated implicit assignment operators 2019-09-30 14:00:06 +01: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
Charles Pigott 5b34c8019f Codechange: Remove Company/OwnerByte types 2019-04-29 17:40:22 +01:00
PeterN 0ab6244f6b
Fix #7165: Missed another 'Append() --> push_back()' replacement (#7548) 2019-04-27 20:47:32 +01:00
Niels Martin Hansen d5841109f0 Fix dcb2571: Missing override keywords 2019-04-25 17:45:00 +02:00
Niels Martin Hansen a64bd6e22c Fix: Also breaking for warning text in set company password 2019-04-24 17:40:11 +02:00
Niels Martin Hansen dcb2571888 Add: Warn players that company passwords are not truly secure 2019-04-24 17:40:11 +02:00
glx 8899272614 Codechange: use std::vector for _language_dropdown 2019-04-18 21:49:34 +02:00
glx 2db88953e7 Codechange: use std::sort() in GUIList 2019-04-13 12:49:18 +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
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.
2019-04-09 22:45:15 +02:00
Michael Lutz e804173595 Codechange: If something is a vector of strings, use a vector of strings instead of an AutoFreeSmallVector. 2019-04-09 22:45:15 +02:00
Michael Lutz ae748166d0 Codechange: Use platform independent C++11 function for sleeping on a thread. 2019-04-06 11:27:39 +02:00
Michael Lutz 94c5269fa7 Codechange: Use atomic variables for thread synchronization where useful. 2019-04-06 11:27:39 +02:00
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.
2019-04-06 11:27:39 +02:00
Michael Lutz 05f4e73608 Codechange: Replace custom mutex code with C++11 mutex'es.
A conforming compiler with a valid <mutex>-header is expected.
Most parts of the code assume that locking a mutex will never fail unexpectedly,
which is generally true on all common platforms that don't just pretend to
be C++11. The use of condition variables in driver code is checked.
2019-04-06 11:27:39 +02:00
glx22 a1e492d0d8
Fix #7439: don't overwrite CompanyRemoveReason with ClientID (#7465) 2019-04-05 15:11:52 +02:00
PeterN 9244dad3f1
Fix #7434: Incorrect use of vector iterator. (#7437) 2019-03-29 17:42:32 +00:00
glx22 66dd7c3879
Fix: MSVC warnings (#7423) 2019-03-28 00:09:33 +01:00
stormcone b913c92aa7 Fix #7165: Missed 'Append() --> push_back()' replacement 2019-03-26 22:20:56 +00:00
Henry Wilson cc62f4163f Cleanup: Remove unused size template parameters from SmallMap and Auto[Free|Delete]SmallVector 2019-03-26 20:15:57 +00:00
Henry Wilson c01a2e2a81 Codechange: Removed SmallVector completely 2019-03-26 20:15:57 +00:00
Henry Wilson ab711e6942 Codechange: Replaced SmallVector::[Begin|End]() with std alternatives 2019-03-26 20:15:57 +00:00
Henry Wilson 297fd3dda3 Codechange: Replaced SmallVector::Include() with include() 2019-03-26 20:15:57 +00:00
Henry Wilson 2bc2de9034 Codechange: Replaced SmallVector::Find() with std::find() 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 ca2f33c6d0 Codechange: Replaced SmallVector::Erase() with std::vector::erase() 2019-03-26 20:15:57 +00:00
Henry Wilson 097328c3d7 Codechange: Replaced SmallVector::Get() const with std alternatives 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 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.
2019-03-26 20:15:57 +00:00
Henry Wilson 81315939b9 Codechange: Replaced SmallVector::Find() non-const with std::find() 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 9cba6f7193 Codechange: Replaced SmallVector::Compact() with std::vector::shrink_to_fit() 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
peter1138 317f69c152 Codechange: Use override specifier in Window-derived classes. 2019-03-24 16:10:04 +01:00
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.
2019-03-24 16:10:04 +01: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
SamuXarick cdb6dbad85 Cleanup: Remove repeated network error message on connection timeout. (#7327) 2019-03-07 18:16:52 +00:00
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.
2019-03-05 22:22:00 +01:00
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.
2019-03-05 22:03:00 +01:00
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 :(
2019-03-05 22:03:00 +01:00
Niels Martin Hansen c61acc7fc1 Fix #7280: Save in the right location on desync and server timeout 2019-03-03 12:12:32 +01:00
glx 7c31a32c2b Fix: colour of network specific strings in company dropdown menus 2019-02-16 22:19:16 +01:00
Niels Martin Hansen 830ed6be61 Fix: Do not mangle tagged revision strings for network revision strings 2019-02-12 21:32:43 +00:00
Thomas den Hollander 412e6132b6 Fix: CompanyEconomy documentation
Company income was described as an unsigned integer, but it should be signed.
2019-02-12 19:26:21 +00: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
glx 8e7fe3973f Add: CompanyCtrlAction enum for CMD_COMPANY_CTRL actions 2019-02-04 21:08:36 +01:00
Niels Martin Hansen 5f8354f358 Change: Make a shortened network revision string for use in server queries 2019-02-03 18:00:16 +01:00
Niels Martin Hansen c511b0e801 Change: Increase NETWORK_REVISION_LENGTH to 33 bytes 2019-02-03 18:00:16 +01:00
glx b22fbfbe3d Add: allow opening of one TextfileWindow per type 2019-01-28 23:43:18 +00:00
Charles Pigott fe8c24e081 Codechange: Remove unnecessarily defined functions under MinGW 2019-01-17 21:55:15 +00:00
PeterN 5ff0c24993 Fix #6780: Some windows didn't get updated from OnTick() (#7048) 2019-01-12 23:23:23 +00:00
glx c540d72445 Fix: [Win32] WIN32 may not be defined, always prefer the compiler predefined macro _WIN32 2018-12-27 18:09:16 +01:00
Charles Pigott f5b1115039 Doc: Lots and lots of doxymentation fixes 2018-10-31 12:35:54 +01:00
Niels Martin Hansen 4fb76db42f Feature #986: Automatic save when losing connection to a network game 2018-06-23 15:22:31 +02:00
J0an Josep cfb8092397 Fix b4b98e5165: Use FALLTHROUGH attribute with correct indentation. 2018-04-30 21:52:40 +02:00
Matthijs Kooijman fa87212a76 Fix: Some spelling errors in printed messages 2018-04-30 13:38:58 +02:00
Patric Stout 85adde7485 Remove: PSP support 2018-04-29 15:32:16 +02:00
frosch b4b98e5165 (svn r27893) -Codechange: Use fallthrough attribute. (LordAro) 2017-08-13 18:38:42 +00:00
peter1138 ed01e81c42 (svn r27794) -Fix [FS#6526]: Chat text background overflowed due to missing padding. 2017-03-14 00:57:52 +00:00
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.
2017-01-14 13:12:49 +00:00
frosch 31f046bd9b (svn r27670) -Add: [FS#6471] Assign descriptive names to (GNU pthread) threads. (JGR) 2016-10-30 17:29:33 +00:00
alberth 0adfb1ac6f (svn r27653) -Fix(r27647): Rename FileOperation enum and values to SaveLoadOperation to avoid nameclash with windows compiler toolkit. 2016-09-04 16:06:50 +00:00
alberth 597380e099 (svn r27650) -Codechange: Replace SaveOrLoadMode by FileOperation and DetailedFileType. 2016-09-04 12:57:43 +00:00
alberth 88bdf482c0 (svn r27648) -Codechange: Remove remaining _saveload_mode usage. 2016-09-04 12:56:56 +00:00
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) 2016-05-22 10:52:02 +00:00
frosch 4fc43b510d (svn r27576) -Fix (r27570): Compilation failure with all compilers but mine. 2016-05-22 10:45:46 +00:00
frosch 9aa33862a7 (svn r27571) -Codechange: Consistent naming for command callbacks which play a sound effect. 2016-05-22 10:07:48 +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
zuu b22d6715cd (svn r27469) -Fix (r27468): Don't fetch all content info from content server when showing a online content window with exactly one type of content. 2015-12-10 19:58:33 +00:00
zuu aabc46712a (svn r27468) -Fix (r27444): Game Scripts were not displayed in the content download window when opened from the AI/GS settings window. 2015-12-10 18:28:01 +00:00
zuu c9f1d82345 (svn r27444) -Add: When viewing online content of a particular type, hide content of other types unless they have been (auto)selected for download. 2015-11-14 15:57:15 +00:00
zuu 4fcaee1fee (svn r27443) -Fix: Negoation in comment was wrong. 2015-11-14 13:06:26 +00:00
frosch 2c9117fbdd (svn r27421) -Fix [FS#6265]: Consider text and icon sizes when drawing the client list. (_dp_) 2015-10-30 16:19:33 +00:00
rubidium ff5c05c1b4 (svn r27400) -Fix [FS#6368] (r26449): when a dedicated server was paused with no clients the tick length was increased significantly, making any assumptions about the tick length used further down in the code are not true anymore. One of such assumptions was that one should readvertise every 15 minutes worth of original ticks, but due to the lengthening this timeframe would be more like 45-60 minutes. Now we'll take the operating system's millisecond counter instead 2015-09-19 16:49:46 +00:00
frosch fc50ff6531 (svn r27304) -Fix [FS#6321-ish]: Improve password window layout for big font sizes. 2015-06-20 12:30:10 +00:00
michi_cc 95cb7c8692 (svn r27288) -Fix: Slow network content GUI in MSVC Debug builds due to repeated string resolving. 2015-05-17 19:49:35 +00:00
frosch e113f5e4a1 (svn r27146) -Fix: Make statusbar and chat-entry window use the same width as the toolbar. Otherwise they lack a size definition. 2015-02-13 21:13:45 +00:00
frosch 2f7de4fd99 (svn r27144) -Change: The chatbox-width setting now uses percent of screen width instead of pixels. 2015-02-12 20:00:23 +00:00
frosch 396dde1636 (svn r27092) -Fix/Add [FS#6186]: Compilation on OS/2 (smedles) 2014-12-24 17:17:18 +00:00
rubidium d534c80e94 (svn r27020) -Cleanup: some coding style consistency improvements (mostly spaces) 2014-10-15 18:31:37 +00:00
rubidium f28ff446e9 (svn r26975) -Fix: reading too many bits when determining the client index for desync debug message 2014-10-07 17:32:29 +00:00
peter1138 0877f892c5 (svn r26960) -Codechange: Draw sort button symbols as sprites, and pad sort buttons with non-static width. 2014-10-05 11:20:02 +00:00
peter1138 59076ee32b (svn r26923) -Codechange: Make multiplayer lobby fit to icon size. 2014-09-26 16:05:42 +00:00
peter1138 d9179d518e (svn r26921) -Codechange: Adjust content window listing to fit icon size. 2014-09-25 19:27:07 +00:00
frosch e2f5081f40 (svn r26788) -Add: Desync replay option to skip/replay failed commands 2014-09-07 14:21:16 +00:00
frosch 937265d6d6 (svn r26786) -Fix: Also replay failed commands. 2014-09-07 13:36:18 +00:00
planetmaker 105306609f (svn r26616) -Fix (r26576) [FS#6025]: First send packages about new company, then clients joining it to admin port (Taede) 2014-05-25 19:01:30 +00:00
rubidium e64249446d (svn r26577) -Fix [FS#6001]: [Network] Client of non-dedicated server was not correctly put into the first company for all state variables 2014-05-11 13:07:36 +00:00
rubidium 4a52300838 (svn r26576) -Fix [FS#6003]: [Network] AIs would not reset certain network state information upon creation of their company 2014-05-11 12:52:21 +00:00
rubidium b476086c39 (svn r26538) -Codechange: remove double accounting of the drivers 2014-04-28 21:06:51 +00:00
rubidium 9ed12b0f07 (svn r26509) -Codechange: replace strdup with stredup (the latter ensures the return is not NULL) 2014-04-25 15:40:32 +00:00
rubidium e61fe21237 (svn r26506) -Codechange: replace most of vsnprintf with vseprintf 2014-04-24 19:51:45 +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 160ad31028 (svn r26488) -Codechange: perform the appropriate length checks when getting a client name 2014-04-23 21:19:54 +00:00
rubidium 5b82822c12 (svn r26486) -Codechange: replace a number of snprintfs with seprintf 2014-04-23 21:12:09 +00:00
frosch ef4c2ce031 (svn r26485) -Codechange: Replace ttd_strlcpy and ttd_strlcat with strecpy and strecat. 2014-04-23 20:44:42 +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
planetmaker 3e9c10f9e1 (svn r26449) -Add: Allow more sound sleep for dedicated servers when there's nothing to do and nobody paying attention 2014-04-08 20:19:41 +00:00
frosch c6ce57e8a7 (svn r26370) -Doc: Desync debugging and command replaying. 2014-02-23 19:32:32 +00:00
rubidium 2618d960e3 (svn r26209) -Codechange: remove some template magic and simplify some code 2014-01-02 22:41:58 +00:00
frosch 62c0d42f92 (svn r26167) -Fix [FS#5834]: Certain hotkeys crashed the content GUI when the list was empty. 2013-12-20 18:29:53 +00:00
rubidium b3e93d6520 (svn r26057) -Fix: a number of possibly uninitialised variables 2013-11-23 13:12:19 +00:00
rubidium 2e54c8fdfa (svn r26056) -Fix: a number of possibly uninitialised variables 2013-11-22 21:50:43 +00:00
rubidium bdd62a4b3e (svn r26055) -Codechange: mark switch default as really not triggerable, as technically it's dead code 2013-11-22 21:47:03 +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 fad4fa09ba (svn r26046) -Fix: handle a number of failure conditions from methods called in the network code 2013-11-22 21:41:19 +00:00
rubidium 1a043202d1 (svn r26043) -Fix [FS#5811]: occasional hanging when client joins 2013-11-21 18:35:31 +00:00
rubidium 18a3a569fb (svn r26005) -Fix [FS#5478]: crash when transferring savegame from server to client 2013-11-15 22:22:01 +00:00
rubidium c40f281545 (svn r25997) -Codechange: make it slightly more clear what ports are coming from where in the debug output when listening 2013-11-14 19:31:10 +00:00
planetmaker 189dd2dcce (svn r25845) -Add [FS#5756]: [Admin] Send info on bankruptcy quarters also in ADMIN_PACKET_SERVER_COMPANY_INFO (zydeco) 2013-10-12 17:03:15 +00:00
rubidium 7adc453473 (svn r25770) -Fix [Admin]: the frame of a command packet wasn't set for the packets that were sent via de admin interface 2013-09-14 11:34:09 +00:00
michi_cc b911f4a452 (svn r25668) -Codechange: Pass proper Unicode UCS-4 characters instead of just UCS-2 to the window key press handlers. 2013-08-05 20:36:24 +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
rubidium e6ae8cf420 (svn r25593) -Cleanup: remove a few stale #defines 2013-07-13 06:18:16 +00:00
planetmaker bb7f08f8db (svn r25590) -Codechange: Align doxygen comments again 2013-07-12 17:15:13 +00:00
planetmaker 2e390613a6 (svn r25589) -Fix [FS#5646]: Ensure that sent and received length of json strings are the same (based on patch by Xaroth) 2013-07-12 17:11:16 +00:00
planetmaker 7686587f02 (svn r25588) -Feature [FS#5643]: PING and PONG packets for admin port (Xaroth) 2013-07-11 20:31:39 +00:00
planetmaker 4a1bf704ee (svn r25587) -Add FS#5643: Conclude rcon output sent to admin clients with an RCON_END packet (Xaroth) 2013-07-11 19:57:40 +00:00
rubidium 51f0d11ee3 (svn r25573) -Change: make content list appear faster by allowing some window redraws in between 2013-07-07 10:37:16 +00:00
frosch 43ec0bf0c1 (svn r25537) -Codechange: Optionally make WWT_MATRIX compute the number of rows and columns from the resize step size. 2013-06-30 14:36:31 +00:00
frosch df732f2bae (svn r25534) -Codechange: FinishInitNested calls OnResize, no need to setup scrollbar capacity before that. 2013-06-30 14:34:23 +00:00
frosch 98fdd20f84 (svn r25531) -Codechange: Use separate function to set data of WWT_MATRIX widgets. 2013-06-30 14:32:31 +00:00
rubidium ed36aa0458 (svn r25452) -Codechange: let the chat messages be drawn like the console messages; drawing complete multiline strings from the bottom, instead of manually breaking the strings and drawing those 2013-06-23 20:44:18 +00:00
frosch 4e4e635916 (svn r25294) -Feature: Add another button to window title bars to resize the window to its default size. 2013-05-26 19:30:07 +00:00
frosch 8157a8afd8 (svn r25290) -Add: Assign string names to notable windows. 2013-05-26 19:25:01 +00:00
frosch 56e4a8c4d6 (svn r25287) -Codechange: Keep a reference to the WindowDesc in the Window after construction. 2013-05-26 19:23:42 +00:00
planetmaker 7e4f68d275 (svn r25253) -Codechange: Rename the strings of the advertisement settings to better reflect what they do 2013-05-19 09:07:43 +00:00
frosch 579ee7a592 (svn r25089) -Codechange: Move CharSetFilter from QueryString to Textbuf. 2013-03-17 13:04:10 +00:00
frosch 1b10910af6 (svn r25024) -Feature: Searching of (missing) content via GrfCrawler. 2013-02-18 19:30:24 +00:00
frosch 41cc06a83c (svn r25023) -Change: Regroup buttons in content download GUI to put item-specifc stuff next to each other. 2013-02-18 19:23:09 +00:00
frosch 3e02890b73 (svn r24983) -Change: Apply the same name sorting rules to content and NewGRF list as for the server list. 2013-02-09 17:31:07 +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
frosch b533523258 (svn r24801) -Codechange: Add functions to set integral DParams to suitable values for size computations. 2012-12-08 17:18:51 +00:00
alberth 732e073261 (svn r24776) -Doc: Typo fixes, additions, and additional dots collected from various sources (including Eagle_rainbow, MinchinWeb) 2012-12-01 13:12:39 +00:00
frosch 4e8f3f7a99 (svn r24770) -Fix-ish: Calling GUIList::Sort repeatedly has no use without GUIList::NeedResort since the latter has the sideeffects. 2012-11-27 21:54:11 +00:00
frosch 507de921c2 (svn r24769) -Feature [FS#3852]: Add a string filter to the server list. (Eagle_rainbow) 2012-11-27 21:35:52 +00:00
frosch b884195400 (svn r24768) -Fix: Adjust a comment to reflect some more truth. 2012-11-27 21:30:44 +00:00
frosch 9aeeb5acb9 (svn r24767) -Codechange: Remove some fragile hacks from the multiplayer list who tried to disguised themself as optimisations. 2012-11-27 21:21:01 +00:00
frosch c283a41248 (svn r24743) -Change: Unify the behaviour of ESC in filter editboxes. 2012-11-14 22:50:39 +00:00
frosch f5d8ba5d7f (svn r24742) -Codechange: Remove QueryStringBaseWindow and store QueryStrings per widget instead. 2012-11-14 22:50:35 +00:00
frosch 6e6d94a2d1 (svn r24740) -Codechange: Remove duplicate members from QueryStringBaseWindow and directly use QueryString. 2012-11-14 22:50:26 +00:00
frosch 6653ac6b36 (svn r24739) -Codechange: Simplify some code by using Textbuf::Assign. 2012-11-14 22:50:21 +00:00
frosch f6d4200f86 (svn r24738) -Codechange: Remove Textbuf::Initialize in favour of a constructor. 2012-11-14 22:50:17 +00:00
frosch f2221e8b89 (svn r24736) -Cleanup: The third parameter of Textbuf::Initialize only makes sense if it is smaller than the second one, also its unit is not pixels. 2012-11-14 22:46:49 +00:00
frosch 2c22fe98dd (svn r24734) -Codechange: Move QueryStringBaseWindow::OnOSKInput to Window::OnEditboxChanged. 2012-11-13 21:47:07 +00:00
frosch c4d7c8dd42 (svn r24733) -Codechange: Move handling of editbox keys to window class. 2012-11-13 21:47:02 +00:00
frosch 7699a7dc06 (svn r24732) -Codechange: Unify handling of OK and CANCEL actions for editboxes. 2012-11-13 21:46:58 +00:00
frosch fd55399167 (svn r24731) -Codechange: Remove OnOpenOSKWindow and instead specify OK and CANCEL buttons via QueryString members. 2012-11-13 21:46:54 +00:00
frosch 6d1fe626f5 (svn r24729) -Codechange: Unify the handling of HEBR_EDITING. 2012-11-13 21:46:46 +00:00
frosch 336fcbc50e (svn r24728) -Codechange: Unify usage of OnOSKInput. 2012-11-13 21:46:40 +00:00
frosch 1071d51508 (svn r24727) -Fix: In various windows the OSK looked shiny but using it had no effect whatsoever. 2012-11-13 21:46:37 +00:00
frosch 137adb3496 (svn r24726) -Codechange: Move editbox mouseloop handling to Window class. 2012-11-13 21:46:33 +00:00
frosch 2614ed18f9 (svn r24725) -Cleanup: Remove old editbox focus code which is already handled more generally. 2012-11-13 21:46:22 +00:00
frosch 17025fa6ea (svn r24724) -Codechange: Move drawing of editboxes to the widget drawing code. 2012-11-13 21:46:19 +00:00
frosch 03736af2ae (svn r24700) -Cleanup: Remove WDF_UNCLICK_BUTTONS and make it the default. 2012-11-11 16:10:43 +00:00
frosch a443375d44 (svn r24674) -Fix (r24466, r23234) [FS#5358]: Downloaded heightmaps could not be used anymore. (sbr) 2012-11-08 21:41:00 +00:00
rubidium 6247bdbdb4 (svn r24642) -Codechange: add helper function to see if there is anything in the send queue 2012-10-28 21:26:57 +00:00
rubidium 9db98f3b14 (svn r24638) -Codechange: add some #ifndefs so MSU code doesn't need to compile it, and doesn't need all the required dependencies 2012-10-28 19:16:58 +00:00
frosch 50806b5b3c (svn r24620) -Fix (r24619): Keep admin port API compatibility. 2012-10-21 09:15:57 +00:00
planetmaker f2e94237fc (svn r24619) -Change: Check for bankruptcy on a monthly basis (ZxBioHazardZx) 2012-10-20 22:05:26 +00:00
frosch de770d7563 (svn r24580) -Fix [FS#5308]: Do not add duplicates to the ban list. (alechz) 2012-10-09 20:36:31 +00:00
rubidium 0856668f44 (svn r24571) -Fix: do not cast away const 2012-10-04 15:25:57 +00:00