Add arm64 runtime identifiers to Maple2.File.Verify - #80

Merged
AngeloTadeucci merged 1 commit into
masterfrom
feat/verify-arm64-rid
Aug 20, 2026
Merged

Add arm64 runtime identifiers to Maple2.File.Verify#80
AngeloTadeucci merged 1 commit into
masterfrom
feat/verify-arm64-rid

Conversation

@AngeloTadeucci

@AngeloTadeucciAngeloTadeucci commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

MS2Verify is published as a self-contained binary, so it only runs on the CPU architecture it was published for. The RuntimeIdentifiers list named win-x64, linux-x64 and osx-x64 only. That leaves an aarch64 machine with no supported way to build it, and MS2Verify is what LithMS2-XML/build.sh runs on every archive after MS2Create writes it. An arm64 developer machine could not run that verification step at all.

Files

  • Maple2.File.Verify/Maple2.File.Verify.csproj — adds linux-arm64 and osx-arm64 to RuntimeIdentifiers. No source change was needed. The project already compiles and runs on both, the RID list was just never extended.

Verification

Published from this branch on an aarch64 Ubuntu 22.04 box with the .NET 10 SDK building the net8.0 target:

dotnet publish Maple2.File.Verify/Maple2.File.Verify.csproj -c Release -r <rid> --self-contained true -p:PublishSingleFile=true

All four RIDs I tested succeed, and file reports the expected format for each: linux-arm64 gives an aarch64 ELF, linux-x64 gives an x86-64 ELF, and osx-arm64 gives a Mach-O arm64 executable. The pre-existing nullable-reference warnings in Maple2.File.IO appear on every RID and are unchanged by this PR.

The linux-arm64 binary verified a real archive natively:

$ ./MS2Verify out/Resource/Model/Camera.m2d
[OK] out/Resource/Model/Camera.m2d (10/10 entries, 42ms)
All entries verified successfully.

I did NOT test win-x64 or osx-x64, and I have not run this on macOS or Windows hardware. Neither RID is modified by this change. I also did NOT run dotnet test, which needs MS2_DATA_FOLDER pointing at extracted game data that is not on this machine.


View with [code]smithAutofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Summary by CodeRabbit

  • New Features
    • Added support for running on Linux ARM64 and macOS ARM64 platforms.

MS2Verify is published self-contained, so it only runs on the CPU
architecture it was published for. The RuntimeIdentifiers list held
win-x64, linux-x64 and osx-x64 only, so an aarch64 machine had no
supported way to build it and could not run the archive verification
step that LithMS2-XML build.sh performs after every MS2Create call.
Adds linux-arm64 and osx-arm64. No source change is needed, the
project already builds and runs on both.
@coderabbitai

coderabbitaiBot commented Aug 20, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 63f2713d-d74b-45c9-a32d-83538e68a1a5

📥 Commits

Reviewing files that changed from the base of the PR and between d94611c and d2492a7.

📒 Files selected for processing (1)
  • Maple2.File.Verify/Maple2.File.Verify.csproj

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The verification project now includes linux-arm64 and osx-arm64 runtime identifiers.

Changes

Runtime target support

Layer / File(s)Summary
Add ARM64 runtime identifiers
Maple2.File.Verify/Maple2.File.Verify.csproj
The project adds linux-arm64 and osx-arm64 to its runtime identifiers.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk:⚪ Minimal · up to d2492

This localized project configuration change adds arm64 publishing support without changing application logic; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly and concisely describes the addition of ARM64 runtime identifiers to Maple2.File.Verify.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/verify-arm64-rid

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@AngeloTadeucci
AngeloTadeucci merged commit 43a5731 into masterAug 20, 2026
4 checks passed
@AngeloTadeucci
AngeloTadeucci deleted the feat/verify-arm64-rid branch August 20, 2026 17:42
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@AngeloTadeucci
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Add arm64 runtime identifiers to Maple2.File.Verify - #80

Merged
AngeloTadeucci merged 1 commit into
masterfrom
feat/verify-arm64-rid
Aug 20, 2026
Merged

Add arm64 runtime identifiers to Maple2.File.Verify#80
AngeloTadeucci merged 1 commit into
masterfrom
feat/verify-arm64-rid

Conversation

@AngeloTadeucci

@AngeloTadeucciAngeloTadeucci commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

