Peter Nelson
67d6089f39
Change: Don't replace stripped control codes with '?' for scripts. ( #14028 )
2025-04-18 17:20:08 +01:00
Peter Nelson
2909a14374
Codechange: Include table/strings.h in files that use StringIDs.
...
Be consistent with how and where the file is incldued.
2025-03-21 12:53:40 +00:00
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
154896ce55
Codechange: Use GetString() with local parameters in script functions. ( #13585 )
2025-02-16 21:27:25 +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
Rubidium
ec492cb267
Codechange: make CompanyMask a BaseBitSet implementation
2025-02-09 19:24:51 +01:00
Rubidium
4cda9f900d
Codechange: [Script] Use helper function over direct casting CompanyID
...
In the script's API `COMPANY_INVALID` has a value of -1, whereas the internal
game's `INVALID_COMPANY` has a value of 255. Since the script's API also has
a `COMPANY_SPECTATOR` with a value of 255, these enumerations cannot be easily
reconciled by casting. As such, replace all casts in the script API with
either ScriptCompany::FromScriptCompanyID or ScriptCompany::ToScriptCompanyID.
Also make clear whether CompanyID is ::CompanyID or ScriptCompany::CompanyID
by using either one of those over CompanyID in the script's API.
2025-02-08 23:42:19 +01:00
Rubidium
e894a5880c
Codechange: rename CargoID to CargoType and amend related variables/comments
2025-01-26 18:07:10 +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
Patric Stout
a3cfd23cf9
Codechange: rename byte to uint8_t ( #12308 )
2024-03-16 23:59:32 +01:00
Peter Nelson
60dcf3b5e2
Codechange: Rename TownEffect to TownAcceptanceEffect.
...
This makes it clearer that TownEffect only affects acceptance behaviour.
2024-02-02 20:37:49 +00:00
SamuXarick
fddcaef74a
Codechange: Use town zone constants instead of magic numbers
2023-12-18 22:12:43 +01:00
Tyler Trahan
fca2b37726
Codechange: Move Ticks into their own class
2023-09-10 08:40:25 -04:00
Rubidium
eaae0bb5e7
Codechange: automatic adding of _t to (u)int types, and WChar to char32_t
...
for i in `find src -type f|grep -v 3rdparty/fmt|grep -v 3rdparty/catch2|grep -v 3rdparty/opengl|grep -v stdafx.h`; do sed 's/uint16& /uint16 \&/g;s/int8\([ >*),;[]\)/int8_t\1/g;s/int16\([ >*),;[]\)/int16_t\1/g;s/int32\([ >*),;[]\)/int32_t\1/g;s/int64\([ >*),;[]\)/int64_t\1/g;s/ uint32(/ uint32_t(/g;s/_uint8_t/_uint8/;s/Uint8_t/Uint8/;s/ft_int64_t/ft_int64/g;s/uint64$/uint64_t/;s/WChar/char32_t/g;s/char32_t char32_t/char32_t WChar/' -i $i; done
2023-07-19 19:30:14 +02:00
Rubidium
bbcb55ebc9
Codechange: use std::string as script API return type
2023-05-14 22:54:10 +02: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
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
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
glx22
4e48bf2e16
Codechange: Use SQInteger for generic numbers in script_town
2023-03-06 00:32:12 +01:00
glx22
3559576166
Codechange: [Script] Don't expose static buffers outside of ScriptText
2023-02-17 21:28:14 +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
Rubidium
6abad681bd
Codechange: move choice for randomizer of scripts to a single location
2023-01-14 22:00:11 +01:00
Rubidium
3373128233
Codechange: pass the randomizer directly to the town name generation
2023-01-14 22:00:11 +01:00
Joel-Milligan
59645c6733
Change: Remove scrollbar from town authority actions panel ( #9928 )
2022-11-11 23:52:38 +01:00
Michael Lutz
1a42a8a5d5
Codechange: Un-bitstuff town-related commands.
2021-12-16 22:28:32 +01:00
Michael Lutz
6691ee3b96
Codechange: Template script command calls.
2021-12-16 22:28:32 +01:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
2021-01-08 11:16:18 +01:00
Niels Martin Hansen
f401622149
Feature: Script API to change town rating of companies
2020-01-04 19:07:13 +01:00
glx
ddabfed1cd
Codechange: Replace station related FOR_ALL with range-based for loops
2019-12-21 20:13:03 +01:00
glx22
0bdbd509be
Fix #7673 : [Script] Allow removal of custom town text ( #7834 )
2019-11-14 20:10:03 +00:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02:00
glx22
b28a678436
Fix #7112 , fef8b831a9: incorrect precondition check ( #7127 )
2019-01-28 17:16:19 +01:00
Pavel Stupnikov
fef8b831a9
Change: Switch town growth rate and counter to actual game ticks ( #6763 )
2018-05-02 21:01:30 +02:00
rubidium
0463dbdc9e
(svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2014-04-23 20:13:33 +00:00
frosch
f36d084db5
(svn r26270) -Fix-ish: If ScriptTown::FoundTown fails to generate a new random town name, don't bother sending a command, but fail immediately.
2014-01-20 22:34:22 +00:00
frosch
e044bd8a73
(svn r25995) -Fix (r25785) [FS#5801]: [NoGo] GS failed to rename towns. (Zydeco)
2013-11-14 18:04:31 +00:00
frosch
17eb3ee9df
(svn r25969) -Add: [Script] ScriptTown::GetFundBuildingsDuration.
2013-11-12 17:57:32 +00:00
frosch
9a41aefcc4
(svn r25968) -Add: [Script] ScriptTown::TOWN_GROWTH_NONE to indicate no town growth via ScriptTown::SetGrowthRate and GetGrowthRate.
2013-11-12 17:57:12 +00:00
frosch
b1f41a0afb
(svn r25967) -Add: [NoGo] GSTown::TOWN_GROWTH_NORMAL to reset a town growth rate set previously via GSTown::SetGrowthRate.
2013-11-12 17:56:35 +00:00
frosch
41184fb871
(svn r25966) -Fix: [NoGo] Properly validate the range of the growth rate passed to GSTown::SetGrowthRate, instead of masking it to 16 bit.
2013-11-12 15:15:02 +00:00
frosch
a249db1374
(svn r25924) -Fix: [Script] Documentation for ScriptTown::GetGrowthRate.
2013-10-28 11:09:02 +00:00
zuu
67ab3108d6
(svn r25785) -Feature: [Script] Allow AIs and GS to found towns. Allow GS to rename towns
2013-09-19 18:48:05 +00:00
fonsinchen
7ea878b938
(svn r25709) -Fix: don't return -1 as unsigned
2013-08-10 12:47:13 +00:00
rubidium
1ff95f36bf
(svn r25544) -Fix [FS#5625] (r25488, r25486): [GS] The checks and validations for setting the extra text in the town window became too stringent
2013-06-30 15:59:10 +00:00
rubidium
19eca468fc
(svn r25488) -Fix [FS#5613]: do not send encoded texts to names, but decode them into a plain C string and then pass them on
2013-06-27 19:57:41 +00:00
rubidium
5d37e21d04
(svn r25486) -Fix [FS#5613-ish]: missing length validation for town and president names in script APIs
2013-06-27 19:23:23 +00:00
rubidium
4e61c1770d
(svn r24982) -Fix [FS#5465]: [Script] Crash when passing too many parameters
2013-02-08 20:34:27 +00:00