Peter Nelson
62da507aba
Codechange: Update minimum CMake version to 3.16 for all parts. ( #13141 )
...
The main CMakeList requires 3.16, so bump all other files to match.
2024-12-04 14:12:57 +00:00
Peter Nelson
3be0166801
Codechange: Use std::ranges::find where possible.
...
Replace `std::find(range.begin(), range.end(), ...)` with `std::ranges::find(range, ...)`.
2024-11-24 10:36:03 +00:00
Peter Nelson
908ee7292b
Codechange: Replace all FILE * with FileHandle RAII class. ( #12718 )
...
This removes the need to manually ensure all files are closed.
2024-09-16 08:45:26 +01:00
Peter Nelson
ca73f03334
Codechange: Use std::filesystem::remove/rename in settingsgen. ( #12483 )
2024-04-12 14:32:35 +01:00
Peter Nelson
44b8210037
Codechange: settingsgen's CopyFile actually appends. ( #12485 )
2024-04-12 13:01:16 +01:00
Rubidium
afd7878de0
Codechange: internally use a span of arguments for GetOptData
2024-04-11 12:00:36 +02:00
Rubidium
e8a56db21d
Codechange: use designated initializers for OptionData and pass as span
2024-04-11 12:00:36 +02:00
frosch
b1718478c8
Codechange: Replace old non-standard attributes with C++17/20 standard attributes.
2024-02-02 22:29:28 +01:00
Peter Nelson
69e20e79ab
Codechange: Add const versions of GetItem/GetGroup, and sprinkle liberally.
...
Non-const version of GetItem is not needed.
2023-10-20 18:37:27 +01:00
Peter Nelson
17ba9d8c96
Codechange: Use range-for instead of nullptr-terminated list in settingsgen.
...
This simplifies iteration and avoids use of pointers.
2023-10-20 18:37:27 +01:00
Peter Nelson
233aac567b
Codechange: Use std::list instead of C-linked list for ini files.
...
This removes self-management of memory with new/delete and allows simpler iteration.
2023-10-20 18:37:27 +01:00
Peter Nelson
8bd06807e4
Codechange: Pass initializer list instead of null-terminated list of group types.
2023-10-20 18:37:27 +01:00
Peter Nelson
1fecbeff76
Codechange: Remove create parameter from IniLoadFile::GetGroup.
...
GetGroup now only returns nullptr if the group does not exist.
Use GetOrCreateGroup to create a group.
This avoids creating groups while reading ini files.
2023-10-20 18:37:27 +01:00
Peter Nelson
0c85ce29ea
Codechange: Pass ini file by reference and prefer automatic storage.
...
This avoids new/delete operations, and (not) checking for nullptr.
2023-10-20 18:37:27 +01:00
Peter Nelson
49dae08a3b
Codechange: Add missing override specifiers.
2023-09-25 21:27:45 +01:00
frosch
b6c8f301be
Codechange: Silence warnings about intentionally unused parameters.
2023-09-19 22:49:59 +02:00
PeterN
64d6ad50f9
Codechange: Split GetItem with GetOrCreateItem. ( #10952 )
...
`IniGroup::GetItem()` returns nullptr if the item does not exist, but does not if the create parameter is set to true. Resolve CodeQL warnings with `GetOrCreateItem()` which returns a reference to the item instead.
2023-06-05 18:29:52 +00:00
Rubidium
2efd88d513
Cleanup: version of strgen/settingsgen was always $Revision$, so remove it
2023-05-21 19:39:09 +02:00
Rubidium
411379f587
Codechange: replace puts with fmt::print
2023-05-21 15:12:02 +02:00
Rubidium
275ebf4509
Codechange: replace fprintf(<FILE*> with fmt::print(<FILE*>
2023-05-21 15:12:02 +02:00
Rubidium
3323402aaa
Codechange: rename smallvec_type to container_func and use only when needed
2023-05-20 16:53:10 +02:00
PeterN
bda754ec83
Fix: Make all settingsgen 'warnings' fatal. ( #10766 )
...
Compilation should stop If settingsgen fails to complete properly.
2023-05-05 09:22:03 +01:00
Rubidium
f74e26ca7e
Codechange: replace error/usererror printf variant with fmt variant and rename
2023-04-25 17:55:09 +02:00
Patric Stout
74aa934441
Codechange: validate that "max" value of settings fit in their storage
...
This is an easy mistake to make, so protect us against making such
mistakes, by validating it doesn't happen.
2021-03-01 23:17:47 +01:00
glx22
2cbfcd2327
Change: [CMake] Bump minimum version to 3.9
2021-02-07 16:21:13 +01:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
2021-01-08 11:16:18 +01:00
Michael Lutz
358056ec42
Codechange: Keep filenames of loaded Fio files in std::strings.
2020-12-27 13:19:25 +01:00
Michael Lutz
79240eab1e
Codechange: Make use of the improved C++17 emplace_back function.
2020-12-15 00:29:30 +01:00
glx22
a06fe8e8a7
Fix: [CMake] cross-compiling requires native tools
2020-12-04 09:49:31 +00: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
715aa67a9c
Codechange: Use std::string in INI file parsing.
2020-05-21 20:02:34 +02:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02:00
glx22
acb09eb9a8
Fix: [Win64] settingsgen MSVC compile warnings ( #7432 )
2019-03-28 21:25:21 +01: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
bfd79e59dc
Codechange: Replace SmallVector::Clear() with std::vector::clear()
2019-03-26 20:15:57 +00:00
Patric Stout
7784d77713
Remove: MorphOS / AmigaOS support
...
In 10 years there is no commit to change how MorphOS works, and we
have no active maintainer for it. It is unlikely it works in its
current state (but not impossible).
With the arrival of SDL2 (and removal of SDL), MorphOS is no longer
support. There is an SDL2 port for MorphOS, but it is not maintained
by upstream SDL2, and nobody can currently test it out.
If anyone wants to re-add MorphOS, please do (revert this patch,
fix the problems, and create a Pull Request). If you need any help
doing so, let us know! It is not that we don't like MorphOS, it is
that we don't have anyone fixing the problems :(
2019-03-05 22:03:00 +01: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
Charles Pigott
b5028efc1f
Fix: Protect against a few out of bounds or uninitialised usage errors
2018-10-31 12:41:49 +01:00
Charles Pigott
f5b1115039
Doc: Lots and lots of doxymentation fixes
2018-10-31 12:35:54 +01:00
rubidium
e61fe21237
(svn r26506) -Codechange: replace most of vsnprintf with vseprintf
2014-04-24 19:51:45 +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
smatz
f4de9b8a37
(svn r23940) -Codechange: remove superfluous semicolons
2012-02-12 19:46:40 +00:00
rubidium
05300a00b1
(svn r22824) -Codechange: pass sub directory to ini loading
2011-08-24 13:38:26 +00:00
rubidium
5a620d1c65
(svn r22406) -Document: some more "random-ish" tidbits
2011-05-01 19:51:52 +00:00
michi_cc
e7bb220fdd
(svn r22254) -Codechange: Make settingsgen only update the output file if it actually changed.
2011-03-14 22:24:08 +00:00
glx
7f54c59a66
(svn r22188) -Add: Generate the settings as part of the MSVC build process, and enable it in Makefile too
2011-03-04 22:34:10 +00:00