summaryrefslogtreecommitdiff
path: root/src/ai/ai_core.cpp
AgeCommit message (Collapse)Author
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-02-23Add: Show performance of AI and GS in framerate windowNiels Martin Hansen
2014-04-23(svn r26482) -Codechange: add an include that allows us to undefine/redefine ↵rubidium
"unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2013-07-12(svn r25592) -Fix [FS#5644]: Changing the script difficulty level in-game ↵rubidium
would also change the settings using the default even though they were not allowed to change in-game
2013-01-08(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by ↵planetmaker
Eagle_rainbow)
2012-09-21(svn r24537) -Feature: Scripts can be suspended even if the game is still ↵zuu
progressing, thus break-on-log now works also for Game Scripts.
2012-08-20(svn r24487) -Codechange [FS#5236]: make several DoesContentExist return the ↵yexo
path instead of a boolean (LordAro)
2012-04-09(svn r24108) -Fix [FS#5142]: When starting GS or AI, always use the settings ↵frosch
of the game, not the new-game settings.
2012-01-03(svn r23746) -Fix: also set 'info' to NULL if 'instance' dies (for both AI ↵truebrain
and GS); avoids invalid memory reads
2012-01-03(svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp filesrubidium
2012-01-02(svn r23718) -Fix [FS#4936]: rescanai caused crash when the AI settings of ↵rubidium
an AI was opened
2011-12-19(svn r23632) -Add: GSCompanyMode, to change company in GameScriptstruebrain
2011-12-15(svn r23524) -Codechange: move the name of the scanner to a level deepertruebrain
2011-12-01(svn r23386) -Fix: debug script related events to 'script' (removes 'ai')truebrain
2011-11-30(svn r23377) -Fix: compilation failure when networking is disabledrubidium
2011-11-29(svn r23364) -Codechange: refactor AIConfig, moving it mostly to Scriptconfigtruebrain
2011-11-29(svn r23362) -Codechange: refactor AIScanner, splitting it in AIScannerInfo ↵truebrain
and AIScannerLibrary
2011-11-29(svn r23361) -Codechange: move multiplayer DoCommand callback code so other ↵truebrain
script users can call their own
2011-11-29(svn r23355) -Codechange: rename all AI* to Script* (Rubidium)truebrain
2011-11-29(svn r23354) -Codechange: move all src/ai/api/ai_*.[hc]pp files to ↵truebrain
src/script/api/script_* (Rubidium)
2011-11-23(svn r23295) -Codechange: put ImportLibrary in AIController (and document ↵truebrain
the parameters for NoAI docs)
2011-11-14(svn r23222) -Codechange: reduce tar scanning calls to the bare minimumrubidium
2011-11-13(svn r23209) -Codechange: track the current active script instance directly, ↵truebrain
instead of assuming the current company points you to the right one.
2011-08-24(svn r22829) -Codechange: unify the dirtying of windows after an AI scanrubidium
2011-06-03(svn r22534) -Fix [FS#4631] (r21250): doing rescan_ai in a game with running ↵yexo
AIs caused a crash
2011-02-07(svn r22007) -Change: only show one AI per unique ID instead of all versions ↵rubidium
in the output of "openttd -h"
2011-01-03(svn r21703) -Feature [FS#4372]: list_ai_libs console command to get a list ↵yexo
of recognized AI libraries (dihedral)
2010-08-26(svn r20632) -Cleanup: remove "a few" unneeded includes, and add them to ↵rubidium
some headers
2010-07-31(svn r20271) -Doc: add doxygen comments to several items under src/ai/yexo
2010-06-05(svn r19932) -Codechange: Preserve _current_company when starting AIs.frosch
2010-06-05(svn r19931) -Fix (r19914): Convert assertion in Backup<> destructor into ↵frosch
DEBUG() output. It was triggered on exceptions, especially when aborting world generation.
2010-05-31(svn r19914) -Codechange: Wrap a helper class around temporary assignments ↵frosch
of _current_company to ensure proper restoration.
2010-04-02(svn r19544) -Feature [FS#3496]: add an input box to the AI Debug window ↵yexo
where you can input a break string (patch by Zuu)
2010-01-29(svn r18953) -Feature: [NoAI] allow editing AI settings while an AI is runningyexo
Only settings with the AICONFIG_INGAME flag can be editted in this way
2010-01-29(svn r18944) -Change [FS#3232]: use the highest version of an AI that can ↵yexo
load the AI data from a savegame instead of the exact same version
2010-01-15(svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, ↵rubidium
if a header require a header make it include that header
2010-01-11(svn r18781) -Codechange: pass the CommandCost to the callback instead of ↵rubidium
whether it succeeded or not. -Fix: AIs did update their last cost incorrectly in network games if the cost of the DC_EXEC phase differed from the ~DC_EXEC phase.
2010-01-09(svn r18763) -Feature [FS#3095]: rerandomise AIs on reloading (via the debug ↵rubidium
window) when they were randomly chosen
2009-10-04(svn r17693) -Cleanup: remove some unneeded includesrubidium
2009-08-21(svn r17248) -Fix: add GPL license notice where appropriaterubidium
2009-06-10(svn r16559) -Codechange: introduce Company::IsValidAiID() and ↵smatz
Company::IsValidHumanID(), don't use IsHumanCompany() where possible
2009-05-18(svn r16352) -Codechange: use PoolItem::GetIfValid() instead of ↵smatz
PoolItem::IsValidID() and PoolItem::Get()
2009-05-17(svn r16327) -Codechange: replace IsValidPoolItemID(index) by ↵smatz
PoolItem::IsValidID(index)
2009-05-16(svn r16326) -Codechange: replace GetPoolItemPoolSize() by ↵smatz
PoolItem::GetPoolSize()
2009-05-16(svn r16325) -Codechange: replace GetPoolItem(index) by PoolItem::Get(index)smatz
2009-04-25(svn r16151) -Codechange: move some includes around to prevent including ↵yexo
half the AI api in non-noai related code.
2009-02-23(svn r15562) -Change: Use GetName() to determine the unique AI name instead ↵yexo
of GetInstanceName() to make branching of AIs easier.
2009-02-07(svn r15401) -Fix [FS#2619](r15027): AI::Stop changed _current_company, but ↵smatz
didn't restore its original value
2009-02-03(svn r15330) -Fix [FS#2597]: leaking of Squirrel when using circular ↵rubidium
references (by enabling the GC).
2009-01-31(svn r15299) -Cleanup: remove many redundant includessmatz