MS2Verify is published as a self-contained binary, so it only runs on the CPU architecture it was published for. The RuntimeIdentifiers list named win-x64, linux-x64 and osx-x64 only. That leaves an aarch64 machine with no supported way to build it, and MS2Verify is what LithMS2-XML/build.sh runs on every archive after MS2Create writes it. An arm64 developer machine could not run that verification step at all.

Files

  • Maple2.File.Verify/Maple2.File.Verify.csproj — adds linux-arm64 and osx-arm64 to RuntimeIdentifiers. No source change was needed. The project already compiles and runs on both, the RID list was just never extended.

Verification

Published from this branch on an aarch64 Ubuntu 22.04 box with the .NET 10 SDK building the net8.0 target:

dotnet publish Maple2.File.Verify/Maple2.File.Verify.csproj -c Release -r <rid> --self-contained true -p:PublishSingleFile=true

All four RIDs I tested succeed, and file reports the expected format for each: linux-arm64 gives an aarch64 ELF, linux-x64 gives an x86-64 ELF, and osx-arm64 gives a Mach-O arm64 executable. The pre-existing nullable-reference warnings in Maple2.File.IO appear on every RID and are unchanged by this PR.

The linux-arm64 binary verified a real archive natively:

$ ./MS2Verify out/Resource/Model/Camera.m2d
[OK] out/Resource/Model/Camera.m2d (10/10 entries, 42ms)
All entries verified successfully.

I did NOT test win-x64 or osx-x64, and I have not run this on macOS or Windows hardware. Neither RID is modified by this change. I also did NOT run dotnet test, which needs MS2_DATA_FOLDER pointing at extracted game data that is not on this machine.


View with [code]smithAutofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Summary by CodeRabbit

  • New Features
    • Added support for running on Linux ARM64 and macOS ARM64 platforms.

MS2Verify is published self-contained, so it only runs on the CPU
architecture it was published for. The RuntimeIdentifiers list held
win-x64, linux-x64 and osx-x64 only, so an aarch64 machine had no
supported way to build it and could not run the archive verification
step that LithMS2-XML build.sh performs after every MS2Create call.
Adds linux-arm64 and osx-arm64. No source change is needed, the
project already builds and runs on both.
@coderabbitai

coderabbitaiBot commented Aug 20, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 63f2713d-d74b-45c9-a32d-83538e68a1a5

📥 Commits

Reviewing files that changed from the base of the PR and between d94611c and d2492a7.

📒 Files selected for processing (1)
  • Maple2.File.Verify/Maple2.File.Verify.csproj

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The verification project now includes linux-arm64 and osx-arm64 runtime identifiers.

Changes

Runtime target support

Layer / File(s)Summary
Add ARM64 runtime identifiers
Maple2.File.Verify/Maple2.File.Verify.csproj
The project adds linux-arm64 and osx-arm64 to its runtime identifiers.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk:⚪ Minimal · up to d2492

This localized project configuration change adds arm64 publishing support without changing application logic; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly and concisely describes the addition of ARM64 runtime identifiers to Maple2.File.Verify.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/verify-arm64-rid

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@AngeloTadeucci
AngeloTadeucci merged commit 43a5731 into masterAug 20, 2026
4 checks passed
@AngeloTadeucci
AngeloTadeucci deleted the feat/verify-arm64-rid branch August 20, 2026 17:42
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@AngeloTadeucci
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Add arm64 runtime identifiers to Maple2.File.Verify - #80

Merged
AngeloTadeucci merged 1 commit into
masterfrom
feat/verify-arm64-rid
Aug 20, 2026
Merged

Add arm64 runtime identifiers to Maple2.File.Verify#80
AngeloTadeucci merged 1 commit into
masterfrom
feat/verify-arm64-rid

Conversation

@AngeloTadeucci

@AngeloTadeucciAngeloTadeucci commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

MS2Verify is published as a self-contained binary, so it only runs on the CPU architecture it was published for. The RuntimeIdentifiers list named win-x64, linux-x64 and osx-x64 only. That leaves an aarch64 machine with no supported way to build it, and MS2Verify is what LithMS2-XML/build.sh runs on every archive after MS2Create writes it. An arm64 developer machine could not run that verification step at all.

Files

  • Maple2.File.Verify/Maple2.File.Verify.csproj — adds linux-arm64 and osx-arm64 to RuntimeIdentifiers. No source change was needed. The project already compiles and runs on both, the RID list was just never extended.

Verification

