Commit Graph

994 Commits

Author SHA1 Message Date
Rubidium fe2bcd2a58 Codechange: migrate size related functions to Map structure 2023-01-21 17:11:40 +01:00
Rubidium 22d3de8b67 Codechange: use ScriptMap size functions instead of global functions 2023-01-21 17:11:40 +01:00
Rubidium 921c6591f9 Codechange: do not use interactive random anymore for script configuration 2023-01-14 22:00:11 +01:00
Rubidium c5ff61c5f2 Add: script specific Randomizer instances 2023-01-14 22:00:11 +01: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
Rubidium b3b8c3fd2d Codechange: pass the randomizer to use directly to the company face generation 2023-01-14 22:00:11 +01:00
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.
2023-01-14 21:15:23 +01:00
Jonathan G Rennison 10e76b2788 Fix #10032: Capacities of articulated vehicles in build window
See also: #9954
2023-01-14 18:52:01 +01:00
Tyler Trahan 5c64cdcb79
Feature: Press Ctrl to build a diagonal area of trees (#10342) 2023-01-13 18:04:30 -05:00
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.
2023-01-06 19:34:35 +01:00
Michael Lutz 150f05dc15
Change: Heading for 14 now. (#10302) 2023-01-01 22:52:23 +01:00
Loïc Guilloux fe30f66570
Fix #9720: Delay start of GS/AI to after loading of savegame (#9745) 2022-12-28 05:02:26 +01:00
Loïc Guilloux c179c10048
Fix #10263, ccefa76: [scripts] restore tile validation for commands (#10269) 2022-12-21 02:37:59 +01:00
Michael Lutz 1c205b2cda Fix #10212: [Script] Nested ScriptAccounting scopes are not restored properly. 2022-12-04 11:27:24 +01:00
dP 5e14a20b3b
Feature: [GS] Scriptable league tables (#10001) 2022-11-26 18:03:03 +01:00
Peter Nelson f5f035a22b Codechange: Make use of Rect Width/Height helpers. 2022-11-12 18:28:39 +00:00
Joel-Milligan 59645c6733
Change: Remove scrollbar from town authority actions panel (#9928) 2022-11-11 23:52:38 +01:00
Henry Wilson 89cf0d5da8 Codechange: Factor cargotype weight conversion magic numbers 2022-11-08 21:02:08 +01:00
Loïc Guilloux 0afa6f2424
Codechange: [CMake] Auto-fill list of #include in script_window.hpp (#10103) 2022-10-24 12:35:58 +02:00
Nicolas Chappe a9a21e784d Codechange: Always set the ODATFB_NEAREST_DEPOT flag for 'any depot' orders 2022-10-22 14:19:08 +02:00
SamuXarick 8d0d45c431 Add: ScriptCargo::GetWeight to get cargo weights 2022-10-16 18:28:28 +02:00
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.
2022-10-16 18:27:23 +02:00
Tyler Trahan db98cedb7e Fix #9883: Show cost/income float over end tile of rail or road construction 2022-10-16 14:15:31 +02:00
Charles Pigott 9059215b3b Fix #10073: Stop truncating output of list_ai and friends commands 2022-10-10 13:42:07 +01:00
glx22 675cf7a8ee Fix 6fe445e: [Script] Respect joining adjacent when building an airport 2022-05-31 23:14:47 +02:00
glx22 ed1457dca3 Fix 55170ae: [Script] Building two-way signals could end up one-way 2022-05-27 19:57:50 +02:00
Loïc Guilloux 7331149dde
Codechange: [CMake] Pass API files list via a file to minimise command line length (#9874) 2022-05-01 00:39:59 +02:00
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).
2022-04-25 21:51:51 +02:00
Niels Martin Hansen e68bf58989 Codechange: Use anonymous union for vehicle orders/old orders list 2022-02-15 20:01:10 +01:00
Andy b8a8891a86 Add: [Script] IndustryType::ResolveNewGRFID to resolve industry id from grfid and grf_local_id 2022-01-22 18:15:12 +01:00
Andy 26ac0c48f0 Add: [Script] ObjectType::ResolveNewGRFID to resolve object id from grfid and grf_local_id 2022-01-22 13:12:10 +01:00
Michael Lutz 3fede15940 Codechange: [Script] Prettify squirrel call helpers by using C++17. 2021-12-20 19:25:10 +01:00
Michael Lutz 41fa16f325 Codechange: Don't use globals for return values from vehicle command procs. 2021-12-16 22:28:32 +01:00
Michael Lutz 57b82e2e99 Codechange: Don't use globals for story/goal/sign/group command proc return values. 2021-12-16 22:28:32 +01:00
Michael Lutz 3e85e833a7 Codechange: Add support for additional command result values. 2021-12-16 22:28:32 +01:00
Michael Lutz 8503854655 Codechange: Pass unpacked command arguments to command callbacks (except Script). 2021-12-16 22:28:32 +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 c6d7b98808 Codechange: Un-bitstuff landscape commands. 2021-12-16 22:28:32 +01:00
Michael Lutz e6e69d5289 Codechange: Un-bitstuff goal and story page commands. 2021-12-16 22:28:32 +01:00
Michael Lutz 1a42a8a5d5 Codechange: Un-bitstuff town-related commands. 2021-12-16 22:28:32 +01:00
Michael Lutz e08b3abe7f Codechange: Un-bitstuff group and autoreplace commands. 2021-12-16 22:28:32 +01:00
Michael Lutz 46bd2f1ced Codechange: Un-bitstuff remaining transport infrastructure commands. 2021-12-16 22:28:32 +01:00
Michael Lutz 55170ae703 Codechange: Un-bitstuff rail commands. 2021-12-16 22:28:32 +01:00
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
frosch 0c7c0ada78 (svn r27518) -Update: Numbers 2016-03-01 20:00:22 +00:00
frosch ae1d96cc2f (svn r27463) -Merge: Documentation updates from 1.5 branch 2015-12-01 19:49:49 +00:00
michi_cc 2b8bb12d62 (svn r27381) -Fix: Warnings due to C++11 requirements for explicit narrowing conversions in initializer lists. 2015-08-10 20:24:13 +00:00
frosch e5d105900d (svn r27379) -Codechange: Do not throw in the destructors of ScriptTest/ExecMode. 2015-08-10 20:04:31 +00:00
frosch de3bb62e9e (svn r27316) -Doc: Improve documentation on ScriptCargo::GetCargoLabel 2015-06-21 18:53:23 +00:00
alberth 514da346bd (svn r27287) -Doc: Clarify radius and semantics of the industry producing/accepting tile functions. 2015-05-16 14:40:45 +00:00
alberth 10adedce5f (svn r27286) -Fix-ish(r27140): Also fix typo in the documentation. 2015-05-16 12:08:06 +00:00
frosch eb25d9e275 (svn r27258) -Fix [FS#6287]: ScriptList::RemoveList failed to remove a list from itself. 2015-04-27 19:28:22 +00:00
frosch 6477356dd2 (svn r27192) -Change: heading for 1.6 now 2015-03-17 20:33:44 +00:00
alberth a5843149b5 (svn r27174) -Feature[FS#6236]: Display relative offset changes in the sprite aligner (juzza1). 2015-03-01 08:17:14 +00:00
frosch fece468d96 (svn r27166) -Codechange: Optimise ScriptList by making use of iterators instead of looking up map-items multiple times per API call. 2015-02-22 23:04:02 +00:00
alberth 0143f486f2 (svn r27164) -Add: [NoGo] Game scripts can point to a location, station, industry, or town when publishing news. 2015-02-22 17:25:29 +00:00
frosch 83a02da380 (svn r27152) -Fix: Generated files. 2015-02-15 14:56:21 +00:00
frosch a55a5bff24 (svn r27123) -Fix [FS#5371] [FS#6214]: API docs (krinn) 2015-01-20 19:11:31 +00:00
alberth 7023819d49 (svn r27111) -Doc: Extend script documentation with Save and Load functions. 2015-01-04 15:14:13 +00:00
rubidium 14f197c6ff (svn r27104) -Fix [FS#6194]: support 64 bits integere in the ScriptLists as well 2015-01-01 21:08:19 +00:00
rubidium 730773f5f1 (svn r27102) -Fix [FS#6194]: money values would end up wrong in strings when outside of the bounds of a 32 bits integer 2015-01-01 20:50:43 +00:00
rubidium e3791822b2 (svn r27032) -Merge: documentation updates from 1.4 branch 2014-10-23 09:47:15 +00:00
rubidium d1429cd936 (svn r27026) -Fix: some (older-ish) GCC compiler warnings 2014-10-21 16:58:15 +00:00
rubidium d534c80e94 (svn r27020) -Cleanup: some coding style consistency improvements (mostly spaces) 2014-10-15 18:31:37 +00:00
rubidium 771dcf3b7b (svn r27003) -Cleanup: fix the use of spaces and asterices "around" some comments 2014-10-12 18:41:53 +00:00
frosch 1c6705ba34 (svn r26915) -Fix: API docs 2014-09-24 16:45:20 +00:00
fonsinchen 1a5b2f0e17 (svn r26894) -Feature: Swap method for script lists 2014-09-21 16:25:15 +00:00
fonsinchen 2128f1e929 (svn r26893) -Feature: ScriptStationList_Cargo for sorting cargo by from and via 2014-09-21 16:20:48 +00:00
fonsinchen 73d273ffd6 (svn r26892) -Feature: Script API for retrieving planned flow 2014-09-21 16:20:14 +00:00
rubidium c72d362840 (svn r26885) -Feature-ish: user interface for limiting the maximum height of a map 2014-09-21 12:25:04 +00:00
alberth 22b967676e (svn r26811) -Fix[FS#6108]: Fixed spelling error in widget name. 2014-09-11 17:10:38 +00:00
alberth b4a87e7f45 (svn r26805) -Feature: Allow hiding of non-interesting engines in the autoreplace GUI. 2014-09-07 16:14:38 +00:00
alberth a49744b50c (svn r26804) -Feature: Allow hiding of non-interesting engines in the build vehicle GUI. 2014-09-07 16:14:06 +00:00
alberth 81d2bdbf47 (svn r26800) -Feature[FS#1640]: Vehicle sorting in autoreplace GUI. 2014-09-07 16:11:14 +00:00
rubidium 876cc82f33 (svn r26797) -Codechange: rewrite the UTF8 reading code to make use of already existing functions instead of partially trying to implemented them 2014-09-07 16:03:41 +00:00
rubidium 385d3d3947 (svn r26796) -Fix: reading of high byte of "ASCII" files yielded a negative int8, then casted to an uint32 which caused the Squirrel lexer to bail out. Regardless... the file isn't actually ASCII, but that's beyond the point for now 2014-09-07 16:03:02 +00:00
rubidium 08cbf11539 (svn r26785) -Fix [Squirrel]: loading a value saved as boolean caused it to be of type integer instead of boolean 2014-09-07 09:30:57 +00:00
rubidium f41b4a8e1b (svn r26784) -Codechange [Squirrel]: use WChar for the lexer 2014-09-07 06:46:03 +00:00
rubidium b5f5e88d57 (svn r26782) -Fix (r26781): was in the wrong folder when commiting 2014-09-06 20:22:59 +00:00
rubidium 962c1a3242 (svn r26776) -Codechange: use safe string functions in script/squirrel*.cpp 2014-09-06 19:28:09 +00:00
rubidium e63ca12ab8 (svn r26775) -Cleanup [Squirrel]: "resolve" several of the unicode wrapper defines 2014-09-06 18:10:36 +00:00
rubidium 33ab505567 (svn r26774) -Cleanup [Squirrel]: remove _SC macro 2014-09-06 17:46:56 +00:00
rubidium 7c4e9dd71d (svn r26771) -Cleanup: remove OTTD2SQ and SQ2OTTD 2014-09-06 17:30:33 +00:00
rubidium 7a00d2e849 (svn r26769) -Codechange [Squirrel]: remove the difference between some platforms having wchar for SQChar and others just char; always use char (and UTF-8) like in the rest of (internal) OpenTTD 2014-09-06 17:20:45 +00:00
frosch 669d593fad (svn r26748) -Merge: documentation updates from 1.4 branch 2014-08-17 16:13:23 +00:00
frosch 7ca57bc578 (svn r26744) -Fix [FS6085-ish]: ScriptListSorterItemDescending::FindNext failed to detect the end. 2014-08-16 21:13:58 +00:00
frosch a03ad12322 (svn r26743) -Codechange: Simplify ScriptList iterators. 2014-08-16 21:11:26 +00:00
frosch 0d561bcf57 (svn r26742) -Doc: Why reverse_iterator is unsuitable for ScriptList iterators 2014-08-16 20:40:26 +00:00
frosch c775ffe530 (svn r26741) -Revert (r26736): reverse_iterators are invalidated when the element next to them is erased (not the element they are pointing to), which makes them unsuitable for ScriptList. 2014-08-16 20:37:33 +00:00
rubidium d733c7d196 (svn r26736) -Fix [Script]: infinite loop (by scripts; always returning the same item) when sorted by item in descending order by oddly constructed FindNext that uses forward iterators. Simply use the same code as the ascending item sort but use the reverse iterator instead of the forward. Also do this same trick for the descending value sort even though I couldn't trigger the problem there 2014-08-16 10:20:15 +00:00
rubidium c25b0a0ad4 (svn r26734) -Fix-ish: make clear the AI/GS List's Begin and Next return the item, not the value 2014-08-16 10:05:57 +00:00
alberth 8fe8765aaa (svn r26685) -Fix: Tighten parameter bound checks on GSCargoMonitor functions, and return -1 on out-of-bound parameters. 2014-07-12 17:04:14 +00:00
rubidium a6b4e59963 (svn r26617) -Fix [FS#5973]: [Script] Loading/parsing of info .nuts was done in the same VM, causing e.g. constants to break the loading of info of other scripts 2014-05-25 19:53:46 +00:00
alberth 1feba55f0f (svn r26613) -Feature: Upgrade currently active newgrfs to newest installed version. 2014-05-24 19:15:57 +00:00
alberth 8755c26793 (svn r26610) -Feature: Select an editable preset name for saving. 2014-05-24 19:11:20 +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 39e90ec6e0 (svn r26584) -Codechange: [Squirrel] Make the internal integer for scripts always 64 bits, so scripts behave the same on 32 or 64 bits architectures 2014-05-11 20:16:37 +00:00
rubidium 89c25b955e (svn r26580) -Codechange: s/GES_PICKUP/GES_RATING/ (it has nothing to do with actual pickup), s/acceptance_pickup/status/ (the enum isn't called GoodEntryStatus for a reason; it's not only acceptance and pickup anymore) 2014-05-11 18:02:11 +00:00
fonsinchen 5fc2c3dcc8 (svn r26563) -Fix (r26558): Don't pass explicit template arguments to std::make_pair. 2014-05-04 19:03:54 +00:00