Skip to content

Conversation

@joshuatam
Copy link
Contributor

@joshuatam joshuatam commented Jan 20, 2026

Adds a new preset designed to improve compatibility with Denuvo-protected applications.

This preset configures dynarec and environment variables to better handle the specific requirements of Denuvo DRM.


Summary by cubic

Adds a Denuvo preset for Box86/64 to improve compatibility with Denuvo-protected games. It adjusts dynarec and Box64 settings and adds localized labels.

  • New Features
    • New “Denuvo” preset available in the Box86/64 preset list.
    • Dynarec tuned for determinism and stricter memory; disables fast NaN/rounding and uses x87 double precision.
    • Box64-specific: AVX disabled, UnityPlayer enabled, MMAP32 disabled.
    • Added “Denuvo” strings across supported locales.

Written for commit 36042ac. Summary will update on new commits.

Summary by CodeRabbit

  • New Features
    • Added Denuvo preset option to the application's configuration menu, allowing users to select this new optimization profile for improved compatibility and performance. Full localization support is now available across multiple languages including English, Danish, German, French, Italian, Portuguese, Romanian, Ukrainian, Simplified Chinese, and Traditional Chinese, making this feature accessible globally.

✏️ Tip: You can customize this high-level summary in your review settings.

Adds a new preset designed to improve compatibility with Denuvo-protected applications.

This preset configures dynarec and environment variables to better handle the specific requirements of Denuvo DRM.
@coderabbitai
Copy link

coderabbitai bot commented Jan 20, 2026

📝 Walkthrough

Walkthrough

This PR introduces a new "DENUVO" preset configuration by adding a constant to the preset type definitions, implementing preset-specific environment variable handling for DYNAREC and BOX64 settings, and adding localized string resources across 11 language variants.

Changes

Cohort / File(s) Summary
Java Preset Definitions
app/src/main/java/com/winlator/box86_64/Box86_64Preset.java, app/src/main/java/com/winlator/box86_64/Box86_64PresetManager.java
Added DENUVO constant field and corresponding preset handling. When DENUVO preset is selected, getEnvVars configures DYNAREC variables (SAFEFLAGS, NAN, ROUND, X87DOUBLE, BIGBLOCK, STRONGMEM, FORWARD, CALLRET, WAIT) and optional BOX64-specific settings (AVX, UNITYPLAYER, MMAP32). Extended presets list to expose the new preset option in UI.
Localization Strings
app/src/main/res/values*/strings.xml (da, de, fr, it, pt-rBR, ro, uk, zh-rCN, zh-rTW, and base values)
Added "denuvo" string resource with value "Denuvo" across all language variants to support UI text localization for the new preset option.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • PR #230: Adds new preset constants and corresponding environment variable handling to Box86_64Preset and Box86_64PresetManager using the same pattern.
  • PR #323: Modifies preset validation and application logic in services that depend on Box86_64PresetManager for preset handling.
  • PR #346: Updates Ukrainian locale strings (values-uk/strings.xml) alongside other localization changes.

Poem

🐰 A preset named Denuvo appears,
With DYNAREC tuned through the years,
Strings hopping cross languages ten,
Configuration complete, again and again! 🎮✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: adding a new Denuvo preset for Box86/64, which is reflected throughout the changeset with code changes and localizations.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

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 and usage tips.

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 12 files

@utkarshdalal utkarshdalal merged commit 15ba1bf into utkarshdalal:master Jan 20, 2026
3 checks passed
@utkarshdalal utkarshdalal deleted the add-box64-denuvo-preset branch January 20, 2026 17:59
Sign up for free to 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.

2 participants