Published from this branch on an aarch64 Ubuntu 22.04 box with the .NET 10 SDK building the net8.0 target:

dotnet publish Maple2.File.Verify/Maple2.File.Verify.csproj -c Release -r <rid> --self-contained true -p:PublishSingleFile=true

All four RIDs I tested succeed, and file reports the expected format for each: linux-arm64 gives an aarch64 ELF, linux-x64 gives an x86-64 ELF, and osx-arm64 gives a Mach-O arm64 executable. The pre-existing nullable-reference warnings in Maple2.File.IO appear on every RID and are unchanged by this PR.

The linux-arm64 binary verified a real archive natively:

$ ./MS2Verify out/Resource/Model/Camera.m2d
[OK] out/Resource/Model/Camera.m2d (10/10 entries, 42ms)
All entries verified successfully.

I did NOT test win-x64 or osx-x64, and I have not run this on macOS or Windows hardware. Neither RID is modified by this change. I also did NOT run dotnet test, which needs MS2_DATA_FOLDER pointing at extracted game data that is not on this machine.


View with [code]smithAutofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Summary by CodeRabbit

  • New Features
    • Added support for running on Linux ARM64 and macOS ARM64 platforms.

MS2Verify is published self-contained, so it only runs on the CPU
architecture it was published for. The RuntimeIdentifiers list held
win-x64, linux-x64 and osx-x64 only, so an aarch64 machine had no
supported way to build it and could not run the archive verification
step that LithMS2-XML build.sh performs after every MS2Create call.
Adds linux-arm64 and osx-arm64. No source change is needed, the
project already builds and runs on both.
@coderabbitai

coderabbitaiBot commented Aug 20, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 63f2713d-d74b-45c9-a32d-83538e68a1a5

📥 Commits

Reviewing files that changed from the base of the PR and between d94611c and d2492a7.

📒 Files selected for processing (1)
  • Maple2.File.Verify/Maple2.File.Verify.csproj

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The verification project now includes linux-arm64 and osx-arm64 runtime identifiers.

Changes

Runtime target support

Layer / File(s)Summary
Add ARM64 runtime identifiers
Maple2.File.Verify/Maple2.File.Verify.csproj
The project adds linux-arm64 and osx-arm64 to its runtime identifiers.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk:⚪ Minimal · up to d2492

This localized project configuration change adds arm64 publishing support without changing application logic; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly and concisely describes the addition of ARM64 runtime identifiers to Maple2.File.Verify.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/verify-arm64-rid

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@AngeloTadeucci
AngeloTadeucci merged commit 43a5731 into masterAug 20, 2026
4 checks passed
@AngeloTadeucci
AngeloTadeucci deleted the feat/verify-arm64-rid branch August 20, 2026 17:42
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@AngeloTadeucci
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Add arm64 runtime identifiers to Maple2.File.Verify - #80

Merged
AngeloTadeucci merged 1 commit into
masterfrom
feat/verify-arm64-rid
Aug 20, 2026
Merged

Add arm64 runtime identifiers to Maple2.File.Verify#80
AngeloTadeucci merged 1 commit into
masterfrom
feat/verify-arm64-rid

Conversation

@AngeloTadeucci

@AngeloTadeucciAngeloTadeucci commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

MS2Verify is published as a self-contained binary, so it only runs on the CPU architecture it was published for. The RuntimeIdentifiers list named win-x64, linux-x64 and osx-x64 only. That leaves an aarch64 machine with no supported way to build it, and MS2Verify is what LithMS2-XML/build.sh runs on every archive after MS2Create writes it. An arm64 developer machine could not run that verification step at all.

Files

  • Maple2.File.Verify/Maple2.File.Verify.csproj — adds linux-arm64 and osx-arm64 to RuntimeIdentifiers. No source change was needed. The project already compiles and runs on both, the RID list was just never extended.

Verification

Published from this branch on an aarch64 Ubuntu 22.04 box with the .NET 10 SDK building the net8.0 target:

dotnet publish Maple2.File.Verify/Maple2.File.Verify.csproj -c Release -r <rid> --self-contained true -p:PublishSingleFile=true

All four RIDs I tested succeed, and file reports the expected format for each: linux-arm64 gives an aarch64 ELF, linux-x64 gives an x86-64 ELF, and osx-arm64 gives a Mach-O arm64 executable. The pre-existing nullable-reference warnings in Maple2.File.IO appear on every RID and are unchanged by this PR.

