Peter Nelson
b55af05626
Codechange: Pass encoded script strings as EncodedString.
...
This removes the ambiguity of having std::strings that may or may not be encoded.
2025-03-04 21:40:39 +00:00
Peter Nelson
7a9a3ef94a
Codechange: Move to GetWidgetString for script windows.
2025-03-03 21:23:13 +00:00
Rubidium
3790f29156
Codechange: use std::allocator over malloc/free for Squirrel memory management
2025-03-03 16:42:17 +01:00
Rubidium
7f674b09a4
Codefix: std::optional<const std::string> is weird; why is modifying the string copy not allowed?
2025-03-02 20:16:25 +01:00
glx22
a6f558ce2a
Add: [Script] Saving/loading ScriptList
2025-03-02 13:41:12 +01:00
glx22
d6a261439b
Add: [Script] Framework for loading/saving selected ScriptObject
2025-03-02 13:41:12 +01:00
Rubidium
15dcf56dad
Codechange: remove ZeroedMemoryAllocator
2025-02-28 20:12:44 +01:00
Peter Nelson
94783fe2ed
Codechange: Use EnumBitSet for ScriptConfigFlags. ( #13669 )
2025-02-28 18:57:40 +00:00
Peter Nelson
ddb502d097
Codechange: Use parameterised GetString() for script-related windows. ( #13671 )
2025-02-27 23:53:04 +00:00
Peter Nelson
e2c1b9f03e
Codechange: Use only raw strings in drop down lists. ( #13667 )
...
Strings with parameters are now pre-formatted, avoiding global parameters.
Helper functions still allow StringID.
2025-02-27 21:11:16 +00:00
Rubidium
b376e2655a
Codechange: explicitly initialise member variables of Windows
2025-02-27 20:06:06 +01:00
SamuXarick
af32ce3710
Cleanup: Remove unused member in ScriptDebugWindow ( #13664 )
2025-02-27 14:17:31 +01:00
Loïc Guilloux
e769c0392e
Cleanup: [Script] Remove some dead code ( #13660 )
2025-02-26 21:37:07 +01:00
Loïc Guilloux
ae72e15951
Codefix b2c5712: [Script] Squirrel::GetRealInstance doesn't work with negative index ( #13658 )
2025-02-25 13:13:31 +01:00
Peter Nelson
3cf9b15959
Codechange: Handle SnowTile state separately from ClearGround.
...
This removes the need for ClearGround to pretend that CLEAR_SNOW exists.
2025-02-25 08:22:46 +00:00
Loïc Guilloux
c06f5cff09
Codefix b2c5712: [Script] Properly check sq_instanceof return value ( #13657 )
2025-02-24 21:09:04 +00:00
Rubidium
02f040b22a
Codechange: remove unused alloc_func.hpp includes
2025-02-24 20:00:19 +01:00
glx22
a577229e95
Revert d7bd67cda3: [Scripts] "_typeof" metamethod negatively affects old scripts
2025-02-19 19:21:50 +01:00
glx22
d7bd67cda3
Add: [Scripts] "_typeof" metamethod
2025-02-18 21:19:15 +01:00
Peter Nelson
154896ce55
Codechange: Use GetString() with local parameters in script functions. ( #13585 )
2025-02-16 21:27:25 +00:00
Rubidium
fd4adc55e3
Codechange: replace INVALID_X with XID::Invalid() for PoolIDs
2025-02-16 20:23:00 +01:00
Rubidium
59df0ff496
Codechange: strongly type StationID
2025-02-16 18:25:51 +01:00
Rubidium
70c9f3963c
Codechange: strongly type VehicleID
2025-02-16 14:50:15 +01:00
Rubidium
7e04651220
Codechange: strongly type EngineID
2025-02-16 14:50:15 +01:00
Rubidium
380e7b48ce
Codechange: use std::variant instead of a custom version for news references
2025-02-16 14:50:15 +01:00
Rubidium
2cb59b1856
Codechange: make VehicleID an enum
2025-02-16 14:50:15 +01:00
Rubidium
c25c3e8710
Codechange: make IndustryID an enum
2025-02-16 14:50:15 +01:00
Rubidium
ab8177ea77
Codechange: strongly type CompanyID
2025-02-16 14:02:18 +01:00
Rubidium
5401ab1f7b
Codechange: use ReferenceThroughBaseContainer for containers that are index by CompanyID
2025-02-16 14:02:18 +01:00
Rubidium
1ffc950e22
Codechange: use prefix operator++ for CompanyID iterations
2025-02-16 14:02:18 +01:00
Peter Nelson
443d7ece29
Codefix 75387b9e2b: Prefer using EnumBitSet.base() instead of shifting StationFacility. ( #13575 )
2025-02-16 11:52:40 +00:00
Peter Nelson
2d7d085e8e
Codechange: Use EncodedString for error messages. ( #13569 )
2025-02-16 10:04:32 +00:00
Peter Nelson
04708736d9
Codechange: Use EnumBitSet for CommandFlags. ( #13560 )
2025-02-15 09:36:20 +00:00
Peter Nelson
6cf7a899e9
Codechange: Use EnumBitSet for PauseMode. ( #13553 )
2025-02-14 08:30:04 +00:00
Rubidium
c3d5e6d2a0
Codechange: Use EnumBitSet for DoCommandFlags
2025-02-14 00:28:57 +01:00
Peter Nelson
f309b90a1d
Codechange: Use EnumBitSet for Airport blocks.
2025-02-13 22:02:02 +00:00
Peter Nelson
75387b9e2b
Codechange: Use EnumBitSet for StationFacility.
2025-02-13 18:03:13 +00:00
Peter Nelson
7975145080
Codechange: Use EnumBitSet for TownActions. ( #13542 )
2025-02-13 18:02:39 +00:00
Loïc Guilloux
b2c5712319
Fix: [Script] Improve type checking of parameters ( #13522 )
2025-02-13 13:46:21 +01:00
Loïc Guilloux
dc311d7c38
Fix: [Script] Report errors happening during 'Load()' ( #13537 )
2025-02-13 12:41:39 +01:00
Jonathan G Rennison
d06b371254
Cleanup: Fix various spelling errors
2025-02-12 22:44:51 +01:00
Loïc Guilloux
7fbfaa1b54
Fix #13520 : [Script] doxygen ignored 'constexpr' constants ( #13523 )
2025-02-10 23:05:31 +01:00
Peter Nelson
687829fa14
Codechange: Use std::unique_ptr for ScriptList::sorter. ( #13517 )
...
Avoids manual pointer management.
2025-02-10 19:20:52 +00:00
Rubidium
ec492cb267
Codechange: make CompanyMask a BaseBitSet implementation
2025-02-09 19:24:51 +01:00
Rubidium
b9777269ce
Codechange: strongly type SignID
2025-02-09 18:05:01 +01:00
Rubidium
cd4482b5df
Codechange: make TownID an enum
2025-02-09 18:05:01 +01:00
Rubidium
cda9c2759e
Codechange: make SignID an enum
2025-02-09 18:05:01 +01:00
Rubidium
1e24b41f22
Codechange: strongly type GroupID
2025-02-09 16:52:21 +01:00
Patric Stout
f60b3d7f79
Codechange: [Script] rework how compat-scripts work and are loaded ( #13504 )
...
- compat_NNN.nut files now only defines what is needed to downgrade from API NNN + 1 to NNN.
- Automatically load all required compatibility files based on the API version of the script, starting with the latest.
2025-02-09 15:04:04 +00:00
Rubidium
155d7de132
Codechange: change Source into a class with conversion helpers
...
A Source is either a CompanyID (Headquarters), IndustryID or TownID.
When making those types stronger a lot of casts would be needed, but
with these simple helpers the intent is shown more clearly.
2025-02-09 15:28:35 +01:00