summaryrefslogtreecommitdiff
path: root/src/ai
AgeCommit message (Collapse)Author
2021-01-08Codechange: Remove min/max functions in favour of STL variants (#8502)Charles Pigott
2020-12-27Fix #6452: Reset only editable and visible settings from GUI (#7890)SamuXarick
Also enables the Reset button while in-game for AI configs.
2020-12-27Codechange: Use std::string in file scanners.Michael Lutz
2020-12-26Fix f66baa44: for-loop is no longer increasing "i"Patric Stout
During conversion it was overlooked that the for-loop used to do this. Oops.
2020-12-25Fix f66baa44: index was off by one (#8433)Patric Stout
i++ in the 3rd part of a for() is post, not pre. Oops.
2020-12-25Codechange: use C++11 constructs for for-each loops (#8432)Patric Stout
2020-12-25Fix #6468: don't store version of AIs-started-via-console in namePatric Stout
You can do: "startai myai.3", which starts version 3 of "myai". This is very useful for testing save/load code between different versions of your AI. However, when using this syntax, the AI got saved as "myai.3" as name of the AI, instead of "myai". This caused several problems, like indicating to the user the AI could not be found, but still load the AI. But in all cases, the AI never got the chance to load the saved data, making the whole reason this exists pointless. By splitting the name and version already in the console command, the code becomes simpler and AIs started this way now follow the normal flow after initialization.
2020-07-16Change: rewrote squirrel_export in CMakeglx
2020-06-05Add: introduce CMake for project managementPatric Stout
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-01Add: [Script] Native priority queue; useful e.g. for pathfinders.Michael Lutz
2020-02-17Codechange: Avoid copying function parameters by using const referencesQuipyowert2
2020-02-14Codechange: Simplify CheckAPIVersion()glx
2020-02-08Change: Heading for 1.11 nowglx
2020-02-06Fix #7088: close AI/GS textfile window when their data are invalidSamu
2019-12-21Codechange: Replace FOR_ALL_COMPANIES with range-based for loopsglx
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-10-22Add: [Script] ScriptEventVehicleAutoReplaced.glx
2019-09-07Fix #7188: check the validity of command callback for scripts (#7701)glx22
2019-05-11Change: Limit memory allocations for each Squirrel instanceNiels Martin Hansen
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-01Add: New RoadType API functions.peter1138
2019-04-29Codechange: Remove Company/OwnerByte typesCharles Pigott
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
2019-04-09Codechange: Switch DropDownList to directly use std::vector, thus making ↵Michael Lutz
AutoDeleteSmallVector obsolete. DropDownListItem are strongly managed using std::unique_ptr to ensure leak-free handling. Appropriate use of move-semantics make intent a lot clearer than parameter comments and allows the compiler to generate copy-free code for most situations.
2019-04-05Fix #7439: don't overwrite CompanyRemoveReason with ClientID (#7465)glx22
2019-03-26Codechange: Replaced SmallVector::Append() with ↵Henry Wilson
std::vector::[push|emplace]_back()
2019-03-24Codechange: Use override specifier in Window-derived classes.peter1138
2019-03-24Codechange: Use override specifer for overriding member declarationsHenry Wilson
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-20Remove: ENABLE_NETWORK switchPatric Stout
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-03Change: Heading for 1.10 now (#7319)frosch
2019-02-23Add: Show performance of AI and GS in framerate windowNiels Martin Hansen
2019-02-21Fix #7090: Close Query String window after rebuilding AI/GS settingsSamu
2019-02-21Fix #7091: Close dropdown menu windows after rebuilding AI/GS settingsSamu
2019-02-11Fix #7151: AI start date deviation was still applied when not set to a ↵PeterN
random AI. (#7223)
2019-02-04Add: CompanyCtrlAction enum for CMD_COMPANY_CTRL actionsglx
2019-02-02Change: Allow AI companies to start immediately.Samu
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-01Fix #6438: Properly invalidate AI Settings window when max no competitor ↵Peter Nelson
setting is changed.
2019-01-28Add: allow opening of one TextfileWindow per typeglx
2019-01-27Fix #7122: OnClick() and DrawWidget() editability was inconsistent in ↵glx22
AISettingsWindow (#7123)
2019-01-12Fix #6780: Some windows didn't get updated from OnTick() (#7048)PeterN
2018-12-27Fix: [Win32] WIN32 may not be defined, always prefer the compiler predefined ↵glx
macro _WIN32
2018-03-14(svn r27993) -Change: Heading for 1.9 nowfrosch
2017-08-13(svn r27893) -Codechange: Use fallthrough attribute. (LordAro)frosch
2017-03-12(svn r27787) -Fix: Update scrollbar when rebuilding AI/GS setting list.peter1138
2017-03-12(svn r27786) -Fix [FS#6479]: AI configuration changed incorrect parameter ↵peter1138
when some parameters are hidden.
2017-03-11(svn r27780) -Update: Numbersfrosch
2016-05-22(svn r27581) -Fix [FS#6461]: Button size computation in script configuration ↵frosch
window. (adf88)
2016-03-01(svn r27518) -Update: Numbersfrosch
2015-12-10(svn r27468) -Fix (r27444): Game Scripts were not displayed in the content ↵zuu
download window when opened from the AI/GS settings window.
2015-03-17(svn r27193) -Fix (r27192): Incomplete copy/paste.frosch
2015-03-17(svn r27192) -Change: heading for 1.6 nowfrosch