The linux-arm64 binary verified a real archive natively:

$ ./MS2Verify out/Resource/Model/Camera.m2d
[OK] out/Resource/Model/Camera.m2d (10/10 entries, 42ms)
All entries verified successfully.

I did NOT test win-x64 or osx-x64, and I have not run this on macOS or Windows hardware. Neither RID is modified by this change. I also did NOT run dotnet test, which needs MS2_DATA_FOLDER pointing at extracted game data that is not on this machine.


View with [code]smithAutofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Summary by CodeRabbit

  • New Features
    • Added support for running on Linux ARM64 and macOS ARM64 platforms.

MS2Verify is published self-contained, so it only runs on the CPU
architecture it was published for. The RuntimeIdentifiers list held
win-x64, linux-x64 and osx-x64 only, so an aarch64 machine had no
supported way to build it and could not run the archive verification
step that LithMS2-XML build.sh performs after every MS2Create call.
Adds linux-arm64 and osx-arm64. No source change is needed, the
project already builds and runs on both.
@coderabbitai

coderabbitaiBot commented Aug 20, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 63f2713d-d74b-45c9-a32d-83538e68a1a5

📥 Commits

Reviewing files that changed from the base of the PR and between d94611c and d2492a7.

📒 Files selected for processing (1)
  • Maple2.File.Verify/Maple2.File.Verify.csproj

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The verification project now includes linux-arm64 and osx-arm64 runtime identifiers.

Changes

Runtime target support

Layer / File(s)Summary
Add ARM64 runtime identifiers
Maple2.File.Verify/Maple2.File.Verify.csproj
The project adds linux-arm64 and osx-arm64 to its runtime identifiers.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk:⚪ Minimal · up to d2492

This localized project configuration change adds arm64 publishing support without changing application logic; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly and concisely describes the addition of ARM64 runtime identifiers to Maple2.File.Verify.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/verify-arm64-rid

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@AngeloTadeucci
AngeloTadeucci merged commit 43a5731 into masterAug 20, 2026
4 checks passed
@AngeloTadeucci
AngeloTadeucci deleted the feat/verify-arm64-rid branch August 20, 2026 17:42
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@AngeloTadeucci
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Add arm64 runtime identifiers to Maple2.File.Verify - #80

Merged
AngeloTadeucci merged 1 commit into
masterfrom
feat/verify-arm64-rid
Aug 20, 2026
Merged

Add arm64 runtime identifiers to Maple2.File.Verify#80
AngeloTadeucci merged 1 commit into
masterfrom
feat/verify-arm64-rid

Conversation

@AngeloTadeucci

@AngeloTadeucciAngeloTadeucci commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

MS2Verify is published as a self-contained binary, so it only runs on the CPU architecture it was published for. The RuntimeIdentifiers list named win-x64, linux-x64 and osx-x64 only. That leaves an aarch64 machine with no supported way to build it, and MS2Verify is what LithMS2-XML/build.sh runs on every archive after MS2Create writes it. An arm64 developer machine could not run that verification step at all.

Files

  • Maple2.File.Verify/Maple2.File.Verify.csproj — adds linux-arm64 and osx-arm64 to RuntimeIdentifiers. No source change was needed. The project already compiles and runs on both, the RID list was just never extended.

Verification

Published from this branch on an aarch64 Ubuntu 22.04 box with the .NET 10 SDK building the net8.0 target:

dotnet publish Maple2.File.Verify/Maple2.File.Verify.csproj -c Release -r <rid> --self-contained true -p:PublishSingleFile=true

All four RIDs I tested succeed, and file reports the expected format for each: linux-arm64 gives an aarch64 ELF, linux-x64 gives an x86-64 ELF, and osx-arm64 gives a Mach-O arm64 executable. The pre-existing nullable-reference warnings in Maple2.File.IO appear on every RID and are unchanged by this PR.

The linux-arm64 binary verified a real archive natively:

$ ./MS2Verify out/Resource/Model/Camera.m2d
[OK] out/Resource/Model/Camera.m2d (10/10 entries, 42ms)
All entries verified successfully.

I did NOT test win-x64 or osx-x64, and I have not run this on macOS or Windows hardware. Neither RID is modified by this change. I also did NOT run dotnet test, which needs MS2_DATA_FOLDER pointing at extracted game data that is not on this machine.


