Patric Stout
e4ad632989
Add: [Network] Keep the refresh button in lowered state while refreshing ( #9600 )
...
This gives user visual feedback that the refresh is still pending, and
prevents people from clicking again and again thinking nothing is
happening. This is especially true for connections that fall back to
TURN, as that takes a few seconds to kick in.
Additionally, prevent clicking on the button again while a refresh
is pending. This is only delaying a successful result.
2021-10-03 11:02:28 +02:00
Patric Stout
dc5b7b996c
Fix: [Network] show query errors in the server listing instead of error popup ( #9506 )
...
When you are query several servers at once, it is rather unclear
for which server you got a popup. Instead, show any errors on the
server itself.
This is only true for the query-part. Joining a server still gives
an error popup to tell you about any issue.
2021-08-23 20:16:22 +02:00
Patric Stout
4066a07d8f
Fix: [Network] crash when last-joined server that is no longer available ( #9503 )
...
If you update the server-list while not having last-joined selected
and it is no longer available, the game crashed.
2021-08-21 11:56:29 +02:00
Patric Stout
c4b700f1b0
Fix #9492 : show for what server a relay session is being created ( #9494 )
...
Currently it says "the server" which is a bit ambigious. Be more
specific.
2021-08-18 12:06:14 +02:00
Patric Stout
5da60cef46
Fix: typo in the word "spectator" (tnx Heiki) ( #9496 )
2021-08-18 12:00:17 +02:00
Patric Stout
579f393374
Add: open Online Players GUI on starting/joining a server ( #9479 )
2021-08-15 00:17:10 +02:00
Patric Stout
3d55ea2d4d
Feature: make "join game" button join the game, instead of first showing a lobby window ( #9467 )
...
Nobody really paid attention to the lobby window, and it completely
missed its purpose. Most people don't even wait for companies to
show up, but just hit "New Company".
This in turn means people create a lot of unneeded companies, while
they "just want to watch the game" or join another company.
Instead, "Join Game" now just joins the game as spectators.
2021-08-14 23:07:18 +02:00
Patric Stout
db13eebf29
Fix 508e465b: network servers didn't show invite-code / connection-type in Online Players GUI ( #9478 )
...
The selector selects the first widget, which by accident was now only
the server visibility.
2021-08-14 21:00:30 +02:00
Patric Stout
508e465b59
Add: synchronize server name to clients and display in Online Players GUI ( #9472 )
2021-08-14 10:19:40 +02:00
Patric Stout
4c1ea4020d
Change: remove the ability to control "max spectators" ( #9466 )
...
Soon we will make "join game" join the game as spectator first,
so limiting the amount of spectators makes no sense anymore in
that context. Not sure it ever did make sense.
2021-08-10 20:03:13 +02:00
Rubidium
ba29edb0b3
Cleanup: remove some references to the old master-server
2021-07-21 22:28:51 +02:00
Patric Stout
fa1e27994d
Feature: allow the use of TURN to connect client and server together
...
TURN is a last resort, used only if all other methods failed.
TURN is a relay approach to connect client and server together, where
openttd.org (by default) is the middleman.
It is very unlikely either the client or server cannot connect to
the STUN server, as they are both already connected to the Game
Coordinator. But in the odd case it does fail, estabilishing the
connection fails without any further possibility to recover.
2021-07-20 19:57:23 +02:00
Patric Stout
c921f6d817
Add: inform clients what game-script a server is running ( #9441 )
...
Co-authored-by: The Dude <thedude@novapolis.net>
2021-07-14 21:23:44 +02:00
Patric Stout
b6a116a247
Add: allow setting your server visibility to "invite-only" ( #9434 )
...
In this mode you do register to the Game Coordinator, but your
server will not show up in the public server listing. You can give
your friends the invite code of the server with which they can
join.
2021-07-11 21:57:05 +02:00
Patric Stout
e4d216e44b
Feature: join servers based on their invite code
...
This removes the need to know a server IP to join it. Invite codes
are small (~7 characters) indentifiers for servers, which can be
exchanged with other players to join the servers.
2021-07-11 20:38:42 +02:00
Patric Stout
aa93d76223
Add: use Game Coordinator to get latest public server listing
2021-07-10 20:17:07 +02:00
Patric Stout
b1280fd17e
Add: use Game Coordinator to annouce public servers
2021-07-10 20:17:07 +02:00
TELK
f9b4a3a5e6
Add: Show the number of clients and companies in the online players window ( #9376 )
2021-06-28 18:42:23 +02:00
rubidium42
cdf9caf8ea
Codechange: [Network] Remove overload on NetworkValidateClientName
...
Rename the zero-parameter NetworkValidateClientName to NetworkValidateOurClientName to make it clearer it is performed on our client name, and to make it a non-overloaded function to aid with the variant being added a few commits later
2021-06-26 20:28:34 +02:00
SamuXarick
d0bcb9839a
Fix: you could join an AI company in multiplayer via the GUI ( #9369 )
2021-06-15 14:00:50 +02:00
TELK
2d0abf5a76
Fix #9362 : Hover in online players window was slightly too big ( #9364 )
...
This causes graphical glitches at the bottom of the window.
2021-06-13 10:06:50 +02:00
rubidium42
fd95736bac
Codechange: [Network] Use std::string for server side logic of kicking and banning clients
2021-05-30 00:01:49 +02:00
glx22
5799402f7a
Codechange: Rename window related DeleteXXX to match new behaviour
2021-05-29 21:08:25 +02:00
glx22
994bf19aef
Fix f6d5c01: Delay deletion when closing windows
2021-05-29 21:08:25 +02:00
rubidium42
ef991b1772
Codechange: [Network] Use std::string in CommandPacket
2021-05-29 19:02:18 +02:00
rubidium42
4144e949ed
Fix: [Network] Prevent an empty server name to be set anywhere
2021-05-29 10:07:30 +02:00
rubidium42
208952f2ba
Codechange: split Write_ValidateSetting to get separate functions for making strings valid and writing strings
2021-05-29 10:07:30 +02:00
rubidium42
72ec81325b
Cleanup: remove unneeded temporary variables and casts
2021-05-27 18:49:43 +02:00
rubidium42
8ffb4122df
Codechange: just pass the SettingDesc to SetSettingValue and remove distinction between (non)company
2021-05-27 18:49:43 +02:00
rubidium42
e90b2649b6
Codechange: [Network] Let NetworkCompanyInfo use std::string
2021-05-16 10:07:51 +02:00
rubidium42
16437b7c0d
Codechange: move client name in settings to std::string
2021-05-13 23:13:17 +02:00
rubidium42
02fdb5b210
Codechange: move server name/id in settings to std::string
2021-05-13 23:13:17 +02:00
rubidium42
cc6c078dec
Codechange: move hostnames in settings to std::string
2021-05-13 23:13:17 +02:00
rubidium42
c73d64adf9
Codechange: move passwords in settings to std::string
2021-05-13 23:13:17 +02:00
rubidium42
f219354f89
Change: further support for std::string in settings
2021-05-13 23:13:17 +02:00
Patric Stout
9e7e87ce3e
Fix: [Network] don't rebuild the host-list during iterating the list ( #9240 )
...
Additionally, only rebuild it when we added a new manual server,
as otherwise it is a noop anyway.
2021-05-11 12:32:27 +02:00
Patric Stout
9841ebb0bd
Fix: [Network] don't mark the last-joined server as manual ( #9239 )
2021-05-11 12:26:30 +02:00
Patric Stout
583011bca0
Fix: lobby window doesn't close if no connection could be established ( #9223 )
2021-05-09 18:48:21 +02:00
rubidium42
f1dfa661a1
Codechange: [Network] Use std::string for NetworkGameInfo
2021-05-06 21:45:36 +02:00
Patric Stout
f94fb93779
Codechange: use connection_string in favour of NetworkAddress ( #9197 )
...
We now resolve the connection_string to a NetworkAddress in a much
later state. This means there are fewer places constructing a NetworkAddress.
The main benefit of this is in later PRs that introduce different types
of NetworkAddresses. Storing this in things like NetworkGameList is
rather complex, especially as NetworkAddress has to be mutable at all
times.
Additionally, the NetworkAddress is a complex object to store simple
information: how to connect to this server.
2021-05-05 23:21:14 +02:00
rubidium42
72bd62fd70
Codechange: [Network] Use a single NetworkServerGameInfo object at server side and serialize that for the clients
2021-05-05 21:01:23 +02:00
Peter Nelson
4791ff2862
Fix: Recalculate padding and minimum sizes when GUI or Font zoom is changed.
2021-04-30 17:08:15 +01:00
Patric Stout
69118d063f
Change: use TCP for everything except for master-server and initial server scan ( #9130 )
...
This means that pressing Refresh button and adding servers manually
now uses TCP.
The master-server and initial scan are still UDP as they will be
replaced by Game Coordinator; no need to change this now.
If we query a server that is too old, show a proper warning to the
user informing him the server is too old.
2021-04-30 11:34:47 +02:00
Patric Stout
be37a2cab8
Codechange: use NetworkAddress instead of two host/port variables where possible
...
This also means we no longer need last_host/last_port, but can
just use a single last_joined setting.
2021-04-29 20:12:11 +02:00
Patric Stout
99f998805b
Codechange: use std::string over stack-based strings if possible
2021-04-29 20:12:11 +02:00
Patric Stout
31f1db2d3a
Change: no longer use UDP when entering the lobby of a server
...
The lobby of a server requested some parts via UDP and some via
TCP. This is strictly seen fine, but for future extensions it
is a lot easier if just one protocol is used.
2021-04-27 20:18:53 +02:00
rubidium42
cbad518bf3
Codechange: [Network] Do not leak os_abstraction.h via network_func
2021-04-27 18:17:34 +01:00
Patric Stout
fda1a590f6
Change: use icons to indicate you/host in Online Players GUI
2021-04-24 21:43:58 +02:00
Patric Stout
a924b2ff81
Add: move "New Company" inside the Online Players GUI
2021-04-24 21:43:58 +02:00
Patric Stout
c2e116a3d3
Change: track hover position on Online Players GUI
...
Especially if there are many players online, trying to chat with
the right one can be a visual challenge. This can be solved by
highlighting the row you are on. This visual cue is often enough
for humans to find the right row.
2021-04-24 21:43:58 +02:00
Patric Stout
54f69deb0c
Add: ask for confirmation on admin actions in network games
2021-04-24 21:43:58 +02:00
Patric Stout
ff708c2c65
Add: admin menu for companies in multiplayer games
...
You can now easily do:
- a password reset (unlock)
- remove an empty company (reset company)
2021-04-24 21:43:58 +02:00
Patric Stout
5266359424
Feature: rework in-game Online Players GUI
...
The GUI now more clearly shows some basic information about the
server you joined, your client name (and the ability to change it),
and what players are in which company.
It also contains useful buttons to press to join companies, chat
with other people, and for admins to kick/ban people.
Additionally, renamed "advertised" to "visibility"; this has to
do with future additions, but also because it is more clear in
wording.
2021-04-24 21:43:58 +02:00
rubidium42
bfb0ab3e2f
Feature: [Network] Ensure players fill in a name instead of defaulting to "Player"
2021-04-24 08:02:54 +02:00
rubidium42
b14f412117
Codechange: [Network] Introduce function to validate the client name
2021-04-24 08:02:54 +02:00
Rubidium
bf4fe19a66
Codechange: merge duplicated logic to scroll in lists by key into a single function
2021-04-21 21:12:08 +02:00
Patric Stout
05612d60ae
Remove: "language" field from server/client
...
The original idea was that people could find a server they could
talk in their native language on. This isn't really used in that
way. There are several reasons for removing this:
- the client also sends his "language" to the server, but nothing
is doing anything with this.
- flags are a bad way to represent languages, and over the years
we had several (rightfully) complaints about this.
- most servers have their language set to "All", and prefix the
servername with the language it is about. This is a much more
efficient way to do the same.
All in all, this feature should go back to the drawing board.
Maybe it could work in another form, but this form is not it.
2021-04-20 17:24:38 +02:00
Patric Stout
f4bd3fff5e
Remove: "map_name" from server announcements / listing
...
The idea back in the days was nice, but it never resulted in
anything useful. Most servers either read "(loaded game)" or
"Random Map", neither being useful. It was meant for heightmaps,
so you could find a server that was using a specific one .. but
there are many things wrong with that idea. Mostly, servers tend
to save and load savegames from time to time, after which the
original heightmap used was lost.
All in all, removing map_name all together is just better.
2021-04-20 17:24:38 +02:00
Peter Nelson
3248a6c12b
Fix #9042 : Make multiplayer server list height auto-fill window.
...
#9042 did not fix all combinations of scaling options. This additional
change makes the server list automatically fill available height.
2021-04-17 22:23:43 +02:00
Peter Nelson
837994034d
Fix: Sizing of Multiplayer server list incorrect when GUI zoom doesn't match Font zoom.
...
The server information panel was scaled by GUI scale, which could result in a panel that is longer than the server list. This height difference is then maintained when the window is resized to fill the screen.
Instead, specify the minimum size by number of text lines and (summed total) padding.
2021-04-16 20:24:08 +02:00
Patric Stout
0243ae4654
Fix #8799 : NGameAllowedSorter() is not imposing strict weak ordering relation ( #8801 )
...
In other words, it should only (!) return true if A comes for B.
This promise was broken for the situation where two values are
identical. It would return true in these cases too. This is of
course not possible: if two values are identical, neither come
before the other. As such, the sorter was not imposing strict
weak ordering relations.
libstdc++ handled this scenario just fine, but libc++ crashes
badly on this, as it allowed comparing of [begin, end] instead
of [begin, end).
libc++ considered this not a bug (and by specs, they are correct;
just this way of crashing is of course a bit harsh):
https://bugs.llvm.org/show_bug.cgi?id=47903
2021-03-03 12:12:29 +00:00
dP
73fd634209
Fix #6266 : Ugly lists in network lobby windows on double/quad interface sizes with custom fonts
2021-02-28 17:43:30 +00:00
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
2021-02-05 11:00:36 +01:00
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.
2021-01-31 10:36:07 +01:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
2021-01-08 11:16:18 +01:00
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.
2021-01-05 21:56:24 +01: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
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
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
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
glx
41232f18c1
Codechange: Replace network related FOR_ALL 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
JMcKiern
04f659e768
Fix: Some typos found using codespell
2019-09-29 21:27: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
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
glx22
66dd7c3879
Fix: MSVC warnings ( #7423 )
2019-03-28 00:09:33 +01: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
a0f36a50e6
Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back()
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
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
glx
7c31a32c2b
Fix: colour of network specific strings in company dropdown menus
2019-02-16 22:19:16 +01:00
PeterN
5ff0c24993
Fix #6780 : Some windows didn't get updated from OnTick() ( #7048 )
2019-01-12 23:23:23 +00:00
frosch
b4b98e5165
(svn r27893) -Codechange: Use fallthrough attribute. (LordAro)
2017-08-13 18:38:42 +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
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
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
frosch
fc50ff6531
(svn r27304) -Fix [FS#6321-ish]: Improve password window layout for big font sizes.
2015-06-20 12:30:10 +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
rubidium
5b82822c12
(svn r26486) -Codechange: replace a number of snprintfs with seprintf
2014-04-23 21:12:09 +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
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
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
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
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
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
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
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
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
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
7e57e8692a
(svn r24335) -Fix: The cursor in the company password window was not blinking due to wrong magic constants (same as r17539).
2012-06-09 14:49:49 +00:00
frosch
d58eee1e79
(svn r24324) -Codechange: Turn functions dealing with Textbufs into member functions.
2012-06-04 15:30:29 +00:00
rubidium
1adb9a5c85
(svn r24070) -Fix [FS#5098]: the 'last joined' server was not properly selected anymore (adf88)
2012-03-25 19:46:59 +00:00
rubidium
f2f939906e
(svn r24069) -Fix (r24062): crash when not having a valid last joined address
2012-03-25 19:43:17 +00:00
rubidium
357843378f
(svn r24062) -Fix [FS#5097]: immediately start querying the last joined server instead of waiting for the requery loop (adf88)
2012-03-25 18:17:41 +00:00
rubidium
446758872c
(svn r23906) -Codechange: replace magic numbers with named constants (adf88)
2012-02-06 20:47:47 +00:00
rubidium
89ab59f0cb
(svn r23787) -Fix: add some missing spaces
2012-01-11 18:47:32 +00:00
rubidium
6d6be50ae0
(svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files
2012-01-03 21:32:51 +00:00
rubidium
6ed84aff8d
(svn r23710) -Change: make the default secondary sort method for the server list the number of clients instead of the name
2012-01-01 22:35:19 +00:00
rubidium
9a921fd0ae
(svn r23709) -Feature-ish: try harder to sort text instead of fancy characters in the server names
2012-01-01 22:32:26 +00:00
rubidium
1a6d352b92
(svn r23692) -Fix: use smallest_x of your children only when you let the children update it
2011-12-31 11:14:03 +00:00
truebrain
f27b7e2a78
(svn r23691) -Fix: signed/unsigned issues, causing asserts for some languages in relation to the serverlist
2011-12-31 10:55:00 +00:00
truebrain
561b25d031
(svn r23601) -Fix: fix the conflict in window number
2011-12-19 20:50:21 +00:00
frosch
4e4a87bd3c
(svn r23579) -Fix (r23525): Most up/down arrows stopped working.
2011-12-17 20:52:07 +00:00
truebrain
e2d8abeec5
(svn r23544) -Codechange: document and rename widgets to be consistent and understandable
2011-12-16 18:02:27 +00:00
truebrain
2aa774e831
(svn r23528) -Codechange: move widget enums to widgets/NNN_type.h
2011-12-15 22:22:55 +00:00
truebrain
df0afdf0dc
(svn r23525) -Codechange: make Window::flags4 WindowFlags instead of uint16, with only values known in WindowFlags (and move out 2 timers to their own variable)
...
-Codechange: rename Window::flags4 to Window::flags
-Codechange: move some non-inline functions from .hpp to .cpp
2011-12-15 19:54:23 +00:00
rubidium
b231e80125
(svn r23470) -Codechange: move declaration of SwitchToMode to a header instead of declaring it in 6 other files
2011-12-10 08:31:14 +00:00
yexo
dcba6c25ea
(svn r23465) -Feature [FS#4827]: add 'find missing content online' button to 'load savegame' and 'find network game' windows
2011-12-09 21:49:52 +00:00
rubidium
aa668ba6bd
(svn r23202) -Fix [FS#4829]: unstable sorting in the network list when two servers had the exact same name
2011-11-12 19:26:53 +00:00
peter1138
50d1541270
(svn r23017) -Codechange: Add support for resized scrollbars.
2011-10-11 08:07:47 +00:00
planetmaker
74f6813a55
(svn r23011) -Fix [FS#4791]: When the last used server is deleted from the list also clear the last used server if it is the same (monoid)
2011-10-07 08:17:47 +00:00
yexo
ad232bd497
(svn r22932) -Fix [FS#4766]: disable the white border on window creation for several windows (based on patch by monoid)
2011-09-15 13:26:27 +00:00
rubidium
36e887591b
(svn r22696) -Fix: don't requery the servers when the server list window isn't opened
2011-07-30 10:44:58 +00:00
frosch
5e449b8fae
(svn r22429) -Add: some constants for specific palette colours used in the GUI.
2011-05-06 21:13:29 +00:00
rubidium
c4aa943aaa
(svn r22424) -Document: some more bits
2011-05-05 16:24:48 +00:00
frosch
22286bd7b6
(svn r22421) -Fix: Replace various references to Windows palette greyscale indices with the DOS palette indices.
2011-05-04 17:45:16 +00:00
rubidium
caf02450fb
(svn r22365) -Codechange: add overload of NetworkServerKickOrBanIP using the ClientID, which later resolves the IP address to ban. This to consolidate the knowledge about resolving IP addresses
2011-04-22 15:59:32 +00:00
rubidium
bc9a803ea9
(svn r22362) -Codechange: NetworkFindClientInfoFromClientID -> NetworkClientInfo::GetByClientID
2011-04-22 15:54:16 +00:00
rubidium
393fb8e46b
(svn r22361) -Codechange: delete the client list popup when the client got removed (instead of previously selecting some other client)
2011-04-22 15:53:40 +00:00
rubidium
2802c742a4
(svn r22360) -Codechange: use globally unique client id to mark the selected client instead of the position in the client list
2011-04-22 15:52:50 +00:00
rubidium
2f9b6156ee
(svn r22359) -Codechange: pass client info pointers instead of the position to the client popup list's callbacks
2011-04-22 15:51:52 +00:00
rubidium
835ae31f45
(svn r22358) -Codechange: WC_TOOLBAR_MENU isn't the right name when its only used for client list popups
2011-04-22 15:50:13 +00:00
smatz
e2d5ce1b0e
(svn r22357) -Fix (r22345): crash when opening the chat box or company password input box
2011-04-22 15:03:08 +00:00
terkhen
10caf391a1
(svn r22343) -Change: Remove pixel limiter for query strings.
2011-04-17 18:42:17 +00:00
frosch
652c9cb663
(svn r22247) -Codechange: Update comments wrt. ForceRebuild() in command-scope.
2011-03-13 21:34:21 +00:00
frosch
ec9540a12a
(svn r22241) -Codechange: Add additional to-be-used parameter to OnInvalidateData().
2011-03-13 21:31:29 +00:00
rubidium
1a5087be69
(svn r22093) -Fix [FS#4514]: The server list did not get sorted with one item in it, so the "position in the list" variable was never updated causing problems when using the keyboard shortcuts for scrolling
2011-02-17 21:05:44 +00:00
rubidium
5f7439a00f
(svn r22030) -Cleanup: dead code in NetworkGameWindow::OnInvalidateData (adf88)
2011-02-08 20:52:38 +00:00
rubidium
62e5afcdf8
(svn r21918) -Fix [FS#4443]: Languages improperly sorted in the "start server" window (adf88)
2011-01-26 22:42:50 +00:00
rubidium
cc8da3e5ab
(svn r21892) -Fix [FS#4421]: only some scenarios from the main scenario folder and no heightmaps could be started in the "start server" window
2011-01-22 23:07:23 +00:00
rubidium
795a528328
(svn r21854) -Codechange: refactor the password setting methods to make it possible to change the password of other companies (on the server)
2011-01-19 16:47:40 +00:00
rubidium
98df56d032
(svn r21390) -Codechange: prepare the network join progress bar for getting the file size later in the download process, i.e. when a chunk of the savegame is already received by the client
2010-12-05 14:32:13 +00:00
terkhen
75f86a7a21
(svn r21344) -Feature [FS#4214]: Natural sorting of strings using ICU.
2010-11-27 22:52:12 +00:00
alberth
f5c6fd1a25
(svn r21331) -Codechange: Make drawing the widgets default behaviour in OnPaint().
2010-11-26 15:22:18 +00:00
rubidium
30637a8340
(svn r21157) -Codechange: remove information about the text direction out of the language "list"
2010-11-13 09:56:25 +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
515edee17c
(svn r20925) -Codechange: make the client send commands have a slightly more sensible name
2010-10-15 14:29:13 +00:00
frosch
48767d1bef
(svn r20720) -Add: separate GUI icons for vehicle/company profit, exclusive rights and unread news.
2010-09-02 20:00:48 +00:00
frosch
48d8f16653
(svn r20719) -Codechange: Remove some hardcoded iconsizes.
2010-09-02 19:34:44 +00:00
yexo
9a05f8004b
(svn r20692) -Fix [FS#4055]: crash after downloading missing content
2010-08-30 10:16:04 +00:00
rubidium
30f2afac9b
(svn r20632) -Cleanup: remove "a few" unneeded includes, and add them to some headers
2010-08-26 22:01:16 +00:00
frosch
9e538acc03
(svn r20461) -Codechange: Replace WWT_HSCROLLBAR, WWT_SCROLLBAR and WWT_SCROLL2BAR with NWID_HSCROLLBAR and NWID_VSCROLLBAR.
2010-08-12 09:16:43 +00:00
frosch
71ca58c2bb
(svn r20453) -Codechange: Remove direct accesses to Window::hscroll, vscroll and vscroll2.
...
Note: All windows get individual members with the same names, which are initialised via Window::GetScrollbar(). This caching is not required at all, but simplifies conversion.
2010-08-12 08:37:01 +00:00
frosch
10339c60c0
(svn r20452) -Codechange: Remove NWidgetCore::FindScrollbar() and associate scrollbar explicitly using a NWidgetPart via SetScrollbar().
2010-08-12 06:44:45 +00:00
terkhen
80c43f52e8
(svn r20289) -Codechange: Unify fall through coding style.
2010-08-01 20:52:11 +00:00
frosch
4bd32799f1
(svn r20286) -Codechange: Unify end of doxygen comments.
2010-08-01 19:44:49 +00:00
frosch
ed4f806f1d
(svn r20283) -Codechange: Unify start of doygen comments.
2010-08-01 19:22:34 +00:00
rubidium
e356cb9405
(svn r20281) -Codechange: unify case scope closure + break coding style
2010-08-01 18:53:30 +00:00
terkhen
88ca183191
(svn r20239) -Doc: Give a common name to all fall throughs (FALL THROUGH).
2010-07-29 14:26:28 +00:00
alberth
4203e641f8
(svn r20223) -Codechange: Replace scrolled row calculations by a call to GetScrolledRowFromWidget().
2010-07-26 13:08:48 +00:00
alberth
22b9bc5157
(svn r20043) -Codechange: Introduce vertical alignment for DrawStringMultiLine().
2010-07-02 13:53:05 +00:00
alberth
604e56adc2
(svn r20025) -Doc: Fix/add comments to let Doxygen know about the documentation.
2010-06-27 09:05:10 +00:00
yexo
9683b87466
(svn r20012) -Fix: when joining a company with a password you could only enter 20 characters of the password
2010-06-23 00:11:11 +00:00
rubidium
876eb5ee0b
(svn r19998) -Codechange: Unify the order of ship and plane icon in network-lobby with the rest of the game (frosch)
2010-06-19 16:42:02 +00:00