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
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
ab8177ea77
Codechange: strongly type CompanyID
2025-02-16 14:02:18 +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
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
merni-ns
34b05465d5
Fix 5a88027: [Script] Avoid overflow in scripts when infinite money is enabled ( #12016 )
2024-02-06 19:54:38 +01:00
dP
897b59c158
Add: [GS] Allow to set max loan for each company separately ( #11224 )
2024-01-30 19:15:19 +01:00
merni-ns
5a88027a19
Feature: Infinite money mode ( #11902 )
2024-01-30 18:01:02 +00: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
SamuXarick
fd26a44c9e
Change: Allow GS access to more ScriptCompany functions
2023-04-17 17:59:16 +02: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
3287acd114
Fix 13528bfcd0: bank balance command allows int64, GS was limited to int32
2023-03-07 23:20:04 +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
89c0841d0a
Codechange: Use SQInteger for generic numbers in script_company
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
Rubidium
6abad681bd
Codechange: move choice for randomizer of scripts to a single location
2023-01-14 22:00:11 +01:00
Rubidium
b3b8c3fd2d
Codechange: pass the randomizer to use directly to the company face generation
2023-01-14 22:00:11 +01:00
Michael Lutz
13528bfcd0
Codechange: Un-bitstuff all remaining commands.
2021-12-16 22:28:32 +01:00
Michael Lutz
58cff7b081
Codechange: Un-bitstuff the remaining on-map 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
Michael Lutz
b0990fcff7
Codechange: Make TileIndex a "strong" typedef to give it a distinct type.
...
This is accomplished by changing it to a single member struct with the
appropriate operator overloads to make it all work with not too much
source modifications.
2021-12-16 22:28:32 +01:00
Charles Pigott
549a58731f
Codechange: Remove (unused) ability to specify min/max of OverflowSafeInt
2021-07-20 10:42:03 +01:00
Patric Stout
d70fb74ac6
Codechange: use setting name instead of index for CmdChange(Company)Setting ( #9306 )
...
This is mostly done as there are now constraints on settings.ini you might not
expected. For example, conditional settings always have to come last, as otherwise
they would influence the index.
2021-05-29 23:27:01 +02:00
Pavel Stupnikov
4b42ecb0f6
Feature: Add tile parameter for GSCompany.ChangeBankBalance to show text effect if needed ( #8573 )
2021-01-22 10:28:26 +01:00
glx22
f7e48cac87
Fix #8453 : [Script] Don't truncate loan variation to 32bit
2020-12-28 16:51:15 +01:00
frosch
0ade8b20fe
Fix #7998 : Crash when scripts tried to access companies with invalid IDs.
2020-02-22 14:32:43 +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
Peter Nelson
e0c2ad1b65
Add: AI functions to get/set company colours.
2019-03-03 09:15:39 +01:00
rubidium
d1429cd936
(svn r27026) -Fix: some (older-ish) GCC compiler warnings
2014-10-21 16:58:15 +00:00
rubidium
691c22ac6a
(svn r26585) -Fix/Feature [FS#5942]: don't truncate money to 32 bits
2014-05-11 20:25:26 +00: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
51f5d62fdb
(svn r26150) -Revert (r26120): EnforcePrecondition alters the last-error status and is only meant for commands.
2013-12-08 18:20:14 +00:00
rubidium
945fccc706
(svn r26120) -Fix: [Script] Replace simple check with precondition check, after that simple check was documented as a precondition
2013-11-26 12:48:56 +00:00
rubidium
3b83a195ca
(svn r26119) -Fix: ResolveCompanyID on an already resolved CompanyID
2013-11-26 12:46:21 +00:00
zuu
ce5ea8900c
(svn r25791) -Fix (r25788): Silence comiler warning in ScriptCompany::ChangeBankBalance
2013-09-21 19:35:49 +00:00
zuu
ab69c6c2a0
(svn r25788) -Feature: [Script] Game Scripts can now charge fees and give money to companies
2013-09-21 13:07:42 +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
rubidium
70c7fbd90e
(svn r23826) -Fix [FS#4972]: the detailed performance rating window showed the cargo count of the current quarter instead of the last quarter like the tooltip says
2012-01-20 20:18:19 +00:00
rubidium
4479f90843
(svn r23777) -Codechange: refactor allocating memory and fetching strings into a single function for scripts
2012-01-08 21:48:05 +00:00
rubidium
6d6be50ae0
(svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files
2012-01-03 21:32:51 +00:00
truebrain
102f811d02
(svn r23636) -Add: introduce ScriptText in parameters where it can be used
2011-12-19 21:06:06 +00:00
truebrain
9b6b2cabc1
(svn r23633) -Add: allow most build commands from GameScript given a CompanyMode is active in that scope
2011-12-19 21:05:36 +00:00
truebrain
cc3f42794d
(svn r23632) -Add: GSCompanyMode, to change company in GameScripts
2011-12-19 21:05:25 +00:00