We still conflate the fieldID, the position in the
array of fields, and whether or not that means the
field is mandatory. But this attempts to clean up
*some* of that, without introducing too much risk.
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo. Avoids needing to
repeatly update.
Also updates AUTHORS.txt from current repo with contributor names
Like the DSNLEXER header, this has visibility in over 700
files, whereas well under half actually use any of it
(quite a bit, but not all, of it actually via DSNLEXER)
Many places already forward-declare the OUTPUTFORMATTER type,
by doing that for the others, it still possible to use the
non-IO methods without having to see richio.h.
If we do not have both a device and type for the sim model, return none
because we cannot parse it. This is handled by the calling routines.
Otherwise, we would return raw spice type erroneously.
(cherry picked from commit 76e50881fb933a6d06b1e63a46e7e7980db08fa5)
Adds REPORTER::HasMessageOfSeverity for WX_STRING_REPORTER,
which allows us to show simulation warnings and fail only if there's errors.
Also fixes a crash when SPICE_GENERATOR_KIBIS throws an IO_ERROR.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18143
Don't parse PEGTL twice, once for modelType and once for
model itself.
Also don't do O(n^2) searches on parameter names when
reading libraries.
And, because it's still too slow, multi-thread it.
Saves about 30% of the time to open the sim model
dialog. Pretty much all the remaining time is in PEGTL,
and that's even with short-circuiting it for most param
values.
Also adds new parameters to AM sources for ngspice-43.
Also fixes a bug in the spice parameter parser (which would
puke on any parameter name starting with one of the flag
parameter strings).
Also fixes a bug where the skipped source parameters would
get set to "0" instead of their default values.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16393
set in undefined, that create an issue (the canonical name was returned as
"Field-1", breaking the schematic file).
Now, new field IDs are not set to -1, and the saved file uses the field name
(if exist) when saving fields with undefined ID.