chore: configure CS to require engine fixes#1452
Conversation
WalkthroughThis change removes a render pass cache memory-patching block from src/Hooks.cpp and updates src/XSEPlugin.cpp to rename an incompatible DLLs array and add a new required DLLs check inside Load(), invoking LoadLibrary and logging error messages based on outcomes. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Game
participant Plugin as XSEPlugin::Load()
participant Sys as OS Loader
Game->>Plugin: Load()
rect rgb(240,245,255)
note right of Plugin: Check incompatible DLLs
loop for each dll in incompatibleDLLs
Plugin->>Sys: LoadLibrary(dll)
Sys-->>Plugin: HMODULE/NULL
alt HMODULE (loaded)
Plugin->>Plugin: Record error "Incompatible DLL <path> was loaded"
else NULL (not loaded)
Plugin->>Plugin: No error
end
end
end
rect rgb(240,255,240)
note right of Plugin: Check required DLLs (new)
loop for each dll in requiredDLLs
Plugin->>Sys: LoadLibrary(dll)
Sys-->>Plugin: HMODULE/NULL
alt HMODULE (loaded)
note right of Plugin: Logs "Required DLL <path> was missing" and records error
else NULL (not loaded)
Plugin->>Plugin: No error recorded
end
end
end
alt errors empty
Plugin-->>Game: Proceed to feature loading
else errors present
Plugin-->>Game: Abort/return with errors
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested reviewers
Poem
Tip 👮 Agentic pre-merge checks are now available in preview!Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs. ✨ Finishing Touches
🧪 Generate unit tests
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. Comment |
Automated formatting by clang-format, prettier, and other hooks. See https://pre-commit.ci for details.
There was a problem hiding this comment.
Actionable comments posted: 2
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
src/Hooks.cpp(0 hunks)src/XSEPlugin.cpp(1 hunks)
💤 Files with no reviewable changes (1)
- src/Hooks.cpp
🧰 Additional context used
📓 Path-based instructions (2)
**/*.{cpp,cxx,cc,c,h,hpp,hxx,hlsl,hlsli,fx,fxh,py}
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Do not include TODO/FIXME placeholders; provide complete, working solutions
Files:
src/XSEPlugin.cpp
src/**/*.{cpp,cxx,cc,h,hpp,hxx}
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
src/**/*.{cpp,cxx,cc,h,hpp,hxx}: Ensure SE/AE/VR runtime compatibility; use runtime detection patterns (e.g., REL::RelocateMember())
Include robust error handling and resource management with graceful degradation in the plugin code
Files:
src/XSEPlugin.cpp
🧠 Learnings (1)
📓 Common learnings
Learnt from: alandtse
PR: doodlum/skyrim-community-shaders#0
File: :0-0
Timestamp: 2025-07-05T05:20:45.823Z
Learning: In the skyrim-community-shaders repository, file deletion error handling improvements that replace existence checks and try-catch blocks with std::filesystem::remove error-code-based approaches are considered bug fixes rather than refactoring, as they address inadequate error handling and misleading log messages.
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Build plugin and addons
|
✅ A pre-release build is available for this PR: |
Summary by CodeRabbit
New Features
Refactor