diff --git a/.global.editorconfig.ini b/.global.editorconfig.ini
index c2c967bffc..4af46f526e 100644
--- a/.global.editorconfig.ini
+++ b/.global.editorconfig.ini
@@ -579,11 +579,11 @@ dotnet_diagnostic.SA1610.severity = silent
# Element parameter documentation should match element parameters
dotnet_diagnostic.SA1612.severity = silent
# Element parameter documentation should have text
-dotnet_diagnostic.SA1614.severity = silent
+dotnet_diagnostic.SA1614.severity = warning
# Element return value documentation should have text
-dotnet_diagnostic.SA1616.severity = silent
+dotnet_diagnostic.SA1616.severity = warning
# Generic type parameter documentation should have text
-dotnet_diagnostic.SA1622.severity = silent
+dotnet_diagnostic.SA1622.severity = warning
# Property summary documentation should match accessors
dotnet_diagnostic.SA1623.severity = silent
# Element documentation should not be copied and pasted
diff --git a/ExternalProjects/NLua/NLua.csproj b/ExternalProjects/NLua/NLua.csproj
index 5e06fa4786..0355705fc3 100644
--- a/ExternalProjects/NLua/NLua.csproj
+++ b/ExternalProjects/NLua/NLua.csproj
@@ -22,7 +22,7 @@
- $(NoWarn);IDE0005;SA1514
+ $(NoWarn);IDE0005;SA1514;SA1614;SA1616
disable
true
diff --git a/src/BizHawk.BizInvoke/BizInvokerUtilities.cs b/src/BizHawk.BizInvoke/BizInvokerUtilities.cs
index 9ef96e2e6c..b44865668d 100644
--- a/src/BizHawk.BizInvoke/BizInvokerUtilities.cs
+++ b/src/BizHawk.BizInvoke/BizInvokerUtilities.cs
@@ -55,14 +55,12 @@ namespace BizHawk.BizInvoke
///
/// Computes the byte offset of the first field of any class relative to a class pointer.
///
- ///
public static int ComputeClassFirstFieldOffset()
=> ComputeFieldOffset(typeof(CF).GetField("FirstField"));
///
/// Compute the byte offset of the first byte of string data (UTF16) relative to a pointer to the string.
///
- ///
public static int ComputeStringOffset()
{
var s = new string(Array.Empty());
@@ -78,7 +76,6 @@ namespace BizHawk.BizInvoke
///
/// Compute the offset to the 0th element of an array of value types
///
- ///
public static int ComputeValueArrayElementOffset()
{
var arr = new int[4];
@@ -96,7 +93,6 @@ namespace BizHawk.BizInvoke
/// Compute the offset to the 0th element of an array of object types
/// Slow, so cache it if you need it.
///
- ///
public static int ComputeObjectArrayElementOffset()
{
var obj = new object[4];
diff --git a/src/BizHawk.BizInvoke/CallingConventionAdapter.cs b/src/BizHawk.BizInvoke/CallingConventionAdapter.cs
index 435efd59fc..c3e8ad6d5b 100644
--- a/src/BizHawk.BizInvoke/CallingConventionAdapter.cs
+++ b/src/BizHawk.BizInvoke/CallingConventionAdapter.cs
@@ -24,16 +24,12 @@ namespace BizHawk.BizInvoke
/// managed wrapper involved. Called "arrival" because it is to be used when the foreign code is calling
/// back into host code.
///
- ///
IntPtr GetArrivalFunctionPointer(IntPtr p, InvokerParameterInfo pp, object lifetime);
///
/// Like Marshal.GetDelegateForFunctionPointer(), but wraps a thunk around the passed native pointer
/// to adjust the calling convention appropriately
///
- ///
- ///
- ///
Delegate GetDelegateForFunctionPointer(IntPtr p, Type delegateType);
///
@@ -41,10 +37,6 @@ namespace BizHawk.BizInvoke
/// managed wrapper involved.static Called "departure" beause it is to be used when first leaving host
/// code for foreign code.
///
- ///
- ///
- ///
- ///
IntPtr GetDepartureFunctionPointer(IntPtr p, InvokerParameterInfo pp, object lifetime);
}
@@ -137,7 +129,6 @@ namespace BizHawk.BizInvoke
/// This is very unsafe; any attempts by the guest to call syscalls will crash, and stack hygiene will be all wrong.
/// DO NOT USE THIS.
///
- ///
public static ICallingConventionAdapter GetWaterboxUnsafeUnwrapped()
=> WaterboxAdapter.WaterboxWrapper;
diff --git a/src/BizHawk.Client.Common/config/ConfigExtensions.cs b/src/BizHawk.Client.Common/config/ConfigExtensions.cs
index e1175916cb..17176e6e43 100644
--- a/src/BizHawk.Client.Common/config/ConfigExtensions.cs
+++ b/src/BizHawk.Client.Common/config/ConfigExtensions.cs
@@ -39,8 +39,6 @@ namespace BizHawk.Client.Common
///
/// Returns the core settings for a core
///
- ///
- ///
/// null if no settings were saved, or there was an error deserializing
public static object GetCoreSettings(this Config config, Type coreType, Type settingsType)
{
@@ -61,9 +59,7 @@ namespace BizHawk.Client.Common
///
/// saves the core settings for a core
///
- ///
/// null to remove settings for that core instead
- ///
public static void PutCoreSettings(this Config config, object o, Type coreType)
{
if (o != null)
@@ -79,8 +75,6 @@ namespace BizHawk.Client.Common
///
/// Returns the core syncsettings for a core
///
- ///
- ///
/// null if no settings were saved, or there was an error deserializing
public static object GetCoreSyncSettings(this Config config, Type coreType, Type syncSettingsType)
{
@@ -101,9 +95,7 @@ namespace BizHawk.Client.Common
///
/// saves the core syncsettings for a core
///
- ///
/// null to remove settings for that core instead
- ///
public static void PutCoreSyncSettings(this Config config, object o, Type coreType)
{
if (o != null)
diff --git a/src/BizHawk.Client.Common/movie/tasproj/IStateManager.cs b/src/BizHawk.Client.Common/movie/tasproj/IStateManager.cs
index 5c8094ec41..aba852c334 100644
--- a/src/BizHawk.Client.Common/movie/tasproj/IStateManager.cs
+++ b/src/BizHawk.Client.Common/movie/tasproj/IStateManager.cs
@@ -41,20 +41,13 @@ namespace BizHawk.Client.Common
/// Get a nearby state. The returned frame must be less than or equal to the passed frame.
/// This may not fail; the StateManager strongly holds a frame 0 state to ensure there's always a possible result.
///
- ///
/// This stream may be consumed only once, and before any other calls to statemanager occur
KeyValuePair GetStateClosestToFrame(int frame);
- ///
- /// Returns the total number of states currently held by the state manager
- ///
- ///
+ /// the total number of states currently held by the state manager
int Count { get; }
- ///
- /// Returns the most recent frame number that the state manager possesses
- ///
- ///
+ /// the most recent frame number that the state manager possesses
int Last { get; }
///
@@ -71,7 +64,6 @@ namespace BizHawk.Client.Common
/// Enables the instance to be used. An instance of should not
/// be useable until this method is called
///
- ///
void Engage(byte[] frameZeroState);
}
}
diff --git a/src/BizHawk.Client.Common/rewind/ZwinderBuffer.cs b/src/BizHawk.Client.Common/rewind/ZwinderBuffer.cs
index 7a2a5cd208..c98286fbd0 100644
--- a/src/BizHawk.Client.Common/rewind/ZwinderBuffer.cs
+++ b/src/BizHawk.Client.Common/rewind/ZwinderBuffer.cs
@@ -85,10 +85,7 @@ namespace BizHawk.Client.Common
///
public int Count => (_nextStateIndex - _firstStateIndex) & STATEMASK;
- ///
- /// total number of bytes used
- ///
- ///
+ /// total number of bytes used
public long Used => Count == 0
? 0
: (_states[HeadStateIndex].Start
@@ -96,10 +93,7 @@ namespace BizHawk.Client.Common
- _states[_firstStateIndex].Start
) & _sizeMask;
- ///
- /// Total size of the _buffer
- ///
- ///
+ /// Total size of the buffer
public long Size { get; }
private readonly long _sizeMask;
@@ -282,8 +276,6 @@ namespace BizHawk.Client.Common
/// Retrieve information about a state from 0..Count - 1.
/// The information contained within is valid only until the collection is modified.
///
- ///
- ///
public StateInformation GetState(int index)
{
if ((uint) index >= (uint) Count) throw new ArgumentOutOfRangeException(paramName: nameof(index), index, message: "index out of range");
@@ -293,7 +285,6 @@ namespace BizHawk.Client.Common
///
/// Invalidate states from GetState(index) on to the end of the buffer, so that Count == index afterwards
///
- ///
public void InvalidateEnd(int index)
{
if ((uint) index > (uint) Count) // intentionally allows index == Count (e.g. clearing an empty buffer)
diff --git a/src/BizHawk.Client.EmuHawk/tools/ToolManager.cs b/src/BizHawk.Client.EmuHawk/tools/ToolManager.cs
index 9d22d8d5b8..ab457d6546 100644
--- a/src/BizHawk.Client.EmuHawk/tools/ToolManager.cs
+++ b/src/BizHawk.Client.EmuHawk/tools/ToolManager.cs
@@ -477,7 +477,6 @@ namespace BizHawk.Client.EmuHawk
///
/// The condition to check for
/// Type of tools to check
- ///
public T FirstOrNull(Predicate condition) where T : class
{
foreach (var tool in _tools)
diff --git a/src/BizHawk.Common/Extensions/IOExtensions.cs b/src/BizHawk.Common/Extensions/IOExtensions.cs
index 087b76bf46..212addfd03 100644
--- a/src/BizHawk.Common/Extensions/IOExtensions.cs
+++ b/src/BizHawk.Common/Extensions/IOExtensions.cs
@@ -42,9 +42,7 @@ namespace BizHawk.Common.IOExtensions
///
/// Read a string from a binary reader using utf8 encoding and known byte length
///
- ///
/// exact number of bytes to read
- ///
public static string ReadStringFixedUtf8(this BinaryReader r, int bytes)
{
var read = new byte[bytes];
@@ -55,8 +53,6 @@ namespace BizHawk.Common.IOExtensions
///
/// Read a null terminated string from a binary reader using utf8 encoding
///
- ///
- ///
public static string ReadStringUtf8NullTerminated(this BinaryReader br)
{
using var ms = new MemoryStream();
diff --git a/src/BizHawk.Common/MemoryBlock/MemoryBlockLinuxPal.cs b/src/BizHawk.Common/MemoryBlock/MemoryBlockLinuxPal.cs
index 23754406ad..eb4ad8dcf0 100644
--- a/src/BizHawk.Common/MemoryBlock/MemoryBlockLinuxPal.cs
+++ b/src/BizHawk.Common/MemoryBlock/MemoryBlockLinuxPal.cs
@@ -14,7 +14,6 @@ namespace BizHawk.Common
///
/// Map some bytes
///
- ///
///
/// failed to mmap
///
diff --git a/src/BizHawk.Common/SpanStream.cs b/src/BizHawk.Common/SpanStream.cs
index 9bec0a2b72..b8959d89f4 100644
--- a/src/BizHawk.Common/SpanStream.cs
+++ b/src/BizHawk.Common/SpanStream.cs
@@ -13,11 +13,7 @@ namespace BizHawk.Common
}
public static class SpanStream
{
- ///
- /// Returns a stream in spanstream mode, or creates a wrapper that provides that functionality
- ///
- ///
- ///
+ /// a stream in spanstream mode, or a newly-created wrapper which provides that functionality
public static ISpanStream GetOrBuild(Stream s)
{
return s as ISpanStream
diff --git a/src/BizHawk.Emulation.Cores/CPUs/FairchildF8/F3850.Operations.cs b/src/BizHawk.Emulation.Cores/CPUs/FairchildF8/F3850.Operations.cs
index 21f503bbe7..37fee2bce7 100644
--- a/src/BizHawk.Emulation.Cores/CPUs/FairchildF8/F3850.Operations.cs
+++ b/src/BizHawk.Emulation.Cores/CPUs/FairchildF8/F3850.Operations.cs
@@ -26,8 +26,6 @@ namespace BizHawk.Emulation.Cores.Components.FairchildF8
/// Helper method moving from IO pins to accumulator
/// (complement and flags set)
///
- ///
- ///
public void LR_A_IO_Func(byte dest, byte src)
{
// overflow and carry unconditionally reset
@@ -46,8 +44,6 @@ namespace BizHawk.Emulation.Cores.Components.FairchildF8
/// Helper method moving from accumulator to IO pins
/// (complement)
///
- ///
- ///
public void OUT_Func(byte dest, byte src)
{
// data is complemented between accumulator and I/O pins (because PINs are active-low)
@@ -66,8 +62,6 @@ namespace BizHawk.Emulation.Cores.Components.FairchildF8
///
/// Helper function for transferring data between registers
///
- ///
- ///
public void LR_Func(byte dest, byte src)
{
if (dest == DB)
@@ -94,8 +88,6 @@ namespace BizHawk.Emulation.Cores.Components.FairchildF8
///
/// Right shift 'src' 'shift' positions (zero fill)
///
- ///
- ///
public void SR_Func(byte src, byte shift)
{
// overflow and carry unconditionally reset
@@ -111,8 +103,6 @@ namespace BizHawk.Emulation.Cores.Components.FairchildF8
///
/// Left shift 'src' 'shift' positions (zero fill)
///
- ///
- ///
public void SL_Func(byte src, byte shift)
{
// overflow and carry unconditionally reset
@@ -130,8 +120,6 @@ namespace BizHawk.Emulation.Cores.Components.FairchildF8
/// Statuses modified: OVF, ZERO, CARRY, SIGN
/// Statuses unaffected: ICB
///
- ///
- ///
public void ADD_Func(byte dest, byte src, byte src2 = ZERO)
{
ushort res = (ushort)(Regs[dest] + Regs[src] + Regs[src2]);
@@ -152,8 +140,6 @@ namespace BizHawk.Emulation.Cores.Components.FairchildF8
/// Decimal Add
/// http://www.bitsavers.org/components/fairchild/f8/67095664_F8_Guide_To_Programming_1976.pdf - page 40
///
- ///
- ///
public void ADDD_Func(byte dest, byte src)
{
// The accumulator and the memory location addressed by the DCO registers are assumed to contain two BCD digits.
@@ -237,8 +223,6 @@ namespace BizHawk.Emulation.Cores.Components.FairchildF8
///
/// Logical AND regs[dest] with regs[src] and store the result in regs[dest]
///
- ///
- ///
public void AND_Func(byte dest, byte src)
{
// overflow and carry unconditionally reset
@@ -254,8 +238,6 @@ namespace BizHawk.Emulation.Cores.Components.FairchildF8
///
/// Logical OR regs[dest] with regs[src] and store the result in regs[dest]
///
- ///
- ///
public void OR_Func(byte dest, byte src)
{
// overflow and carry unconditionally reset
@@ -271,8 +253,6 @@ namespace BizHawk.Emulation.Cores.Components.FairchildF8
///
/// The destination (regs[dest]) is XORed with (regs[src]).
///
- ///
- ///
public void XOR_Func(byte dest, byte src)
{
// overflow and carry unconditionally reset
diff --git a/src/BizHawk.Emulation.Cores/CPUs/FairchildF8/F3850.Tables.cs b/src/BizHawk.Emulation.Cores/CPUs/FairchildF8/F3850.Tables.cs
index 61c12ca6ba..45fcba1e01 100644
--- a/src/BizHawk.Emulation.Cores/CPUs/FairchildF8/F3850.Tables.cs
+++ b/src/BizHawk.Emulation.Cores/CPUs/FairchildF8/F3850.Tables.cs
@@ -396,7 +396,6 @@
/// Statuses reset: OVF, CARRY
/// Statuses unaffected: ICB
///
- ///
private void SR(byte index)
{
PopulateCURINSTR(
@@ -414,7 +413,6 @@
/// Statuses reset: OVF, CARRY
/// Statuses unaffected: ICB
///
- ///
private void SL(byte index)
{
PopulateCURINSTR(
@@ -998,7 +996,6 @@
/// Statuses modified: OVF, ZERO, CARRY, SIGN
/// Statuses unaffected: ICB
///
- ///
private void DS(byte rIndex)
{
// only scratch registers 0-16
@@ -1190,7 +1187,6 @@
/// A 3-bit value provided by the LlSU instruction operand is loaded into the three most significant bits of the ISAR. The three least significant bits of the ISAR are not altered.
/// No status bits are affected.
///
- ///
private void LISU(byte octal)
{
PopulateCURINSTR(
@@ -1206,7 +1202,6 @@
/// A 3-bit value provided by the USL instruction operand is loaded into the three least significant bits of the ISAR. The three most significant bits of the ISAR are not altered.
/// No status bits are modified.
///
- ///
private void LISL(byte octal)
{
PopulateCURINSTR(
@@ -1223,7 +1218,6 @@
/// The most significant four bits of the accumulator are set to "0".
/// No status bits are modified.
///
- ///
private void LIS(byte index)
{
PopulateCURINSTR(
@@ -1448,7 +1442,6 @@
/// Statuses reset: OVF, CARRY
/// Statuses unaffected: ICB
///
- ///
private void INS_0(byte index)
{
Regs[IO] = index; // latch port index early
@@ -1474,7 +1467,6 @@
/// Statuses reset: OVF, CARRY
/// Statuses unaffected: ICB
///
- ///
private void INS_1(byte index)
{
Regs[IO] = index; // latch port index early
@@ -1507,7 +1499,6 @@
/// I/O ports with addresses from 0 to 1 may be accessed by this instruction. (Outs O or 1 is CPU port only.)
/// No status bits are modified.
///
- ///
private void OUTS_0(byte index)
{
Regs[IO] = index; // latch port index early
@@ -1531,7 +1522,6 @@
/// I/O ports with addresses from 3 to 15 may be accessed by this instruction.
/// No status bits are modified.
///
- ///
private void OUTS_1(byte index)
{
Regs[IO] = index; // latch port index early
@@ -1566,7 +1556,6 @@
/// Statuses modified: OVF, ZERO, CARRY, SIGN
/// Statuses unaffected: ICB
///
- ///
private void AS(byte rIndex)
{
// only scratch registers 0-15
@@ -1641,7 +1630,6 @@
/// Statuses not significant: OVF, SIGN
/// Statuses unaffected: ICB
///
- ///
private void ASD(byte rIndex)
{
// only scratch registers 0-15
@@ -1738,7 +1726,6 @@
/// Statuses reset: OVF, CARRY
/// Statuses unaffected: ICB
///
- ///
private void XS(byte rIndex)
{
// only scratch registers 0-15
@@ -1813,7 +1800,6 @@
/// Statuses modified: ZERO, SIGN
/// Statuses unaffected: ICB
///
- ///
private void NS(byte rIndex)
{
// only scratch registers 0-15
diff --git a/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Hardware/SoundOuput/AY38912.cs b/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Hardware/SoundOuput/AY38912.cs
index b912ad58fa..0595545db8 100644
--- a/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Hardware/SoundOuput/AY38912.cs
+++ b/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Hardware/SoundOuput/AY38912.cs
@@ -51,7 +51,6 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum
///
/// |11-- ---- ---- --0-| - IN - Read value of currently selected register
///
- ///
public bool ReadPort(ushort port, ref int value)
{
if (!port.Bit(1))
@@ -72,7 +71,6 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum
/// |11-- ---- ---- --0-| - OUT - Register Select
/// |10-- ---- ---- --0-| - OUT - Write value to currently selected register
///
- ///
public bool WritePort(ushort port, int value)
{
if (!port.Bit(1))
diff --git a/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Media/MediaConverter.cs b/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Media/MediaConverter.cs
index 51596a4664..d4f0f5787f 100644
--- a/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Media/MediaConverter.cs
+++ b/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Media/MediaConverter.cs
@@ -147,9 +147,6 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum
///
/// Caluclate a data block XOR checksum
///
- ///
- ///
- ///
public static bool CheckChecksum(byte[] buf, int len)
{
byte c = 0;
diff --git a/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Media/Tape/TZX/TzxConverter.cs b/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Media/Tape/TZX/TzxConverter.cs
index 6522fa9b36..a66973e032 100644
--- a/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Media/Tape/TZX/TzxConverter.cs
+++ b/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Media/Tape/TZX/TzxConverter.cs
@@ -48,10 +48,6 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum
///
private readonly DatacorderDevice _datacorder;
- ///
- /// Constructor
- ///
- ///
public TzxConverter(DatacorderDevice _tapeDevice)
{
_datacorder = _tapeDevice;
diff --git a/src/BizHawk.Emulation.Cores/Consoles/Fairchild/ChannelF/Memory.cs b/src/BizHawk.Emulation.Cores/Consoles/Fairchild/ChannelF/Memory.cs
index 2025dd9692..06976b966f 100644
--- a/src/BizHawk.Emulation.Cores/Consoles/Fairchild/ChannelF/Memory.cs
+++ b/src/BizHawk.Emulation.Cores/Consoles/Fairchild/ChannelF/Memory.cs
@@ -11,8 +11,6 @@
///
/// Simulates reading a byte of data from the address space
///
- ///
- ///
public byte ReadBus(ushort addr)
{
if (addr < 0x400)
@@ -36,7 +34,6 @@
/// Simulates writing a byte of data to the address space (in its default configuration, there is no writeable RAM in the
/// Channel F addressable through the address space)
///
- ///
public void WriteBus(ushort addr, byte value)
{
Cartridge.WriteBus(addr, value);
diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/IGameboyCommon.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/IGameboyCommon.cs
index 2bf7cacf8e..66aa8ae45a 100644
--- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/IGameboyCommon.cs
+++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/IGameboyCommon.cs
@@ -31,7 +31,6 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Gameboy
/// Acquire GPU memory for inspection. The returned object must be disposed as soon as the frontend
/// tool is done inspecting it, and the pointers become invalid once it is disposed.
///
- ///
IGPUMemoryAreas LockGPU();
///
diff --git a/src/BizHawk.Emulation.Cores/Waterbox/LibNymaCore.cs b/src/BizHawk.Emulation.Cores/Waterbox/LibNymaCore.cs
index 9a3e738b46..532bb114b0 100644
--- a/src/BizHawk.Emulation.Cores/Waterbox/LibNymaCore.cs
+++ b/src/BizHawk.Emulation.Cores/Waterbox/LibNymaCore.cs
@@ -181,7 +181,6 @@ namespace BizHawk.Emulation.Cores.Waterbox
///
/// Set a callback to be called whenever the core calls MDFN_MakeFName for a firmware, so that we can load firmwares on demand
///
- ///
[BizImport(CC)]
public abstract void SetFrontendFirmwareNotify(FrontendFirmwareNotify cb);
@@ -207,7 +206,6 @@ namespace BizHawk.Emulation.Cores.Waterbox
///
/// Callback to receive a disk TOC
///
- ///
/// Deposit a LibNymaCore.TOC here
[UnmanagedFunctionPointer(CC)]
public delegate void CDTOCCallback(int disk, IntPtr dest);