Peter Nelson
941dbadf9e
Codechange: Add and use GetScrolledItemFromWidget to get a list item.
...
This function returns an iterator, either to the selected item or the
container's end.
This makes handling the result more robust as indices are not used.
1 year ago
Peter Nelson
d2034d9c38
Codechange: Scrollbar methods now accept size_t.
...
This clears up a lot of casts from size_t to int.
1 year ago
Rubidium
877349c13d
Codechange: use std::string for text file name resolution
1 year ago
Peter Nelson
61407840c6
Codechange: Remove STR_BLACK_RAW_STRING.
1 year ago
Rubidium
3901ef9760
Codechange: use std::string for the GRF filenames
1 year ago
Rubidium
a312a6c1b2
Codechange: make md5sumToString std::string compatible
1 year ago
Peter Nelson
00bf42353a
Codechange: Place gamelog into its own class, along with internal data.
...
Data is now stored in vectors to avoid manual memory management and
passing lengths around.
1 year ago
Rubidium
a931378c52
Codechange: use std::string instead of stredup/free for ScanProgressWindow
1 year ago
Rubidium
c829930440
Codechange: replace strnatcmp with C++ string capable version
1 year ago
Patric Stout
1ba4dcc924
Codechange: migrate all Window-related timers to the new framework
...
This means we also say goodbye to GUITimers.
1 year ago
Peter Nelson
e5af5907ec
Change: Make all dropdown lists extend width if necessary.
...
This removes the auto_width parameter from ShowDropDown(At).
1 year ago
Tyler Trahan
f12498b633
Add: Show NewGRF name in NewGRF-created errors ( #10457 )
1 year ago
Rubidium
4e65ec1dc4
Codechange: do not declare functions in blocks
1 year ago
rubidium42
6ba55e663e
Codechange: do not hide variables with other variables
1 year ago
Rubidium
90f1768006
Codechange: add non-nullptr asserts in cases where it should never be nullptr
...
Though where similar calls are checked for nullptr as in those instances of
the use of that function it can actually return nullptr. In other words, write
down the assumption that the function never returns nullptr in an assert.
1 year ago
Peter Nelson
ecb5393c55
Change: Standardize progress bar layout.
...
Progress bars are drawn differently depending on when it was added, with
different layouts and sizes.
This change adds a standard padding size to use, and makes all progress
bars visually similar, with scaled padding.
2 years ago
Peter Nelson
920e588334
Change: Use standard dimensions instead of custom widths.
2 years ago
Peter Nelson
890b2666d3
Change: Use scaled WidgetDimensions.
2 years ago
Peter Nelson
b6ed595176
Codechange: Prefer suggested widget padding.
2 years ago
Peter Nelson
dd9f6bc803
Change: Use RectPadding Horizontal()/Vertical() helpers.
2 years ago
Peter Nelson
04cbe57d2a
Change: Use RectPadding for widget padding/uz_padding.
2 years ago
Peter Nelson
6f95e04005
Change: Use Rect helpers for widget drawing.
...
This replaces repetitive and sometimes unwieldy use of constants.
2 years ago
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.
2 years ago
rubidium42
e3717ae903
Codechange: [ContentInfo] Use std::string instead of string buffers
3 years ago
glx22
5799402f7a
Codechange: Rename window related DeleteXXX to match new behaviour
3 years ago
glx22
994bf19aef
Fix f6d5c01: Delay deletion when closing windows
3 years ago
rubidium42
6bca9e090d
Codechange: add SetDParamStr that accepts std::string&
3 years ago
Peter Nelson
4791ff2862
Fix: Recalculate padding and minimum sizes when GUI or Font zoom is changed.
3 years ago
Chris
a934dfe0be
Fix: [NewGRF] Errors with severity ERROR also display a pop-up window ( #9119 )
3 years ago
Rubidium
bf4fe19a66
Codechange: merge duplicated logic to scroll in lists by key into a single function
3 years ago
Didac Perez Parera
47c0403320
Change: do not disable NewGRF window apply button if dev tools are enabled ( #8975 )
...
enabled
3 years ago
Didac Perez Parera
43c465e8f4
Change: Disable NewGRF window apply button if no change was made ( #8934 )
3 years ago
Patric Stout
14b61bfa6f
Fix #8833 : don't reload NewGRFs when we are shutting down
...
Otherwise that might cause calls to the video-driver, which are
already shut down by now. This causes, depending on the video-driver
crashes or weird effects.
3 years ago
Patric Stout
970fedd78c
Add: make modal windows update more smooth
...
Basically, modal windows had their own thread-locking for what
drawing was possible. This is a bit nonsense now we have a
game-thread. And it makes much more sense to do things like
NewGRFScan and GenerateWorld in the game-thread, and not in a
thread next to the game-thread.
This commit changes that: it removes the threads for NewGRFScan
and GenerateWorld, and just runs the code in the game-thread.
On regular intervals it allows the draw-thread to do a tick,
which gives a much smoother look and feel.
It does slow down NewGRFScan and GenerateWorld ever so slightly
as it spends more time on drawing. But the slowdown is not
measureable on my machines (with 700+ NewGRFs / 4kx4k map and
a Debug build).
Running without a game-thread means NewGRFScan and GenerateWorld
are now blocking.
3 years ago
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
4 years ago
Michael Lutz
a49fdb7ebb
Codechange: Store base set related texts in std::strings.
4 years ago
Michael Lutz
9c2e47d03c
Codechange: Use std::string for storing GRF error messages.
4 years ago
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
5 years ago
glx
2db88953e7
Codechange: use std::sort() in GUIList
5 years ago
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
5 years ago
Michael Lutz
e804173595
Codechange: If something is a vector of strings, use a vector of strings instead of an AutoFreeSmallVector.
5 years ago
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.
5 years ago
glx22
66dd7c3879
Fix: MSVC warnings ( #7423 )
5 years ago
Henry Wilson
2bc2de9034
Codechange: Replaced SmallVector::Find() with std::find()
5 years ago
Henry Wilson
a0f36a50e6
Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back()
5 years ago
Henry Wilson
a690936ed7
Codechange: Replace SmallVector::Length() with std::vector::size()
5 years ago
Henry Wilson
9cba6f7193
Codechange: Replaced SmallVector::Compact() with std::vector::shrink_to_fit()
5 years ago
Henry Wilson
bfd79e59dc
Codechange: Replace SmallVector::Clear() with std::vector::clear()
5 years ago
peter1138
317f69c152
Codechange: Use override specifier in Window-derived classes.
5 years ago
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.
5 years ago
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.
5 years ago
peter1138
303cfd86a3
Remove: Unnecessary specialization of NewGRF preset list item.
5 years ago
peter1138
811bf22620
Codechange: Use Colours type instead of byte.
5 years ago
glx22
bb9b8eb464
Fix #7089 : Close NewGRF textfile windows when their data is invalid ( #7106 )
5 years ago
glx
b22fbfbe3d
Add: allow opening of one TextfileWindow per type
6 years ago
glx
a18b0eba5b
Add: more options for translators
6 years ago
Peter Nelson
806e7d25dd
Change: Use GUITimer class instead of bare int/uints.
6 years ago
Peter Nelson
2a8fa5fef9
Change: Split up Window::OnTick into OnGameTick and OnRealtimeTick. Adjust timers to work with milliseconds instead of ticks.
6 years ago
Charles Pigott
f5b1115039
Doc: Lots and lots of doxymentation fixes
6 years ago
J0an Josep
cfb8092397
Fix b4b98e5165: Use FALLTHROUGH attribute with correct indentation.
6 years ago
frosch
b4b98e5165
(svn r27893) -Codechange: Use fallthrough attribute. (LordAro)
7 years ago
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.
8 years ago
frosch
4df712589c
(svn r27724) -Cleanup: Remove pointless usage of IsOpenTTDBaseGRF. System GRFs are never listed in the NewGRF GUI.
8 years ago
michi_cc
2b8bb12d62
(svn r27381) -Fix: Warnings due to C++11 requirements for explicit narrowing conversions in initializer lists.
9 years ago
peter1138
d4a9b3aced
(svn r26954) -Codechange: GUI-scale for AI/GS settings and NewGRF settings windows.
10 years ago
frosch
1b0929a9f0
(svn r26640) -Cleanup: Remove some pointless STR_JUST_STRING detours.
10 years ago
alberth
1feba55f0f
(svn r26613) -Feature: Upgrade currently active newgrfs to newest installed version.
10 years ago
alberth
8755c26793
(svn r26610) -Feature: Select an editable preset name for saving.
10 years ago
rubidium
9ed12b0f07
(svn r26509) -Codechange: replace strdup with stredup (the latter ensures the return is not NULL)
10 years ago
rubidium
5b82822c12
(svn r26486) -Codechange: replace a number of snprintfs with seprintf
10 years ago
frosch
ef4c2ce031
(svn r26485) -Codechange: Replace ttd_strlcpy and ttd_strlcat with strecpy and strecat.
10 years ago
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
10 years ago
rubidium
83eeba28b7
(svn r26086) -Codechange: use AutoDeleteSmallVector instead std::list for dropdowns
11 years ago
rubidium
45a5aba8d5
(svn r26084) -Fix: don't allow executing the palette toggling code when it's not editable
11 years ago
rubidium
3362606401
(svn r26053) -Fix: possible use-after-free
11 years ago
planetmaker
21e85c9291
(svn r25794) -Change: No point to toggle a NewGRF's palette if its author declared one.
11 years ago
planetmaker
5f415fa78e
(svn r25792) -Change: Clarify the relevance of the permissible palettes
11 years ago
michi_cc
b911f4a452
(svn r25668) -Codechange: Pass proper Unicode UCS-4 characters instead of just UCS-2 to the window key press handlers.
11 years ago
frosch
43ec0bf0c1
(svn r25537) -Codechange: Optionally make WWT_MATRIX compute the number of rows and columns from the resize step size.
11 years ago
frosch
8116aeff21
(svn r25536) -Cleanup: No need to set scrollbar capacity anywhere but in OnResize.
11 years ago
frosch
e184b9799c
(svn r25533) -Codechange: Use SetCapacityFromWidget more often.
11 years ago
frosch
5f8f71edf0
(svn r25532) -Fix: Do not make the minimal size of matrix or panel widgets depend on their number of rows, since that changes when resizing the window.
11 years ago
frosch
98fdd20f84
(svn r25531) -Codechange: Use separate function to set data of WWT_MATRIX widgets.
11 years ago
frosch
ee4e68bd5e
(svn r25413) -Fix-ish: Suppress focussing editboxes which are not visible.
11 years ago
frosch
4b286812c3
(svn r25307) -Fix: Do not focus the editbox in the NewGRF window, if there is no editbox visible.
11 years ago
frosch
4e4e635916
(svn r25294) -Feature: Add another button to window title bars to resize the window to its default size.
11 years ago
frosch
8157a8afd8
(svn r25290) -Add: Assign string names to notable windows.
11 years ago
frosch
56e4a8c4d6
(svn r25287) -Codechange: Keep a reference to the WindowDesc in the Window after construction.
11 years ago
frosch
3e02890b73
(svn r24983) -Change: Apply the same name sorting rules to content and NewGRF list as for the server list.
12 years ago
peter1138
c18446951d
(svn r24932) -Fix [FS#5158]: Prevent more NewGRFs being selected than is possible to load.
12 years ago
planetmaker
c24374f99c
(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow)
12 years ago
peter1138
1ef4f7712d
(svn r24853) -Fix: Extend widget data member to 32 bits so that sprite IDs >= 2^16 can be used.
12 years ago
frosch
b533523258
(svn r24801) -Codechange: Add functions to set integral DParams to suitable values for size computations.
12 years ago
alberth
732e073261
(svn r24776) -Doc: Typo fixes, additions, and additional dots collected from various sources (including Eagle_rainbow, MinchinWeb)
12 years ago
frosch
c283a41248
(svn r24743) -Change: Unify the behaviour of ESC in filter editboxes.
12 years ago
frosch
f5d8ba5d7f
(svn r24742) -Codechange: Remove QueryStringBaseWindow and store QueryStrings per widget instead.
12 years ago
frosch
6e6d94a2d1
(svn r24740) -Codechange: Remove duplicate members from QueryStringBaseWindow and directly use QueryString.
12 years ago
frosch
f6d4200f86
(svn r24738) -Codechange: Remove Textbuf::Initialize in favour of a constructor.
12 years ago
frosch
2c22fe98dd
(svn r24734) -Codechange: Move QueryStringBaseWindow::OnOSKInput to Window::OnEditboxChanged.
12 years ago
frosch
c4d7c8dd42
(svn r24733) -Codechange: Move handling of editbox keys to window class.
12 years ago