Rubidium and rubidium42
e894a5880c
Codechange: rename CargoID to CargoType and amend related variables/comments
2025-01-26 18:07:10 +01:00
Rubidium and rubidium42
b1ab1b9f06
Change: [Script] rename BridgeID to BridgeType in the script API
2025-01-22 22:23:38 +01:00
Peter Nelson and GitHub
5f0e4cd646
Codechange: Make RoadStopType an enum class. ( #13340 )
2025-01-19 21:43:17 +00:00
Peter Nelson and GitHub
4397aa3909
Codechange: Make StationType an enum class. ( #13339 )
2025-01-19 20:53:08 +00:00
Rubidium and rubidium42
b71a5158cf
Codechange: use INVALID_VEHICLE where that's more appropriate than e.g. vehicle 0
2025-01-19 17:10:21 +01:00
Rubidium and rubidium42
0aa9faf187
Codechange: use INVALID_TOWN instead of 0 to denote 'not applicable'
2025-01-19 16:54:42 +01:00
Peter Nelson and GitHub
95f8fc983b
Codechange: Make GroupFlags an enum class. ( #13312 )
...
GF_END is 'reserved' in some Windows APIs. Instead of working around it, make GroupFlags an enum class.
2025-01-14 11:33:26 +00:00
Rubidium and rubidium42
29129e12fd
Add: [Script] Event for when a company's president name changes
2025-01-14 11:35:35 +01:00
Björn Wärmedal and GitHub
9ab936f76b
Add: [Script] ScriptEventCompanyRename ( #12878 )
2025-01-14 09:24:28 +00:00
Loïc Guilloux and GitHub
46f181c8a6
Fix #13299 : Merge IT_INVALID and INVALID_INDUSTRYTYPE ( #13300 )
...
* Fix #13299 : Merge IT_INVALID and INVALID_INDUSTRYTYPE
* Codefix: Use NUM_INDUSTRYTILES where it's intended
2025-01-10 01:17:11 +01:00
Peter Nelson and GitHub
b653f875b0
Codechange: Space between template and < ( #13278 )
...
Make it all consistent so it matches CODINGSTYLE.
2025-01-04 17:56:14 +00:00
Peter Nelson and GitHub
810e442203
Codechange: Split GoodsEntry cargo and flows data to unique_ptr. ( #13058 )
...
This allows cargo packets and cargo flow data to be empty if not in use, which is the case for the majority of station goods entries, and data is allocated when needed.
This reduces the initial size of a Station from 9192 bytes to 2024 bytes (on 64 bit platforms), although an allocation of 120 bytes is made for each active cargo type at a station.
Based on similar changes in JGRPP.
2025-01-02 20:48:23 +00:00
Rubidium and rubidium42
fd7a883cbd
Codechange: make the StringIndex (within a StringTab) a strong type
2025-01-02 21:19:00 +01:00
Rubidium and rubidium42
c0df898ac5
Codechange: do not implicitly convert during assignment to StrongType
2025-01-01 21:32:51 +01:00
Rubidium and rubidium42
3956ed086a
Codechange: use Date/Year constructor explicitly
2025-01-01 16:25:32 +01:00
Rubidium and rubidium42
f55ba40b13
Codechange: use TileIndex constructor explicitly
2025-01-01 16:25:23 +01:00
Rubidium and rubidium42
fd5f6caed4
Codechange: use explicit TileIndex constructor for tile 0
2025-01-01 08:26:54 +01:00
Loïc Guilloux and GitHub
d840152cb7
Codefix: [Script] incorrect end of class detection for doxygen ( #13204 )
2024-12-28 18:15:09 +00:00
Yakov Lipkovich and GitHub
be02b54744
Doc: fix typo in script_vehicle.hpp ( #13177 )
2024-12-20 08:42:57 -05:00
rubidium42 and rubidium42
ef76f0e758
Codechange: use default virtual destructors over empty destructors
2024-12-06 22:30:19 +10:00
Peter Nelson and Peter Nelson
3be0166801
Codechange: Use std::ranges::find where possible.
...
Replace `std::find(range.begin(), range.end(), ...)` with `std::ranges::find(range, ...)`.
2024-11-24 10:36:03 +00:00
Loïc Guilloux and GitHub
681b1928b4
Fix #13110 : [Script] convert table keys to string when generating JSON ( #13113 )
2024-11-23 13:46:33 +01:00
Peter Nelson and Peter Nelson
653e5e8b63
Codechange: Use std::visit for formatting script strings.
2024-11-23 10:55:41 +00:00
Peter Nelson and Peter Nelson
d875ac8947
Add: const operator->() for ScirptObjectRef.
2024-11-23 10:55:41 +00:00
Peter Nelson and GitHub
6d3adc6169
Codechange: Remove ZeroedMemoryAllocator from ScriptText. ( #13108 )
...
ScriptText is much simplified from its original design. Use member initialisation instead.
2024-11-20 22:16:14 +00:00
Rubidium and rubidium42
ea6aa4653a
Codechange: replace magic numbers with enumeration
2024-10-25 18:37:11 +02:00
Rubidium and rubidium42
4a4c77ff04
Codechange: use functions described in documentation, instead of related other functions
2024-10-25 18:37:11 +02:00
Rubidium and rubidium42
c9819f8957
Codechange: split GetRoadDir as bays have DiagDir and drive throughs have Axis
2024-10-24 20:40:32 +02:00
Peter Nelson and GitHub
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 and 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
Loïc Guilloux and GitHub
d67963e616
Add: [Script] Include number of victims in ScriptEventVehicleCrashed ( #12861 )
2024-07-16 21:28:29 +02:00
Jonathan G Rennison and rubidium42
9c84e5df3f
Add: Road waypoint functionality
2024-06-24 22:12:08 +02:00
Peter Nelson and GitHub
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 and 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 and Peter Nelson
dc22edc556
Doc: [Script] Extend API documentation on calendar- vs economy-time
2024-05-10 13:17:19 +01:00
frosch and Peter Nelson
04cc0c8125
Codechange: [Script] Document relation between ScriptErrorType and ErrorMessages enums
2024-05-10 13:17:19 +01:00
frosch and Peter Nelson
40e6230900
Codechange: Add main page to script API documentation
2024-05-10 13:17:19 +01:00
frosch and Peter Nelson
dfa2622153
Codechange: Unify naming of squirrel built-in types in Script API docs
2024-05-10 13:17:19 +01:00
frosch and Peter Nelson
e436e2ef40
Codefix: broken links and syntax issues in script API documentation
2024-05-10 13:17:19 +01:00
frosch and Peter Nelson
64e1f1d4d9
Codefix: Script API documentation about IDs was incomplete
2024-05-10 13:17:19 +01:00
frosch and Peter Nelson
4bf2dc3148
Codefix: Script API did not link simple types correctly
2024-05-10 13:17:19 +01:00
frosch and Peter Nelson
c1375cecf8
Codefix: [Script] script_types was excluded from API documentation
2024-05-10 13:17:19 +01:00
frosch and Peter Nelson
ffe76a0133
Update: Doxyfiles to doxygen 1.9.4
2024-05-10 13:17:19 +01:00
Peter Nelson and GitHub
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
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
frosch and GitHub
907cb4fc53
Fix: [Script] ScriptSubsidy::GetExpireDate should return an economy-date ( #12372 )
2024-03-28 23:21:20 +01:00
glx22 and Loïc Guilloux
02c00f3e3e
Change: [Script] Use economy time for ScriptDate
2024-03-23 21:17:40 +01:00
glx22 and Loïc Guilloux
704e871a0e
Revert bbdbf9a: ScriptTimeMode was not the best solution for economy/calendar support
2024-03-23 21:17:40 +01:00
Peter Nelson and GitHub
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 and GitHub
a3cfd23cf9
Codechange: rename byte to uint8_t ( #12308 )
2024-03-16 23:59:32 +01:00