summaryrefslogtreecommitdiff
path: root/src/widgets
AgeCommit message (Collapse)Author
2021-07-21chunnel patch originalchunnelErich Eckner
2021-07-20Feature: allow the use of TURN to connect client and server togetherPatric Stout
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-11Feature: join servers based on their invite codePatric Stout
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-10Add: use Game Coordinator to annouce public serversPatric Stout
2021-06-28Add: Show the number of clients and companies in the online players window ↵TELK
(#9376)
2021-05-29Codechange: Rename window related DeleteXXX to match new behaviourglx22
2021-05-29Fix f6d5c01: Delay deletion when closing windowsglx22
2021-05-15Fix #9269, f6d5c01: Hide windows without abusing WC_INVALIDglx22
2021-05-12Codechange: use IterateFromBack/Front only if the order is important.frosch
Use Iterate if the order does not matter.
2021-05-08Codechange: Slider widget used different range for drawing vs setting.Peter Nelson
Using the same range for setting means that no workaround for setting the extremes is necessary.
2021-05-08Codechange: Make GetCurrentRect() conform to usual Rect bounds, and reuse it.Peter Nelson
Similar code is already repeated in other locations.
2021-05-06Codechange: add SetDParamStr that accepts std::string&rubidium42
2021-04-30Fix: Recalculate padding and minimum sizes when GUI or Font zoom is changed.Peter Nelson
2021-04-29Codechange: Replace window related FOR_ALL with range-based for loopsglx22
2021-04-28Fix: Incorrect vertical alignment of icon and text in DropDownListIconItem. ↵PeterN
(#9133) This happens if the bounding dimensions are changed so that each item is the same size, as happens on the railtype/roadtype dropdown lists, as the vertical offset was calculated before this dimension is changed.
2021-04-24Add: admin menu for companies in multiplayer gamesPatric Stout
You can now easily do: - a password reset (unlock) - remove an empty company (reset company)
2021-04-24Feature: rework in-game Online Players GUIPatric Stout
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-20Remove: "language" field from server/clientPatric Stout
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-11Feature: allow a toggle to enable/disable vsyncPatric Stout
Vsync should be off by default, as for most players it will be better to play without vsync. Exception exist, mainly people who play in fullscreen mode.
2021-04-09Feature: Volume sliders in Game Options windowNiels Martin Hansen
2021-04-09Codechange: Move volume control slider logic to separate functionsNiels Martin Hansen
2021-04-06Feature: Button to reset game settings to their default values (#8958)Didac Perez Parera
2021-03-26Add: allow setting the highest mountain for heightmapsPatric Stout
It will add some slack to the map height limit if that was set to auto.
2021-03-26Change: remove "maximum map height" from the New Game GUIPatric Stout
This setting influence the max heightlevel, and not as the name suggests: the height of the generated map. How ever you slice it, it is a very weird place to add this setting, and it is better off being only in the settings menu. Commits following this commit also make it more useful, so users no longer have to care about it.
2021-03-26Feature: setting to indicate desert coverage for tropic climatePatric Stout
This is an indication value; the game tries to get as close as it can, but due to the complex tropic rules, that is unlikely to be exact. In the end, it picks a height-level to base the desert/tropic line on. This is strictly seen not needed, as we can convert any tile to either. But it is the simplest way to get started with this without redoing all related functions.
2021-03-26Feature: setting to indicate snow coverage for arctic climate (replaces snow ↵Patric Stout
line height) Setting the snow coverage (in % of the map) makes a lot more sense to the human, while still allowing the niche player to set (by finding the correct %) a snow line height they like. This makes for easier defaults, as it decoupled terrain height from amount of snow. Maps can never be 100% snow, as we do not have sprites for coastal tiles. Internally, this calculates the best snow line height to approach this coverage as close as possible.
2021-03-14Fix: if bootstrap failed, it could end with an empty screen instead of errorPatric Stout
There are various of ways bootstrap can fail: - Failing network connection - Incomplete download - No write permissions - Disk full - (others I forgot) They all result in a screen with no windows. To ensure we at least always show something when anything bad happens, if the bootstrap is not successful, show a screen what the next step for the human should be.
2021-03-13Feature: allow filtering on name in rail station window (#8706)Didac Perez Parera
2021-03-09Codechange: remove special strings for language and resolutions (#8824)Patric Stout
As OpenTTD grew, we found other ways to do this, and we are no longer in need for a hack like this.
2021-03-09Add: Display refresh rate game option (#8813)sean
2021-03-08Add: Buttons to open global goals from company goals and vice versadP
2021-03-08Add: Option to (dis-)allow accelerated video drivers. (#8819)Patric Stout
The video drivers using the OpenGL backend are currently our only accelerated drivers. The options defaults to off for macOS builds and to on everywhere else. Co-authored-by: Michael Lutz <michi@icosahedron.de>
2021-02-19Feature: Object class selection string filtering (#8603)Didac Perez Parera
2021-02-14Feature: [GS] Allow non-question type windows to have no buttonsdP
2021-02-14Change: move the 'road drive side' selection to settings tree, and give it ↵frosch
the same 'basic' visibilty as 'signal side'.
2021-02-14Change: move townname generator selection to mapgen GUI.frosch
2021-02-14Change: move the 'tree placer algorithm' selection to the settings tree ↵frosch
window, and give it the same 'basic' visibility as 'in-game tree placement'.
2021-02-10Feature: Remove all industries button in scenario editor (#8550)Kuhnovic
2021-01-11Add: a go-to-location button to the LandInfo window.frosch
2021-01-11Add: another go-to-location button to the sign window.frosch
2021-01-11Change: Relocate vehicle rename and location buttons.frosch
2021-01-09Change: remove warning in cheat window and reduce it to a note (#8538)Patric Stout
Although meant as a funny joke towards the player, our social standards have changed since 2004, and such "jokes" are no longer acceptable by the community as a whole. The only value of the message is that people are informed the information is stored in the savegame. This is mostly useful for us, developers, as some of those cheats can have side-effects which people report. While at it, styled the GUI a bit better, as the way the text was presented was odd.
2021-01-08Codechange: Remove min/max functions in favour of STL variants (#8502)Charles Pigott
2021-01-05Change: move "give money" from client-list to company windowPatric Stout
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: https://github.com/JGRennison/OpenTTD-patches/commit/f82054339124cc6b89c5f4f9dac2d9da62f0108b 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.
2020-12-27Feature: Plant clumps of trees in editor by dragging on the landscapeNiels Martin Hansen
2020-12-27Change: Switch tree GUI to use dynamically generated buttonsNiels Martin Hansen
This makes it look a bit better in climates with fewer tree types.
2020-12-25Change: Remove the LAN/Internet combobox from the server list in favour of ↵frosch
adding two separate search buttons.
2020-12-21Change: Place "Group by" above "Sort by" in station window for consistencyBernard Teo
2020-12-21Feature: Option to group vehicle lists by shared ordersBernard Teo
This applies to all kinds of vehicle lists, as well as the "vehicle groups" window.
2020-06-05Add: introduce CMake for project managementPatric Stout
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.