Rubidium
ea6aa4653a
Codechange: replace magic numbers with enumeration
2024-10-25 18:37:11 +02:00
Rubidium
4a4c77ff04
Codechange: use functions described in documentation, instead of related other functions
2024-10-25 18:37:11 +02:00
Rubidium
c9819f8957
Codechange: split GetRoadDir as bays have DiagDir and drive throughs have Axis
2024-10-24 20:40:32 +02:00
Peter Nelson
147ac56f11
Fix: ScriptTile::PlantTreeRectangle does not check that the end tile is in bounds. ( #13004 )
...
If the starting tile is near the edge of the map, the width and height could overflow the map boundary.
In some cases this might result in a different area being planted than expected.
2024-10-19 20:52:02 +01:00
Peter Nelson
8360fab18a
Codechange: Remove CCountedPtr.
...
This was originally generic and used by YAPF, but now it is used only by script objects.
CCountedPtr provided much more (untested) functionality than used.
ScriptObjectRef already exists for script objects and does the same thing, so use this instead.
2024-10-16 21:52:00 +01:00
Peter Nelson
3cd1200668
Fix #12976 : Incorrect widget rect scrolling for RTL languages. ( #12978 )
...
Industry directory, AS/GS and Textfile window did not consider RTL when applying horizontal scrolling.
2024-10-05 08:02:59 +01:00
Peter Nelson
908ee7292b
Codechange: Replace all FILE * with FileHandle RAII class. ( #12718 )
...
This removes the need to manually ensure all files are closed.
2024-09-16 08:45:26 +01:00
Peter Nelson
8b644f6ee6
Codechange: Use GetVisibleRangeIterators to draw script settings. ( #12871 )
2024-07-21 13:40:54 +01:00
Loïc Guilloux
d67963e616
Add: [Script] Include number of victims in ScriptEventVehicleCrashed ( #12861 )
2024-07-16 21:28:29 +02:00
Rubidium
14200212b7
Codechange: use std::optional<std::string> over char * for text query results
2024-06-29 16:33:16 +02:00
Jonathan G Rennison
9c84e5df3f
Add: Road waypoint functionality
2024-06-24 22:12:08 +02:00
Peter Nelson
91fd082e93
Fix: Apply widget's internal padding to scrollbar capacity/position. ( #12801 )
...
For non-WWT_MATRIX widgets, scrollbars need to take account of the internal padding used for the widget.
This is not normally noticeable as framerect padding is only 2 extra pixels
2024-06-22 15:42:13 +00:00
Peter Nelson
731c56d116
Codefix: Add missing const inside script functions. ( #12794 )
...
Scripts do not modify items directly, marking them const enforces this.
2024-06-17 07:19:56 +01:00
Peter Nelson
55314513ce
Codechange: Pass NWidgetParts as span instead of begin/end pointers. ( #12779 )
2024-06-12 23:08:35 +01:00
Peter Nelson
4cf6d1dd79
Codechange: Pass WindowDesc by reference instead of pointer. ( #12771 )
...
WindowDesc as passed to Windows is not optional so don't allow to it to be nullptr.
2024-06-11 08:58:03 +01:00
Peter Nelson
d5671030b1
Codechange: Add NewGRFSpecsBase class to hold class/index information.
...
Standardises how the class index is stored in the spec, instead of relying ot the Spec structs having the same members.
This allows retrieving class_index and index without searching or using pointer arithmetic.
'cls_id' is renamed to 'class_index' to make it clearer that it is an index rather than the multichar label of the class.
2024-05-11 02:12:41 +01:00
frosch
dc22edc556
Doc: [Script] Extend API documentation on calendar- vs economy-time
2024-05-10 13:17:19 +01:00
frosch
04cc0c8125
Codechange: [Script] Document relation between ScriptErrorType and ErrorMessages enums
2024-05-10 13:17:19 +01:00
frosch
40e6230900
Codechange: Add main page to script API documentation
2024-05-10 13:17:19 +01:00
frosch
dfa2622153
Codechange: Unify naming of squirrel built-in types in Script API docs
2024-05-10 13:17:19 +01:00
frosch
e436e2ef40
Codefix: broken links and syntax issues in script API documentation
2024-05-10 13:17:19 +01:00
frosch
64e1f1d4d9
Codefix: Script API documentation about IDs was incomplete
2024-05-10 13:17:19 +01:00
frosch
4bf2dc3148
Codefix: Script API did not link simple types correctly
2024-05-10 13:17:19 +01:00
frosch
c1375cecf8
Codefix: [Script] script_types was excluded from API documentation
2024-05-10 13:17:19 +01:00
frosch
ffe76a0133
Update: Doxyfiles to doxygen 1.9.4
2024-05-10 13:17:19 +01:00
Peter Nelson
cf96d49ced
Codechange: Use vector for airport tile layouts. ( #12607 )
...
Simplify AirportSpec data by storing layout information together in a vector, instead of separate arrays.
This removes manual memory management and separate count members.
The default layouts will be copied instead of always referring to the originals.
2024-05-02 11:37:54 +00:00
Peter Nelson
16eb17418b
Change: Use aspect ratios for some common widgets.
2024-04-19 22:11:16 +01:00
Peter Nelson
a28ab8cac2
Codechange: Replace C-style casts to size_t with static_cast. ( #12455 )
...
* Codechange: Replace C-style casts to size_t with static_cast.
This touches only simple value-type casts.
* Codechange: Replace static_cast<size_t>(-1) with SIZE_MAX
Co-authored-by: Rubidium <rubidium@openttd.org >
2024-04-19 20:34:36 +01:00
Rubidium
4f2412a272
Codechange: range based for loops instead of C-style for loops
2024-04-11 07:05:04 +02:00
Peter Nelson
de4e00c93f
Codechange: Pass by reference to UpdateWidgetSize. ( #12457 )
...
These parameters are always provided and not optional.
2024-04-09 08:34:45 +01:00
Peter Nelson
56cac21086
Codechange: Use functions to create common drop down list items.
2024-04-01 22:33:16 +01:00
Peter Nelson
d683ec0183
Codechange: Move dropdown and slider out of widgets directory. ( #12403 )
...
Also shuffle headers to place widget includes near end.
This leaves the widgets directory solely for defining Widget IDs.
2024-03-31 19:37:16 +01:00
Patric Stout
77f02faf15
Codefix 977aba73be: also update comment about removal of is_random ( #12400 )
2024-03-30 13:29:51 +01:00
frosch
907cb4fc53
Fix: [Script] ScriptSubsidy::GetExpireDate should return an economy-date ( #12372 )
2024-03-28 23:21:20 +01:00
glx22
02c00f3e3e
Change: [Script] Use economy time for ScriptDate
2024-03-23 21:17:40 +01:00
glx22
704e871a0e
Revert bbdbf9a: ScriptTimeMode was not the best solution for economy/calendar support
2024-03-23 21:17:40 +01:00
Peter Nelson
ea74ca0a76
Fix #12347 : Crash attempting to find catchment tiles of a station with no catchment area. ( #12348 )
2024-03-23 13:03:59 +01:00
Patric Stout
a3cfd23cf9
Codechange: rename byte to uint8_t ( #12308 )
2024-03-16 23:59:32 +01:00
Rubidium
86cb184eb4
Codechange: use std::source_location over __FILE__ and __LINE__ for WindowDesc
2024-03-10 10:14:20 +01:00
glx22
3a71f36393
Change: [Script] Match FormatString behaviour more closely
2024-03-09 12:15:03 +01:00
glx22
ae27ce12a7
Fix 0858377: [Script] Don't output parameters more than once
2024-03-09 12:15:03 +01:00
Michael Lutz
8dda387f82
Codechange: Use std::tuple for slope functions with two return values
2024-03-08 18:08:55 +01:00
Loïc Guilloux
845b894fd8
Remove: [Script] random_deviation from setting description table ( #12221 )
2024-03-05 12:41:04 +01:00
Peter Nelson
d4f0f0e2c5
Codechange: Use GetVisibleRangeIterators() in more places. ( #12190 )
...
This replaces more first/last index calculation, along with indexed array/vector access, with iterator access instead.
2024-02-27 20:10:06 +00:00
Loïc Guilloux
f612bc6ee2
Fix bf4b6696: [Script] Broken ScriptText circular reference detection ( #12187 )
2024-02-27 18:16:21 +01:00
Rubidium
a4d4301a0c
Codechange: We are heading to 15
2024-02-18 21:48:54 +01:00
SamuXarick
8584d1b5bb
Add: [Script] GetAirportNumHelipads ( #12085 )
...
Adds a function for Scripts to get the number of helipads of an airport type.
2024-02-14 21:38:32 +01:00
SamuXarick
fa64fff4a5
Fix #10405 , a3dd750: [Script] Test engine and vehicle type validity for ScriptGroup::GetNumEngines ( #11887 )
2024-02-11 22:09:23 +01:00
Loïc Guilloux
8d9fa0ea89
Change: [Script] Use company randomizer when adding random deviation ( #12065 )
2024-02-11 18:58:41 +00:00
Loïc Guilloux
977aba73be
Change: Store running AI config inside Company ( #12003 )
2024-02-09 22:55:49 +01:00