View with [code]smithAutofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Summary by CodeRabbit

  • New Features
    • Added support for running on Linux ARM64 and macOS ARM64 platforms.

MS2Verify is published self-contained, so it only runs on the CPU
architecture it was published for. The RuntimeIdentifiers list held
win-x64, linux-x64 and osx-x64 only, so an aarch64 machine had no
supported way to build it and could not run the archive verification
step that LithMS2-XML build.sh performs after every MS2Create call.
Adds linux-arm64 and osx-arm64. No source change is needed, the
project already builds and runs on both.
@coderabbitai

coderabbitaiBot commented Aug 20, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 63f2713d-d74b-45c9-a32d-83538e68a1a5

📥 Commits

Reviewing files that changed from the base of the PR and between d94611c and d2492a7.

📒 Files selected for processing (1)
  • Maple2.File.Verify/Maple2.File.Verify.csproj

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The verification project now includes linux-arm64 and osx-arm64 runtime identifiers.

Changes

Runtime target support

Layer / File(s)Summary
Add ARM64 runtime identifiers
Maple2.File.Verify/Maple2.File.Verify.csproj
The project adds linux-arm64 and osx-arm64 to its runtime identifiers.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk:⚪ Minimal · up to d2492

This localized project configuration change adds arm64 publishing support without changing application logic; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly and concisely describes the addition of ARM64 runtime identifiers to Maple2.File.Verify.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/verify-arm64-rid

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@AngeloTadeucci
AngeloTadeucci merged commit 43a5731 into masterAug 20, 2026
4 checks passed
@AngeloTadeucci
AngeloTadeucci deleted the feat/verify-arm64-rid branch August 20, 2026 17:42
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@AngeloTadeucci
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Add arm64 runtime identifiers to Maple2.File.Verify - #80

Merged
AngeloTadeucci merged 1 commit into
masterfrom
feat/verify-arm64-rid
Aug 20, 2026
Merged

Add arm64 runtime identifiers to Maple2.File.Verify#80
AngeloTadeucci merged 1 commit into
masterfrom
feat/verify-arm64-rid

Conversation

@AngeloTadeucci

@AngeloTadeucciAngeloTadeucci commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

MS2Verify is published as a self-contained binary, so it only runs on the CPU architecture it was published for. The RuntimeIdentifiers list named win-x64, linux-x64 and osx-x64 only. That leaves an aarch64 machine with no supported way to build it, and MS2Verify is what LithMS2-XML/build.sh runs on every archive after MS2Create writes it. An arm64 developer machine could not run that verification step at all.

Files

  • Maple2.File.Verify/Maple2.File.Verify.csproj — adds linux-arm64 and osx-arm64 to RuntimeIdentifiers. No source change was needed. The project already compiles and runs on both, the RID list was just never extended.

Verification

Published from this branch on an aarch64 Ubuntu 22.04 box with the .NET 10 SDK building the net8.0 target:

dotnet publish Maple2.File.Verify/Maple2.File.Verify.csproj -c Release -r <rid> --self-contained true -p:PublishSingleFile=true

All four RIDs I tested succeed, and file reports the expected format for each: linux-arm64 gives an aarch64 ELF, linux-x64 gives an x86-64 ELF, and osx-arm64 gives a Mach-O arm64 executable. The pre-existing nullable-reference warnings in Maple2.File.IO appear on every RID and are unchanged by this PR.

The linux-arm64 binary verified a real archive natively:

$ ./MS2Verify out/Resource/Model/Camera.m2d
[OK] out/Resource/Model/Camera.m2d (10/10 entries, 42ms)
All entries verified successfully.

I did NOT test win-x64 or osx-x64, and I have not run this on macOS or Windows hardware. Neither RID is modified by this change. I also did NOT run dotnet test, which needs MS2_DATA_FOLDER pointing at extracted game data that is not on this machine.


View with [code]smithAutofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Summary by CodeRabbit

  • New Features
    • Added support for running on Linux ARM64 and macOS ARM64 platforms.

MS2Verify is published self-contained, so it only runs on the CPU
architecture it was published for. The RuntimeIdentifiers list held
win-x64, linux-x64 and osx-x64 only, so an aarch64 machine had no
supported way to build it and could not run the archive verification
step that LithMS2-XML build.sh performs after every MS2Create call.
Adds linux-arm64 and osx-arm64. No source change is needed, the
project already builds and runs on both.
@coderabbitai

