Patric Stout
1fe7bbba8a
Codechange: rework NewGRFProfiler to use ticks instead of calendar-days ( #10815 )
...
We are planning to allow things like freezing the calendar, which
makes this variable a bit problemetic. So instead, suggest to the
user how many ticks there are in a calendar day, and let them figure
out how many ticks they want.
Additionally, use a TimeoutTimer for this, instead of an end-date
variable which is checked in an IntervalTimer.
2023-05-13 23:17:11 +02:00
Rubidium
a372c59483
Codechange: replace C-style (stredup) chat completion with std::string_view
2023-05-13 22:33:27 +02:00
translators
e1b653137f
Update: Translations from eints
...
finnish: 4 changes by hpiirai
2023-05-13 18:41:08 +00:00
Peter Nelson
a92755de81
Codechange: Use iterator erase pattern.
2023-05-13 19:18:01 +01:00
Peter Nelson
4a64064c57
Codechange: Make NEW_STATION an actual item in join station list.
...
Add NEW_STATION to the nearby station list to indicate that a new
station should be built. This removes special-casing for a non-existant
list item and keeps the list count and scrollbar count the same.
2023-05-13 19:18:01 +01:00
Patric Stout
d54660184a
Fix: NewGRF Profile didn't stop if there were no events yet ( #10816 )
...
This meant you could have the following situation:
- You start a profile on a GRF with no events, for N days.
- The days pass, the profile should stop. It doesn't.
- The profile will never stop, even if the GRF start generating events.
- There is no real way to discover this, so .. byebye memory? :)
2023-05-13 18:23:23 +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
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.
2023-05-12 21:45:32 +01:00
Rubidium
86e5dfce3d
Codechange: use std::string instead of strecat to build hotkey strings
2023-05-12 22:02:59 +02:00
Michael Lutz
72c7536325
Codechange: Use a dedicated variable for disaster vehicle action state. ( #10798 )
2023-05-12 21:41:36 +02:00
Peter Nelson
1a93618bd1
Fix: Road type is not available before its introduction date.
2023-05-12 21:03:13 +02:00
Peter Nelson
726d05b22b
Fix: Don't list unavailable road types for game scripts.
2023-05-12 21:03:13 +02:00
Peter Nelson
5059e23ed5
Revert 8fa61533: "Fix 30ae072: when a road type is hidden, towns may not build them even when that flag is set"
...
This reverts commit 8fa61533f0
.
2023-05-12 21:03:13 +02:00
Henry Wilson
3a03a12a9c
Feature: Show the number of industries already built in the Fund New Industry window.
2023-05-12 20:48:11 +02:00
translators
a934a584a5
Update: Translations from eints
...
italian: 4 changes by Rivarossi
catalan: 4 changes by J0anJosep
dutch: 9 changes by Afoklala
2023-05-12 18:39:51 +00:00
PeterN
da7f431812
Cleanup: widget pos_x/y are already int. ( #10809 )
...
Remove old casts left over from when pos_x/y were unsigned.
2023-05-12 18:02:51 +01:00
PeterN
7e3646cf46
Codechange: Remove redundant char buffer. ( #10808 )
2023-05-11 21:36:11 +00:00
translators
ca31976da0
Update: Translations from eints
...
english (au): 4 changes by krysclarke
english (us): 4 changes by 2TallTyler
russian: 4 changes by Ln-Wolf
portuguese: 4 changes by azulcosta
polish: 8 changes by pAter-exe
2023-05-11 18:42:00 +00:00
PeterN
61516627ad
Add: NewGRF string code "9A 21" to display force from textstack. ( #10782 )
2023-05-11 08:06:46 +01:00
Peter Nelson
59811ec780
Codechange: Use find_if when finding things.
2023-05-11 07:58:55 +01:00
Peter Nelson
e6740046ee
Codechange: Use range-for iteration.
2023-05-11 07:58:55 +01:00
Peter Nelson
cef3a2570d
Codechange: Use standard iterator-erase-loop pattern.
2023-05-11 07:58:55 +01:00
Peter Nelson
a8c0d16371
Cleanup: Use std::advance instead of for-loop.
2023-05-11 07:58:55 +01:00
Peter Nelson
68782f951b
Cleanup: Vector supports random access.
2023-05-11 07:58:55 +01:00
Rubidium
6d1586dd49
Codechange: use std::string instead of char* for original editor strings
2023-05-10 23:15:09 +02:00
translators
7e1123c731
Update: Translations from eints
...
portuguese (brazilian): 30 changes by ericandradex
2023-05-10 18:43:36 +00:00
Patric Stout
922d7aa773
Update: help out translators and do the COMMA -> DECIMAL for them ( #10802 )
2023-05-10 16:09:58 +02:00
Michael Lutz
7e906c7c59
Change: Preserve orders and related settings where possible when moving engines around in a train.
2023-05-10 00:35:02 +02:00
Michael Lutz
07449be876
Codechange: A vehicle that is not a front engine can't be removed from a vehicle group, so just remove a pointless function call.
2023-05-10 00:35:02 +02: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
f1fb6c95fe
Add: case insensitive string comparator
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
Peter Nelson
f5158c8b79
Feature: Add search filter and name text to build waypoint window.
2023-05-09 23:03:14 +02:00
Peter Nelson
dc50ff807c
Change: Remove incorrect minimal size.
2023-05-09 23:03:14 +02:00
Peter Nelson
b54d7f15ac
Change: Reduce size of waypoint matrix to 3 x 2.
2023-05-09 23:03:14 +02:00
Peter Nelson
0513a6ccb0
Change: Use separate names for default stations/roadstops.
2023-05-09 23:03:14 +02:00
Peter Nelson
93d49fa8b3
Fix: Make scrollwheel work on panel behind waypoint matrix.
2023-05-09 23:03:14 +02:00
Peter Nelson
bf9caa425b
Change: Units-system can convert from N to kN, don't preconvert.
...
This allows force to passed as is and avoid premature rounding.
The AI function "GetMaxTractiveEffort" still needs to return kN to avoid breaking the API.
2023-05-09 23:02:51 +02:00
Peter Nelson
e2f583a34f
Change: Standardise unit conversions and allow decimal places.
...
Previously the decimal_places member was mostly ignored except for
specific conversions. {DECIMAL} with 0 is the same as {COMMA} so there
is no downside to allowing any conversion to have decimals.
2023-05-09 23:02:51 +02:00
Peter Nelson
3c2f87ce1f
Change: Perform unit convert with a double-precision constant.
...
Unit conversion is only performed for display purposes, this does not
affect lock-step mechanics.
This replaces the old multiply and shift algorithm which relies on
choosing a multipler and shift combination that gets close. Some of these
multiply/shift combinations were quite inaccurate. We can just
use (close-to) real-world numbers instead.
2023-05-09 23:02:51 +02:00
Patric Stout
febe394806
Codechange: replace C-style strings with C++-style strings in textfile ( #10772 )
2023-05-09 19:35:50 +00:00
translators
90529ea48b
Update: Translations from eints
...
catalan: 30 changes by J0anJosep
french: 25 changes by glx22
polish: 5 changes by pAter-exe
2023-05-09 18:44:36 +00:00
PeterN
6998fbf71d
Fix: WWT_TEXT with SetTextStyle did not work. ( #10797 )
...
FontSize was passed to incorrect parameter of DrawString function.
2023-05-09 17:23:37 +00:00
Peter Nelson
d68c4bbd2f
Change: Use iterator when drawing industry cargo window.
2023-05-09 17:39:12 +01:00
Peter Nelson
cccf4953f7
Fix: Incorrect padding on industry cargo window.
2023-05-09 17:39:12 +01:00
PeterN
882f06bf14
Fix: Support more than 256 stations/waypoints/roadstops per class. ( #10793 )
...
It was already possible to define more than 256 per class, but not possible
to use them as the index used in GUI and passed through commands was limited
to a byte.
2023-05-08 18:09:33 +00:00
Patric Stout
a05ae2497f
Codechange: simplify how GetCharPosition() works
2023-05-08 19:21:42 +02:00
Patric Stout
60399e17bd
Codechange: C++-ify the Layouter and related functions
...
They all now access a std::string_view, instead of a "const char *"
or std::string (in some cases).
Additionally, GetCharAtPosition and friends now return an index
instead of a "const char *", as it makes for a more clear interface.
2023-05-08 19:21:42 +02:00
Tyler Trahan
61d1b330d1
Change: Add padding to build vehicle text filter ( #10792 )
2023-05-08 17:21:29 +00:00
Patric Stout
aed36a609c
Fix: [ICU] crash when trying to break a non-breaking run ( #10791 )
...
Clusters from harfbuzz are indexed from the start of the buffer,
not from the start of the run analyzed. This confuses other parts
of the code that do assume they are from the start of the run.
2023-05-08 16:09:47 +00:00
PeterN
bc6a4b1d08
Fix: Set up default station/waypoint classes properly. ( #10789 )
2023-05-08 16:42:01 +01:00
J0anJosep
c4e6d80ecf
Cleanup: Remove unnecessary hangar check.
2023-05-08 17:30:21 +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
878c5d8d85
Codechange: Use SetPosition() to clamp after changing count/capacity.
2023-05-07 20:25:44 +01:00
Peter Nelson
6202eae9d5
Codechange: Rely on Scrollbar::SetPosition to clamp.
...
Manually clamping scrollbar bounds before calling `SetPosition()` is doubling up work that the function already does.
2023-05-07 20:25:44 +01: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
translators
923d1b0846
Update: Translations from eints
...
vietnamese: 5 changes by KhoiCanDev
2023-05-07 18:39:28 +00:00
kiwitreekor
3375f25b70
Fix: Var68 for station and roadstop was broken ( #10784 )
2023-05-07 19:04:34 +01:00
Tyler Trahan
98d809c33b
Codechange: Don't use macros for DAYS_TILL and friends ( #10746 )
2023-05-07 05:25:24 -04:00
PeterN
8bf62dac81
Codechange: Clean up build industry window. ( #10779 )
...
* Remove left-over code that treated an invalid list selection as 'fund
many', which is actually implemented as a separate button.
* Manual list management replaced with std::vector.
* Enabled state is only needed for the current selection.
* Selected index is not required only selected type.
2023-05-07 08:19:09 +01:00
PeterN
a836edd5a7
Codechange: Scrollbar::UpdatePosition() will tell if the position changed. ( #10777 )
...
So we don't need to check this manually.
2023-05-06 19:45:32 +00:00
Rubidium
fb856e16c1
Codechange: replace some min/clamp constructs to ClampTo
2023-05-06 21:26:13 +02:00
Rubidium
19ec4e8beb
Codechange: replace ClampToI32/U16 with ClampTo<int32_t/uint16_t>
2023-05-06 21:26:13 +02:00
Rubidium
969a3dc0f3
Codechange: introduce generic ClampTo function to clamp to the range of a type
2023-05-06 21:26:13 +02:00
Rubidium
e33b2afd87
Codechange: pass (uint) money as Money for CmdGiveMoney
2023-05-06 21:26:13 +02:00
Rubidium
4a5a9f57c4
Fix: conversion to smaller type warnings
2023-05-06 21:26:13 +02:00
translators
97b77f0251
Update: Translations from eints
...
english (au): 5 changes by krysclarke
english (us): 5 changes by 2TallTyler
korean: 5 changes by telk5093
italian: 5 changes by Rivarossi
russian: 5 changes by Ln-Wolf
finnish: 5 changes by hpiirai
turkish: 5 changes by densxd
portuguese: 5 changes by azulcosta
2023-05-06 18:39:19 +00:00
Michael Lutz
b14c5aff1f
Fix: [Win32] Text line breaking did not properly handle punctuation characters. ( #10775 )
2023-05-06 16:15:40 +00:00
Tyler Trahan
0fc21b5686
Fix: Engine age is in months, not days ( #10773 )
2023-05-06 11:54:38 -04:00
Loïc Guilloux
31d1a323ef
Fix #10771 , 3901ef9: GRFConfig.filename is now a std::string ( #10774 )
2023-05-06 14:58:47 +00:00
PeterN
b67cf7f94a
Change: Replace ScriptLog data array with std::deque. ( #10770 )
...
Due to cyclic header dependency this requires moving the data types used
by ScriptLog out of the ScriptLog class.
2023-05-06 14:54:58 +00:00
translators
5dd54e2708
Update: Translations from eints
...
japanese: 10 changes by fmang
vietnamese: 14 changes by KhoiCanDev
dutch: 14 changes by Afoklala
polish: 1 change by pAter-exe
2023-05-05 18:42:16 +00:00
PeterN
bda754ec83
Fix: Make all settingsgen 'warnings' fatal. ( #10766 )
...
Compilation should stop If settingsgen fails to complete properly.
2023-05-05 09:22:03 +01:00
Patric Stout
a7d3c79d79
Fix c6c3d0e6: restore string-based settings in network-private settings ( #10765 )
...
By accident the SDTC_SSTR got replaced with SDTC_VAR, which breaks
many of the settings in this file.
2023-05-05 07:08:57 +00:00
Rubidium
877349c13d
Codechange: use std::string for text file name resolution
2023-05-05 08:54:29 +02:00
Peter Nelson
0b72297d57
Feature: Increase number of stations/roadstops per NewGRF.
2023-05-05 07:08:40 +01:00
Peter Nelson
bc7dfd7b46
Add: Station property 1C/1D to set name/classname.
...
These are an alternative to the original "generic" C4xx/C5xx method,
which can only assign strings to IDs up to 256.
2023-05-05 07:08:40 +01:00
Peter Nelson
d6f35a9fd6
Change: Add placeholders for unimplemented NewGRF station properties.
2023-05-05 07:08:40 +01:00
Peter Nelson
7a86615007
Feature: Remove limit of objects per NewGRF.
2023-05-05 07:08:40 +01:00
Peter Nelson
912eb68981
Change: Extend entity override manager and station spec lists to support 16 bit IDs.
2023-05-05 07:08:40 +01:00
Peter Nelson
e5c9a3e527
Change: Read Action 3 IDs as extended-bytes for all features.
...
This can be done because previous the value 0xFF (which indicates an
extended byte) was reserved for this purpose. Other features which may
not have mentioned reserving 0xFF do not allow this many IDs anyway.
This makes Action 3 consistent across all features. The allowable limits
for each feature do not change.
2023-05-05 07:08:40 +01:00
Peter Nelson
10baecd81f
Change: Make Action 3 debug messages more consistent.
2023-05-05 07:08:40 +01:00
glx22
045a99dd23
Codechange: Remove STR_TINY_RIGHT_ARROW
2023-05-05 07:07:54 +01:00
glx22
222e37d319
Codechange: Remove TINY_BLACK_STATION
2023-05-05 07:07:54 +01:00
glx22
b2a36ff3cc
Codechange: Remove STR_TINY_GROUP and STR_TINY_BLACK_VEHICLE
2023-05-05 07:07:54 +01:00
glx22
999057a4d8
Codechange: Remove STR_SHORT_DATE
2023-05-05 07:07:54 +01:00
glx22
49eb638563
Codechange: Remove STR_ORANGE_STRING1_WHITE and STR_ORANGE_STRING1_LTBLUE.
2023-05-05 07:07:54 +01:00
Peter Nelson
61407840c6
Codechange: Remove STR_BLACK_RAW_STRING.
2023-05-05 07:07:54 +01:00
Peter Nelson
0880616851
Codechange: Remove various STRING strings.
2023-05-05 07:07:54 +01:00
Peter Nelson
4767641c8c
Codechange: Remove various INT strings.
2023-05-05 07:07:54 +01:00
Peter Nelson
d5fb9e7dc6
Codechange: Remove various DATE_LONG strings.
2023-05-05 07:07:54 +01:00
Peter Nelson
a2d7642195
Codechange: Remove STR_COMPANY_MONEY.
2023-05-05 07:07:54 +01:00
Peter Nelson
f1d0a26324
Codechange: Remove STR_TINY_BLACK_DECIMAL.
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
5e185d5328
Codechange: Draw tooltip text in black.
2023-05-05 07:07:54 +01:00
Rubidium
3901ef9760
Codechange: use std::string for the GRF filenames
2023-05-04 23:23:32 +02:00
Rubidium
f78aa1e720
Codechange: use std::unique_ptr to manager GRFErrors in GRFConfig
2023-05-04 23:23:32 +02:00
Rubidium
a312a6c1b2
Codechange: make md5sumToString std::string compatible
2023-05-04 23:23:32 +02:00
Rubidium
51c6b8c1e4
Codechange: use fmt::format_to for gamelog message creation over seprintf
2023-05-04 23:23:32 +02:00
Patric Stout
c6c3d0e6fa
Fix: no_http_content_downloads and use_relay_service as private settings ( #10762 )
...
Basically, we don't need to know those values when people send in
crash reports.
2023-05-04 22:46:02 +02:00
Jonathan G Rennison
8d501f2db1
Fix #10741 : Rail platforms left partially reserved after train crash ( #10751 )
2023-05-04 21:45:13 +01:00
Peter Nelson
7ccdefa1c1
Change: Increase vehicle random data from 8 to 16 bits.
2023-05-04 21:42:28 +01:00
Peter Nelson
4a5e413a6c
Cleanup: Remove unnecessary VehicleRandomBits()
...
Simple Random() assignment to byte does the same.
2023-05-04 21:42:28 +01:00
translators
ca497ce356
Update: Translations from eints
...
japanese: 29 changes by fmang
danish: 25 changes by bscargo
polish: 29 changes by pAter-exe
2023-05-04 18:41:18 +00:00
Tyler Trahan
6501f84b4a
Codechange: Move calendar date functions inside TimerGameCalendar ( #10753 )
2023-05-04 13:14:12 +00:00
translators
7669aac865
Update: Translations from eints
...
english (us): 14 changes by 2TallTyler
2023-05-03 18:40:51 +00:00
Patric Stout
018a26d9b6
Fix: crash in emscripten when saving games ( #10758 )
...
Don't allocate 128KB on stack, but rather on the heap.
2023-05-02 21:22:09 +00:00
Peter Nelson
39eff18754
Codechange: Use std::vector for gamelog GRFConfig comparisons.
2023-05-02 19:47:55 +01:00
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.
2023-05-02 19:47:55 +01:00
translators
47a8d12f0e
Update: Translations from eints
...
english (au): 14 changes by krysclarke
korean: 14 changes by telk5093
italian: 14 changes by Rivarossi
russian: 15 changes by Ln-Wolf
finnish: 14 changes by hpiirai
turkish: 14 changes by densxd
portuguese: 16 changes by azulcosta
2023-05-02 18:39:14 +00:00
Patric Stout
81d4fa6999
Feature: drop ICU-lx in favour of directly interfacing with harfbuzz
...
This means we have RTL support again with ICU 58+. It makes use of:
- ICU for bidi-itemization
- ICU for script-itemization
- OpenTTD for style-itemization
- harfbuzz for shaping
2023-05-01 22:17:56 +02:00
Patric Stout
9cb60768fe
Codechange: split implementations of ParagraphLayouterFactory into their own file
2023-05-01 22:17:56 +02:00
translators
4cceaae8dc
Update: Translations from eints
2023-05-01 18:39:20 +00:00
Tyler Trahan
aa8830f57a
Feature: Filter engine build menu by name and NewGRF extra text ( #10519 )
2023-05-01 17:02:16 +00:00
Michael Lutz
908be59699
Fix: [Win32] Wrong multi-line text layout due to incorrect whitespace handling.
2023-05-01 16:31:59 +02:00
Michael Lutz
715234502c
Fix: Typo in variable name.
2023-05-01 16:31:59 +02:00
Rubidium
1f3b7e2efd
Codechange: use std::string instead of stredup for saveload error messages
2023-05-01 16:23:24 +02:00
Rubidium
8665404fe0
Codechange: use std::string instead of stredup for missing glyph error messages
2023-05-01 16:23:24 +02:00
Rubidium
a931378c52
Codechange: use std::string instead of stredup/free for ScanProgressWindow
2023-05-01 16:23:24 +02:00
Rubidium
aac95eeaf5
Codechange: use std::string instead of stredup/free for stories
2023-05-01 16:23:24 +02:00
Rubidium
3342967ad9
Codechange: use std::string instead of stredup/free for goals
2023-05-01 16:23:24 +02:00
PeterN
cc44aa7438
Change: Split Game options into General, Graphics and Sound tabs. ( #10674 )
2023-05-01 12:58:22 +01:00
PeterN
003bab3c8a
Change: Size space for editbox clear button by interface scale. ( #10749 )
2023-04-30 23:11:00 +01:00
translators
cf3cb8d2a5
Update: Translations from eints
...
english (au): 4 changes by krysclarke
vietnamese: 4 changes by KhoiCanDev
korean: 4 changes by telk5093
russian: 1 change by Ln-Wolf
2023-04-30 18:40:41 +00:00
Peter Nelson
a816dd1d48
Change: Remove {TINY_FONT} from cargo abbreviation strings for other translations.
2023-04-30 11:47:53 +01:00
Peter Nelson
310b3a67ad
Change: Remove {TINY_FONT} from cargo abbreviation strings for English.
2023-04-30 11:47:53 +01:00
Peter Nelson
0acc57583b
Fix: Force cargo abbreviation to small font in station list.
2023-04-30 11:47:53 +01:00
Peter Nelson
6be6703498
Fix: Linkgraph legend assumes strings are small.
...
Ensure all linkgraph legend strings are drawn with FS_SMALL forced, so
that it does not rely on NewGRF authors.
2023-04-30 11:47:53 +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
Tyler Trahan
ba3de0383a
Codechange: Pass more std::string to StringFilter::AddLine() ( #10743 )
2023-04-30 10:23:05 +02:00
Rubidium
ee9239d293
Fix c8299304: retain support ICU < 65
2023-04-30 00:42:15 +02:00
translators
de08e29cd9
Update: Translations from eints
...
english (us): 4 changes by 2TallTyler
2023-04-29 18:42:05 +00:00
Rubidium
ee8b1dfbc3
Fix 4dd5f994: hotkey parsing was broken
2023-04-29 14:56:41 +02:00
Rubidium
397221b94a
Codechange: Make ScenarioIdentifier use std::string for the filename
2023-04-29 13:23:34 +02:00
Rubidium
3a822fcd01
Codechange: Make FiosItem's name and title std::string
2023-04-29 13:23:34 +02:00
Rubidium
ee723f26ba
Codechange: Make FileToSaveLoad's title std::string and simplify assignments
2023-04-29 13:23:34 +02:00
Rubidium
f0a1ddd81c
Codechange: let FiosBrowseTo return a bool
2023-04-29 13:23:34 +02:00
Rubidium
c829930440
Codechange: replace strnatcmp with C++ string capable version
2023-04-29 12:07:45 +02:00
Rubidium
df19673fbd
Codechange: let convert_to_fs accept std::string
2023-04-29 12:07:45 +02:00
Rubidium
b5f96808a1
Fix: FormatArrayAsHex returns gibberish instead of a hex array
2023-04-29 11:07:57 +02:00
Kuhnovic
3991e76c96
Fix #8177 : Ships with max speed overflow to near-zero speed ( #10695 )
2023-04-29 09:33:01 +01:00
Rubidium
4dd5f994be
Codechange: replace strncasecmp with case ignoring variant of StrStarts/EndsWith
2023-04-29 10:25:25 +02:00
Rubidium
86786a7af6
Codechange: introduce StrEqualsIgnoreCase/StrCompareIgnoreCase to replace strcasecmp
2023-04-29 10:25:25 +02:00
Patric Stout
36a0818bc5
Remove: buying/selling/owning company shares ( #10709 )
2023-04-29 10:16:49 +02:00
Peter Nelson
1a24016964
Fix: Set TC_NO_SHADE only for shaded engine in purchase list.
...
Additionally use TC_FORCE to prevent additional colours in the shaded text.
2023-04-28 23:12:07 +01:00
Peter Nelson
23c46e1abf
Fix : #10735 : {POP_COLOUR} fails if string is drawn with extra flags.
2023-04-28 23:12:07 +01:00
translators
3ed8c35dfe
Update: Translations from eints
...
italian: 4 changes by Rivarossi
russian: 4 changes by Ln-Wolf
finnish: 4 changes by hpiirai
turkish: 4 changes by densxd
dutch: 6 changes by Afoklala
portuguese: 4 changes by azulcosta
2023-04-28 18:42:10 +00:00
Rubidium
b221fa3c5a
Codechange: use fmt::format_to instead of seprintf to create the search URL
2023-04-28 19:53:03 +02:00
Rubidium
6a8b4f3e10
Codechange: use fmt::format_to instead of seprintf to fill the PNG metadata
2023-04-28 19:53:03 +02:00
Rubidium
ef3beef7e9
Codechange: use fmt::format_to instead of seprintf to write the savegame info
2023-04-28 19:53:03 +02:00
Rubidium
33c4fbff8f
Codechange: use fmt::format_to instead of seprintf to fill load crash message
2023-04-28 19:53:03 +02:00
translators
d33993cca3
Update: Translations from eints
2023-04-27 18:39:56 +00:00
Patric Stout
f5fad88723
Change: base autosaves intervals on real time (instead of game time) ( #10655 )
...
There are two fundamental issues with autosave:
- When fast-forwarding, it saves way too often
- When paused, it never saves
Both makes no sense. Autosaves are meant to prevent you from
accidentally losing your work. The emphasis on "your" work.
To solve both issues, the autosave now works on real time. You
can select every 10 / 30 / 60 / 120 minutes, which are similar to
what the setting was in game-months.
When you pause, autosaving will stop. Unless you make any change
to the game; then it will continue to make autosaves, even so
the game is paused. Unpausing / pausing resets this mechanism.
2023-04-27 15:21:29 +00:00
PeterN
57f2d70fef
Change: Use cstdint instead of rolling our own types. ( #10651 )
2023-04-27 10:04:18 +02:00
Rubidium
9fe853f7b5
Codechange: use fmt::format instead of vseprintf for midi command formatting
2023-04-26 18:46:17 +02:00
Rubidium
c8ff6a9f7c
Codechange: replace str_fmt with std::string constructs
2023-04-26 18:46:17 +02:00
Rubidium
fce4b5ea69
Codechange: use Debug over printf for dedicated forking output
2023-04-26 18:46:17 +02:00
Rubidium
75cd790ab9
Codechange: use fmt::format for FormatHexNumber
2023-04-26 18:46:17 +02:00
Rubidium
630d3bc053
Codechange: use fmt::format instead of printf for the NewGRF profiler
2023-04-26 18:46:17 +02:00
Rubidium
3105d0b09e
Codechange: replace text-buf printf with fmt::format
2023-04-26 18:46:17 +02:00
Charles Pigott
80bd5ad727
Codechange: Use std::strto* variants everywhere ( #10720 )
2023-04-26 12:56:14 +01:00
Tyler Trahan
997c936893
Codechange: Don't use bytes for months in graph GUI
2023-04-26 07:14:03 -04:00
Tyler Trahan
930f0a16d8
Codechange: Define Date/Year/Month/Day within TimerGameCalendar class
2023-04-26 07:14:03 -04:00
Peter Nelson
20d2558f1b
Fix: Clear church/stadium flags when copying house substitute specs.
2023-04-26 06:46:07 +01:00
Peter Nelson
64782cf005
Fix #10627 : Houses subsitute specs should only be copied on first definition.
...
Before #10627 , substitue specs were always copied despite redefinition.
2023-04-26 06:46:07 +01:00
PeterN
7535eb65e2
Codechange: Use vector instead of mallloc/free for Action 6 data. ( #10713 )
2023-04-26 06:45:11 +01:00
PeterN
1697dff744
Change: Hide all variants from UI when (display) parent is hidden. ( #10708 )
2023-04-25 20:34:10 +01:00
translators
5794590b36
Update: Translations from eints
...
vietnamese: 1 change by KhoiCanDev
polish: 7 changes by pAter-exe
2023-04-25 18:41:18 +00:00
Rubidium
f74e26ca7e
Codechange: replace error/usererror printf variant with fmt variant and rename
2023-04-25 17:55:09 +02:00
Rubidium
43c65a3fec
Codechange: use std::string for base media filename/warning storage
2023-04-25 15:01:08 +02:00
Peter Nelson
b8f0513a72
Change: Draw and size video driver info like base set info.
...
This allows very long video driver information strings to wrap instead
of making the game options window very wide.
2023-04-25 13:27:22 +01:00
Peter Nelson
9aee502838
Change: Size Game Options description widgets after initial sizing.
...
Trying to update text widgets with free flowing multiline text during
UpdateWidgetSize(), as the final width is not yet known and so the
calculated height being incorrect, usually resulting in one or more
empty text lines.
The solution is to update the widget heights afterwards during
OnResize(), at which point the final widths are known. The window is
then resized if needed.
(Note this technique needs more attention if width can also change.)
2023-04-25 13:27:22 +01:00
Peter Nelson
e8df28d7f3
Add: parameter for ReInit() to reposition window to default.
2023-04-25 13:27:22 +01:00
Peter Nelson
55d981aec3
Add: Helper to update widget vertical size.
...
This avoids directly setting min_y outside widget code.
2023-04-25 13:27:22 +01:00
Tyler Trahan
6830e5f5f7
Cleanup: Don't use a magic number when closing processing industries ( #10710 )
2023-04-24 19:58:48 +00:00
Jonathan G Rennison
37392935dd
Fix #10707 : Incorrect type of days_in_transit in CargoPacket constructor ( #10715 )
2023-04-24 18:55:16 +00:00
translators
27e9a79988
Update: Translations from eints
...
finnish: 2 changes by hpiirai
portuguese: 1 change by azulcosta
2023-04-24 18:40:29 +00:00
Patric Stout
1c76e0904d
Codechange: revive STR_TINY_BLACK_COMMA from its coma ( #10714 )
2023-04-24 18:33:39 +00:00
Tyler Trahan
2f495c015a
Fix 7c6bf97: Don't change date and shift dates in the wrong order ( #10711 )
2023-04-24 17:33:03 +00:00
Patric Stout
31ad990831
Codechange: move tick-counter into TimerGameTick ( #10712 )
2023-04-24 16:55:40 +00:00
Patric Stout
7aa2b9ab0a
Codechange: move all date-related variables inside the timer ( #10706 )
2023-04-24 15:56:01 +00:00
Rubidium
f5f6306af3
Codechange: use string/fmt instead of printf for ShowInfo(F)
2023-04-24 17:51:54 +02:00
Rubidium
8f24901843
Codechange: replace printf with PRINTF macros by fmt::format for scripts
2023-04-24 17:51:25 +02:00
Rubidium
484883e6e1
Cleanup: remove (unused) Squirrel code that used a hack to work around printf safety
2023-04-24 17:51:25 +02:00
Rubidium
5733142b0d
Codechange: use string/fmt instead of printf for Squirrel's Raise_Error
2023-04-24 17:51:25 +02:00
Rubidium
8b93e45e22
Codechange: use string/fmt instead of printf for squirrel's PRINTFUNC
2023-04-24 17:51:25 +02:00
Peter Nelson
075671bcfc
Codechange: Rename DECLARE_ENUM_AS_BIT_SET parameter to enum_type.
...
It works on enums not masks.
2023-04-24 09:17:37 +01:00
Peter Nelson
9f26e74e1e
Codechange: Rename item_t to Item.
2023-04-24 09:17:37 +01:00
Peter Nelson
c3cea45ebc
Codechange: Rename height_t/amplitude_t to Height/Amplitude.
2023-04-24 09:17:37 +01:00
Peter Nelson
3f811246b1
Codechange: Rename control_point_t to ControlPoint.
...
The _t suffix is reserved by POSIX 1003.1.
2023-04-24 09:17:37 +01:00
Tyler Trahan
7c6bf977e0
Cleanup: Fix and add comments to date cheat callback ( #10699 )
2023-04-23 21:20:56 +02:00
translators
e9f6bbada2
Update: Translations from eints
...
english (au): 1 change by krysclarke
english (us): 1 change by 2TallTyler
galician: 36 changes by pvillaverde
korean: 14 changes by telk5093
italian: 1 change by Rivarossi
russian: 1 change by Ln-Wolf
turkish: 2 changes by densxd
2023-04-23 18:41:11 +00:00
PeterN
9910240f0e
Cleanup: Remove obsolete (Make)EnumPropsT. ( #10697 )
...
This was used by the command system to help extract p1/p2 parameters, which no longer happens.
2023-04-23 17:46:14 +01:00
Peter Nelson
370a8d77a4
Codechange: Use simple assignment to assign specs.
2023-04-23 15:58:27 +01:00
Peter Nelson
087654501b
Codechange: Initialise specs with std::fill/std::copy instead of memset/memcpy.
2023-04-23 15:58:27 +01:00
Peter Nelson
d0c71f2a9e
Codechange: Use reserve/emplace when initializing object definitions.
...
This avoids unnecessary initialization of objects.
2023-04-23 15:58:27 +01:00
Jonathan G Rennison
a967cc4de2
Fix: Violation of strict weak ordering in engine value/running cost sorter
2023-04-23 12:52:12 +01:00
Jonathan G Rennison
684c7bbc93
Fix: Violation of strict weak ordering in TownRatingSorter
...
If two unrated town names compare equal in TownNameSorter
2023-04-23 12:52:12 +01:00
translators
e437b8edae
Update: Translations from eints
...
english (au): 1 change by krysclarke
english (us): 1 change by 2TallTyler
vietnamese: 4 changes by KhoiCanDev
italian: 1 change by Rivarossi
russian: 1 change by Ln-Wolf
turkish: 1 change by EndChapter
portuguese: 1 change by azulcosta
2023-04-22 18:39:34 +00:00
Tyler Trahan
f45509848a
Fix #10289 : Don't silently fail when setting timetable start dates ( #10690 )
2023-04-21 22:36:06 +00:00
PeterN
018f0f63a6
Change: Centre company face in scaled widget. ( #10688 )
2023-04-21 19:54:04 +01:00
translators
6b077ce25c
Update: Translations from eints
...
english (us): 5 changes by 2TallTyler
vietnamese: 1 change by KhoiCanDev
russian: 1 change by Ln-Wolf
turkish: 33 changes by densxd
dutch: 5 changes by Afoklala
2023-04-21 18:42:16 +00:00
Tyler Trahan
ef60a93816
Fix #8302 : Improve "Maintenance intervals are in percents" helptext ( #10686 )
2023-04-21 18:00:41 +00:00
Tyler Trahan
394192dde8
Codechange: Refactor timetable GUI ( #10613 )
2023-04-21 16:31:26 +01:00
Rubidium
7b539fa7c9
Fix: fmt's {:#04X} yields '0X00', not '0x0000'
...
Technically the 0X vs 0x is not a big problem, just not pretty. However, the
length also including the 0x results in unexpected behaviour, so it probably
better to not use it.
2023-04-20 21:39:57 +02:00
PeterN
27b4b5d0a0
Codechange: Make GRF temporary engine data a vector. ( #10685 )
...
This replaces manual C-style realloc/memset/free.
2023-04-20 19:38:48 +00:00
translators
b56be83937
Update: Translations from eints
...
italian: 20 changes by Rivarossi
french: 5 changes by ZarTek-Creole
2023-04-20 18:42:29 +00:00
PeterN
d5f9e04a55
Change: Failure to load a savegame is critical. ( #10682 )
...
Marking the error message critical ensures it is queued if multiple errors occured.
2023-04-20 17:04:07 +01:00
aeonofdiscord
36f5fe19fe
Fix #10665 : CheckEngines should ignore wagons when determining available vehicles at the start date. ( #10673 )
2023-04-19 05:41:12 -04:00
Rubidium
7088f5b7c7
Codechange: use string/fmt instead of printf for grfmsg
2023-04-18 23:21:08 +02:00
Rubidium
dfe52da1ea
Codechange: use string/fmt instead of print for strgen warnings/errors/fatals
2023-04-18 23:20:53 +02:00
translators
1fd17148e1
Update: Translations from eints
...
english (au): 1 change by krysclarke
german: 1 change by SecretIdetity
russian: 1 change by Ln-Wolf
finnish: 5 changes by hpiirai
slovak: 15 changes by legitalk
portuguese: 1 change by azulcosta
2023-04-17 18:40:58 +00:00
SamuXarick
f8b5661d28
Change: Allow GS access to ScriptGroup functions
2023-04-17 17:59:16 +02:00
SamuXarick
f225f36c3d
Change: Allow GS access to ScriptGameSettings.IsDisabledVehicleType
2023-04-17 17:59:16 +02:00
SamuXarick
fd26a44c9e
Change: Allow GS access to more ScriptCompany functions
2023-04-17 17:59:16 +02:00
Andy
8b1960a41c
Change: Allow GS access to more ScriptOrder functions
2023-04-17 17:59:16 +02:00
PeterN
db573c8742
Fix #10660 : Sprite Font scale affected by viewport zoom level limits. ( #10668 )
2023-04-17 00:14:03 +02:00
Charles Pigott
e20a6f8ebb
Codechange: Optimise FormatNumber by removing seprintf calls ( #10659 )
2023-04-17 00:04:24 +02:00
Andy
15c3bc456f
Change: extend callback 161 (engine name) with bit 0x22 for context 'Autoreplace - Vehicles in use' ( #10666 )
2023-04-17 00:02:32 +02:00
PeterN
d949cfab24
Codechange: Use std:: features for NewGRF town names ( #10631 )
...
This removes manual memory (de-)allocation and list counting.
2023-04-16 21:24:54 +01:00
Rubidium
4491e45f3c
Update: change {STRING} to {ZEROFILL_NUM} for STR_FORMAT_DATE_TINY/ISO
2023-04-16 21:06:20 +02:00
Rubidium
29b09523d1
Codechange: Use {ZEROFILL_NUM} instead of custom seprintf + {RAW_STRING}
2023-04-16 21:06:20 +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
translators
32c8e7feb8
Update: Translations from eints
...
english (au): 4 changes by krysclarke
vietnamese: 31 changes by KhoiCanDev
russian: 4 changes by Ln-Wolf
portuguese: 4 changes by azulcosta
2023-04-16 18:40:39 +00:00
Patric Stout
ed83c4b0da
Change: replace per-AI "start_date" with a global "competitors_interval" ( #10653 )
...
The per-AI "start_date" is a lot of custom code, and was rarely
used in the way it was meant.
While at it, also ported this part over to the new timer system.
2023-04-16 20:14:22 +02:00
Rubidium
43a7e54067
Add: unit test functionality using catch2
2023-04-16 18:58:21 +02:00
Rubidium
88ead3f102
Add: catch2 v2.13.10
2023-04-16 18:58:21 +02:00
Rubidium
9b56505fec
Codechange: split building into a library and executable
2023-04-16 18:58:21 +02:00
Rubidium
9e89eb5726
Codechange: move main function(s) to separate files
2023-04-16 18:58:21 +02:00
Peter Nelson
7b0797d1cd
Codechange: Use unique ptrs for NewGRF specs.
2023-04-16 15:09:10 +01:00
Peter Nelson
ef6b307465
Change: Use std::vector for NewGRF spec tables.
...
Pointer space is allocated only for the number of IDs used, instead of
the max number of IDs for each feature.
2023-04-16 15:09:10 +01:00
Peter Nelson
15e6fc4eeb
Codechange: Use iterator when mapping sprite groups.
2023-04-16 15:09:10 +01:00
Tyler Trahan
bc44158f9a
Change: Allow overbuilding station and waypoint tiles ( #10618 )
2023-04-16 09:05:04 +02:00
translators
27b40da06a
Update: Translations from eints
...
catalan: 14 changes by J0anJosep
portuguese: 20 changes by azulcosta
portuguese (brazilian): 15 changes by ericandradex
2023-04-15 18:39:48 +00:00
Charles Pigott
6fc28d649e
Cleanup: Unused alloca definitions and includes
2023-04-15 16:57:00 +01:00
Charles Pigott
b282664242
Codechange: Replace all usages of alloca/AllocaM with more modern/less discouraged alternatives
2023-04-15 16:57:00 +01:00
rubidium42
b19f42ecd9
Codechange: Replace some p1/p2 parameter names with better names ( #10658 )
2023-04-15 15:11:41 +02:00
Patric Stout
387d5eb74f
Codechange: validate the developer didn't schedule two timers on the same trigger/priority
2023-04-15 13:58:55 +02:00
Patric Stout
3ebc7ad16e
Codechange: migrate all game-time-related timers to the new framework
2023-04-15 13:58:55 +02: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
Patric Stout
5e1bcee39b
Codechange: introduce a framework for all our timers
...
IntervalTimer and TimeoutTimer use RAII, and can be used to replace
all the time-based timeouts, lag-detection, "execute every N" we
have.
As it uses RAII, you can safely use it as static variable, class
member, temporary variable, etc. As soon as it goes out-of-scope,
it will be safely removed.
This allows for much easier to read code when it comes to intervals.
2023-04-15 13:58:55 +02:00
rubidium42
730687080a
Fix: Update some network documentation to match the new command system ( #10657 )
2023-04-15 09:10:09 +00:00
Tyler Trahan
646a7e625b
Change: Use seconds for Linkgraph update settings ( #10610 )
2023-04-14 22:49:12 +02:00
translators
0e915c830c
Update: Translations from eints
...
dutch: 15 changes by Afoklala
2023-04-14 18:39:51 +00:00
Tyler Trahan
8e04cba0c3
Change: Make tick length 27 milliseconds ( #10607 )
...
This makes a month last about 60 seconds, allowing the use of real-time units in game.
Co-authored-by: Niels Martin Hansen <nielsm@indvikleren.dk>
2023-04-14 14:50:19 +01: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
Peter Nelson
5bc9d00735
Cleanup: Let GetStringBoundingBox deal with buffer.
2023-04-13 20:57:47 +01:00
Peter Nelson
701092003d
Fix: DropDownListColourItem didn't provide width nor scale vertical padding.
2023-04-13 20:57:47 +01:00
Jonathan G Rennison
bb988f940e
Fix #10638 : Incorrect water infra total when building canal over object
...
In the case where the object is on an unowned canal tile and
the new canal tile is owned
2023-04-13 21:34:36 +02:00
translators
d04aae8428
Update: Translations from eints
...
danish: 18 changes by bscargo
2023-04-13 18:40:16 +00:00
PeterN
ff55bfb787
Fix #10343 : Don't extend town-disallowed roadtypes. ( #10347 )
...
Towns currently don't build disallowed roadtypes, however they should
also not extend disallowed roadtypes as well.
If the roadtype that cannot be extended happens to be the roadtype that
the town was going to build then this restriction is ignored.
2023-04-12 22:30:03 +01:00
PeterN
5f99c8c4aa
Fix: Extra viewport cannot be scrolled with right-click-close. ( #10644 )
2023-04-12 19:14:48 +00:00
Tyler Trahan
97cfd40649
Fix #10630 : Don't allow shifting service date earlier than 0 ( #10643 )
2023-04-12 18:52:37 +00:00
translators
a0d8545f6c
Update: Translations from eints
...
french: 15 changes by glx22
2023-04-12 18:42:18 +00:00
Peter Nelson
06b78a7299
Fix: Don't double-pad existing size when adding widget padding.
...
UpdateWidgetSize's size parameter already includes padding.
2023-04-12 18:43:15 +01:00
Peter Nelson
d93f96a442
Fix: Account for extra dropdown list padding.
2023-04-12 18:43:15 +01:00
Jonathan G Rennison
e17420777a
Fix #10637 : Incorrect water infra total when building multi-tile object
...
Wrong tile used in ownership checks
2023-04-12 16:50:45 +02:00
PeterN
3b2eb11fe8
Codechange: Use cached name for all station/industry/town name formatting. ( #10634 )
...
This reuses an existing name caching mechanism to avoid "recalculating" names every time.
2023-04-11 22:50:22 +02:00
translators
d7f0c5d6d8
Update: Translations from eints
...
russian: 3 changes by Ln-Wolf
finnish: 7 changes by hpiirai
polish: 17 changes by pAter-exe
2023-04-11 18:42:26 +00:00
translators
9e69556e2f
Update: Translations from eints
...
english (au): 13 changes by krysclarke
english (us): 15 changes by 2TallTyler
russian: 12 changes by Ln-Wolf
2023-04-10 18:39:57 +00:00
PeterN
ce046f6d17
Fix: Abort loading savegame if road vehicle is on invalid road type. ( #10622 )
...
This can happen if NewGRFs are missing so that engine or road type definitions are wrong.
2023-04-10 19:23:18 +01:00
Charles Pigott
ce24709576
Add: Some additional debugging information when chunk sizes are incorrect
2023-04-10 18:58:48 +01:00
Charles Pigott
8aea13a85b
Codechange: Use fmt for SlErrorCorruptFmt
2023-04-10 18:58:48 +01:00
PeterN
246ba6f00a
Fix 8361cf5a73: Missing bounds check for house specs. ( #10625 )
2023-04-10 15:00:34 +00:00
dP
e2f1cd44dc
Change: Increase max cargo age and let min cargo payment approach zero. ( #10596 )
...
Co-authored-by: Michael Lutz <michi@icosahedron.de>
2023-04-10 12:34:28 +02:00
translators
58e629ca84
Update: Translations from eints
...
korean: 8 changes by telk5093
russian: 7 changes by Ln-Wolf
finnish: 8 changes by hpiirai
2023-04-09 18:39:31 +00:00
PeterN
078e27bd84
Fix #10619 : Crash loading linkgraph for older savegames. ( #10620 )
2023-04-09 19:28:55 +01:00
Rubidium
c6ff7dad68
Add: compile time "unit tests" for GetPartialZ consistent
2023-04-09 19:00:26 +02:00
Rubidium
41ef7c88af
Codechange: make a numer of Slope related functions constexpr
2023-04-09 19:00:26 +02:00
Rubidium
9d2a0f3d0b
Change: make GetPartialZ consistent, meaning Z of adjacent slopes continue
...
Previously, on a straight line of a one corner up slope with the adjacent
steep sloop the Z would increase one step every two sub pixels, except for one
case where one sub pixel is skipped. Similarly, a steep slope with two
adjacent one corner up slopes, would have a bump in the height line along the
diagonal whenever it enters/leaves the steep slope tile.
2023-04-09 19:00:26 +02:00
Rubidium
1fcd69096c
Fix: do not update a RV's Z-position when stationary while turning
...
When the direction of a RV changes the Z-position update logic was called,
which did nothing to the Z-position because that is only changed every other
step. By chance/luck this never triggered with RV's turning around, until
making the partial Z calculations consistent and moving the locations where
the Z-position is changed, causing the Z-position to be changed twice for
the RV that stayed at the same location.
2023-04-09 19:00:26 +02:00
Rubidium
e8af8daa68
Codechange: pass "ground vehicle" to GetTileSlopeZ since for tunnel/bridges there are two states
...
Previously it checked the position in non-driving direction to "guess" whether
a ground vehicle was using the function, so on tunnels/bridges it could either
return the Z of the (virtual) ground compared to the Z of the path the vehicle
would take.
2023-04-09 19:00:26 +02:00
Alberth289346
1321e48465
Fix: Update top toolbar tooltips for added features. ( #10616 )
2023-04-09 13:52:04 +02:00
Tyler Trahan
97bdf99239
Codechange: Add a property to graph windows for whether to draw dates ( #10608 )
2023-04-08 19:10:17 +00:00
translators
39c6b3def1
Update: Translations from eints
...
english (au): 2 changes by krysclarke
russian: 2 changes by Ln-Wolf
2023-04-08 18:46:15 +00:00
Tyler Trahan
0de5eb53fa
Codechange: Use constants for service interval max/min/default values ( #10611 )
2023-04-08 18:04:30 +00:00
Tyler Trahan
1691640603
Fix: Specify units for value of share trading age setting ( #10612 )
2023-04-08 17:51:52 +00:00
PeterN
f1144de509
Feature: Separate rail/road and sea/air velocity units, and add knots. ( #10594 )
...
This is achieved by packing vehicle type along with the velocity so that
the string system can decode and pick the appropriate unit.
2023-04-08 12:26:13 -04:00
glx22
3a48d6e60f
Fix 991a797: [Script] Allow STRINGN consumption to be different than expected
2023-04-08 00:14:12 +02:00
Jonathan G Rennison
43cea852a6
Fix 41b414b: Validate RAW_STRING parameter values in game_script mode
2023-04-08 00:14:12 +02:00
Peter Nelson
47e12a8790
Codechange: Check that CompanyMask fits into 16 bits during compilation.
2023-04-07 22:09:55 +01:00
Peter Nelson
5199881a8d
Codechange: Use correct type for linkgraph company mask.
2023-04-07 22:09:55 +01:00
Peter Nelson
65e0b0dcb7
Codechange: Be consistent with how company masks are set to all.
2023-04-07 22:09:55 +01:00
Peter Nelson
08977828cc
Fix: Check ID for name is within bounds.
2023-04-07 22:09:28 +01:00
Peter Nelson
cd6c04a663
Fix: Check station ID is within bounds when copying layouts.
2023-04-07 22:09:28 +01:00
Peter Nelson
8361cf5a73
Fix: Check sprite group mapping ID is within bounds of feature.
2023-04-07 22:09:28 +01:00
Peter Nelson
96f4eb3681
Codechange: Check NewGRF feature is defined before processing any sprite group mapping.
...
Previously this was checked after loading ids, or repeatedly checked for
each item.
2023-04-07 22:09:28 +01:00
Peter Nelson
04215afe3f
Codechange: Replace roadstop spec limit magic number with constant.
2023-04-07 22:09:28 +01:00
translators
9246789fd3
Update: Translations from eints
...
spanish (mexican): 2 changes by GNosii
vietnamese: 2 changes by KhoiCanDev
czech: 1 change by jachymozo
romanian: 10 changes by bnegrut
danish: 3 changes by bscargo
2023-04-07 18:39:12 +00: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
Peter Nelson
82c70ed3b8
Change: Expose ObjectSpec vector to simplify iteration.
2023-04-02 22:42:38 +01:00
Peter Nelson
1f46f080f0
Codechange: Store objectspecs in std::vector instead of flat array.
2023-04-02 22:42:38 +01:00
Peter Nelson
93197f58b7
Codechange: Bind objectspecs to classes once all finalised.
2023-04-02 22:42:38 +01:00
Peter Nelson
02961fd7af
Codechange: Use std::vector for NewGRF class lists.
2023-04-02 22:42:38 +01:00
PeterN
73474b08fe
Fix: Clicking on editbox clear button didn't take account of padding. ( #10583 )
2023-03-31 16:07:15 +01:00
PeterN
c1077212d7
Codechange: Use a shared_ptr for viewport overlay. ( #10586 )
2023-03-31 16:06:36 +01:00
translators
c905824248
Update: Translations from eints
...
chinese (traditional): 14 changes by inAndyPao
danish: 1 change by bscargo
2023-03-28 18:43:33 +00:00
Loïc Guilloux
9642e87bc8
Fix: [Script] Access to enum/consts defined outside of main.nut ( #10573 )
2023-03-25 23:07:47 +01:00
Tyler Trahan
0bf6f82305
Cleanup: Don't mix switches and early returns in widget selection
2023-03-25 18:03:16 -04:00
Tyler Trahan
066ae6f3fb
Codechange: Simplify some CodeQL-flagged trivial switches
2023-03-25 18:03:16 -04:00
translators
a15e584e40
Update: Translations from eints
...
japanese: 27 changes by fmang
chinese (simplified): 12 changes by XiaoJi-Game
2023-03-25 18:41:51 +00:00
translators
24e9af83aa
Update: Translations from eints
...
japanese: 22 changes by fmang
2023-03-24 18:44:41 +00:00
translators
83eb73a9b2
Update: Translations from eints
...
japanese: 12 changes by fmang
2023-03-23 18:42:29 +00:00
translators
1d915214a1
Update: Translations from eints
...
japanese: 31 changes by fmang
2023-03-21 18:42:37 +00:00
translators
d15a14bd9e
Update: Translations from eints
...
japanese: 32 changes by fmang
danish: 7 changes by bscargo
2023-03-20 18:45:00 +00:00
Tyler Trahan
e5438891e2
Cleanup: Keep spacing saveload versions by groups of five ( #10576 )
2023-03-19 11:02:54 -04:00
translators
1424b7b49e
Update: Translations from eints
...
french: 14 changes by ZarTek-Creole
2023-03-18 18:42:21 +00:00
translators
3254d65b3e
Update: Translations from eints
...
swedish: 17 changes by joeax910
czech: 13 changes by jachymozo
danish: 3 changes by bscargo
2023-03-17 18:43:43 +00:00
translators
0bf6d80cd7
Update: Translations from eints
...
danish: 161 changes by bscargo
2023-03-16 18:45:39 +00:00
Rubidium
24b5033a06
Fix #10568 : "can savegame be loaded check" failed in dedicated server
...
* If loading fails, it usually returns SL_REINIT which doesn't trigger check
* If savegame has NewGRFs, it complains NewGRFs are not allowed in intro game
2023-03-15 22:14:29 +01:00
translators
be69aa6257
Update: Translations from eints
...
vietnamese: 1 change by KhoiCanDev
korean: 3 changes by telk5093
german: 30 changes by Wuzzy2
slovak: 14 changes by legitalk
dutch: 12 changes by Afoklala
2023-03-11 18:41:57 +00:00
Peter Nelson
e999aa2923
Fix: Don't (briefly) switch from title-only playlist on menu screen.
...
Switching playlist while on the menu screen now only changes the playlist
that will be used when out of the menu screen.
2023-03-09 20:35:24 +00:00
Peter Nelson
3b90b85439
Change: Allow jukebox lists to fill window width.
2023-03-09 20:35:24 +00:00
Peter Nelson
0c4e2ce114
Change: Resize jukebox when changing music set.
2023-03-09 20:35:24 +00:00
Peter Nelson
1ec34acb51
Fix: Truncated music-set song names cause warning log.
...
The music-set does not need to be selected for this to occur.
Resolved by using std::string instead of fixed buffer for song names,
which avoids manual string copying and removes the length limit.
2023-03-09 20:35:24 +00:00
PeterN
2d3250923c
Fix #10554 : Let Scrollbar::SetPosition clamp instead of assert. ( #10555 )
2023-03-09 10:19:58 -05:00
Rubidium
1e4a89177e
Fix: crashes to desktop from game scripts when companies disappear
...
When a game script is in company mode, it pretends to be another company. When
that company disappear (bankruptcy/merger), the game script still uses that
company and it keeps calling functions as if it is that company.
For example, ScriptEngine::IsBuildable internally dereferences Company without
checks, causing a null dereference for any ScriptEngine function when called
from a company scope of a company that has disappeared.
Guard against this by extending the ScriptCompanyScope::IsValid check to also
check for the company still being active.
2023-03-08 22:33:47 +01:00
Rubidium
717f79ff22
Add: deity mode enforcement checks to functions with command or company access
...
Command functions are those that call ScriptObject::Command, and functions
with company access are any that call ScriptObject::GetCompany. This is a bit
over-protective, but having the check everywhere makes it easier to validate
that no check is missing automatically instead of by review.
2023-03-08 22:33:47 +01:00
Rubidium
8d443d1379
Add: company mode enforcement checks to functions with command or company access
...
Command functions are those that call ScriptObject::Command, and functions
with company access are any that call ScriptObject::GetCompany. This is a bit
over-protective, but having the check everywhere makes it easier to validate
that no check is missing automatically instead of by review.
2023-03-08 22:33:47 +01:00
Rubidium
534f2419ad
Add: precondition checks to functions that work with both valid company and deity
...
These are functions that either use ScriptObject::Command or ScriptObject::GetCompany.
This is a bit over-protective, but having the check everywhere makes it easier to
validate that no check is missing automatically instead of by review.
At this moment these checks will not do anything useful, as either IsValid or
IsDeity from ScriptCompanyMode returns true, but that will change later.
2023-03-08 22:33:47 +01:00
Rubidium
a79f97c022
Change: upon an invalid company mode, set ERR_PRECONDITION_INVALID_COMPANY instead of ERR_PRECONDITION_INVALID
2023-03-08 22:33:47 +01:00
Joan Josep
d80f193e74
Fix: Improve grfmessage for ShipVehicleChangeInfo. ( #10558 )
2023-03-08 20:59:01 +00:00
translators
4af7f3e645
Update: Translations from eints
...
catalan: 13 changes by J0anJosep
2023-03-08 18:48:34 +00:00
Jonathan G Rennison
c74dfe393f
Fix #10556 : Duplication of road infrastructure count updates ( #10557 )
...
When building a road stop
2023-03-08 18:38:19 +00:00
Rubidium
3287acd114
Fix 13528bfcd0: bank balance command allows int64, GS was limited to int32
2023-03-07 23:20:04 +01:00
Peter Nelson
b6609d1833
Fix: Network server highlight invisible with RTL layout.
2023-03-07 22:05:22 +00:00
translators
df2b66ad5d
Update: Translations from eints
...
english (au): 14 changes by krysclarke
romanian: 3 changes by bnegrut
finnish: 10 changes by hpiirai
2023-03-07 18:49:32 +00:00
Rubidium
83946ca31d
Codechange: use GSCompanyMode::IsValid, IsDeity, and the precondition helpers
...
Direct 1:1 replacements in the code, and comments now refer to either
GSCompanyMode::IsValid or GSCompanyMode::IsDeity instead of several variations
on "company mode active" or "no company mode active".
2023-03-06 22:34:09 +01:00
Rubidium
cada2ca310
Add: GSCompanyMode::IsValid and IsDeity, and precondition enforcement helpers
2023-03-06 22:34:09 +01:00
translators
665a73b3c7
Update: Translations from eints
...
english (us): 12 changes by 2TallTyler
korean: 14 changes by telk5093
portuguese: 12 changes by azulcosta
polish: 16 changes by pAter-exe
2023-03-06 18:49:27 +00:00
glx22
ca149447d7
Codechange: Use SQInteger for generic numbers in script_window
2023-03-06 00:32:12 +01:00
glx22
f752d96125
Codechange: Use SQInteger for generic numbers in script_vehicle
2023-03-06 00:32:12 +01:00
glx22
4e48bf2e16
Codechange: Use SQInteger for generic numbers in script_town
2023-03-06 00:32:12 +01:00
glx22
18fe0a4046
Codechange: Use SQInteger for generic numbers in script_tilelist
2023-03-06 00:32:12 +01:00
glx22
cada18a6f8
Codechange: Use SQInteger for generic numbers in script_tile
2023-03-06 00:32:12 +01:00
glx22
07b73a8c02
Codechange: Use SQInteger for generic numbers in script_subsidy
2023-03-06 00:32:12 +01:00
glx22
cd80b31d19
Codechange: Use SQInteger for generic numbers in script_storypage
2023-03-06 00:32:12 +01:00
glx22
a9a55f2153
Codechange: Use SQInteger for generic numbers in script_station
2023-03-06 00:32:12 +01:00
glx22
446ebaa6b9
Codechange: Use SQInteger for generic numbers in script_road
2023-03-06 00:32:12 +01:00
glx22
4f6a2f31b5
Codechange: Use SQInteger for generic numbers in script_rail
2023-03-06 00:32:12 +01:00
glx22
cb2e76aae3
Codechange: Use SQInteger for generic numbers in script_priorityqueue
2023-03-06 00:32:12 +01:00
glx22
777b4d0987
Codechange: Use SQInteger for generic numbers in script_order
2023-03-06 00:32:12 +01:00
glx22
49ea69fdef
Codechange: Use SQInteger for generic numbers in script_objecttype
2023-03-06 00:32:12 +01:00
glx22
0293fd41e5
Codechange: Use SQInteger for generic numbers in script_news
2023-03-06 00:32:12 +01:00
glx22
f22903ab14
Codechange: Use SQInteger for generic numbers in script_newgrf
2023-03-06 00:32:12 +01:00
glx22
ca67075397
Codechange: Use SQInteger for generic numbers in script_map
2023-03-06 00:32:12 +01:00
glx22
a225fda9fe
Codechange: Use SQInteger for generic numbers in script_list
2023-03-06 00:32:12 +01:00
glx22
74ab9ee9dd
Codechange: Use SQInteger for generic numbers in script_league
2023-03-06 00:32:12 +01:00
glx22
367b2ba6d1
Codechange: Use SQInteger for generic numbers in script_infrastructure
2023-03-06 00:32:12 +01:00
glx22
5eaf9d39bf
Codechange: Use SQInteger for generic numbers in script_industrytype
2023-03-06 00:32:12 +01:00
glx22
6671994655
Codechange: Use SQInteger for generic numbers in script_industry
2023-03-06 00:32:12 +01:00
glx22
8eb35633ec
Codechange: Use SQInteger for generic numbers in script_group
2023-03-06 00:32:12 +01:00
glx22
6ca8499e6a
Codechange: Use SQInteger for generic numbers in script_goal
2023-03-06 00:32:12 +01:00
glx22
e784915b27
Codechange: Use SQInteger for generic numbers in script_gamesettings
2023-03-06 00:32:12 +01:00
glx22
6b8b4c392f
Codechange: Use SQInteger for generic numbers in script_engine
2023-03-06 00:32:12 +01:00
glx22
2f40bf8097
Codechange: Use SQInteger for generic numbers in script_date
2023-03-06 00:32:12 +01:00
glx22
424ae74504
Codechange: Use SQInteger for generic numbers in script_companymode
2023-03-06 00:32:12 +01:00
glx22
89c0841d0a
Codechange: Use SQInteger for generic numbers in script_company
2023-03-06 00:32:12 +01:00
glx22
7727323dbe
Codechange: Use SQInteger for generic numbers in script_cargomonitor
2023-03-06 00:32:12 +01:00
glx22
40424601c6
Codechange: Use SQInteger for generic numbers in script_cargo
2023-03-06 00:32:12 +01:00
glx22
83826b1793
Codechange: Use SQInteger for generic numbers in script_bridgelist
2023-03-06 00:32:12 +01:00
glx22
58bf2f7176
Codechange: Use SQInteger for generic numbers in script_bridge
2023-03-06 00:32:12 +01:00
glx22
73561802cb
Codechange: Use SQInteger for generic numbers in script_airport
2023-03-06 00:32:12 +01:00
glx22
b6f3552e4b
Fix: [Script] Inconsistent precondition failure return values
2023-03-06 00:32:12 +01:00
glx22
e06a666fa2
Fix: remove ScriptController constructor from API documentation
2023-03-06 00:32:12 +01:00
glx22
67a4c5e0db
Codechange: Use {fmt} for script_admin JSON generation
2023-03-06 00:32:12 +01:00
glx22
ce8cde3b8d
Fix: [Script] Detect circular references in ScriptText
2023-03-05 22:24:08 +01:00
glx22
9a957f1d4b
Change: [Script] Improve ScriptText validation error messages
2023-03-05 22:24:08 +01:00
Rubidium
8fa61533f0
Fix 30ae072: when a road type is hidden, towns may not build them even when that flag is set
2023-03-05 22:01:54 +01:00
translators
e60632bce6
Update: Translations from eints
...
italian: 12 changes by Rivarossi
russian: 14 changes by Ln-Wolf
finnish: 2 changes by hpiirai
portuguese (brazilian): 14 changes by ericandradex
2023-03-05 18:44:04 +00:00
Rubidium
30ae07269d
Fix: game scripts must not build with non-existing road types
2023-03-05 07:17:38 +01:00
dP
01ebfad809
Fix 3719f60: Crash when copying non-station orders ( #10540 )
2023-03-04 22:52:30 +00:00
translators
16a7bc54b3
Update: Translations from eints
...
finnish: 2 changes by hpiirai
catalan: 2 changes by J0anJosep
2023-03-04 18:44:24 +00:00
Jonathan G Rennison
87f4d37de3
Fix #10522 : Link graph line tooltip test for vertical lines ( #10524 )
2023-03-03 17:37:17 -05:00
Tyler Trahan
3719f60de0
Add: Use specific error message when vehicle cannot go to station/waypoint
2023-03-03 17:11:14 -05:00
Tyler Trahan
44848f4edf
Add: CommandCost supports an optional second error string
2023-03-03 17:11:14 -05:00
dP
e3169c73bd
Fix: Restore using founder client name as company manager name ( #10535 )
2023-03-03 16:04:02 -05:00
translators
ec8b2836df
Update: Translations from eints
...
english (us): 2 changes by 2TallTyler
dutch: 2 changes by Afoklala
polish: 3 changes by pAter-exe
2023-03-03 18:44:33 +00:00
translators
58aa769282
Update: Translations from eints
...
vietnamese: 2 changes by KhoiCanDev
italian: 2 changes by Rivarossi
russian: 2 changes by Ln-Wolf
turkish: 3 changes by EndChapter
portuguese: 2 changes by azulcosta
2023-03-02 18:50:41 +00:00
Loïc Guilloux
2a2e51765a
Cleanup 54db96b: Left-over function declaration ( #10528 )
2023-03-01 23:53:50 +01:00
translators
9bdcbc5af7
Update: Translations from eints
...
french: 3 changes by glx22
2023-03-01 18:47:27 +00:00
Jonathan G Rennison
0e4b716815
Fix: O(N^2) cost of Station::RecomputeCatchmentForAll
...
Station::RemoveFromAllNearbyLists does not need to be called when
all station nearby lists have been cleared and are being regenerated.
2023-03-01 16:54:57 +01:00
Jonathan G Rennison
5d0ad5625b
Fix : [NewGRF] Object and road stop ignore property handlers ( #10525 )
...
* Fix: IgnoreObjectProperty did not handle object property 0x18
* Fix: IgnoreRoadStopProperty did not handle properties 0x0E - 0x12, 0x15
2023-03-01 01:19:39 +01:00
Zachary
e17c82e32b
Add: maximum number of companies allowed to the client list
2023-02-28 20:52:46 +01:00
translators
6f9b3fa964
Update: Translations from eints
...
chinese (traditional): 7 changes by inAndyPao
2023-02-28 18:45:57 +00:00
glx22
41b414bc1c
Change: [Script] Restore support of {RAW_STRING} in ScriptText
2023-02-28 18:53:17 +01:00
glx22
991a797e09
Change: [Script] Validate ScriptText parameters type and amount
2023-02-28 18:53:17 +01:00
Rubidium
728973859d
Change: [Script] Automate the ScriptObject reference counting
2023-02-28 18:53:17 +01:00
glx22
a1fc4d5c0e
Codechange: [Script] Merge the 3 ScriptText param arrays
2023-02-28 18:53:17 +01:00
glx22
af15dca316
Change: [Script] Extract params info from GS strings
2023-02-28 18:53:17 +01:00
Tyler Trahan
6e52ceab96
Feature: Industry directory text filter ( #10518 )
2023-02-28 12:20:41 -05:00
Rubidium
1eefe1c3a0
Codechange: hide Tile(Extended) into the Tile structure
2023-02-28 07:11:48 +01:00
Rubidium
580d0a6343
Codechange: make use of Tile in for all direct map accesses
2023-02-28 07:11:48 +01:00
Rubidium
7a6452d3ef
Codechange: introduce Tile class for accessing map data of a single tile
2023-02-28 07:11:48 +01:00
Rubidium
7a1816a6cd
Codechange: rename Tile to TileBase to be able to introduce a new Tile class
2023-02-28 07:11:48 +01:00
Rubidium
0fb0469e47
Codechange: introduce iterator to iterate over the Tiles of a Map
...
Note: this version is using TileIndex, but that changes later
2023-02-28 07:11:48 +01:00
Chenshu Yu
eabb9db0bb
Fix #9810 : 'Rebuilding' a through road stop costs money ( #9852 )
2023-02-27 08:59:42 +00:00
dP
b0542c8c49
Codechange: Don't store tree counter in the map array ( #10018 )
2023-02-26 16:39:44 -05:00
SamuXarick
6eabbaa751
Fix #10469 , 5e14a20: [Script] League Table rating element is a int64 everywhere else
2023-02-26 22:25:13 +01:00
Michael Lutz
aab580e0ac
Codechange: [Linkgraph] Drop node/edge wrappers from LinkGraph.
2023-02-26 21:41:24 +01:00
Michael Lutz
4d3da0cf14
Codechange: [Linkgraph] Drop node/edge wrappers from LinkGraphJob.
2023-02-26 21:41:24 +01:00
Michael Lutz
7352f812e6
Codechange: [Linkgraph] Only store present link graph edges and not all possible edges.
2023-02-26 21:41:24 +01:00
Michael Lutz
178249e7cc
Codechange: Saveload macros for entries with a custom table name.
2023-02-26 21:41:24 +01:00
Michael Lutz
8f851ead70
Codechange: [Linkgraph] Split annotation for demand between nodes from the edge annotations.
2023-02-26 21:41:24 +01:00
Michael Lutz
564de01d66
Remove: SmallMatrix be gone.
2023-02-26 21:41:24 +01:00
Michael Lutz
fe27db3dfd
Codechange: [Linkgraph] Store edges in each node and not in a global matrix.
2023-02-26 21:41:24 +01:00
Niels Martin Hansen
2fee8ecdda
Add #7525 : Allow autoreplace with same model vehicle
2023-02-26 21:29:25 +01:00
Jonathan G Rennison
4c1406a4b5
Add: NewGRF road stops
2023-02-26 21:28:30 +01:00
Tyler Trahan
a18182e24b
Revert 92c7551: Line drawing algorithm fix broke other cases ( #10497 )
...
This reverts commit 92c755161d
.
2023-02-26 19:23:31 +00:00
translators
07fbd19da3
Update: Translations from eints
...
luxembourgish: 8 changes by phreeze83
2023-02-26 18:45:57 +00:00
Rubidium
947a789bf6
Codechange: split large function into smaller steps and simplify logic
2023-02-25 23:57:36 +01:00
Rubidium
8cbf1be9d6
Codechange: split large function into smaller functions with self-explanatory names
2023-02-25 23:57:36 +01:00
Rubidium
a409e4b026
Add: documention to large functions that have too little documentation according to CodeQL
2023-02-25 23:57:36 +01:00
translators
2561fad5d4
Update: Translations from eints
...
romanian: 1 change by bnegrut
2023-02-25 18:45:15 +00:00
dP
c73b88ddca
Fix: Don't send unused tile field over the network ( #10507 )
2023-02-24 22:50:11 +01:00
Michael Lutz
9b3326e3fd
Codechange: [Script] Use std::vector instead of a hand-rolled alternative.
2023-02-24 21:46:27 +01:00
Michael Lutz
ca3cb4d2ef
Codechange: [Script] Use a class template instead of a function template for squirrel type conversion.
...
Class templates allow using partial template specialization, which is useful in
case one wants to have a type conversion on a type that is itself templated.
2023-02-24 21:46:27 +01:00
translators
187d330177
Update: Translations from eints
...
spanish (mexican): 1 change by GNosii
2023-02-24 18:48:34 +00:00
SamuXarick
b52b29b1a4
Change: Avoid crashing to the side of a train
...
When a road vehicle is already running on a multi level crossing, and a train shows up ahead, don't make the road vehicle crash on the side of the train.
2023-02-22 20:09:02 +01:00
SamuXarick
8351b97f52
Add: [Script] Labels for negative values of a setting
2023-02-21 00:28:21 +01:00
SamuXarick
376820c0b6
Doc: [Script] Update info descriptions
2023-02-21 00:28:21 +01:00
SamuXarick
bb2ac8b3c4
Fix: [Script] Save config item values up to 10 digits + 1 for sign + 1 for termination, enough to fit min and max int
2023-02-21 00:28:21 +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
SamuXarick
7b1fd3e37f
Fix #10059 : [Script] Clamp config item values to int32
...
Also prevent random_deviation to be below 0.
2023-02-21 00:28:21 +01:00
Nik Nyby
92c755161d
Fix #10222 : Adjust line drawing algorithm ( #10491 )
2023-02-20 16:18:25 -05:00
translators
8778949b6a
Update: Translations from eints
...
english (us): 1 change by nikolas
galician: 18 changes by pvillaverde
2023-02-20 18:47:32 +00:00
translators
9ade3345f7
Update: Translations from eints
...
english (us): 3 changes by nikolas
galician: 1 change by pvillaverde
2023-02-19 18:43:37 +00:00
translators
4a8b8807e6
Update: Translations from eints
...
vietnamese: 6 changes by KhoiCanDev
korean: 1 change by telk5093
2023-02-18 18:44:22 +00:00
PeterN
2376112c77
Fix #10477 : Not enough space for text due to rounding down (OSX) ( #10489 )
2023-02-18 05:50:20 -05:00
SamuXarick
3df9321a65
Fix: Some Script::IsValidVehicle checks need to be complemented with IsPrimaryVehicle
...
Add: [Script] ScriptVehicle.IsPrimaryVehicle
2023-02-18 09:58:02 +01:00
glx22
3559576166
Codechange: [Script] Don't expose static buffers outside of ScriptText
2023-02-17 21:28:14 +01:00
glx22
e735370318
Change: [Script] A ScriptText with too many parameters is now a fatal error
...
It should never happen as adding/setting parameters already checks that anyway.
2023-02-17 21:28:14 +01:00
translators
2fdfc38da8
Update: Translations from eints
...
korean: 6 changes by telk5093
slovak: 8 changes by legitalk
catalan: 3 changes by J0anJosep
turkish: 5 changes by EndChapter
dutch: 1 change by Afoklala
portuguese (brazilian): 8 changes by ericandradex
polish: 2 changes by pAter-exe
2023-02-17 18:47:31 +00:00
Loïc Guilloux
4072dcff49
Fix #10486 : [Script] Debug window requires AIs to be started before GS ( #10487 )
2023-02-17 12:24:51 +01:00
Patric Stout
fdfcb09aa3
Fix #10131 : actually cancel downloads when pressing cancel
2023-02-15 23:48:06 +01:00
Patric Stout
dea2dea881
Fix: reset content download progress to zero if falling back to TCP
...
Otherwise this chain of events can happen:
- You already have a (partial) file downloaded
- You start the download, and HTTP fails
- This resets the download progress to the current size of the file
- The TCP download starts at a very large value (UINT32_MAX - filesize)
It now resets to 0% done when any negative value is being given.
As added bonus, we no longer have to query how much was already
downloaded.
2023-02-15 23:48:06 +01:00
Patric Stout
1c17556f96
Codechange: replace instance of char * with std::string
2023-02-15 23:48:06 +01:00
Patric Stout
0722bb3bf4
Change: try to detect the CA file/path for CURL ( #10481 )
...
The default is given compile-time, not run-time. So libcurl is
of no use to us.
Current list is kindly borrowed from
https://go.dev/src/crypto/x509/root_linux.go
2023-02-15 22:58:43 +01:00
Patric Stout
ea90fa24f8
Codechange: move curl into a thread so simplify code ( #10480 )
...
With a thread, we can just run curl_easy_perform() and let CURL
and threads handle the blocking part.
With async solution there are too many things to keep track of,
and it makes "when to update the GUI" tricky. By using a thread
that all gets a lot simpler, as the game-thread and download-thread
run side-by-side.
This is similar to how the WinHttp backend already works.
2023-02-15 21:56:19 +01:00
translators
228b34c2bf
Update: Translations from eints
...
english (au): 1 change by krysclarke
czech: 2 changes by jachymozo
finnish: 1 change by hpiirai
2023-02-14 18:46:38 +00:00
dP
fe2c8a1240
Codechange: Decouple INDUSTRY_CTRL into separate commands ( #10475 )
2023-02-14 11:29:11 +01:00
frosch
d7fcb420c4
Fix: compilation with libcurl from 2013.
2023-02-13 22:45:07 +01:00
translators
04847b1208
Update: Translations from eints
...
english (us): 1 change by 2TallTyler
portuguese: 2 changes by ppxppy
2023-02-13 18:47:38 +00:00
translators
695ce0ab09
Update: Translations from eints
...
swedish: 3 changes by joeax910
italian: 1 change by Rivarossi
russian: 1 change by Ln-Wolf
ukrainian: 1 change by serg-bloim
latvian: 7 changes by lexuslatvia
2023-02-12 18:45:01 +00:00
Patric Stout
64523709bf
Add: use https:// for content-service connections ( #10448 )
...
This requires the use of WinHTTP (for Windows) or libcurl (for all
others except Emscripten). Emscripten does not support http(s)
calls currently.
On Linux it requires ca-certificates to be installed, so the HTTPS
certificate can be validated. It is really likely this is installed
on any modern machine, as most connections these days are HTTPS.
(On MacOS and Windows the certificate store is filled by default)
Reminder: in case the http(s):// connection cannot be established,
OpenTTD falls back to a custom TCP-based connection to fetch the
content from the content-service. Emscripten will always do this.
2023-02-12 12:07:31 +01:00
translators
09f7f32b8d
Update: Translations from eints
...
ukrainian: 2 changes by serg-bloim
2023-02-11 18:44:57 +00:00
Loïc Guilloux
a2c8168924
Fix #10465 : Delay closing of network join progress window ( #10466 )
2023-02-11 12:32:45 +01:00
Bilongozhko, Serhii (Contractor)
35ad964c6b
Feature: Ctrl+Click to reset late counter for the entire vehicle group.
2023-02-11 09:48:09 +01:00
SamuXarick
231935fccd
Change: Show buy company dialog window even when playing in the AI company
2023-02-11 09:43:47 +01:00
SamuXarick
43ce73db86
Fix: [Script] Use Money instead of int32 for presenting the value of a company to AIs
2023-02-11 09:43:47 +01:00
Loïc Guilloux
6b99b6672e
Fix: [Script] ScriptBase::Rand() return value was between -MIN(int32) and MAX(int32) ( #10443 )
...
Also ensure the parameters for ScriptBase::RandRange() and ScriptBase::Chance() are in [0-MAX(uint32)] range
2023-02-10 19:55:59 +01:00
translators
7bd475b86c
Update: Translations from eints
...
english (au): 2 changes by krysclarke
estonian: 107 changes by RM87
romanian: 2 changes by bnegrut
finnish: 8 changes by hpiirai
dutch: 4 changes by Afoklala
portuguese: 2 changes by azulcosta
polish: 2 changes by pAter-exe
2023-02-10 18:48:19 +00:00
glx22
3278f4c7bb
Fix #10280 , 59645c6: Ignore double-click for unavailable town actions
2023-02-10 19:39:21 +01:00
glx22
d6aa526b69
Fix #10461 , 59645c6: Properly check for _local_company validity
2023-02-10 19:39:21 +01:00
translators
59251d3c6b
Update: Translations from eints
...
english (us): 2 changes by 2TallTyler
estonian: 110 changes by RM87
czech: 5 changes by jacobczsk
italian: 11 changes by Rivarossi
russian: 2 changes by Ln-Wolf
2023-02-09 18:45:50 +00:00
translators
b083584649
Update: Translations from eints
...
arabic (egypt): 30 changes by AviationGamerX
portuguese: 1 change by azulcosta
2023-02-08 18:47:55 +00:00
Tyler Trahan
f12498b633
Add: Show NewGRF name in NewGRF-created errors ( #10457 )
2023-02-07 15:13:32 -05:00
translators
0c36e4a771
Update: Translations from eints
...
english (au): 1 change by krysclarke
english (us): 1 change by 2TallTyler
vietnamese: 2 changes by KhoiCanDev
luxembourgish: 5 changes by phreeze83
catalan: 3 changes by J0anJosep
french: 11 changes by ZarTek-Creole, 5 changes by glx22
2023-02-07 18:45:46 +00:00
dP
b5bc001d42
Codechange: Swap comments for CommandHelper::Post overloads ( #10454 )
2023-02-07 13:55:46 +00:00
translators
cb2944205c
Update: Translations from eints
...
english (au): 4 changes by krysclarke
swedish: 16 changes by joeax910
english (us): 2 changes by 2TallTyler
chinese (simplified): 2 changes by XiaoJi-Game
hebrew: 3 changes by Boltyansky
romanian: 10 changes by kneekoo
russian: 5 changes by Ln-Wolf
portuguese: 2 changes by azulcosta
polish: 4 changes by pAter-exe
2023-02-06 18:44:47 +00:00
translators
7c998d46bd
Update: Translations from eints
...
spanish (mexican): 22 changes by VMMF
chinese (simplified): 2 changes by XiaoJi-Game
turkish: 2 changes by EndChapter
2023-02-05 18:43:07 +00:00
glx22
b080f24bd8
Codechange: move windows common to AI and GS out of ai_gui
2023-02-05 19:27:25 +01:00
glx22
78e3c93a25
Fix: caption for GS settings window opened from debug window
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
translators
6aafccfb22
Update: Translations from eints
...
korean: 2 changes by telk5093
spanish: 2 changes by MontyMontana
portuguese: 2 changes by azulcosta
2023-02-04 18:44:14 +00:00
translators
b364b41768
Update: Translations from eints
...
english (us): 2 changes by 2TallTyler
finnish: 2 changes by hpiirai
catalan: 2 changes by J0anJosep
dutch: 2 changes by Afoklala
2023-02-03 18:44:54 +00:00
translators
e41af1f2bb
Update: Translations from eints
...
portuguese (brazilian): 8 changes by ericandradex
2023-02-02 18:44:54 +00:00
SamuXarick
1f194eb94e
Fix: [Script] Incorrect value for GOAL_INVALID ( #10436 )
...
* Fix: [Script] Incorrect value for GOAL_INVALID
* Cleanup: Remove unused static variable
2023-02-01 23:35:51 +01:00
Rubidium
bf8b32d193
Change: explicitly allow initial loan of 0, however show warning in UI
2023-02-01 21:41:18 +01:00
Rubidium
b7b7c11b90
Change #10077 : make maximum loan a positive multiple of the loan interval
...
And set the minimum maximum loan to the value of loan interval, so there is
always an amount of money to lend. Compared to being allowed to set max loan
to 0 and never be allowed to lend any money.
2023-02-01 21:41:18 +01:00
SamuXarick
d0639cdc28
Fix: [Script] Incorrect subsidy SourceID value used
2023-02-01 21:17:16 +01:00
SamuXarick
4fc4874a30
Add: [Script] Let random road layout be a choice
2023-02-01 21:15:13 +01:00
SamuXarick
184ff92057
Cleanup: [Script] Pass new_rating directly to CmdTownRating ( #10441 )
2023-02-01 13:48:39 -05:00
translators
654a77c4f7
Update: Translations from eints
...
luxembourgish: 21 changes by phreeze83
2023-02-01 18:47:29 +00:00
Rubidium
31869501ee
Fix: make script goals work with the whole range of ClientIDs
2023-01-31 20:09:48 +01:00
translators
1897e98c3d
Update: Translations from eints
...
slovak: 10 changes by legitalk
2023-01-31 18:45:28 +00:00
Michael Lutz
05ed9f56fd
Feature: [NewGRF] Engine name callback.
2023-01-30 22:00:56 +01:00
Michael Lutz
2d73076056
Add: [NewGRF] Second vehicle property for additional callback flags.
2023-01-30 22:00:56 +01:00
Michael Lutz
f5394ed2ef
Change: [NewGRF] Extend the D8xx (DCxx) string area up to FFFF.
...
This adds the Exxx and Fxxx blocks to the usable range for NewGRF
local strings. TTDPatch uses these ranges for internal strings, but as
we don't support any of them anyway, it is "free" real estate for us.
2023-01-30 22:00:56 +01:00
translators
43657cf65d
Update: Translations from eints
...
chinese (traditional): 9 changes by wpi3
2023-01-30 18:45:30 +00:00
Loïc Guilloux
07b40c02fe
Fix #10361 , fe30f66: Don't try to give saved data to a dead script ( #10433 )
2023-01-29 22:27:29 +00:00
Jonathan G Rennison
9c915f05ec
Fix: Water infrastructure accounting when building docks
2023-01-29 23:15:53 +01:00
Jonathan G Rennison
b82bcac3cd
Fix #10419 : Water infrastructure accounting when building ship depots
2023-01-29 23:15:53 +01:00
Rubidium
4e65ec1dc4
Codechange: do not declare functions in blocks
2023-01-29 20:28:45 +01:00
translators
5a4f0498fe
Update: Translations from eints
...
hebrew: 6 changes by haimlm
catalan: 4 changes by J0anJosep
turkish: 7 changes by ahmetlii
2023-01-29 18:42:05 +00:00
Rubidium
8be908c919
Fix #10430 , Fix 6ba55e6: display chain window causing assert
2023-01-29 18:11:38 +01:00
rubidium42
6ba55e663e
Codechange: do not hide variables with other variables
2023-01-29 07:21:34 +01:00
rubidium42
1951af07c0
Codechange: do not hide parameters with local variables
2023-01-29 07:21:34 +01:00
Rubidium
f001e84e5e
Codechange: use RAII to automatically restore _cur_dpi after use
2023-01-28 20:33:02 +01:00
Rubidium
b7a5d8e296
Codechange: add annotation to selectively force inlining in debug build
2023-01-28 20:32:45 +01:00
SamuXarick
df89c34e03
Fix 7e1e275: Measure AI Collect Garbage performance ( #9924 )
2023-01-28 20:18:28 +01:00
translators
4a58d197ee
Update: Translations from eints
...
japanese: 26 changes by Azusa257
vietnamese: 4 changes by KhoiCanDev
chinese (simplified): 4 changes by XiaoJi-Game
french: 8 changes by glx22
2023-01-28 18:44:03 +00:00
Rubidium
04d10b3d2d
Codechange: instead of global pointer to stack variable, just put variable in that global
...
Removes one indirection and a dangling pointer to a stack location
2023-01-28 17:23:30 +01:00
Rubidium
d51d08ddcb
Codechange: put stack variables in global variables for gamelog/crashlog
2023-01-28 17:23:30 +01:00
Rubidium
ed7685910d
Codechange: pass large objects by reference instead of value
...
Especially when they get passed on directly to the next function or via a
constructor into an instance variable
2023-01-28 13:43:21 +01:00
translators
dbc666905d
Update: Translations from eints
...
czech: 10 changes by jacobczsk
dutch: 4 changes by Afoklala
2023-01-27 18:45:27 +00:00
Rubidium
7e1d272397
Cleanup: remove unused static variables
2023-01-27 07:05:49 +01:00
Rubidium
00721787e1
Fix: wrong type for INVALID_LINK_GRAPH_JOB
2023-01-27 07:05:49 +01:00
Rubidium
755e41de9f
Codechange: make rounding code clearer
...
-O1 already optimizes it to the original hand optimized magic code
2023-01-26 23:47:55 +01:00
Rubidium
71b46db8d0
Cleanup: remove commented out code
2023-01-26 23:47:55 +01:00
Rubidium
5863d78cb4
Codechange: use commented out code, or guard by #ifdef
2023-01-26 23:47:55 +01:00
Rubidium
ae422be979
Cleanup: remove/replace trailing ; with . in comments
2023-01-26 23:47:55 +01:00
Henry Wilson
0b2567d882
Codechange: Remove shift as fast-forward key when _DEBUG is defined
2023-01-26 22:15:06 +01:00
SamuXarick
46dc6da270
Codechange: Make void tiles flood edge tiles, instead of edge tiles flooding themselves ( #8517 )
2023-01-26 21:57:25 +01:00
Peter Nelson
ede1201b6a
Codechange: Rename override manager variables.
2023-01-26 21:39:16 +01:00
Peter Nelson
bcc53c5ad5
Codechange: Add missing `this->` in override manager.
...
Variable scope is also tweaked in a couple of cases reducing line count.
2023-01-26 21:39:16 +01:00
Peter Nelson
eedb786872
Codechange: Use vector for NewGRF spec overrides.
...
This replaces C-style memory management.
2023-01-26 21:39:16 +01:00
translators
07940726d3
Update: Translations from eints
...
korean: 4 changes by telk5093
2023-01-26 18:45:34 +00:00
Rubidium
2fd99467ea
Fix: scripts are not aware of nullptr, they only know null
2023-01-26 16:07:14 +01:00
Rubidium
f9a473bef7
Fix: missing/duplicate documentation tags for scripts
2023-01-26 16:07:14 +01:00
Rubidium
3112b387e7
Fix: warnings about obsolete settings/setting values in Doxygen configurations
2023-01-26 16:07:14 +01:00
Rubidium
41fa94bc56
Fix: scripts cannot call constructors of ScriptEvents, so remove from the documentation
2023-01-25 22:28:30 +01:00
merni-ns
2d0c1ffdb7
Change #10255 : Reduce basic thickness of linkgraph GUI lines ( #10410 )
...
From 3px to 2px (multiplied by UI scale).
2023-01-25 18:06:19 +00:00
translators
01a2449489
Update: Translations from eints
...
finnish: 8 changes by hpiirai
polish: 4 changes by pAter-exe
2023-01-24 18:44:59 +00:00
PeterN
4dfd6a096f
Fix #10220 : Don't select unselectable engine as default. ( #10404 )
2023-01-24 00:05:42 +00:00
translators
97844df123
Update: Translations from eints
...
spanish: 4 changes by MontyMontana
2023-01-23 18:43:48 +00:00
Tyler Trahan
9c5de7fd72
Fix #10395 : When loading old saves, don't forcibly bar level crossings ( #10400 )
2023-01-23 18:08:19 +01:00
Rubidium
8aeef665c7
Fix #10377 , Fix 94167df: bad sorting of rail vehicles when primary variant is missing
2023-01-22 21:13:17 +01:00
translators
7d502e2857
Update: Translations from eints
...
english (us): 4 changes by 2TallTyler
romanian: 10 changes by bnegrut
russian: 4 changes by Ln-Wolf
portuguese: 4 changes by azulcosta
2023-01-22 18:42:21 +00:00
SamuXarick
b2a5ebcfc4
Fix 3c047b1: AIGroup.GetProfitLastYear could get values different than those displayed in GUI ( #10227 )
...
* Change: Store "all time" and "since minimum age" last year profits on groups
* Fix: Update last year profit for groups when copying vehicle statistics on autoreplace
* Codechange: Refactor profit last year
* Change: Rename some group related items for clarity
* Change: Reorder the fields in GroupStatistics
That way less memory gets wasted.
2023-01-22 08:14:02 -05:00
translators
8b5fa2cc7b
Update: Translations from eints
...
english (au): 4 changes by krysclarke
2023-01-21 18:42:26 +00:00
Rubidium
7cdc23fd64
Codechange: hide the map's size related fields in the Map structure
2023-01-21 17:11:40 +01:00
Rubidium
de6bc8e692
Codechange: move TILE_MASK to Map::WrapToMap
2023-01-21 17:11:40 +01:00
Rubidium
fe2bcd2a58
Codechange: migrate size related functions to Map structure
2023-01-21 17:11:40 +01:00
Rubidium
d481f78b24
Codechange: add map size related functions to Map structure
2023-01-21 17:11:40 +01:00
Rubidium
9c1a3b17e3
Codechange: use MapLogY() instead of FindFirstBit(MapSizeY()), MapSize() instead of MapSizeX() * MapSizeY()
2023-01-21 17:11:40 +01:00
Rubidium
22d3de8b67
Codechange: use ScriptMap size functions instead of global functions
2023-01-21 17:11:40 +01:00
Rubidium
953445a5ac
Codechange: use MakeSea/AllocateMap in the oldloader instead of MemSetT
2023-01-21 17:11:40 +01:00
Andy
3b0b572ebf
Change: Log AI/GS Squirrel crashes in white text for readability ( #10375 )
2023-01-20 22:42:57 +01:00
translators
5eb2e0fd3d
Update: Translations from eints
...
dutch: 4 changes by Afoklala
2023-01-20 18:46:24 +00:00
Francis Herne
01be423237
Fix #10362 : NewGRF bridges without speed limits.
...
For bridges, a max speed of 0xFFFF (i.e. no effective limit)
is no longer displayed as a limit in the UI.
A max speed of 0 is also considered unlimited, for similarity to the
roadtype and railtype interface.
2023-01-19 22:24:33 +01:00
translators
3c80f2d14a
Update: Translations from eints
...
english (au): 6 changes by krysclarke
chinese (simplified): 3 changes by XiaoJi-Game, 1 change by ZZY2357
arabic (egypt): 11 changes by AviationGamerX
korean: 3 changes by telk5093
indonesian: 8 changes by K4smun1
2023-01-19 18:45:02 +00:00
translators
83d5e681fc
Update: Translations from eints
...
vietnamese: 6 changes by chupper100
italian: 4 changes by Rivarossi
tamil: 10 changes by merni-ns
2023-01-18 18:46:14 +00:00
PeterN
5801442780
Fix: Switch to OWNER_TOWN prevented OWNER_DEITY test during industry prospecting. ( #10360 )
2023-01-17 17:33:03 -05:00
Rubidium
8d8519c3f6
Fix #10368 , Fix 994bf19: server restarting game caused clients to hit assertion
...
Upon closing the EndGameWindow, triggered from UnInitWindowSystem, the
HighScoreWindow would be opened and _z_windows would not be empty.
2023-01-17 22:48:39 +01:00
translators
dcc06f44bc
Update: Translations from eints
...
english (us): 6 changes by 2TallTyler
catalan: 6 changes by J0anJosep
spanish: 5 changes by MontyMontana
portuguese: 4 changes by azulcosta
polish: 4 changes by pAter-exe
2023-01-17 18:43:58 +00:00
translators
8a6f4c22c9
Update: Translations from eints
...
finnish: 2 changes by hpiirai
french: 2 changes by glx22
portuguese: 2 changes by azulcosta
portuguese (brazilian): 2 changes by ericandradex
polish: 2 changes by pAter-exe
2023-01-16 18:44:06 +00:00
Tyler Trahan
dbf69fde53
Fix #10363 : CargoDist setting helptext shouldn't suggest symmetric distribution for diamonds in subtropic ( #10364 )
...
* Fix #10363 : CargoDist setting helptext shouldn't suggest symmetric distribution for diamonds in subtropic
* Fix: Always capitalize the first word of a sentence, even if a quoted setting name
2023-01-16 11:55:44 -05:00
translators
750d89d37b
Update: Translations from eints
...
russian: 2 changes by Ln-Wolf
turkish: 2 changes by EndChapter
2023-01-15 18:44:57 +00:00
Rubidium
a4a819c983
Fix #9865 : removing files with the console always failed
2023-01-15 14:47:05 +01:00
Rubidium
1ed0b35520
Fix #10009 : bad overflow protection when taking out loans
2023-01-15 12:04:50 +01:00
PeterN
2355882ec1
Codechange: Remove object `enabled` flag and shuffle members. ( #10358 )
...
`enabled` flag is replaced with IsEnabled() which checks if views is
non-zero.
ObjectSpec is shuffled to reduce its memory footprint.
2023-01-15 10:58:03 +00:00
Rubidium
8f9a60893d
Fix #10177 : company list password padlock showed after switching to single player
2023-01-15 11:52:51 +01:00
Rubidium
c578917783
Fix #10057 : FallbackParagraphLayout fails to properly wrap
...
... during the first word after a new run has been started.
2023-01-15 11:43:22 +01:00
SamuXarick
96ec9908a0
Codechange: refactor removal of desert around river tiles
2023-01-15 00:43:41 +01:00
Rubidium
20a9e13272
Fix: inconsistent definition of copy constructor and assignment
2023-01-15 00:24:20 +01:00
Rubidium
6dfd2cad69
Fix: comparison result is always the same warnings
2023-01-15 00:24:20 +01:00