Patric Stout
299570b2c1
Codechange: make TimerGameCalendar Date and Year types strongly typed ( #10761 )
2023-08-12 18:14:21 +00:00
Patric Stout
b7acf9e50e
Codechange: use TimerGameCalendar::Year and friends when working with years ( #11188 )
2023-08-12 16:02:31 +02:00
Rubidium
eaae0bb5e7
Codechange: automatic adding of _t to (u)int types, and WChar to char32_t
...
for i in `find src -type f|grep -v 3rdparty/fmt|grep -v 3rdparty/catch2|grep -v 3rdparty/opengl|grep -v stdafx.h`; do sed 's/uint16& /uint16 \&/g;s/int8\([ >*),;[]\)/int8_t\1/g;s/int16\([ >*),;[]\)/int16_t\1/g;s/int32\([ >*),;[]\)/int32_t\1/g;s/int64\([ >*),;[]\)/int64_t\1/g;s/ uint32(/ uint32_t(/g;s/_uint8_t/_uint8/;s/Uint8_t/Uint8/;s/ft_int64_t/ft_int64/g;s/uint64$/uint64_t/;s/WChar/char32_t/g;s/char32_t char32_t/char32_t WChar/' -i $i; done
2023-07-19 19:30:14 +02:00
glx22
46b504a700
Fix: ini_key issues reported by the script
2023-07-14 14:32:46 +02:00
PeterN
d42a78f3e8
Codechange: Make DropDownListStringItem preformat and remove other implementations. ( #11063 )
...
Having to choose between DropDownListStringItem, DropDownListCharStringItem, and DropDownListParamStringItem depending on whether to draw a StringID, a raw string, or a StringID with extra parameters was needlessly complex.
Instead, allow passing a StringID or raw string to DropDownListStringItem. This will preformat the StringID into a raw string, and can therefore accept parameters via the normal SetDParam mechanism.
This also means that strings no longer need to be formatted on every draw.
2023-06-23 08:30:13 +00:00
Rubidium
7c37dcb8e3
Fix: do not use {STRING} when {STRING1} or {STRING2} is needed
2023-06-14 09:44:06 +02:00
Patric Stout
3b1407d240
Feature: allow to do a hostile takeover of an AI company (in singleplayer) ( #10914 )
...
With the removal of the share-system, you could no longer make an
AI disappear in a single player game. At least, not without going
into the console.
2023-06-05 19:32:22 +02:00
Patric Stout
772729cc7d
Fix: when syncing width of GUI items, take padding into account ( #10915 )
2023-06-05 10:27:04 +02:00
Rubidium
f29606fd14
Codechange: use std::string to cache engine/group/vehicle names
2023-05-31 19:31:09 +02:00
PeterN
64930c343a
Codechange: Pass reference instead of pointer to GUI*Lists. ( #10822 )
...
Pointer-avoidance.
2023-05-14 09:17:44 +01:00
Tyler Trahan
98d809c33b
Codechange: Don't use macros for DAYS_TILL and friends ( #10746 )
2023-05-07 05:25:24 -04:00
Rubidium
e33b2afd87
Codechange: pass (uint) money as Money for CmdGiveMoney
2023-05-06 21:26:13 +02:00
Peter Nelson
0880616851
Codechange: Remove various STRING strings.
2023-05-05 07:07:54 +01:00
Peter Nelson
e18f688db5
Codechange: Remove various COMMA strings.
2023-05-05 07:07:54 +01:00
Peter Nelson
35ba49bfb4
Change: Rename text colour NWidgetPart to SetTextStyle and add font size.
...
This allows to set both text colour and size for any widget with default
drawing.
2023-04-30 11:47:53 +01:00
Rubidium
c829930440
Codechange: replace strnatcmp with C++ string capable version
2023-04-29 12:07:45 +02:00
Patric Stout
36a0818bc5
Remove: buying/selling/owning company shares ( #10709 )
2023-04-29 10:16:49 +02:00
Charles Pigott
80bd5ad727
Codechange: Use std::strto* variants everywhere ( #10720 )
2023-04-26 12:56:14 +01:00
Patric Stout
7aa2b9ab0a
Codechange: move all date-related variables inside the timer ( #10706 )
2023-04-24 15:56:01 +00:00
PeterN
018f0f63a6
Change: Centre company face in scaled widget. ( #10688 )
2023-04-21 19:54:04 +01:00
Patric Stout
1ba4dcc924
Codechange: migrate all Window-related timers to the new framework
...
This means we also say goodbye to GUITimers.
2023-04-15 13:58:55 +02:00
Peter Nelson
701092003d
Fix: DropDownListColourItem didn't provide width nor scale vertical padding.
2023-04-13 20:57:47 +01:00
PeterN
2d3250923c
Fix #10554 : Let Scrollbar::SetPosition clamp instead of assert. ( #10555 )
2023-03-09 10:19:58 -05:00
Rubidium
947a789bf6
Codechange: split large function into smaller steps and simplify logic
2023-02-25 23:57:36 +01:00
rubidium42
6ba55e663e
Codechange: do not hide variables with other variables
2023-01-29 07:21:34 +01:00
Rubidium
b3b8c3fd2d
Codechange: pass the randomizer to use directly to the company face generation
2023-01-14 22:00:11 +01:00
Rubidium
170f37d07f
Codechange: silence some potentially uninitialized local variable errors
...
In these cases technically they are false positives, however dismissing the
alerts when the underlying code may make them true positives does not seem
like the safest solution.
2023-01-06 19:34:35 +01:00
Rubidium
496ec1f012
Fix: use reference and array indexing to prevent suspicious pointer scaling
2023-01-06 19:34:35 +01:00
Tyler Trahan
0d631a6fda
Change: Reword Finance window's Net Profit to Profit
2022-11-13 19:01:43 -07:00
Tyler Trahan
adf94d7970
Change: Add a Total caption to each category of the finance window
2022-11-13 19:01:43 -07:00
Tyler Trahan
bba1a16836
Change: Make Company GUI Bank Balance text white
2022-11-13 19:01:43 -07:00
Peter Nelson
920e588334
Change: Use standard dimensions instead of custom widths.
2022-11-12 18:28:39 +00:00
Peter Nelson
890b2666d3
Change: Use scaled WidgetDimensions.
2022-11-12 18:28:39 +00:00
Peter Nelson
46a1ab0937
Change: Use Rect when drawing infrastructure window.
2022-11-12 18:28:39 +00:00
Peter Nelson
6f95e04005
Change: Use Rect helpers for widget drawing.
...
This replaces repetitive and sometimes unwieldy use of constants.
2022-11-12 18:28:39 +00:00
Peter Nelson
632464a623
Codechange: Use Rect in DropDownListItem::Draw().
2022-11-12 18:28:39 +00:00
Peter Nelson
eb4ba1991b
Change: Use CenterBounds function in more places.
...
CenterBounds may have a 1 pixel difference so the result is not exactly
the same.
2022-11-12 18:28:39 +00:00
SamuXarick
e604b76d18
Fix: List a max of four share owners instead of three
...
An AI company may have four different share owners, but the company information window is limited to display a max of three. This commit increases that limit.
2022-10-16 18:27:54 +02:00
PeterN
d7ceb7efea
Change: Use widget string parameters for face window. ( #10046 )
...
The face window previously drew the buttons of face settings itself.
Instead we can provide parameters for each widget and let the widget
system draw the buttons.
2022-09-23 17:09:35 +01:00
Tyler Trahan
a4e00c5cb5
Fix #9989 : Zero Net Profit is neither negative nor positive ( #9991 )
2022-09-21 12:38:03 +02:00
Tyler Trahan
41de69c5b7
Feature: Improved Finance window
2022-04-25 21:51:51 +02:00
Rubidium
c73f578e8c
Codechange: replace magic numbers and C-style arrays with C++-style array for share owners
2022-03-09 18:05:12 +01:00
Michael Lutz
13528bfcd0
Codechange: Un-bitstuff all remaining commands.
2021-12-16 22:28:32 +01:00
Michael Lutz
58cff7b081
Codechange: Un-bitstuff the remaining on-map commands.
2021-12-16 22:28:32 +01:00
Michael Lutz
e08b3abe7f
Codechange: Un-bitstuff group and autoreplace commands.
2021-12-16 22:28:32 +01:00
Michael Lutz
0f64ee5ce1
Codechange: Template DoCommandP to automagically reflect the parameters of the command proc.
...
When finished, this will allow each command handler to take individually
different parameters, obliviating the need for bit-packing.
2021-12-16 22:28:32 +01:00
Michael Lutz
b0990fcff7
Codechange: Make TileIndex a "strong" typedef to give it a distinct type.
...
This is accomplished by changing it to a single member struct with the
appropriate operator overloads to make it all work with not too much
source modifications.
2021-12-16 22:28:32 +01:00
Michael Lutz
a38bbefe1b
Codechange: Untangle command code, flags and error string for DoCommand*.
2021-12-16 22:28:32 +01:00
Michael Lutz
549caca39c
Codechange: Move command arguments to the back of the networked command function calls.
2021-12-16 22:28:32 +01:00
glx22
994bf19aef
Fix f6d5c01: Delay deletion when closing windows
2021-05-29 21:08:25 +02:00
rubidium42
b791ffc6de
Fix: do not hide parameter by local variable with the same name
2021-05-27 18:30:56 +02:00
Peter Nelson
de81afdf4b
Cleanup: Replace FOR_ALL_SORTED_ROADTYPES macro with range iterator.
2021-04-28 23:54:31 +01:00
Peter Nelson
3b3d80c8ef
Cleanup: Replace FOR_ALL_SORTED_RAILTYPES macro with range iterator.
2021-04-28 23:54:31 +01:00
Peter Nelson
994ffaa382
Codechange: Use alignment feature in company finances window.
2021-04-22 16:42:04 +01:00
Peter Nelson
c361246bec
Codechange: Replace face window custom drawing with new widget features.
2021-04-22 16:42:04 +01:00
Peter Nelson
2a0365b3d9
Cleanup: Remove unnecessary parameter of GetScrolledRowFromWidget()
...
Line height defaults to the resize height of the relevant widget, which is
set in all cases. Therefore it is not necessary to specify this value every time.
Additionally fixes scrolled padding for the framerate window.
2021-04-21 23:12:10 +02: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
Patric Stout
d6e15d4943
Fix: make the "password" button the same size as the other buttons in Company window
...
Currently password-lock icon + button was the same size, but this
looks really weird. Now they are in sync, even with other fonts
and languages.
2021-01-05 21:56:24 +01:00
Patric Stout
a3f0ee3b63
Codechange: fix alignment of Company GUI
...
Code acted as if WWT_TEXT starts a scope; it does not.
2021-01-05 21:56:24 +01:00
Patric Stout
fc474b02fa
Fix: change all Company planes on paint, not only the first that needs changing
...
Otherwise it can take a few OnPaint() calls before all planes are
set correctly when switching companies.
2021-01-05 21:56:24 +01:00
Charles Pigott
860c270c73
Codechange: Replace assert_compile macro with static_assert
2020-12-27 10:55:42 +00:00
TechGeekNZ
a10013dd00
Codechange: Spell 'Viewport' consistently
...
Some places in the codebase misspell 'Viewport' as 'ViewPort' or 'view_port'.
This patch makes everything consistent.
2020-07-27 17:31:29 +01:00
stormcone
816fada2b1
Fix #8250 : [NRT] Company infrastructure window always omits last road/tramtype
2020-07-02 12:35:28 +02:00
Jonathan G Rennison
c167648d75
Fix: Violation of strict weak ordering in group name sorters
...
This could be caused by a group being renamed, and the old
name being cached from a previous sort.
See: #7838
2020-06-18 12:38:43 +02:00
glx
4ae829cb27
Codechange: Replace FOR_ALL_GROUPS with range-based for loops
2019-12-21 20:13:03 +01:00
glx
1f6b3a37f9
Codechange: Replace FOR_ALL_ENGINES 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
peter1138
c02ef3e456
Feature: Add NotRoadTypes (NRT)
2019-05-01 21:36:27 +02:00
Niels Martin Hansen
08284e005d
Fix: Automatic line breaking of the warning
2019-04-24 17:40:11 +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
c7b9987d08
Codechange: Switch DropDownList to directly use std::vector, thus making AutoDeleteSmallVector obsolete.
...
DropDownListItem are strongly managed using std::unique_ptr to ensure leak-free handling. Appropriate use
of move-semantics make intent a lot clearer than parameter comments and allows the compiler to generate
copy-free code for most situations.
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
peter1138
aafce47596
Codechange: Use override specifier for DropDownListItem classes.
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
peter1138
fb35cb5ed2
Remove: Unnecessary virtual destructors on drop down list items.
2019-03-10 09:20:11 +00:00
peter1138
811bf22620
Codechange: Use Colours type instead of byte.
2019-03-10 09:20:11 +00:00
peter1138
93a6fd42d1
Fix 23960d0f2c: Company livery window shows incorrect groups when opened from group window in multiplayer.
2019-03-03 13:13:35 +01:00
peter1138
7ac17f5ae4
Fix #7281 : Unable to select last group in open livery window on group creation.
2019-02-26 11:20:23 +01:00
Peter Nelson
c9d801a98d
Fix: Make livery window resize properly if GUI scale changes whilst open.
2019-02-02 16:57:47 +00:00
Peter Nelson
9e9d485713
Fix 23960d0f2c: Scrollbar was broken for non-group liveries.
...
Simplify how list position is determined by using existing functions.
Also rename livery_height -> rows and SetLiveryHeight() -> SetRows(), as height implies pixels.
2019-02-01 13:25:42 +00:00
PeterN
23960d0f2c
Feature: Group liveries, and livery window usability enhancements. ( #7108 )
...
* Change: Replace checkbox in livery selection window with Default option in drop down selection.
This reduces clutter in the UI and allows for primary/secondary colours to independently follow the default scheme if desired.
* Feature: Add vehicle group liveries.
2019-01-31 14:57:44 +01:00
Peter Nelson
6e5b90f4f7
Change: For consistency, add company name to colour scheme window.
2019-01-27 12:34:49 +01:00
Peter Nelson
256b94a03d
Fix: Ignore company colour selection when showing different company's colour scheme.
2019-01-27 12:34:49 +01:00
nikolas
fa95af2da8
Codechange: Fix typo in variable name: pices -> pieces ( #7033 )
2019-01-11 16:08:02 +01:00
Charles Pigott
f5b1115039
Doc: Lots and lots of doxymentation fixes
2018-10-31 12:35:54 +01:00
frosch
b4b98e5165
(svn r27893) -Codechange: Use fallthrough attribute. (LordAro)
2017-08-13 18:38:42 +00:00
frosch
a682962719
(svn r27889) -Change: Do not cancel headquarter construction and engine-preview-query when shift-clicking (adf88)
2017-07-11 19:37:10 +00:00
frosch
2d636266f5
(svn r27427) -Fix: Use the NewGRF railtype sorting order in the infrastructure window.
2015-10-30 17:24:30 +00:00
frosch
a8080b6256
(svn r27134) -Codechange: Simplify GUI scaling by adding UnScaleGUI() and ScaleGUITrad().
2015-02-01 20:54:24 +00:00
peter1138
58458c6652
(svn r26935) -Codechange: Fit company colour selection drop down list to UI scale.
2014-09-28 19:19:47 +00:00