coderabbitaiBot commented Aug 20, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 63f2713d-d74b-45c9-a32d-83538e68a1a5

📥 Commits

Reviewing files that changed from the base of the PR and between d94611c and d2492a7.

📒 Files selected for processing (1)
  • Maple2.File.Verify/Maple2.File.Verify.csproj

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The verification project now includes linux-arm64 and osx-arm64 runtime identifiers.

Changes

Runtime target support

Layer / File(s)Summary
Add ARM64 runtime identifiers
Maple2.File.Verify/Maple2.File.Verify.csproj
The project adds linux-arm64 and osx-arm64 to its runtime identifiers.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk:⚪ Minimal · up to d2492

This localized project configuration change adds arm64 publishing support without changing application logic; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly and concisely describes the addition of ARM64 runtime identifiers to Maple2.File.Verify.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/verify-arm64-rid

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@AngeloTadeucci
AngeloTadeucci merged commit 43a5731 into masterAug 20, 2026
4 checks passed
@AngeloTadeucci
AngeloTadeucci deleted the feat/verify-arm64-rid branch August 20, 2026 17:42
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@AngeloTadeucci
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Add arm64 runtime identifiers to Maple2.File.Verify - #80

Merged
AngeloTadeucci merged 1 commit into
masterfrom
feat/verify-arm64-rid
Aug 20, 2026
Merged

Add arm64 runtime identifiers to Maple2.File.Verify#80
AngeloTadeucci merged 1 commit into
masterfrom
feat/verify-arm64-rid

Conversation

@AngeloTadeucci

@AngeloTadeucciAngeloTadeucci commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

MS2Verify is published as a self-contained binary, so it only runs on the CPU architecture it was published for. The RuntimeIdentifiers list named win-x64, linux-x64 and osx-x64 only. That leaves an aarch64 machine with no supported way to build it, and MS2Verify is what LithMS2-XML/build.sh runs on every archive after MS2Create writes it. An arm64 developer machine could not run that verification step at all.

Files

  • Maple2.File.Verify/Maple2.File.Verify.csproj — adds linux-arm64 and osx-arm64 to RuntimeIdentifiers. No source change was needed. The project already compiles and runs on both, the RID list was just never extended.

Verification

Published from this branch on an aarch64 Ubuntu 22.04 box with the .NET 10 SDK building the net8.0 target:

dotnet publish Maple2.File.Verify/Maple2.File.Verify.csproj -c Release -r <rid> --self-contained true -p:PublishSingleFile=true

All four RIDs I tested succeed, and file reports the expected format for each: linux-arm64 gives an aarch64 ELF, linux-x64 gives an x86-64 ELF, and osx-arm64 gives a Mach-O arm64 executable. The pre-existing nullable-reference warnings in Maple2.File.IO appear on every RID and are unchanged by this PR.

The linux-arm64 binary verified a real archive natively:

$ ./MS2Verify out/Resource/Model/Camera.m2d
[OK] out/Resource/Model/Camera.m2d (10/10 entries, 42ms)
All entries verified successfully.

I did NOT test win-x64 or osx-x64, and I have not run this on macOS or Windows hardware. Neither RID is modified by this change. I also did NOT run dotnet test, which needs MS2_DATA_FOLDER pointing at extracted game data that is not on this machine.


View with [code]smithAutofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Summary by CodeRabbit

  • New Features
    • Added support for running on Linux ARM64 and macOS ARM64 platforms.

MS2Verify is published self-contained, so it only runs on the CPU
architecture it was published for. The RuntimeIdentifiers list held
win-x64, linux-x64 and osx-x64 only, so an aarch64 machine had no
supported way to build it and could not run the archive verification
step that LithMS2-XML build.sh performs after every MS2Create call.
Adds linux-arm64 and osx-arm64. No source change is needed, the
project already builds and runs on both.
@coderabbitai

coderabbitaiBot commented Aug 20, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 63f2713d-d74b-45c9-a32d-83538e68a1a5

📥 Commits

Reviewing files that changed from the base of the PR and between d94611c and d2492a7.

📒 Files selected for processing (1)
  • Maple2.File.Verify/Maple2.File.Verify.csproj

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The verification project now includes linux-arm64 and osx-arm64 runtime identifiers.

Changes

Runtime target support

Layer / File(s)Summary
Add ARM64 runtime identifiers
Maple2.File.Verify/Maple2.File.Verify.csproj
The project adds linux-arm64 and osx-arm64 to its runtime identifiers.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk:⚪ Minimal · up to d2492

