Michael Lutz
549caca39c
Codechange: Move command arguments to the back of the networked command function calls.
2021-12-16 22:28:32 +01:00
Patric Stout
394c749b6b
Change: Heading for 13 now ( #9573 )
2021-09-25 13:48:03 +02:00
Patric Stout
eca73a810c
Change: rebrand 1.12.0 to 12.0
...
One question that keeps popping up: "when do we release 2.0?".
NewGRF will force that at least 1.16 will be 2.0, but to not wait
for this, let's drop the "1." and be for ever done with that
conversation.
We are following in the footstep of giants here.
2021-08-15 12:28:51 +02:00
Rubidium
3237e97b35
Cleanup: [Script] Use nullptr instead of 0 or NULL
2021-06-17 16:18:30 +02:00
rubidium42
55a11710a6
Codechange: convert printf DEBUG statements to fmt Debug statements
2021-06-13 12:45:45 +02:00
glx22
5799402f7a
Codechange: Rename window related DeleteXXX to match new behaviour
2021-05-29 21:08:25 +02:00
glx22
994bf19aef
Fix f6d5c01: Delay deletion when closing windows
2021-05-29 21:08:25 +02:00
Peter Nelson
2a0365b3d9
Cleanup: Remove unnecessary parameter of GetScrolledRowFromWidget()
...
Line height defaults to the resize height of the relevant widget, which is
set in all cases. Therefore it is not necessary to specify this value every time.
Additionally fixes scrolled padding for the framerate window.
2021-04-21 23:12:10 +02:00
PeterN
195cf31cb9
Fix: Inconsistent button sizing on AI/GS setting window depending on scale settings. ( #9044 )
2021-04-17 19:20:22 +01:00
Patric Stout
9bfa7198fd
Change: Heading for 1.12 now ( #8862 )
2021-03-14 20:47:31 +01:00
Tyler Trahan
de891238d6
Change: Recolour graph windows to brown ( #8700 )
2021-03-11 15:30:29 +01:00
glx22
07385c3662
Fix: Use the same safety checks as 'stop_ai' for 'reload_ai'
2021-01-22 22:19:55 +01:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
2021-01-08 11:16:18 +01:00
SamuXarick
dc5b8020cc
Fix #6452 : Reset only editable and visible settings from GUI ( #7890 )
...
Also enables the Reset button while in-game for AI configs.
2020-12-27 15:05:47 +01:00
Michael Lutz
b408fe77f7
Codechange: Use std::string in file scanners.
2020-12-27 13:19:25 +01:00
Patric Stout
8fa2a67f6b
Fix f66baa44: for-loop is no longer increasing "i"
...
During conversion it was overlooked that the for-loop used to do
this. Oops.
2020-12-26 13:32:25 +00:00
Patric Stout
e6e91a345c
Fix f66baa44: index was off by one ( #8433 )
...
i++ in the 3rd part of a for() is post, not pre. Oops.
2020-12-25 19:57:13 +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
glx
4079c47b6c
Change: rewrote squirrel_export in CMake
2020-07-16 00:53:26 +02:00
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.
2020-06-05 19:36:05 +02:00
Michael Lutz
1c0ba07c3c
Add: [Script] Native priority queue; useful e.g. for pathfinders.
2020-06-01 21:35:13 +02:00
Quipyowert2
4552b17691
Codechange: Avoid copying function parameters by using const references
2020-02-17 09:15:28 +01:00
glx
47790b09a4
Codechange: Simplify CheckAPIVersion()
2020-02-14 21:43:21 +01:00
glx
2f264f2c92
Change: Heading for 1.11 now
2020-02-08 23:38:49 +01:00
Samu
3089c625e4
Fix #7088 : close AI/GS textfile window when their data are invalid
2020-02-06 20:58:11 +00:00
glx
3a14cea068
Codechange: Replace FOR_ALL_COMPANIES with range-based for loops
2019-12-21 20:13:03 +01:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
glx
12e43c697d
Add: [Script] ScriptEventVehicleAutoReplaced.
2019-10-22 11:55:40 +02:00
glx22
b3fd787959
Fix #7188 : check the validity of command callback for scripts ( #7701 )
2019-09-07 17:37:01 +01: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
Charles Pigott
5b34c8019f
Codechange: Remove Company/OwnerByte types
2019-04-29 17:40:22 +01:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02:00
Michael Lutz
c7b9987d08
Codechange: Switch DropDownList to directly use std::vector, thus making 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-09 22:45:15 +02:00
glx22
a1e492d0d8
Fix #7439 : don't overwrite CompanyRemoveReason with ClientID ( #7465 )
2019-04-05 15:11:52 +02:00
Henry Wilson
a0f36a50e6
Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back()
2019-03-26 20:15:57 +00:00
peter1138
317f69c152
Codechange: Use override specifier in Window-derived classes.
2019-03-24 16:10:04 +01: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
frosch
a67ee02529
Change: Heading for 1.10 now ( #7319 )
2019-03-03 20:51:57 +01:00
Niels Martin Hansen
7e1e2756d4
Add: Show performance of AI and GS in framerate window
2019-02-23 14:29:07 +01:00
Samu
66d23e3e86
Fix #7090 : Close Query String window after rebuilding AI/GS settings
2019-02-21 01:40:34 +01:00
Samu
19fa960d83
Fix #7091 : Close dropdown menu windows after rebuilding AI/GS settings
2019-02-21 00:35:56 +01:00
PeterN
aa737715dd
Fix #7151 : AI start date deviation was still applied when not set to a random AI. ( #7223 )
2019-02-11 18:59:55 +00:00
glx
8e7fe3973f
Add: CompanyCtrlAction enum for CMD_COMPANY_CTRL actions
2019-02-04 21:08:36 +01:00
Samu
011257dc88
Change: Allow AI companies to start immediately.
...
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-02 16:37:11 +00:00
Peter Nelson
0355f887d9
Fix #6438 : Properly invalidate AI Settings window when max no competitor setting is changed.
2019-02-01 15:20:52 +00:00
glx
b22fbfbe3d
Add: allow opening of one TextfileWindow per type
2019-01-28 23:43:18 +00:00
glx22
654b635f6f
Fix #7122 : OnClick() and DrawWidget() editability was inconsistent in AISettingsWindow ( #7123 )
2019-01-27 21:01:09 +00:00
PeterN
5ff0c24993
Fix #6780 : Some windows didn't get updated from OnTick() ( #7048 )
2019-01-12 23:23:23 +00:00
glx
c540d72445
Fix: [Win32] WIN32 may not be defined, always prefer the compiler predefined macro _WIN32
2018-12-27 18:09:16 +01:00
frosch
09d4735679
(svn r27993) -Change: Heading for 1.9 now
2018-03-14 19:36:41 +00:00
frosch
b4b98e5165
(svn r27893) -Codechange: Use fallthrough attribute. (LordAro)
2017-08-13 18:38:42 +00:00
peter1138
86eae807be
(svn r27787) -Fix: Update scrollbar when rebuilding AI/GS setting list.
2017-03-12 18:19:01 +00:00
peter1138
c55f586df8
(svn r27786) -Fix [FS#6479]: AI configuration changed incorrect parameter when some parameters are hidden.
2017-03-12 16:33:40 +00:00
frosch
afcef7faa6
(svn r27780) -Update: Numbers
2017-03-11 20:50:26 +00:00
frosch
d8b465f556
(svn r27581) -Fix [FS#6461]: Button size computation in script configuration window. (adf88)
2016-05-22 12:00:36 +00:00
frosch
0c7c0ada78
(svn r27518) -Update: Numbers
2016-03-01 20:00:22 +00:00
zuu
aabc46712a
(svn r27468) -Fix (r27444): Game Scripts were not displayed in the content download window when opened from the AI/GS settings window.
2015-12-10 18:28:01 +00:00
frosch
8fc86bc5f5
(svn r27193) -Fix (r27192): Incomplete copy/paste.
2015-03-17 20:45:57 +00:00
frosch
6477356dd2
(svn r27192) -Change: heading for 1.6 now
2015-03-17 20:33:44 +00:00
frosch
bed0370ad1
(svn r27187) -Fix: Code style.
2015-03-15 12:19:58 +00:00
peter1138
d4a9b3aced
(svn r26954) -Codechange: GUI-scale for AI/GS settings and NewGRF settings windows.
2014-10-04 18:19:22 +00:00
fonsinchen
2128f1e929
(svn r26893) -Feature: ScriptStationList_Cargo for sorting cargo by from and via
2014-09-21 16:20:48 +00:00
rubidium
33ab505567
(svn r26774) -Cleanup [Squirrel]: remove _SC macro
2014-09-06 17:46:56 +00:00
rubidium
6e99a55928
(svn r26583) -Fix [FS#5974]: Game script could be changed in game by double clicking
2014-05-11 18:46: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
frosch
db96a109ff
(svn r26406) -Change: heading for 1.5 now
2014-03-17 20:02:30 +00:00
rubidium
83eeba28b7
(svn r26086) -Codechange: use AutoDeleteSmallVector instead std::list for dropdowns
2013-11-24 14:46:26 +00:00
rubidium
81ce9ad189
(svn r25592) -Fix [FS#5644]: Changing the script difficulty level in-game would also change the settings using the default even though they were not allowed to change in-game
2013-07-12 18:54:27 +00:00
frosch
43ec0bf0c1
(svn r25537) -Codechange: Optionally make WWT_MATRIX compute the number of rows and columns from the resize step size.
2013-06-30 14:36:31 +00:00
frosch
e184b9799c
(svn r25533) -Codechange: Use SetCapacityFromWidget more often.
2013-06-30 14:33:32 +00:00
frosch
5f8f71edf0
(svn r25532) -Fix: Do not make the minimal size of matrix or panel widgets depend on their number of rows, since that changes when resizing the window.
2013-06-30 14:33:15 +00:00
frosch
98fdd20f84
(svn r25531) -Codechange: Use separate function to set data of WWT_MATRIX widgets.
2013-06-30 14:32:31 +00:00
frosch
fef30983e6
(svn r25414) -Codechange: Move handling of global hotkeys to HotkeyList.
2013-06-15 15:31:22 +00:00
frosch
ee4e68bd5e
(svn r25413) -Fix-ish: Suppress focussing editboxes which are not visible.
2013-06-15 15:31:04 +00:00
frosch
5cb174c6b8
(svn r25412) -Codechange: Make use of Window::OnHotkey
2013-06-15 15:30:44 +00:00
frosch
1b8b1f3f6c
(svn r25410) -Codechange: Put all hotkeys of a window into a static HotkeyList member.
2013-06-15 15:28:09 +00:00
frosch
d9e9710cb3
(svn r25408) -Codechange: Simplify hotkeys by removing unused stuff.
2013-06-15 15:27:33 +00:00
frosch
bb308c5e30
(svn r25401) -Fix-ish: Add missing includes with prototypes to functions declared in the cpp file.
2013-06-15 15:05:54 +00:00
frosch
4e4e635916
(svn r25294) -Feature: Add another button to window title bars to resize the window to its default size.
2013-05-26 19:30:07 +00:00
frosch
8157a8afd8
(svn r25290) -Add: Assign string names to notable windows.
2013-05-26 19:25:01 +00:00
frosch
56e4a8c4d6
(svn r25287) -Codechange: Keep a reference to the WindowDesc in the Window after construction.
2013-05-26 19:23:42 +00:00
rubidium
001fdc3682
(svn r25236) -Fix [FS#5547]: crash when AI is executing a command as it is bankrupted (removed from the game)
...
The command is placed in a queue for processing before it is bankrupted, after that the command
is executed. This command yields a failure because the company does not exist, but then it still
needs to call the callback. This callback tries to access the AI's virtual machine without any
checks, so it starts to read a just freed pointer and segfaults.
2013-05-12 13:12:55 +00:00
zuu
c6187b5d97
(svn r25104) -Fix [FS#5507]: Allow changing GS settings in-game via the AI/GS config window.
2013-03-17 21:58:18 +00:00
frosch
9b06e79765
(svn r25052) -Fix [FS#5490]: Refactor Script Debug GUI to only set widget states in OnInvalidateData.
2013-02-27 21:23:19 +00:00
rubidium
7ff6598cd2
(svn r25001) -Change: heading for 1.4 now
2013-02-14 18:58:04 +00:00
frosch
a00320c61d
(svn r24929) -Fix [FS#5415]: Don't try to pause or unpause crashed scripts.
2013-01-20 18:43:49 +00:00
planetmaker
c24374f99c
(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow)
2013-01-08 22:46:42 +00:00
frosch
812ae4140a
(svn r24789) -Add: Separate setting to control the default settings of newly added scripts and random AIs.
2012-12-05 19:36:04 +00:00
frosch
e43bf5dabd
(svn r24788) -Change: Detach script settings from difficulty settings. Always allow changing all script settings without setting difficulty to custom.
2012-12-05 19:35:38 +00:00
frosch
a499435351
(svn r24786) -Codechange: Add SettingsProfile enum for difficulty profiles and highscore tables.
2012-12-05 19:34:45 +00:00
frosch
545b6de900
(svn r24747) -Fix: Some editboxes had a different colour than the rest of the window.
2012-11-14 22:50:53 +00:00
frosch
f5d8ba5d7f
(svn r24742) -Codechange: Remove QueryStringBaseWindow and store QueryStrings per widget instead.
2012-11-14 22:50:35 +00:00
frosch
6e6d94a2d1
(svn r24740) -Codechange: Remove duplicate members from QueryStringBaseWindow and directly use QueryString.
2012-11-14 22:50:26 +00:00