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
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
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
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
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
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
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
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
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
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
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
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
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
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
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