This localized project configuration change adds arm64 publishing support without changing application logic; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly and concisely describes the addition of ARM64 runtime identifiers to Maple2.File.Verify.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/verify-arm64-rid

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@AngeloTadeucci
AngeloTadeucci merged commit 43a5731 into masterAug 20, 2026
4 checks passed
@AngeloTadeucci
AngeloTadeucci deleted the feat/verify-arm64-rid branch August 20, 2026 17:42
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@AngeloTadeucci
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Add arm64 runtime identifiers to Maple2.File.Verify - #80

Merged
AngeloTadeucci merged 1 commit into
masterfrom
feat/verify-arm64-rid
Aug 20, 2026
Merged

Add arm64 runtime identifiers to Maple2.File.Verify#80
AngeloTadeucci merged 1 commit into
masterfrom
feat/verify-arm64-rid

Conversation

@AngeloTadeucci

@AngeloTadeucciAngeloTadeucci commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

MS2Verify is published as a self-contained binary, so it only runs on the CPU architecture it was published for. The RuntimeIdentifiers list named win-x64, linux-x64 and osx-x64 only. That leaves an aarch64 machine with no supported way to build it, and MS2Verify is what LithMS2-XML/build.sh runs on every archive after MS2Create writes it. An arm64 developer machine could not run that verification step at all.

Files

  • Maple2.File.Verify/Maple2.File.Verify.csproj — adds linux-arm64 and osx-arm64 to RuntimeIdentifiers. No source change was needed. The project already compiles and runs on both, the RID list was just never extended.

Verification

Published from this branch on an aarch64 Ubuntu 22.04 box with the .NET 10 SDK building the net8.0 target:

dotnet publish Maple2.File.Verify/Maple2.File.Verify.csproj -c Release -r <rid> --self-contained true -p:PublishSingleFile=true

All four RIDs I tested succeed, and file reports the expected format for each: linux-arm64 gives an aarch64 ELF, linux-x64 gives an x86-64 ELF, and osx-arm64 gives a Mach-O arm64 executable. The pre-existing nullable-reference warnings in Maple2.File.IO appear on every RID and are unchanged by this PR.

The linux-arm64 binary verified a real archive natively:

$ ./MS2Verify out/Resource/Model/Camera.m2d
[OK] out/Resource/Model/Camera.m2d (10/10 entries, 42ms)
All entries verified successfully.

I did NOT test win-x64 or osx-x64, and I have not run this on macOS or Windows hardware. Neither RID is modified by this change. I also did NOT run dotnet test, which needs MS2_DATA_FOLDER pointing at extracted game data that is not on this machine.


View with [code]smithAutofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Summary by CodeRabbit

  • New Features
    • Added support for running on Linux ARM64 and macOS ARM64 platforms.

MS2Verify is published self-contained, so it only runs on the CPU
architecture it was published for. The RuntimeIdentifiers list held
win-x64, linux-x64 and osx-x64 only, so an aarch64 machine had no
supported way to build it and could not run the archive verification
step that LithMS2-XML build.sh performs after every MS2Create call.
Adds linux-arm64 and osx-arm64. No source change is needed, the
project already builds and runs on both.
@coderabbitai

coderabbitaiBot commented Aug 20, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 63f2713d-d74b-45c9-a32d-83538e68a1a5

📥 Commits

Reviewing files that changed from the base of the PR and between d94611c and d2492a7.

📒 Files selected for processing (1)
  • Maple2.File.Verify/Maple2.File.Verify.csproj

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The verification project now includes linux-arm64 and osx-arm64 runtime identifiers.

Changes

Runtime target support

Layer / File(s)Summary
Add ARM64 runtime identifiers
Maple2.File.Verify/Maple2.File.Verify.csproj
The project adds linux-arm64 and osx-arm64 to its runtime identifiers.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk:⚪ Minimal · up to d2492

This localized project configuration change adds arm64 publishing support without changing application logic; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly and concisely describes the addition of ARM64 runtime identifiers to Maple2.File.Verify.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/verify-arm64-rid

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@AngeloTadeucci
AngeloTadeucci merged commit 43a5731 into masterAug 20, 2026
4 checks passed
@AngeloTadeucci
AngeloTadeucci deleted the feat/verify-arm64-rid branch August 20, 2026 17:42
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@AngeloTadeucci