Commit Graph

84 Commits

Author SHA1 Message Date
Rubidium c9276c2959 Codechange: replace x.size() == 0 with x.empty() 2023-10-20 23:05:43 +02:00
Rubidium 0fd9eb0faa Codechange: use std::string for script info/library finding 2023-05-14 22:54:10 +02:00
Rubidium bc389a86c9 Codechange: use std::string as std::map key, instead of stredup string 2023-05-09 23:14:48 +02:00
Rubidium 72082aa7d3 Codechange: use std::string for getting a script's name 2023-05-09 23:14:48 +02:00
Rubidium 86786a7af6 Codechange: introduce StrEqualsIgnoreCase/StrCompareIgnoreCase to replace strcasecmp 2023-04-29 10:25:25 +02:00
Rubidium 4e65ec1dc4 Codechange: do not declare functions in blocks 2023-01-29 20:28:45 +01:00
Rubidium 921c6591f9 Codechange: do not use interactive random anymore for script configuration 2023-01-14 22:00:11 +01:00
Loïc Guilloux 2848483810
Fix #10206: Disable scripts in intro game (#10241) 2022-12-15 21:43:07 +01:00
rubidium42 55a11710a6 Codechange: convert printf DEBUG statements to fmt Debug statements 2021-06-13 12:45:45 +02:00
Michael Lutz b408fe77f7 Codechange: Use std::string in file scanners. 2020-12-27 13:19:25 +01:00
Patric Stout f66baa444f
Codechange: use C++11 constructs for for-each loops (#8432) 2020-12-25 19:38:18 +01:00
Patric Stout 4319d31036 Fix #6468: don't store version of AIs-started-via-console in name
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-12-25 17:03:44 +01:00
S. D. Cloudt 13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00: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
Henry Wilson 7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02:00
frosch b4b98e5165 (svn r27893) -Codechange: Use fallthrough attribute. (LordAro) 2017-08-13 18:38:42 +00:00
rubidium 9ed12b0f07 (svn r26509) -Codechange: replace strdup with stredup (the latter ensures the return is not NULL) 2014-04-25 15:40:32 +00:00
rubidium a5274117bd (svn r26487) -Codechange: use lastof instead of lengthof/sizeof for script names 2014-04-23 21:16:58 +00:00
rubidium 5b82822c12 (svn r26486) -Codechange: replace a number of snprintfs with seprintf 2014-04-23 21:12:09 +00:00
frosch ef4c2ce031 (svn r26485) -Codechange: Replace ttd_strlcpy and ttd_strlcat with strecpy and strecat. 2014-04-23 20:44:42 +00:00
rubidium 0463dbdc9e (svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values 2014-04-23 20:13:33 +00:00
rubidium 6d6be50ae0 (svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files 2012-01-03 21:32:51 +00:00
truebrain 2ecbe89509 (svn r23524) -Codechange: move the name of the scanner to a level deeper 2011-12-15 19:52:44 +00:00
truebrain 5a9523bfa0 (svn r23399) -Fix (r23362): a randomizer should return a random value, not always the first 2011-12-02 23:40:32 +00:00
truebrain a8b22e5292 (svn r23386) -Fix: debug script related events to 'script' (removes 'ai') 2011-12-01 12:04:10 +00:00
truebrain 3e6d026129 (svn r23366) -Codechange: move most of the Dummy code to script/, unifying it 2011-11-29 23:26:52 +00:00
truebrain e37149a1de (svn r23362) -Codechange: refactor AIScanner, splitting it in AIScannerInfo and AIScannerLibrary 2011-11-29 23:21:52 +00:00
truebrain afdb67a353 (svn r23354) -Codechange: move all src/ai/api/ai_*.[hc]pp files to src/script/api/script_* (Rubidium) 2011-11-29 23:07:38 +00:00
truebrain bff7c33aa9 (svn r23350) -Add: support different ScriptTypes in the helper functions for GetClassName (Rubidium) 2011-11-29 22:23:33 +00:00
truebrain d03bbdd4ac (svn r23295) -Codechange: put ImportLibrary in AIController (and document the parameters for NoAI docs) 2011-11-23 13:39:36 +00:00
truebrain 54ec3a2a3f (svn r23293) -Codechange: make LoadScript/LoadFile non-static 2011-11-23 13:37:48 +00:00
rubidium 160294ff22 (svn r23216) -Codechange: introduce the concept of having different tar lists 2011-11-14 21:28:43 +00:00
rubidium 3f7eb71b17 (svn r23210) -Codechange: generate the GetClassName function for the AI classes programmatically 2011-11-13 20:52:39 +00:00
rubidium 7fd1e1df81 (svn r23198) -Codechange: introduce a free that takes const pointers so we don't need to cast to void/non-const before being able to free 2011-11-12 13:00:29 +00:00
yexo a256bd71e4 (svn r23169) -Feature: [NoAI] AICONFIG_AI_DEVELOPER flags to hide AI settings unless gui.ai_developer_tools is enabled (Zuu) 2011-11-08 21:48:00 +00:00
rubidium d78a4850a6 (svn r22912) -Fix [FS#4753]: another attempt at fixing a related crash (can't reproduce it though) 2011-09-09 17:46:21 +00:00
rubidium 62777dbd84 (svn r22905) -Fix [FS#4753] (r22836): the name of the tar was removed from the AI filenames, so record it differently. Also removes some of the hackery to get the tar's filename 2011-09-08 09:55:04 +00:00
rubidium 414c397000 (svn r22904) -Codechange: add tar filename to file scanning 2011-09-08 09:48:52 +00:00
rubidium d839aa0475 (svn r22836) -Codechange: simplify the scanning of (AI) scripts 2011-08-25 10:37:28 +00:00
rubidium 0061b5f184 (svn r22822) -Codechange: make a distinction between base sets and newgrfs for their directory 2011-08-24 13:33:49 +00:00
rubidium 79fd8a362b (svn r22007) -Change: only show one AI per unique ID instead of all versions in the output of "openttd -h" 2011-02-07 09:51:16 +00:00
yexo 8e3e93b96f (svn r21703) -Feature [FS#4372]: list_ai_libs console command to get a list of recognized AI libraries (dihedral) 2011-01-03 14:52:30 +00:00
rubidium 924a924907 (svn r21250) -Fix [FS#3952]: Rescanning AIs didn't "forget" removed AIs 2010-11-18 23:31:06 +00:00
rubidium ed04bef953 (svn r21248) -Codechange: don't run the tar scanner twice upon startup 2010-11-18 22:27:15 +00:00
rubidium 30f2afac9b (svn r20632) -Cleanup: remove "a few" unneeded includes, and add them to some headers 2010-08-26 22:01:16 +00:00
yexo 747f638557 (svn r20606) -Change [FS#4042]: change the debug level of the "Registering two AIs/libraries with the same name and version" message from 0 to 1 2010-08-23 22:44:08 +00:00
yexo 04a9a58ecd (svn r20346) -Change: scan for tar files before scanning for AIs/NewGRFs so new AIs/NewGRFs inside a tar file are found 2010-08-03 13:32:02 +00:00
terkhen 88ca183191 (svn r20239) -Doc: Give a common name to all fall throughs (FALL THROUGH). 2010-07-29 14:26:28 +00:00
yexo 4c4d1e1bf6 (svn r18953) -Feature: [NoAI] allow editing AI settings while an AI is running
Only settings with the AICONFIG_INGAME flag can be editted in this way
2010-01-29 21:38:55 +00:00
yexo fae34ee719 (svn r18944) -Change [FS#3232]: use the highest version of an AI that can load the AI data from a savegame instead of the exact same version 2010-01-29 00:03:31 +00:00