Commit Graph

487 Commits (eca73a810c19ed5cfb3f24cb5560d0735e19ea00)

Author SHA1 Message Date
Niels Martin Hansen b7751c483e
Feature: Influence industry production changes from GS (#7912) 4 years ago
glx22 d1fa6b129c Add: [CMake] Option to only build tools/docs 4 years ago
glx22 6fae0b83d9 Add: [CMake] targets to generate documentation 4 years ago
Charles Pigott 348c231e12 Codechange: Make codestyle for CMake files consistent for 'control' statements 4 years ago
glx 4079c47b6c Change: rewrote squirrel_export in CMake 4 years ago
glx 8794c61f25 Change: rewrote generate_widget in CMake 4 years ago
TrevorShelton c39d62c245 Update: Disuse of STR_ERROR_INCOMPATIBLE_ROAD 4 years ago
Charles Pigott dc8d0089e9 Codechange: Make sure script enums are the same size as their normal counterparts 4 years ago
Charles Pigott e5f931ef42 Fix: Warning about using the wrong enum type 4 years ago
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.
4 years ago
Michael Lutz 1c0ba07c3c Add: [Script] Native priority queue; useful e.g. for pathfinders. 4 years ago
TechGeekNZ 16e5f610f7 Cleanup: Correct typographic errors in code comments. 4 years ago
Jonathan G Rennison f11cd8f2d0 Fix: Compilation warnings in story_gui and script_story_page
See: #7896
4 years ago
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.
4 years ago
glx e0d20a44d2 Codechange: Use a dynamic copyright year 4 years ago
Michael Lutz 1f1345de09 Codechange: [Script] Improve copying a list into another empty list. 4 years ago
SamuXarick 93a7ff6709
Fix: [Script] ScriptMarine::AreWaterTilesConnected failed for aqueducts (#8074) 4 years ago
SamuXarick e7b901462e Doc: [Script] Make it clear random_deviation and CONFIG_RANDOM range upper bounds are inclusive 4 years ago
SamuXarick 4d4005d8b7 Fix #8039: [AI/GS] SetOrderFlags and GetOrderDestination didn't work for oil rigs 4 years ago
SamuXarick 424770d662 Fix: [AI/GS] Consider neutral station setting when creating tile lists 4 years ago
SamuXarick 971201b3b7 Fix: [AI/GS] CanBuildConnectedRoadPartsHere neighbours tiles were at times incorrect 4 years ago
frosch 0ade8b20fe Fix #7998: Crash when scripts tried to access companies with invalid IDs. 4 years ago
Charles Pigott 5c19668fdb Doc: [Script] Add a note about how wagon connectivity works for scripts 4 years ago
glx 2f264f2c92 Change: Heading for 1.11 now 4 years ago
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.
4 years ago
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
4 years ago
SamuXarick fa71375ec2 Fix e04ca90: squirrel export script got forgotten 5 years ago
stormcone 70f9c3c655 Feature: Industry directory cargo filtering 5 years ago
Niels Martin Hansen f401622149 Feature: Script API to change town rating of companies 5 years ago
TELK e04ca904a9 Feature: Minimap screenshot 5 years ago
pnda e558aa8ff4 Feature: Screenshot window 5 years ago
stormcone 798e9ee93e Feature: Add a button to the vehicle advisory news window to open the group window. 5 years ago
glx ee7a8eebca Codechange: Replace FOR_ALL_TOWNS with range-based for loops 5 years ago
glx 0b489f9924 Codechange: Replace FOR_ALL_SUBSIDIES with range-based for loops 5 years ago
glx 847e5f33d4 Codechange: Replace story related FOR_ALL with range-based for loops 5 years ago
glx 869581eb23 Codechange: Replace FOR_ALL_SIGNS with range-based for loops 5 years ago
glx d8a1be48cd Codechange: Replace vehicle related FOR_ALL with range-based for loops 5 years ago
glx 41232f18c1 Codechange: Replace network related FOR_ALL with range-based for loops 5 years ago
glx 00c2a98cf3 Codechange: Replace FOR_ALL_INDUSTRIES with range-based for loops 5 years ago
glx 4ae829cb27 Codechange: Replace FOR_ALL_GROUPS with range-based for loops 5 years ago
glx 1f6b3a37f9 Codechange: Replace FOR_ALL_ENGINES with range-based for loops 5 years ago
glx fa9769f81a Codechange: Replace FOR_ALL_DEPOTS with range-based for loops 5 years ago
glx ddabfed1cd Codechange: Replace station related FOR_ALL with range-based for loops 5 years ago
glx e001d87569 Add #7801: [Script] more error mappings 5 years ago
glx22 0bdbd509be Fix #7673: [Script] Allow removal of custom town text (#7834) 5 years ago
S. D. Cloudt 13cc8a0cee Cleanup: Removed SVN headers 5 years ago
James103 f1204f0d9d Fix: spelling/grammar in script_tile.hpp (#7804) 5 years ago
glx 12e43c697d Add: [Script] ScriptEventVehicleAutoReplaced. 5 years ago
Niels Martin Hansen 53f8d0b815 Codechange: Use std::vector for industry tile layouts 5 years ago
Charles Pigott fe9731d32c Fix: clang and MSVC warnings (glx) 5 years ago
JMcKiern 04f659e768 Fix: Some typos found using codespell 5 years ago
Max Maton e4414471dd Add: Allow GameScript to demolish without a company
This allows GameScripts to shrink towns as well as grow them.
5 years ago
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.
5 years ago
glx22 b3fd787959 Fix #7188: check the validity of command callback for scripts (#7701) 5 years ago
glx22 cf86c39be5
Fix b870596f153c17d9aa915ca67b8f6414d73cb31f: forgotten squirrel_export run (#7715) 5 years ago
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
5 years ago
nikolas 10fe568f08 Fix: typo in ScriptList::Valuate param error (#7687) 5 years ago
TELK 196d586849 Feature: Town name filtering (#7621) 5 years ago
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.
5 years ago
dP 36e4bd4023 Fix: Make GSGoal.QuestionClient work correctly at least for clients with ID < 2**16 5 years ago
unknown 6f28a0c051 Fix #5685: Check for free wagons in ScriptVehicleList 5 years ago
peter1138 f538179878 Feature: Multi-tile docks and docking points. 5 years ago
Niels Martin Hansen e7f6f07599 Add: Show memory allocations by GS and AI in framerate window 5 years ago
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.
5 years ago
peter1138 3293f08e0b Add: New RoadType API functions. 5 years ago
peter1138 c02ef3e456 Feature: Add NotRoadTypes (NRT) 5 years ago
Charles Pigott 5b34c8019f Codechange: Remove Company/OwnerByte types 5 years ago
Charles Pigott 931d32f414 Codechange: Remove RailTypeByte type 5 years ago
peter1138 81d335b081 Feature: Add station coverage area display for towns. 5 years ago
peter1138 b6733edd17 Feature: Add coverage area display for existing stations. 5 years ago
Niels Martin Hansen 08284e005d Fix: Automatic line breaking of the warning 5 years ago
Niels Martin Hansen dcb2571888 Add: Warn players that company passwords are not truly secure 5 years ago
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.
5 years ago
PeterN abe8cf4985
Codechange: Replace duplicated code with TileArea::Expand() (#7467) 5 years ago
peter1138 5bd2b15e86 Codechange: Replace NULL with nullptr in squirrel interface. 5 years ago
Henry Wilson 7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 5 years ago
peter1138 f0336f1f17 Codechange: Remove ship max order distance from script API. 5 years ago
glx d0e8060182 Fix 6fc60d8c4f: forgot to update API changelog 5 years ago
PeterN e1069eee05
Codechange: Check airport layout would fit within map bounds before iterating tiles. (#7429) 5 years ago
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.
5 years ago
glx22 66dd7c3879
Fix: MSVC warnings (#7423) 5 years ago
glx f8e6cd10ef Add: script API functions for build with refit feature 5 years ago
peter1138 d54b6ac09b Feature: When filtering purchase list by cargo type, make buy button perform a refit if required. 5 years ago
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.
5 years ago
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.
5 years ago
Peter Nelson 8b1b3fd0f9 Feature: Non-rectangular sparse station catchment area. 5 years ago
peter1138 ed6084523d Codechange: Convert StationList from SmallVector to std::set. 5 years ago
glx22 dae35188ab
Fix 13962a847, 00d28a500: forgotten squirrel_export run (#7345) 5 years ago
PeterN 41563a871b
Add: AI API for vehicle group colours (#7336) 5 years ago
frosch a67ee02529
Change: Heading for 1.10 now (#7319) 5 years ago
Peter Nelson 5a5944867d Add: Add parent_group_id parameter to CreateGroup() 5 years ago
Peter Nelson 5d3ccae6c5 Add: AI function to get current usage of a group. 5 years ago
Peter Nelson e0c2ad1b65 Add: AI functions to get/set company colours. 5 years ago
Peter Nelson 3c047b124e Add: AI functions to get current and last year profit of a group. 5 years ago
Peter Nelson b62452903a Add: AI functions to set/get vehicle group parent. 5 years ago
Niels Martin Hansen 13962a8475 Change: Framerate window can now scroll and resize 5 years ago
Peter Nelson fde5bd0ccf Change: Add scrollbar to cargo legend in cargo payment rates window. 5 years ago
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.
5 years ago
Samu ba55f93f41 Doc: [AI] UnshareOrders empties the orders list of the vehicle. 5 years ago
PeterN 5dc377244d
Fix #7224: AI could no longer create groups. (#7233) 5 years ago