Michael Lutz
6fe445e6c0
Codechange: Un-bitstuff station/depot/waypoint commands.
2021-12-16 22:28:32 +01:00
Michael Lutz
21675ec7e2
Codechange: Un-bitstuff vehicle/engine commands.
2021-12-16 22:28:32 +01:00
Michael Lutz
211c630cbe
Codechange: Un-bitstuff order commands.
2021-12-16 22:28:32 +01:00
Michael Lutz
4f3ea3907e
Codechange: Un-bitstuff commands taking a ClientID (i.e. CMD_CLIENT_ID).
2021-12-16 22:28:32 +01:00
Michael Lutz
ccefa76a46
Codechange: Template DoCommandPInternal.
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
eab18f06a4
Codechange: Pass additional data as byte stream to command callbacks.
2021-12-16 22:28:32 +01:00
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.
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
Michael Lutz
123c7f99c3
Codechange: Move command callback declarations to the cmd header files.
2021-12-16 22:28:32 +01:00
Michael Lutz
a38bbefe1b
Codechange: Untangle command code, flags and error string for DoCommand*.
2021-12-16 22:28:32 +01:00
Michael Lutz
549caca39c
Codechange: Move command arguments to the back of the networked command function calls.
2021-12-16 22:28:32 +01:00
Michael Lutz
b6933a2ebd
Codechange: Move command arguments to the back of the DoCommand function call.
2021-12-16 22:28:32 +01:00
Loïc Guilloux
eed49d7792
Fix #9626 , ddafc0d: Incorrect loading of script saved data ( #9629 )
2021-10-20 12:23:16 +02:00
Loïc Guilloux
a53cfeef13
Fix #9548 , e5fedcd: [Squirrel] Crash during engine cleanup after reaching memory limit on realloc ( #9592 )
2021-10-02 21:08:42 +02:00
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.
2021-10-02 15:13:58 +02:00
Patric Stout
394c749b6b
Change: Heading for 13 now ( #9573 )
2021-09-25 13:48:03 +02:00
dP
39662aabef
Add: allow gamescripts to build neutral objects ( #9568 )
2021-09-25 13:39:40 +02:00
SamuXarick
37de878129
Feature: [AI/GS] Missing water related functions and objects ( #8390 )
2021-09-14 22:06:55 +02:00
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.
2021-08-15 12:28:51 +02:00
SamuXarick
120d216b0b
Add: [AI] Get the number of vehicles in a given group ( #9462 )
2021-08-12 21:29:03 +02:00
Michael Lutz
b14681891d
Fix 8706dcd9: [Script] Byte-swap grfids to match normal expectations.
2021-08-10 21:35:17 +02:00
Loïc Guilloux
4eb368c786
Fix 14f197c: [Script] int64 values don't fit into int ( #9465 )
2021-08-10 19:00:54 +02:00
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.
2021-08-09 23:34:50 +02:00
Charles Pigott
549a58731f
Codechange: Remove (unused) ability to specify min/max of OverflowSafeInt
2021-07-20 10:42:03 +01:00
Rubidium
01139d3368
Codechange: access the name of a setting via an accessor function
2021-07-09 22:53:30 +02:00
Loïc Guilloux
ddafc0de05
Fix 39e90ec: Integers for scripts are 64bit, but saved as 32bit ( #9415 )
2021-07-06 21:09:08 +02:00
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.
2021-07-02 22:21:58 +02:00
Rubidium
281a65b3e1
Cleanup: simplify some boolean expressions
2021-06-17 16:18:30 +02:00
Rubidium
3237e97b35
Cleanup: [Script] Use nullptr instead of 0 or NULL
2021-06-17 16:18:30 +02:00
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.
2021-06-15 16:45:04 +02:00
Rubidium
d31a535c87
Cleanup: remove some unneeded c_str() calls
2021-06-15 06:13:00 +02:00
rubidium42
55a11710a6
Codechange: convert printf DEBUG statements to fmt Debug statements
2021-06-13 12:45:45 +02:00
rubidium42
bf500c39c9
Codechange: make the name of SettingDesc a std::string
2021-06-13 10:26:58 +02:00
rubidium42
71f3c35288
Fix #9353 : [Script] Garbage collecting on priority queues could crash the game
2021-06-12 19:58:14 +02:00
Loïc Guilloux
16ebf7861f
Fix 4079c47: Missed a file when removing generated .sq files from the repo ( #9350 )
2021-06-11 16:59:19 +02:00
Loïc Guilloux
ee5f23382d
Fix: [Script] doxygen_filter is very strict about DOXYGEN_API usage ( #9351 )
2021-06-11 16:40:04 +02:00
rubidium42
2924ac48c5
Fix: [Script] Ensure the saved script strings are properly validated and terminated when being read from the savegame
2021-06-10 22:03:23 +02:00
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.
2021-06-06 21:45:01 +02:00
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.
2021-06-03 17:30:00 +02:00
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.
2021-05-31 22:26:44 +02:00
Patric Stout
921ab68a48
Codechange: use AsIntSetting()->Read() wrapper if possible ( #9324 )
2021-05-31 10:56:06 +02:00
rubidium42
e58581f1f8
Codechange: [Network] Let admin-game script use std::string
2021-05-30 10:15:22 +02:00
rubidium42
29f2bd27c4
Codechange: [Game] Pass the length instead of '\0' terminating (and undoing that) in the middle of a C-string
2021-05-30 10:15:22 +02: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
glx22
5799402f7a
Codechange: Rename window related DeleteXXX to match new behaviour
2021-05-29 21:08:25 +02:00
rubidium42
2e136285e1
Codechange: move from C-string to std::string for DoCommand
2021-05-29 19:02:18 +02:00
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.
2021-05-29 16:23:59 +02:00
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.
2021-05-29 16:23:59 +02:00
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.
2021-05-29 11:21:38 +02:00
rubidium42
86c9ef8134
Codechange: remove SettingDescType in lieu of the actual classes
2021-05-27 18:49:43 +02:00
rubidium42
425d50372f
Codechange: let SettingDesc extend SettingDescBase
2021-05-27 18:49:43 +02:00
rubidium42
8ffb4122df
Codechange: just pass the SettingDesc to SetSettingValue and remove distinction between (non)company
2021-05-27 18:49:43 +02:00
rubidium42
4d246cda73
Codechange: [Network] Let NetworkClientInfo use std::string
2021-05-16 10:07:51 +02:00
rubidium42
44ca7d9377
Change: Use gender-neutral pronouns
2021-05-15 10:16:48 +02:00
rubidium42
0f062b3882
Codechange: clean up C-string support from settings
2021-05-13 23:13:17 +02:00
rubidium42
a032714dc4
Codechange: move script settings to std::string
2021-05-13 23:13:17 +02:00
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.
2021-05-13 10:03:26 +02:00
glx22
38c97e1492
Codechange: Replace TILE_AREA_LOOP with range-based for loops
2021-05-13 00:13:54 +02:00
William Davis
881e1da51d
Change: Use gender-neutral pronouns in console command messages (and comments) ( #9203 )
2021-05-08 11:02:30 +01:00
glx22
983c7ade60
Codechange: Replace FOR_ALL_SEARCHPATHS with range-based for loops
2021-05-03 19:46:57 +02:00
glx22
34215f7faa
Codechange: Replace FOR_ALL_TARS with range-based for loops
2021-05-03 19:46:57 +02:00
glx22
9a8756d7ed
Codechange: Replace FOR_ALL_CARGOSPECS with range-based for loops
2021-04-29 21:08:24 +02:00
Loïc Guilloux
356bbbb90a
Fix: [MinGW] Set minimum OS version to Windows XP ( #9135 )
2021-04-29 14:26:08 +02:00
peter1138
c56fce70b4
Codechange: Replace CMD_SET_GROUP_REPLACE_PROTECTION with generic CMD_SET_GROUP_FLAG.
2021-04-22 22:57:00 +02:00
peter1138
27a956ba62
Codechange: Replace Group::replace_protection with Group::flags
2021-04-22 22:57:00 +02:00
Rubidium
e5fedcd6da
Fix #6322 : [Script] Try to let the script die when no memory can be allocated instead of crashing the whole game
2021-04-17 22:24:52 +02:00
Rubidium
4400bbfa96
Change: [Script] Let Script_FatalError use std::string instead of const char *
2021-04-17 22:24:52 +02:00
Patric Stout
9bfa7198fd
Change: Heading for 1.12 now ( #8862 )
2021-03-14 20:47:31 +01:00
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.
2021-02-26 16:22:58 +01:00
dP
91cc414588
Feature: [GS] Allow non-question type windows to have no buttons
2021-02-14 23:21:43 +01:00
dP
bab7de6cf2
Feature: Allow GameScripts to add additional text to Industry view window
2021-01-22 09:50:53 +00: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
SamuXarick
6298d9221a
Fix 218f40e: Warning about 32-bit shift implicitly converted to 64 bits
2021-01-10 22:31:01 +01:00
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.
2021-01-09 15:15:14 +01:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
2021-01-08 11:16:18 +01:00
glx22
f7e48cac87
Fix #8453 : [Script] Don't truncate loan variation to 32bit
2020-12-28 16:51:15 +01:00
SamuXarick
dc5b8020cc
Fix #6452 : Reset only editable and visible settings from GUI ( #7890 )
...
Also enables the Reset button while in-game for AI configs.
2020-12-27 15:05:47 +01:00
Michael Lutz
b408fe77f7
Codechange: Use std::string in file scanners.
2020-12-27 13:19:25 +01:00
Michael Lutz
65f65ad2ad
Codechange: Convert some more FIO functions to take std::string.
2020-12-27 13:19:25 +01:00
Michael Lutz
f3326d34e7
Codechange: Use std::string in FIO search path handling.
2020-12-27 13:19:25 +01:00
glx22
d8605ad18d
Codechange: Replace FOR_VEHICLE_ORDERS with range-based for loops
2020-12-27 10:28:46 +00:00
Patric Stout
f66baa444f
Codechange: use C++11 constructs for for-each loops ( #8432 )
2020-12-25 19:38:18 +01:00
Patric Stout
29e3331055
Codechange: move block a bit lower to increase readability
...
It was rather confusing that "library_name" was calculated, and
then not used to do the FindLibrary() call. Flipping those two
blocks around makes it a bit more sane to read.
2020-12-25 17:03:44 +01:00
Patric Stout
8c0e4ab07f
Doc: for over 10 years now, we do not load the exact AI version first ( #8431 )
...
See commit fae34ee7
for details. The documentation simply never
got updated.
2020-12-25 17:03:31 +01:00
Pavel Stupnikov
9a45a0f535
Feature: Set exclusive access to industry from GS ( #8115 )
2020-12-22 14:29:48 +01:00
Niels Martin Hansen
b7751c483e
Feature: Influence industry production changes from GS ( #7912 )
2020-12-22 14:21:31 +01:00
glx22
d1fa6b129c
Add: [CMake] Option to only build tools/docs
2020-12-13 22:46:46 +01:00
glx22
6fae0b83d9
Add: [CMake] targets to generate documentation
2020-12-12 15:48:04 +01:00
Rasmus Jonsson
0b2dd2c5cd
Fix: [NoAI] don't notify caught exceptions
2020-12-02 17:11:36 +00:00
Charles Pigott
348c231e12
Codechange: Make codestyle for CMake files consistent for 'control' statements
2020-09-25 14:43:13 +01:00
glx
4079c47b6c
Change: rewrote squirrel_export in CMake
2020-07-16 00:53:26 +02:00
glx
8794c61f25
Change: rewrote generate_widget in CMake
2020-07-16 00:53:26 +02:00
TrevorShelton
c39d62c245
Update: Disuse of STR_ERROR_INCOMPATIBLE_ROAD
2020-07-10 14:47:55 +01:00
Charles Pigott
dc8d0089e9
Codechange: Make sure script enums are the same size as their normal counterparts
2020-06-27 14:51:14 +01:00
Charles Pigott
e5f931ef42
Fix: Warning about using the wrong enum type
2020-06-27 14:51:14 +01:00
Charles Pigott
64b1c70fdd
Codechange: Add WARN_FORMAT to vseprintf and fix the cascade of warnings that followed
2020-06-27 14:51:14 +01:00
Patric Stout
56d54cf60e
Add: introduce CMake for project management
...
CMake works on all our supported platforms, like MSVC, Mingw, GCC,
Clang, and many more. It allows for a single way of doing things,
so no longer we need shell scripts and vbs scripts to work on all
our supported platforms.
Additionally, CMake allows to generate project files for like MSVC,
KDevelop, etc.
This heavily reduces the lines of code we need to support multiple
platforms from a project perspective.
Addtiionally, this heavily improves our detection of libraries, etc.
2020-06-05 19:36:05 +02:00
Michael Lutz
1c0ba07c3c
Add: [Script] Native priority queue; useful e.g. for pathfinders.
2020-06-01 21:35:13 +02:00
TechGeekNZ
16e5f610f7
Cleanup: Correct typographic errors in code comments.
2020-05-28 08:26:41 +01:00
Jonathan G Rennison
f11cd8f2d0
Fix: Compilation warnings in story_gui and script_story_page
...
See: #7896
2020-05-27 22:22:56 +02:00
Niels Martin Hansen
800ade7702
Feature: Push-buttons on storybook pages ( #7896 )
...
Allow more direct player-initiated interaction for Game Scripts, by letting the GS put push-buttons on storybook pages. These buttons can either trigger an immediate event, or require the player to first select a tile on the map, or a vehicle.
Additionally this reworks how the storybook pages are layouted and rendered, to allow for slightly more complex layouts, and maybe speeding drawing up a bit.
2020-05-22 22:22:55 +02:00
glx
e0d20a44d2
Codechange: Use a dynamic copyright year
2020-05-06 09:54:36 +01:00
Michael Lutz
1f1345de09
Codechange: [Script] Improve copying a list into another empty list.
2020-04-26 18:09:42 +02:00
SamuXarick
93a7ff6709
Fix: [Script] ScriptMarine::AreWaterTilesConnected failed for aqueducts ( #8074 )
2020-04-16 20:32:20 +02:00
SamuXarick
e7b901462e
Doc: [Script] Make it clear random_deviation and CONFIG_RANDOM range upper bounds are inclusive
2020-03-31 22:33:19 +01:00
SamuXarick
8f9654c5c6
Fix: [Script] Random deviation upper bound range should be inclusive
2020-03-31 22:33:19 +01:00
SamuXarick
4d4005d8b7
Fix #8039 : [AI/GS] SetOrderFlags and GetOrderDestination didn't work for oil rigs
2020-03-30 08:18:32 +02:00
SamuXarick
424770d662
Fix: [AI/GS] Consider neutral station setting when creating tile lists
2020-03-14 23:23:33 +01:00
SamuXarick
971201b3b7
Fix: [AI/GS] CanBuildConnectedRoadPartsHere neighbours tiles were at times incorrect
2020-03-13 13:54:11 +00:00
frosch
0ade8b20fe
Fix #7998 : Crash when scripts tried to access companies with invalid IDs.
2020-02-22 14:32:43 +00:00
Charles Pigott
5c19668fdb
Doc: [Script] Add a note about how wagon connectivity works for scripts
2020-02-19 11:26:58 +01:00
glx
2f264f2c92
Change: Heading for 1.11 now
2020-02-08 23:38:49 +01:00
Patric Stout
3b177af826
Add: [Doxygen] Add the current version of documentation in header ( #7940 )
...
While at it, renamed the project names to reflect how we currently
refer to them.
2020-01-15 23:07:37 +01:00
Pavel Stupnikov
d7a928a08b
Feature: GS method to control engine availability for a specific company ( #7791 )
...
* Feature: GS method to allow company to use an engine before its introduction date
* Feature: GS method to retire an engine early for a specific company
2020-01-15 18:46:26 +01:00
SamuXarick
fa71375ec2
Fix e04ca90: squirrel export script got forgotten
2020-01-07 15:07:24 +00:00
stormcone
70f9c3c655
Feature: Industry directory cargo filtering
2020-01-05 20:52:17 +00:00
Niels Martin Hansen
f401622149
Feature: Script API to change town rating of companies
2020-01-04 19:07:13 +01:00
TELK
e04ca904a9
Feature: Minimap screenshot
2020-01-04 18:21:38 +01:00
pnda
e558aa8ff4
Feature: Screenshot window
2020-01-01 10:19:12 +00:00
stormcone
798e9ee93e
Feature: Add a button to the vehicle advisory news window to open the group window.
2019-12-23 18:04:10 +00:00
glx
ee7a8eebca
Codechange: Replace FOR_ALL_TOWNS with range-based for loops
2019-12-21 20:13:03 +01:00
glx
0b489f9924
Codechange: Replace FOR_ALL_SUBSIDIES with range-based for loops
2019-12-21 20:13:03 +01:00
glx
847e5f33d4
Codechange: Replace story related FOR_ALL with range-based for loops
2019-12-21 20:13:03 +01:00
glx
869581eb23
Codechange: Replace FOR_ALL_SIGNS with range-based for loops
2019-12-21 20:13:03 +01:00
glx
d8a1be48cd
Codechange: Replace vehicle related FOR_ALL with range-based for loops
2019-12-21 20:13:03 +01:00
glx
41232f18c1
Codechange: Replace network related FOR_ALL with range-based for loops
2019-12-21 20:13:03 +01:00
glx
00c2a98cf3
Codechange: Replace FOR_ALL_INDUSTRIES with range-based for loops
2019-12-21 20:13:03 +01:00
glx
4ae829cb27
Codechange: Replace FOR_ALL_GROUPS with range-based for loops
2019-12-21 20:13:03 +01:00
glx
1f6b3a37f9
Codechange: Replace FOR_ALL_ENGINES with range-based for loops
2019-12-21 20:13:03 +01:00
glx
fa9769f81a
Codechange: Replace FOR_ALL_DEPOTS with range-based for loops
2019-12-21 20:13:03 +01:00
glx
ddabfed1cd
Codechange: Replace station related FOR_ALL with range-based for loops
2019-12-21 20:13:03 +01:00
glx
e001d87569
Add #7801 : [Script] more error mappings
2019-12-17 21:35:07 +00:00
Charles Pigott
60cbddbb5f
Fix #7606 : Game crash when trying to clean up a crashed script
...
Also fix another possible memory leak
2019-11-15 21:06:09 +01:00
Charles Pigott
cf354f6668
Codechange: new instead of malloc
2019-11-15 21:06:09 +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
James103
f1204f0d9d
Fix: spelling/grammar in script_tile.hpp ( #7804 )
2019-10-27 19:46:08 +00:00
glx
12e43c697d
Add: [Script] ScriptEventVehicleAutoReplaced.
2019-10-22 11:55:40 +02:00
Niels Martin Hansen
53f8d0b815
Codechange: Use std::vector for industry tile layouts
2019-10-19 17:16:25 +01:00
Charles Pigott
fe9731d32c
Fix: clang and MSVC warnings (glx)
2019-09-30 14:00:06 +01:00
JMcKiern
04f659e768
Fix: Some typos found using codespell
2019-09-29 21:27:32 +01:00
Max Maton
e4414471dd
Add: Allow GameScript to demolish without a company
...
This allows GameScripts to shrink towns as well as grow them.
2019-09-08 10:09:19 +02:00
Niels Martin Hansen
0549a81c30
Fix b3fd7879: Ignore command flags when verifying script commands
...
Multiplayer games has the server add some flags to the cmd value during the handling.
These flags should not be included in the verification, mask them out. Without this
masking out, scripts tend to die when executing their first command in multiplayer.
2019-09-07 19:38:13 +02:00
glx22
b3fd787959
Fix #7188 : check the validity of command callback for scripts ( #7701 )
2019-09-07 17:37:01 +01:00
glx22
cf86c39be5
Fix b870596f153c17d9aa915ca67b8f6414d73cb31f: forgotten squirrel_export run ( #7715 )
2019-09-01 18:54:01 +02:00
Gabda
b870596f15
Add #6887 : Option to show zone inside local authority boundary of towns
...
Can be found at town information > local authority window
Layout for button is same as Graph Keys
Turn on/off for every town individually
2019-08-17 21:45:20 +01:00
nikolas
10fe568f08
Fix: typo in ScriptList::Valuate param error ( #7687 )
2019-08-07 21:15:53 +02:00
TELK
196d586849
Feature: Town name filtering ( #7621 )
2019-07-22 20:27:39 +01:00
Jonathan G Rennison
d71a7c21da
Fix #7593 : Crash in ScriptOrder::GetOrderDistance in VT_AIR mode
...
Null pointer dereference occurred when either origin_tile or dest_tile
were waypoint tiles.
2019-07-22 20:26:36 +01:00
dP
36e4bd4023
Fix: Make GSGoal.QuestionClient work correctly at least for clients with ID < 2**16
2019-07-14 13:32:08 +01:00
unknown
6f28a0c051
Fix #5685 : Check for free wagons in ScriptVehicleList
2019-07-07 16:02:11 +01:00
peter1138
f538179878
Feature: Multi-tile docks and docking points.
2019-06-30 16:46:32 +02:00
glx
09004f3697
Codechange: catch script exceptions by reference
2019-05-15 21:59:57 +02:00
glx
a82e7ec281
Fix #7590 : handle script exceptions during scanning
2019-05-15 21:59:57 +02:00
glx
aac4255d43
Fix #7590 : decrement allocated_size in ScriptAllocator::Free()
2019-05-15 21:59:57 +02:00
Niels Martin Hansen
e7f6f07599
Add: Show memory allocations by GS and AI in framerate window
2019-05-11 15:34:33 +02:00
Niels Martin Hansen
140a96b3a0
Change: Limit memory allocations for each Squirrel instance
...
This can avoid out-of-memory situations due to single scripts using up the entire address space.
Instead, scripts that go above the maximum are killed.
The maximum is default 1 GB per script, but can be configured by a setting.
2019-05-11 15:34:33 +02:00
peter1138
3293f08e0b
Add: New RoadType API functions.
2019-05-01 21:36:27 +02:00
peter1138
c02ef3e456
Feature: Add NotRoadTypes (NRT)
2019-05-01 21:36:27 +02:00
Charles Pigott
5b34c8019f
Codechange: Remove Company/OwnerByte types
2019-04-29 17:40:22 +01:00
Charles Pigott
931d32f414
Codechange: Remove RailTypeByte type
2019-04-29 17:40:22 +01:00
peter1138
81d335b081
Feature: Add station coverage area display for towns.
2019-04-25 09:14:01 +02:00
peter1138
b6733edd17
Feature: Add coverage area display for existing stations.
2019-04-25 09:14:01 +02:00
Niels Martin Hansen
08284e005d
Fix: Automatic line breaking of the warning
2019-04-24 17:40:11 +02:00
Niels Martin Hansen
dcb2571888
Add: Warn players that company passwords are not truly secure
2019-04-24 17:40:11 +02:00
PeterN
3bbd7ea2c1
Fix: Industry coverage area is no longer rectangular. ( #7464 )
...
AIs test station catchment in reverse to how players see station catchment.
This did not take account of non-rectangular station catchment areas, so AIs
could end up placing stations in locations that did not accept/deliver cargo.
2019-04-13 14:27:57 +01:00
PeterN
abe8cf4985
Codechange: Replace duplicated code with TileArea::Expand() ( #7467 )
2019-04-13 14:12:34 +01:00
peter1138
5bd2b15e86
Codechange: Replace NULL with nullptr in squirrel interface.
2019-04-11 22:42:11 +01:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02:00
peter1138
f0336f1f17
Codechange: Remove ship max order distance from script API.
2019-03-31 17:22:54 +01:00
glx
d0e8060182
Fix 6fc60d8c4f: forgot to update API changelog
2019-03-31 03:33:03 +02:00
PeterN
e1069eee05
Codechange: Check airport layout would fit within map bounds before iterating tiles. ( #7429 )
2019-03-30 22:20:26 +00:00
PeterN
b6e3e30d86
Codechange: Distance between town and airport has already just been found, so use it. ( #7427 )
...
Previously the distance was thrown away, only to be expensively recalculated again.
2019-03-29 17:43:06 +00:00
glx22
66dd7c3879
Fix: MSVC warnings ( #7423 )
2019-03-28 00:09:33 +01:00
Henry Wilson
03ca3190c9
Codechange: Use range-based for-loop in Auto[Free|Delete]SmallVector
2019-03-26 20:15:57 +00:00
Henry Wilson
c01a2e2a81
Codechange: Removed SmallVector completely
2019-03-26 20:15:57 +00:00
Henry Wilson
ab711e6942
Codechange: Replaced SmallVector::[Begin|End]() with std alternatives
2019-03-26 20:15:57 +00:00
Henry Wilson
a0f36a50e6
Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back()
2019-03-26 20:15:57 +00:00
Henry Wilson
a690936ed7
Codechange: Replace SmallVector::Length() with std::vector::size()
2019-03-26 20:15:57 +00:00
Henry Wilson
4b349c0f90
Codechange: [core] Implement SmallVector using std::vector
...
The public and protected interface to SmallVector are unchanged
SmallVector now requires that items be default constructible
This isn't an issue since some contained items were previously created
uninitialized.
Temporary default constructors are added to the following structs
- SmallPair
- SmallStackItem
- GRFPresence
Where vector<bool> is required, transition immediately to std::vector
to avoid returning proxy object references.
2019-03-26 20:15:57 +00:00
glx
f8e6cd10ef
Add: script API functions for build with refit feature
2019-03-24 15:28:48 +00:00
peter1138
d54b6ac09b
Feature: When filtering purchase list by cargo type, make buy button perform a refit if required.
2019-03-24 15:28:48 +00:00
Henry Wilson
af7d9020a1
Codechange: Use override specifer for overriding member declarations
...
This is a C++11 feature that allows the compiler to check that a virtual
member declaration overrides a base-class member with the same signature.
Also src/blitter/32bpp_anim_sse4.hpp +38 is no longer erroneously marked
as virtual despite being a template.
2019-03-24 16:10:04 +01:00
Patric Stout
e3c639a09f
Remove: ENABLE_NETWORK switch
...
This switch has been a pain for years. Often disabling broke
compilation, as no developer compiles OpenTTD without, neither do
any of our official binaries.
Additionaly, it has grown so hugely in our codebase, that it
clearly shows that the current solution was a poor one. 350+
instances of "#ifdef ENABLE_NETWORK" were in the code, of which
only ~30 in the networking code itself. The rest were all around
the code to do the right thing, from GUI to NewGRF.
A more proper solution would be to stub all the functions, and
make sure the rest of the code can simply assume network is
available. This was also partially done, and most variables were
correct if networking was disabled. Despite that, often the #ifdefs
were still used.
With the recent removal of DOS, there is also no platform anymore
which we support where networking isn't working out-of-the-box.
All in all, it is time to remove the ENABLE_NETWORK switch. No
replacement is planned, but if you feel we really need this option,
we welcome any Pull Request which implements this in a way that
doesn't crawl through the code like this diff shows we used to.
2019-03-20 19:24:55 +01:00
Peter Nelson
8b1b3fd0f9
Feature: Non-rectangular sparse station catchment area.
2019-03-09 16:33:47 +00:00
peter1138
ed6084523d
Codechange: Convert StationList from SmallVector to std::set.
2019-03-09 16:33:47 +00:00
glx22
dae35188ab
Fix 13962a847
, 00d28a500: forgotten squirrel_export run ( #7345 )
2019-03-08 21:15:00 +01:00
PeterN
41563a871b
Add: AI API for vehicle group colours ( #7336 )
2019-03-08 18:13:33 +00:00
frosch
a67ee02529
Change: Heading for 1.10 now ( #7319 )
2019-03-03 20:51:57 +01:00
Peter Nelson
5a5944867d
Add: Add parent_group_id parameter to CreateGroup()
2019-03-03 09:15:39 +01:00
Peter Nelson
5d3ccae6c5
Add: AI function to get current usage of a group.
2019-03-03 09:15:39 +01:00
Peter Nelson
e0c2ad1b65
Add: AI functions to get/set company colours.
2019-03-03 09:15:39 +01:00
Peter Nelson
3c047b124e
Add: AI functions to get current and last year profit of a group.
2019-03-03 09:15:39 +01:00
Peter Nelson
b62452903a
Add: AI functions to set/get vehicle group parent.
2019-03-03 09:15:39 +01:00
Niels Martin Hansen
13962a8475
Change: Framerate window can now scroll and resize
2019-02-23 14:29:07 +01:00
Peter Nelson
fde5bd0ccf
Change: Add scrollbar to cargo legend in cargo payment rates window.
2019-02-23 11:46:00 +01:00
Greg Carlin
00d28a500d
Feature: Add option to adjust font size separately from GUI size. ( #7003 )
...
Adds an option in the "Game Options" next to "Interface Size" called "Font Size". Available options are normal, double, and quad.
2019-02-23 08:27:46 +00:00
Samu
ba55f93f41
Doc: [AI] UnshareOrders empties the orders list of the vehicle.
2019-02-19 15:25:53 +01:00
PeterN
5dc377244d
Fix #7224 : AI could no longer create groups. ( #7233 )
2019-02-15 19:15:53 +00:00
glx
70e1c57f81
Fix: line ending issues with MSYS2
2019-02-10 12:44:10 +01:00
Peter Nelson
bfdad9ad1b
Fix #7108 : Missed generate_widget script run for livery changes.
2019-02-06 21:15:15 +01:00
Samu
011257dc88
Change: Allow AI companies to start immediately.
...
Allow multiple AIs to possibly start in the same tick.
start_date = 0 becomes a special case, where random deviation does not occur.
If start_date was not already 0, then a minimum value of 1 must apply.
2019-02-02 16:37:11 +00:00
SamuXarick
1e5a6765d9
Change: Give AI/GSBridge::GetName an extra parameter to refer the vehicle type ( #6988 )
2019-01-31 23:08:03 +00:00
PeterN
23960d0f2c
Feature: Group liveries, and livery window usability enhancements. ( #7108 )
...
* Change: Replace checkbox in livery selection window with Default option in drop down selection.
This reduces clutter in the UI and allows for primary/secondary colours to independently follow the default scheme if desired.
* Feature: Add vehicle group liveries.
2019-01-31 14:57:44 +01:00
glx22
b28a678436
Fix #7112 , fef8b831a9: incorrect precondition check ( #7127 )
2019-01-28 17:16:19 +01:00
glx
7292591967
Add: generate_widget.vbs to allow script_window.hpp enums generation for users unable to run bash/gawk scripts
2019-01-23 19:44:43 +01:00
glx
636fcc2cc0
Fix: keep the line ending when generating widget enums with bash/gawk on windows
2019-01-23 19:44:43 +01:00
glx
9f0ad7e269
Fix: BSD find used by OSX requires explicit path
2019-01-14 00:34:52 +00:00
glx
3f28e0cf53
Add: squirrel_export.vbs for users unable to run bash/gawk scripts
2019-01-14 00:34:52 +00:00
glx
8e5a8d3ec3
Cleanup: remove svn references in squirrel_export.sh
2019-01-14 00:34:52 +00:00
glx
2cf9405aa2
Fix: remove manual single file generation in squirrel_export.sh as it's broken
2019-01-14 00:34:52 +00:00
glx
34c438d7ad
Fix: keep line endings when running squirrel_export.sh on windows
2019-01-14 00:34:52 +00:00
Eddi-z
13056aedbc
Add: Conditional order for max. reliability (patch by Cirdan, #6360 ) ( #7017 )
2019-01-05 22:10:37 +01:00
Niels Martin Hansen
12ba56c5a3
Fix 6accbf9: Silence warnings about unused fread() result
2019-01-05 17:16:53 +01:00
Alberth
4a255e879a
Fix #6966 : Only allow switching to a valid company.
2018-12-29 16:15:44 +01:00
glx
c540d72445
Fix: [Win32] WIN32 may not be defined, always prefer the compiler predefined macro _WIN32
2018-12-27 18:09:16 +01:00
Joan Josep
8890926b0d
Fix #6974 : Add save-load filter widget to api
2018-12-27 09:53:55 +01:00
comicsads
b93fad7481
Fix: Spelling in code comment ( #6984 )
2018-11-28 16:24:01 +01:00
Charles Pigott
6accbf9afc
Fix #6969 : Account for BOM when reading script files
2018-11-17 16:05:10 +01:00
Greg-21
4ba73dac95
Doc: Changed several files to unificate them... ( #6964 )
...
...with those from release 1.8 branch.
2018-11-06 00:38:42 +01:00
Samu
1e68b9b3e6
Add: AI/GS GetMonthlyMaintenanceCost ( #6897 )
...
API addition which allows AI/GS scripts to retrieve the monthly maintenance cost of an airport type.
2018-11-01 18:06:08 +01:00
Oskari Leppäaho
b3b89257f7
Remove: Unused string "STR_ERROR_TOO_CLOSE_TO_ANOTHER_STATION"
2018-10-31 19:24:21 +01:00
Charles Pigott
e0c0394e37
Fix: Remove various dead or unnecessary assignments
2018-10-31 12:41:49 +01:00
SamuXarick
41fb7cb15e
Fix #6892 : [Script] CONFIG_RANDOM did not use the full parameter range ( #6902 )
2018-09-20 22:31:38 +02:00
Jonathan G Rennison
d839526365
Fix bf8d7df: Script/AI construction of rail track and waypoints ( #6881 )
2018-08-12 09:45:38 +02:00
Peter Nelson
bf8d7df736
Change: Extend rail types to 64 (6 bit storage)
2018-07-26 13:27:40 +01:00
J0an Josep
8975318286
Fix 2a868b9f3b8e3b5f8b9e5f728f628ec88fd5e3ad: Expose widgets and windows to scripts and fix documentation.
2018-07-23 20:32:18 +02:00
Pavel Stupnikov
fef8b831a9
Change: Switch town growth rate and counter to actual game ticks ( #6763 )
2018-05-02 21:01:30 +02:00
J0an Josep
cfb8092397
Fix b4b98e5165: Use FALLTHROUGH attribute with correct indentation.
2018-04-30 21:52:40 +02:00
Joan Josep
944f785be8
Fix: Spelling errors ( #6769 )
2018-04-30 18:52:32 +02:00
Joan Josep
a6b18f0d92
Fix #6090 : And (svn r27822). Run scripts for widgets. ( #6765 )
...
Fix 19f5a6cbb0
, Fix 19d56a33e8: Run scripts to update GS for new widgets (#6765 )
2018-04-30 12:25:11 +01:00
Pavel Stupnikov
913119487f
Feature: Add GS method to question a single client ( #6748 )
2018-04-28 17:37:59 +02:00
Pavel Stupnikov
8e4bce58ea
Feature: GS methods to scroll viewport for players ( #6745 )
2018-04-24 19:19:00 +02:00
Pavel Stupnikov
6ff81b908e
Feature #6459 : API for querying network clients from GS ( #6736 )
2018-04-22 15:42:29 +02:00
frosch
09d4735679
(svn r27993) -Change: Heading for 1.9 now
2018-03-14 19:36:41 +00:00
frosch
b69c0acca2
(svn r27950) -Merge: Documentation updates from 1.7 branch
2017-12-24 12:18:36 +00:00
frosch
b4b98e5165
(svn r27893) -Codechange: Use fallthrough attribute. (LordAro)
2017-08-13 18:38:42 +00:00
frosch
afcef7faa6
(svn r27780) -Update: Numbers
2017-03-11 20:50:26 +00:00
frosch
9fa6e3d83a
(svn r27776) -Merge: Documentation updates from 1.6 branch
2017-03-11 13:34:01 +00:00
frosch
2bb80d280c
(svn r27758) -Change: Increase the maximum number of GameScript texts to 64k, and NewGRF texts to 512k.
2017-02-26 19:41:30 +00:00
frosch
fc4c4d080c
(svn r27757) -Change: Make StringID 32bit.
2017-02-26 19:41:14 +00:00
frosch
a56e2bccd0
(svn r27756) -Codechange: Add StringTab enum
2017-02-26 19:40:53 +00:00
frosch
9ad09627ad
(svn r27754) -Codechange: Add GetStringTab(), GetStringIndex() and MakeStringID() to access the structure of StringIDs.
2017-02-26 19:39:58 +00:00
frosch
7b553d255e
(svn r27732) -Change: Turn the message about 'missing baseset sprites' from a popup into a static message that only shows in non-release versions, just like the 'missing translations' message.
2017-01-14 18:30:26 +00:00
frosch
ad43465c31
(svn r27683) -Change: Rearrange the autoreplace GUI for trains, and do not filter it by railtype by default.
2016-12-08 20:21:39 +00:00
frosch
a2edf52b41
(svn r27594) -Fix [FS#6473]: [Script] Kill scripts, when a non-suspendable valuator call takes way too long.
2016-05-30 21:03:11 +00:00
frosch
da7978a08c
(svn r27545) -Fix: Remove special handling of classes with virtual methods from squirrel_export.awk. It seems to serve no purpose, except to break on 3 classes.
2016-04-17 19:51:42 +00:00
frosch
7e29551ae0
(svn r27544) -Fix-ish: Mark ScriptText::GetEncodedText as not part of any API, instead of relying on the export script to break on '/*'.
2016-04-17 19:50:27 +00:00
frosch
31bd5a09b6
(svn r27543) -Fix (r27379): ScriptExec/TestMode::FinalRelease is not part of the API.
2016-04-17 17:10:07 +00:00