Docs: reflect net48; convert tools projects to net48
Documentation now describes the .NET Framework 4.8 stack (was .NET 8): - README build prerequisites + framework-dependent/no-runtime-install note, test count 136 -> 241. - PLAN.md architecture diagram, stack decision (with PolySharp/shims note), suite total 136 -> 241. - deploy/README-DEPLOY.txt: app is net48 framework-dependent (4.8 is in-box on Win10/11), and build prerequisites. Also migrate the three tools (RioJoySmokeTest, RioSerialMonitor, XcfRegionExtract) to net48 so they keep building against the now-net48 RioJoy.Core (a net8 project cannot reference a net48 one). Added PolySharp + System.Memory/System.Text.Json shims and replaced net-core-only APIs (string.Contains/IndexOf with comparison, Array.Fill, generic Enum.IsDefined, int.TryParse(span)). All three build clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -30,7 +30,7 @@ ulong U64() { ulong v = 0; for (int i = 0; i < 8; i++) v = (v << 8) | d[pos++];
|
||||
string magic = Encoding.ASCII.GetString(d, 0, 9); // "gimp xcf "
|
||||
string ver = Encoding.ASCII.GetString(d, 9, 4); // "file" (=v0) or "vNNN"
|
||||
if (magic != "gimp xcf ") { Console.Error.WriteLine($"Not an XCF file: '{magic}'"); return 1; }
|
||||
bool ptr64 = ver[0] == 'v' && int.TryParse(ver.AsSpan(1, 3), out int vn) && vn >= 11;
|
||||
bool ptr64 = ver[0] == 'v' && int.TryParse(ver.Substring(1, 3), out int vn) && vn >= 11;
|
||||
long Ptr() => ptr64 ? (long)U64() : U32();
|
||||
|
||||
pos = 14;
|
||||
|
||||
Reference in New Issue
Block a user