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
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
Rubidium
6d597879d0
Codechange: let ReadLine return a string instead of passing a buffer
2023-06-09 19:58:29 +02:00
Rubidium
13cdf5fffa
Codechange: use std::filesystem::path for the language file's path
2023-06-08 23:20:28 +02:00
Peter Nelson
2511649938
Codechange: Use window parent association for dropdowns.
...
This replaces the separate window class and number properties, and
allows the window system to close dropdowns automatically.
2023-06-03 14:17:05 +01:00
Rubidium
802d6cb509
Fix: memory leak when parsing (strgen) commands by moving to C++ containers
2023-06-02 11:57:23 +02:00
Rubidium
4f94655cc2
Codechange: use vector/unorder_map over custom implementation
2023-06-02 11:57:23 +02:00
Rubidium
234a143ee5
Codechange: use std::string for LangString over C-style strings
2023-06-02 11:57:23 +02:00
Rubidium
3323402aaa
Codechange: rename smallvec_type to container_func and use only when needed
2023-05-20 16:53:10 +02:00
Rubidium
07860e67e2
Codechange: use fmt::format_to to format the help message
2023-05-20 16:50:03 +02:00
Peter Nelson
83f2ad500e
Codechange: stdarg.h include not needed as cstdarg is included.
2023-05-17 10:14:41 +01:00
Peter Nelson
56085be9bd
Codechange: Move includes for common STL headers to stdafx.
2023-05-17 10:14:41 +01:00
Patric Stout
7634553d22
Feature: opt-in survey when exiting a game
...
On first start-up, the game will ask if you want to participate
in our automated survey. You have to opt-in, and can easily opt-out
(via the Options) at any time.
When opt-in, whenever you exit a game, a JSON blob will be send
to the survey server hosted by OpenTTD. This JSON blob contains
information that gives a global picture of the game just played:
- What settings were used
- How many humans vs AIs
- How long the game has been played
- Basic information about the OS / CPU
All this information is kept very generic, so there is no
chance we send private information to our survey server.
Nothing in the JSON blob could identify you as a person; it
mostly tells about the game played. At any time you can see
what the JSON blob includes, by pressing the "Preview Survey
Results" button in-game.
2023-05-14 23:22:02 +02:00
Rubidium
62fda0f505
Codechange: remove manual allocation/free for SQ_instance
2023-05-14 22:54:10 +02:00
Rubidium
d9e93edc8b
Codechange: replace 'const char *' script API parameters with std::string
2023-05-14 22:54:10 +02:00
Rubidium
ab51175db2
Codechange: use std::string for script config
2023-05-14 22:54:10 +02:00
Rubidium
552d2f71a2
Codechange: use std::string for script library category
2023-05-14 22:54:10 +02:00
Rubidium
9f2fc860ad
Codechange: use std::optional<std::string> for changing the script over char *
2023-05-14 22:54:10 +02:00
Rubidium
0fd9eb0faa
Codechange: use std::string for script info/library finding
2023-05-14 22:54:10 +02:00
Rubidium
9b0123ab66
Codechange: use std::string for script API versions
2023-05-14 22:54:10 +02:00
Peter Nelson
531d1ae8bc
Codechange: Use GetScrolled(Row/Item)FromWidget in more places.
...
In many instances the clicked row position is 'manually' calculated
instead of using the GetScrolledRowFromWidget helper function, with
variations on checks. Replace with the two helpers where possible.
2023-05-12 21:45:32 +01:00
Peter Nelson
68782f951b
Cleanup: Vector supports random access.
2023-05-11 07:58:55 +01:00
Rubidium
1ae7eb1594
Codechange: use std::map over SmallMap and std::string of stredup(char*)
2023-05-09 23:14:48 +02:00
Rubidium
12085d088c
Cleanup: remove obsolete string_compare_type
2023-05-09 23:14:48 +02:00
Rubidium
bc389a86c9
Codechange: use std::string as std::map key, instead of stredup string
2023-05-09 23:14:48 +02:00
Rubidium
72082aa7d3
Codechange: use std::string for getting a script's name
2023-05-09 23:14:48 +02:00
Rubidium
6e3d3c0e7c
Codechange: introduce std::string variant of sq_pushstring
2023-05-09 23:14:48 +02:00
Rubidium
68ff3fd062
Change: include fmt.h C++ headers in stdafx.h
...
This to prevent compilation issues between runs with and without precompiled
headers. Also remove the headers from the rest of the code base as they are
not needed there anymore, although they do relatively little harm.
2023-05-08 16:49:23 +02:00
Peter Nelson
d2034d9c38
Codechange: Scrollbar methods now accept size_t.
...
This clears up a lot of casts from size_t to int.
2023-05-07 20:25:44 +01:00
Rubidium
877349c13d
Codechange: use std::string for text file name resolution
2023-05-05 08:54:29 +02:00
Rubidium
86786a7af6
Codechange: introduce StrEqualsIgnoreCase/StrCompareIgnoreCase to replace strcasecmp
2023-04-29 10:25:25 +02:00
Rubidium
dfe52da1ea
Codechange: use string/fmt instead of print for strgen warnings/errors/fatals
2023-04-18 23:20:53 +02:00
PeterN
e97bf271dc
Codechange: Make SpriteType, CargoSortType, SourceType and ScriptType enum classes. ( #10663 )
...
This avoids a (soft) namespace conflict between the four ST_* enums.
2023-04-16 20:00:55 +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
e5af5907ec
Change: Make all dropdown lists extend width if necessary.
...
This removes the auto_width parameter from ShowDropDown(At).
2023-04-13 20:57:47 +01:00
Loïc Guilloux
e4c511d403
Fix #10578 : Allow to select any version of AI/GS from GUI ( #10604 )
2023-04-07 19:33:07 +02:00
glx22
9a957f1d4b
Change: [Script] Improve ScriptText validation error messages
2023-03-05 22:24:08 +01:00
glx22
af15dca316
Change: [Script] Extract params info from GS strings
2023-02-28 18:53:17 +01:00
dP
c73b88ddca
Fix: Don't send unused tile field over the network ( #10507 )
2023-02-24 22:50:11 +01:00
SamuXarick
fde7028a95
Fix #10059 : [Script] Let custom values on a config item be up to 10 digits + 1 for sign
2023-02-21 00:28:21 +01:00
glx22
b080f24bd8
Codechange: move windows common to AI and GS out of ai_gui
2023-02-05 19:27:25 +01:00
glx22
cef9931e53
Cleanup: GS don't have "start_date"
2023-02-05 19:27:25 +01:00
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.
2023-01-14 21:15:23 +01:00
Loïc Guilloux
91ca088065
Fix #10304 , fe30f66
: [Scripts] Don't start GS in intro ( #10305 )
2023-01-02 02:13:16 +01:00
Michael Lutz
150f05dc15
Change: Heading for 14 now. ( #10302 )
2023-01-01 22:52:23 +01:00
Loïc Guilloux
fe30f66570
Fix #9720 : Delay start of GS/AI to after loading of savegame ( #9745 )
2022-12-28 05:02:26 +01:00
Jonathan G Rennison
d4c530904c
Fix #10274 : Use after free when rescanning scripts with GS selected
2022-12-22 21:23:48 +01:00
Peter Nelson
890b2666d3
Change: Use scaled WidgetDimensions.
2022-11-12 18:28:39 +00:00
Peter Nelson
b6ed595176
Codechange: Prefer suggested widget padding.
2022-11-12 18:28:39 +00:00