Commit Graph

508 Commits

Author SHA1 Message Date
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 b870596f15: 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