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.
2 years ago
Rubidium
a79f97c022
Change: upon an invalid company mode, set ERR_PRECONDITION_INVALID_COMPANY instead of ERR_PRECONDITION_INVALID
2 years ago
Rubidium
3287acd114
Fix 13528bfcd0: bank balance command allows int64, GS was limited to int32
2 years ago
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".
2 years ago
Rubidium
cada2ca310
Add: GSCompanyMode::IsValid and IsDeity, and precondition enforcement helpers
2 years ago
glx22
ca149447d7
Codechange: Use SQInteger for generic numbers in script_window
2 years ago
glx22
f752d96125
Codechange: Use SQInteger for generic numbers in script_vehicle
2 years ago
glx22
4e48bf2e16
Codechange: Use SQInteger for generic numbers in script_town
2 years ago
glx22
18fe0a4046
Codechange: Use SQInteger for generic numbers in script_tilelist
2 years ago
glx22
cada18a6f8
Codechange: Use SQInteger for generic numbers in script_tile
2 years ago
glx22
07b73a8c02
Codechange: Use SQInteger for generic numbers in script_subsidy
2 years ago
glx22
cd80b31d19
Codechange: Use SQInteger for generic numbers in script_storypage
2 years ago
glx22
a9a55f2153
Codechange: Use SQInteger for generic numbers in script_station
2 years ago
glx22
446ebaa6b9
Codechange: Use SQInteger for generic numbers in script_road
2 years ago
glx22
4f6a2f31b5
Codechange: Use SQInteger for generic numbers in script_rail
2 years ago
glx22
cb2e76aae3
Codechange: Use SQInteger for generic numbers in script_priorityqueue
2 years ago
glx22
777b4d0987
Codechange: Use SQInteger for generic numbers in script_order
2 years ago
glx22
49ea69fdef
Codechange: Use SQInteger for generic numbers in script_objecttype
2 years ago
glx22
0293fd41e5
Codechange: Use SQInteger for generic numbers in script_news
2 years ago
glx22
f22903ab14
Codechange: Use SQInteger for generic numbers in script_newgrf
2 years ago
glx22
ca67075397
Codechange: Use SQInteger for generic numbers in script_map
2 years ago
glx22
a225fda9fe
Codechange: Use SQInteger for generic numbers in script_list
2 years ago
glx22
74ab9ee9dd
Codechange: Use SQInteger for generic numbers in script_league
2 years ago
glx22
367b2ba6d1
Codechange: Use SQInteger for generic numbers in script_infrastructure
2 years ago
glx22
5eaf9d39bf
Codechange: Use SQInteger for generic numbers in script_industrytype
2 years ago
glx22
6671994655
Codechange: Use SQInteger for generic numbers in script_industry
2 years ago
glx22
8eb35633ec
Codechange: Use SQInteger for generic numbers in script_group
2 years ago
glx22
6ca8499e6a
Codechange: Use SQInteger for generic numbers in script_goal
2 years ago
glx22
e784915b27
Codechange: Use SQInteger for generic numbers in script_gamesettings
2 years ago
glx22
6b8b4c392f
Codechange: Use SQInteger for generic numbers in script_engine
2 years ago
glx22
2f40bf8097
Codechange: Use SQInteger for generic numbers in script_date
2 years ago
glx22
424ae74504
Codechange: Use SQInteger for generic numbers in script_companymode
2 years ago
glx22
89c0841d0a
Codechange: Use SQInteger for generic numbers in script_company
2 years ago
glx22
7727323dbe
Codechange: Use SQInteger for generic numbers in script_cargomonitor
2 years ago
glx22
40424601c6
Codechange: Use SQInteger for generic numbers in script_cargo
2 years ago
glx22
83826b1793
Codechange: Use SQInteger for generic numbers in script_bridgelist
2 years ago
glx22
58bf2f7176
Codechange: Use SQInteger for generic numbers in script_bridge
2 years ago
glx22
73561802cb
Codechange: Use SQInteger for generic numbers in script_airport
2 years ago
glx22
b6f3552e4b
Fix: [Script] Inconsistent precondition failure return values
2 years ago
glx22
e06a666fa2
Fix: remove ScriptController constructor from API documentation
2 years ago
glx22
67a4c5e0db
Codechange: Use {fmt} for script_admin JSON generation
2 years ago
glx22
ce8cde3b8d
Fix: [Script] Detect circular references in ScriptText
2 years ago
glx22
9a957f1d4b
Change: [Script] Improve ScriptText validation error messages
2 years ago
glx22
991a797e09
Change: [Script] Validate ScriptText parameters type and amount
2 years ago
Rubidium
728973859d
Change: [Script] Automate the ScriptObject reference counting
2 years ago
glx22
a1fc4d5c0e
Codechange: [Script] Merge the 3 ScriptText param arrays
2 years ago
Rubidium
580d0a6343
Codechange: make use of Tile in for all direct map accesses
2 years ago
Jonathan G Rennison
4c1406a4b5
Add: NewGRF road stops
2 years ago
dP
c73b88ddca
Fix: Don't send unused tile field over the network ( #10507 )
2 years ago
Michael Lutz
9b3326e3fd
Codechange: [Script] Use std::vector instead of a hand-rolled alternative.
2 years ago
Michael Lutz
ca3cb4d2ef
Codechange: [Script] Use a class template instead of a function template for squirrel type conversion.
...
Class templates allow using partial template specialization, which is useful in
case one wants to have a type conversion on a type that is itself templated.
2 years ago
SamuXarick
8351b97f52
Add: [Script] Labels for negative values of a setting
2 years ago
SamuXarick
376820c0b6
Doc: [Script] Update info descriptions
2 years ago
SamuXarick
bb2ac8b3c4
Fix: [Script] Save config item values up to 10 digits + 1 for sign + 1 for termination, enough to fit min and max int
2 years ago
SamuXarick
fde7028a95
Fix #10059 : [Script] Let custom values on a config item be up to 10 digits + 1 for sign
2 years ago
SamuXarick
7b1fd3e37f
Fix #10059 : [Script] Clamp config item values to int32
...
Also prevent random_deviation to be below 0.
2 years ago
SamuXarick
3df9321a65
Fix: Some Script::IsValidVehicle checks need to be complemented with IsPrimaryVehicle
...
Add: [Script] ScriptVehicle.IsPrimaryVehicle
2 years ago
glx22
3559576166
Codechange: [Script] Don't expose static buffers outside of ScriptText
2 years ago
glx22
e735370318
Change: [Script] A ScriptText with too many parameters is now a fatal error
...
It should never happen as adding/setting parameters already checks that anyway.
2 years ago
dP
fe2c8a1240
Codechange: Decouple INDUSTRY_CTRL into separate commands ( #10475 )
2 years ago
SamuXarick
43ce73db86
Fix: [Script] Use Money instead of int32 for presenting the value of a company to AIs
2 years ago
Loïc Guilloux
6b99b6672e
Fix: [Script] ScriptBase::Rand() return value was between -MIN(int32) and MAX(int32) ( #10443 )
...
Also ensure the parameters for ScriptBase::RandRange() and ScriptBase::Chance() are in [0-MAX(uint32)] range
2 years ago
glx22
b080f24bd8
Codechange: move windows common to AI and GS out of ai_gui
2 years ago
SamuXarick
1f194eb94e
Fix: [Script] Incorrect value for GOAL_INVALID ( #10436 )
...
* Fix: [Script] Incorrect value for GOAL_INVALID
* Cleanup: Remove unused static variable
2 years ago
SamuXarick
d0639cdc28
Fix: [Script] Incorrect subsidy SourceID value used
2 years ago
SamuXarick
4fc4874a30
Add: [Script] Let random road layout be a choice
2 years ago
SamuXarick
184ff92057
Cleanup: [Script] Pass new_rating directly to CmdTownRating ( #10441 )
2 years ago
Rubidium
31869501ee
Fix: make script goals work with the whole range of ClientIDs
2 years ago
Loïc Guilloux
07b40c02fe
Fix #10361 , fe30f66: Don't try to give saved data to a dead script ( #10433 )
2 years ago
Rubidium
4e65ec1dc4
Codechange: do not declare functions in blocks
2 years ago
Rubidium
2fd99467ea
Fix: scripts are not aware of nullptr, they only know null
2 years ago
Rubidium
f9a473bef7
Fix: missing/duplicate documentation tags for scripts
2 years ago
Rubidium
3112b387e7
Fix: warnings about obsolete settings/setting values in Doxygen configurations
2 years ago
Rubidium
41fa94bc56
Fix: scripts cannot call constructors of ScriptEvents, so remove from the documentation
2 years ago
Rubidium
fe2bcd2a58
Codechange: migrate size related functions to Map structure
2 years ago
Rubidium
22d3de8b67
Codechange: use ScriptMap size functions instead of global functions
2 years ago
Rubidium
921c6591f9
Codechange: do not use interactive random anymore for script configuration
2 years ago
Rubidium
c5ff61c5f2
Add: script specific Randomizer instances
2 years ago
Rubidium
6abad681bd
Codechange: move choice for randomizer of scripts to a single location
2 years ago
Rubidium
3373128233
Codechange: pass the randomizer directly to the town name generation
2 years ago
Rubidium
b3b8c3fd2d
Codechange: pass the randomizer to use directly to the company face generation
2 years ago
Rubidium
90f1768006
Codechange: add non-nullptr asserts in cases where it should never be nullptr
...
Though where similar calls are checked for nullptr as in those instances of
the use of that function it can actually return nullptr. In other words, write
down the assumption that the function never returns nullptr in an assert.
2 years ago
Jonathan G Rennison
10e76b2788
Fix #10032 : Capacities of articulated vehicles in build window
...
See also: #9954
2 years ago
Tyler Trahan
5c64cdcb79
Feature: Press Ctrl to build a diagonal area of trees ( #10342 )
2 years ago
Rubidium
170f37d07f
Codechange: silence some potentially uninitialized local variable errors
...
In these cases technically they are false positives, however dismissing the
alerts when the underlying code may make them true positives does not seem
like the safest solution.
2 years ago
Michael Lutz
150f05dc15
Change: Heading for 14 now. ( #10302 )
2 years ago
Loïc Guilloux
fe30f66570
Fix #9720 : Delay start of GS/AI to after loading of savegame ( #9745 )
2 years ago
Loïc Guilloux
c179c10048
Fix #10263 , ccefa76: [scripts] restore tile validation for commands ( #10269 )
2 years ago
Michael Lutz
1c205b2cda
Fix #10212 : [Script] Nested ScriptAccounting scopes are not restored properly.
2 years ago
dP
5e14a20b3b
Feature: [GS] Scriptable league tables ( #10001 )
2 years ago
Peter Nelson
f5f035a22b
Codechange: Make use of Rect Width/Height helpers.
2 years ago
Joel-Milligan
59645c6733
Change: Remove scrollbar from town authority actions panel ( #9928 )
2 years ago
Henry Wilson
89cf0d5da8
Codechange: Factor cargotype weight conversion magic numbers
2 years ago
Loïc Guilloux
0afa6f2424
Codechange: [CMake] Auto-fill list of #include in script_window.hpp ( #10103 )
2 years ago
Nicolas Chappe
a9a21e784d
Codechange: Always set the ODATFB_NEAREST_DEPOT flag for 'any depot' orders
2 years ago
SamuXarick
8d0d45c431
Add: ScriptCargo::GetWeight to get cargo weights
2 years ago
SamuXarick
3dda8c9bad
Fix: ScriptRoad::HasRoadType really check for RoadType
...
Script::HasRoadType was only checking if the tile had the same RoadTramType as that of the RoadType provided.
Now it really checks RoadType against RoadType.
2 years ago
Tyler Trahan
db98cedb7e
Fix #9883 : Show cost/income float over end tile of rail or road construction
2 years ago
Charles Pigott
9059215b3b
Fix #10073 : Stop truncating output of list_ai and friends commands
2 years ago
glx22
675cf7a8ee
Fix 6fe445e: [Script] Respect joining adjacent when building an airport
2 years ago
glx22
ed1457dca3
Fix 55170ae: [Script] Building two-way signals could end up one-way
2 years ago
Loïc Guilloux
7331149dde
Codechange: [CMake] Pass API files list via a file to minimise command line length ( #9874 )
2 years ago
Tyler Trahan
f4ca94d3f6
Codechange: Revenue is not the same as Income
...
Income is revenue minus costs. Let's name things correctly (without breaking the script API).
2 years ago
Niels Martin Hansen
e68bf58989
Codechange: Use anonymous union for vehicle orders/old orders list
3 years ago
Andy
b8a8891a86
Add: [Script] IndustryType::ResolveNewGRFID to resolve industry id from grfid and grf_local_id
3 years ago
Andy
26ac0c48f0
Add: [Script] ObjectType::ResolveNewGRFID to resolve object id from grfid and grf_local_id
3 years ago
Michael Lutz
3fede15940
Codechange: [Script] Prettify squirrel call helpers by using C++17.
3 years ago
Michael Lutz
41fa16f325
Codechange: Don't use globals for return values from vehicle command procs.
3 years ago
Michael Lutz
57b82e2e99
Codechange: Don't use globals for story/goal/sign/group command proc return values.
3 years ago
Michael Lutz
3e85e833a7
Codechange: Add support for additional command result values.
3 years ago
Michael Lutz
8503854655
Codechange: Pass unpacked command arguments to command callbacks (except Script).
3 years ago
Michael Lutz
13528bfcd0
Codechange: Un-bitstuff all remaining commands.
3 years ago
Michael Lutz
58cff7b081
Codechange: Un-bitstuff the remaining on-map commands.
3 years ago
Michael Lutz
c6d7b98808
Codechange: Un-bitstuff landscape commands.
3 years ago
Michael Lutz
e6e69d5289
Codechange: Un-bitstuff goal and story page commands.
3 years ago
Michael Lutz
1a42a8a5d5
Codechange: Un-bitstuff town-related commands.
3 years ago
Michael Lutz
e08b3abe7f
Codechange: Un-bitstuff group and autoreplace commands.
3 years ago
Michael Lutz
46bd2f1ced
Codechange: Un-bitstuff remaining transport infrastructure commands.
3 years ago
Michael Lutz
55170ae703
Codechange: Un-bitstuff rail commands.
3 years ago
Michael Lutz
6fe445e6c0
Codechange: Un-bitstuff station/depot/waypoint commands.
3 years ago
Michael Lutz
21675ec7e2
Codechange: Un-bitstuff vehicle/engine commands.
3 years ago
Michael Lutz
211c630cbe
Codechange: Un-bitstuff order commands.
3 years ago
Michael Lutz
4f3ea3907e
Codechange: Un-bitstuff commands taking a ClientID (i.e. CMD_CLIENT_ID).
3 years ago
Michael Lutz
ccefa76a46
Codechange: Template DoCommandPInternal.
3 years ago
Michael Lutz
6691ee3b96
Codechange: Template script command calls.
3 years ago
Michael Lutz
eab18f06a4
Codechange: Pass additional data as byte stream to command callbacks.
3 years ago
Michael Lutz
e740c24eb7
Codechange: Template DoCommand to automagically reflect the parameters of the command proc.
...
When finished, this will allow each command handler to take individually
different parameters, obliviating the need for bit-packing.
3 years ago
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.
3 years ago
Michael Lutz
123c7f99c3
Codechange: Move command callback declarations to the cmd header files.
3 years ago
Michael Lutz
a38bbefe1b
Codechange: Untangle command code, flags and error string for DoCommand*.
3 years ago
Michael Lutz
549caca39c
Codechange: Move command arguments to the back of the networked command function calls.
3 years ago
Michael Lutz
b6933a2ebd
Codechange: Move command arguments to the back of the DoCommand function call.
3 years ago
Loïc Guilloux
eed49d7792
Fix #9626 , ddafc0d: Incorrect loading of script saved data ( #9629 )
3 years ago
Loïc Guilloux
a53cfeef13
Fix #9548 , e5fedcd: [Squirrel] Crash during engine cleanup after reaching memory limit on realloc ( #9592 )
3 years ago
Loïc Guilloux
ccd586a736
Fix #9588 , 140a96b: [Squirrel] Reaching memory limit during script registration could prevent further script detections ( #9589 )
...
Also the memory allocation triggering the limit was never freed.
And if the exception was thrown in a constructor using placement new, the pre-allocated memory was not freed either.
3 years ago
Patric Stout
394c749b6b
Change: Heading for 13 now ( #9573 )
3 years ago
dP
39662aabef
Add: allow gamescripts to build neutral objects ( #9568 )
3 years ago
SamuXarick
37de878129
Feature: [AI/GS] Missing water related functions and objects ( #8390 )
3 years ago
Patric Stout
eca73a810c
Change: rebrand 1.12.0 to 12.0
...
One question that keeps popping up: "when do we release 2.0?".
NewGRF will force that at least 1.16 will be 2.0, but to not wait
for this, let's drop the "1." and be for ever done with that
conversation.
We are following in the footstep of giants here.
3 years ago
SamuXarick
120d216b0b
Add: [AI] Get the number of vehicles in a given group ( #9462 )
3 years ago
Michael Lutz
b14681891d
Fix 8706dcd9: [Script] Byte-swap grfids to match normal expectations.
3 years ago
Loïc Guilloux
4eb368c786
Fix 14f197c: [Script] int64 values don't fit into int ( #9465 )
3 years ago
Michael Lutz
8706dcd9c1
Add: [Script] Basic information about loaded NewGRFs for scripts. ( #9464 )
...
Currently, scripts use various heuristics to detect loaded NewGRFs that are inherently unreliable.
The list of loaded NewGRFs is easily accessible to a human player, and thus giving
scripts the same information is consistent with the current approach to not give scripts
more information than a human player.
3 years ago
Charles Pigott
549a58731f
Codechange: Remove (unused) ability to specify min/max of OverflowSafeInt
3 years ago
Rubidium
01139d3368
Codechange: access the name of a setting via an accessor function
3 years ago
Loïc Guilloux
ddafc0de05
Fix 39e90ec: Integers for scripts are 64bit, but saved as 32bit ( #9415 )
3 years ago
Patric Stout
7dd5fd6ed4
Feature: framework to make savegames self-descriptive
...
We won't be able to make it fully self-descriptive (looking at you
MAP-chunks), but anything else can. With this framework, we can
add headers for each chunk explaining how each chunk looks like
in detail.
They also will all be tables, making it a lot easier to read in
external tooling, and opening the way to consider a database
(like SQLite) to use as savegame format.
Lastly, with the headers in the savegame, you can freely add
fields without needing a savegame version bump; older versions
of OpenTTD will simply ignore the new field. This also means
we can remove all the SLE_CONDNULL, as they are irrelevant.
The next few commits will start using this framework.
3 years ago
Rubidium
281a65b3e1
Cleanup: simplify some boolean expressions
3 years ago
Rubidium
3237e97b35
Cleanup: [Script] Use nullptr instead of 0 or NULL
3 years ago
Patric Stout
97b94bdc9a
Change: prefix SL_ARR with the length of the array
...
This means that during loading we can validate that what is saved
is also that what is expected. Additionally, this makes all list
types similar to how they are stored on disk:
First a gamma to indicate length, followed by the data.
The size still depends on the type.
3 years ago
Rubidium
d31a535c87
Cleanup: remove some unneeded c_str() calls
3 years ago
rubidium42
55a11710a6
Codechange: convert printf DEBUG statements to fmt Debug statements
3 years ago
rubidium42
bf500c39c9
Codechange: make the name of SettingDesc a std::string
3 years ago
rubidium42
71f3c35288
Fix #9353 : [Script] Garbage collecting on priority queues could crash the game
3 years ago
Loïc Guilloux
16ebf7861f
Fix 4079c47: Missed a file when removing generated .sq files from the repo ( #9350 )
3 years ago
Loïc Guilloux
ee5f23382d
Fix: [Script] doxygen_filter is very strict about DOXYGEN_API usage ( #9351 )
3 years ago
rubidium42
2924ac48c5
Fix: [Script] Ensure the saved script strings are properly validated and terminated when being read from the savegame
3 years ago
Patric Stout
648ee88a02
Codechange: merge guiflags and flags in settings .ini files
...
It was rather confusing which one was for what, especially as some
SaveLoad flags were settings-only. Clean up this mess a bit by
having only Setting flags.
3 years ago
Patric Stout
28e90769f7
Codechange: use "[[maybe_unused]]" instead of a wide variety of other ways we had
...
While at it, replace OTTD_ASSERT with WITH_ASSERT, as this
is always set if assert() is valid. No matter if NDEBUG is set
or not.
3 years ago
Patric Stout
9fff00ba20
Codechange: C++-ify lists for SaveLoad ( #9323 )
...
Basically, this changes "SaveLoad *" to either:
1) "SaveLoadTable" if a list of SaveLoads was meant
2) "SaveLoad &" if a single entry was meant
As added bonus, this removes SL_END / SLE_END / SLEG_END. This
also adds core/span.hpp, a "std::span"-lite.
3 years ago
Patric Stout
921ab68a48
Codechange: use AsIntSetting()->Read() wrapper if possible ( #9324 )
3 years ago
rubidium42
e58581f1f8
Codechange: [Network] Let admin-game script use std::string
3 years ago
rubidium42
29f2bd27c4
Codechange: [Game] Pass the length instead of '\0' terminating (and undoing that) in the middle of a C-string
3 years ago
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.
3 years ago
glx22
5799402f7a
Codechange: Rename window related DeleteXXX to match new behaviour
3 years ago
rubidium42
2e136285e1
Codechange: move from C-string to std::string for DoCommand
3 years ago
Patric Stout
7713c3e3cc
Codechange: move casting a "const char *" to "char *" to the caller
...
It is not nice to have your definition say you won't change a value
while in fact the whole reason for your existance is to change it.
3 years ago
Patric Stout
665e3c1f45
Fix: ScriptObject::DoCommand could modify "text" while defined "const"
...
This could have unwanted side-effects, as it could change the
source for ever and ever.
3 years ago
Patric Stout
ca9a7df752
Codechange: rename str_validate to StrMakeValid(InPlace) ( #9304 )
...
This to be more explicit the function changes the value, and not
returns yes/no.
3 years ago
rubidium42
86c9ef8134
Codechange: remove SettingDescType in lieu of the actual classes
3 years ago
rubidium42
425d50372f
Codechange: let SettingDesc extend SettingDescBase
3 years ago
rubidium42
8ffb4122df
Codechange: just pass the SettingDesc to SetSettingValue and remove distinction between (non)company
3 years ago
rubidium42
4d246cda73
Codechange: [Network] Let NetworkClientInfo use std::string
3 years ago
rubidium42
44ca7d9377
Change: Use gender-neutral pronouns
3 years ago
rubidium42
0f062b3882
Codechange: clean up C-string support from settings
3 years ago
rubidium42
a032714dc4
Codechange: move script settings to std::string
3 years ago
Rubidium
7755f81bb8
Codechange: make explicit that virtual functions in a con/destructor are resolved statically
...
This as during construction the sub class has not been initialized yet, and
during destruction the sub class has already been destroyed, so the overriding
virtual function would be accessing uninitialized data.
3 years ago
glx22
38c97e1492
Codechange: Replace TILE_AREA_LOOP with range-based for loops
3 years ago
William Davis
881e1da51d
Change: Use gender-neutral pronouns in console command messages (and comments) ( #9203 )
3 years ago
glx22
983c7ade60
Codechange: Replace FOR_ALL_SEARCHPATHS with range-based for loops
3 years ago
glx22
34215f7faa
Codechange: Replace FOR_ALL_TARS with range-based for loops
3 years ago
glx22
9a8756d7ed
Codechange: Replace FOR_ALL_CARGOSPECS with range-based for loops
3 years ago
Loïc Guilloux
356bbbb90a
Fix: [MinGW] Set minimum OS version to Windows XP ( #9135 )
3 years ago
peter1138
c56fce70b4
Codechange: Replace CMD_SET_GROUP_REPLACE_PROTECTION with generic CMD_SET_GROUP_FLAG.
3 years ago
peter1138
27a956ba62
Codechange: Replace Group::replace_protection with Group::flags
3 years ago
Rubidium
e5fedcd6da
Fix #6322 : [Script] Try to let the script die when no memory can be allocated instead of crashing the whole game
4 years ago
Rubidium
4400bbfa96
Change: [Script] Let Script_FatalError use std::string instead of const char *
4 years ago
Patric Stout
9bfa7198fd
Change: Heading for 1.12 now ( #8862 )
4 years ago
Patric Stout
9a3dbf3122
Fix 02e770ff: allow estimating CloneVehicle if short on money ( #8748 )
...
CheckCompanyHasMoney() was also executed when not using DC_EXEC,
resulting in an error about shortage of money instead of the
estimation.
This mostly is a problem for AI players, as they will have no
way to know how much it would have cost.
4 years ago
dP
91cc414588
Feature: [GS] Allow non-question type windows to have no buttons
4 years ago
dP
bab7de6cf2
Feature: Allow GameScripts to add additional text to Industry view window
4 years ago
Pavel Stupnikov
4b42ecb0f6
Feature: Add tile parameter for GSCompany.ChangeBankBalance to show text effect if needed ( #8573 )
4 years ago
SamuXarick
6298d9221a
Fix 218f40e: Warning about 32-bit shift implicitly converted to 64 bits
4 years ago
Patric Stout
218f40eea2
Add: [Script] ScriptCargo::GetName, to get the human readable name of a cargo ( #8544 )
...
Of course this translates into AICargo.GetName() for AIs and
GSCargo.GetName() for GameScripts.
4 years ago
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
4 years ago
glx22
f7e48cac87
Fix #8453 : [Script] Don't truncate loan variation to 32bit
4 years ago
SamuXarick
dc5b8020cc
Fix #6452 : Reset only editable and visible settings from GUI ( #7890 )
...
Also enables the Reset button while in-game for AI configs.
4 years ago
Michael Lutz
b408fe77f7
Codechange: Use std::string in file scanners.
4 years ago
Michael Lutz
65f65ad2ad
Codechange: Convert some more FIO functions to take std::string.
4 years ago
Michael Lutz
f3326d34e7
Codechange: Use std::string in FIO search path handling.
4 years ago