07th-mod / 07th-mod/higurashi-assembly
Add basic file integrity check to DLL
- Dominant language
- C#
- Stars
- 12
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Description
Sometimes we have issues where the game is not installed properly, for various reasons:
- Files missing or wrong UI file for manual install
- Steam/GOG etc. updates the game files
- Even other issues like the files being OK, but the path being too long for Windows so they don't load correctly
It would be possible to automatically detect some of these issues, for example:
- Wrong UI file - not sure if there is an easy way to completely check this. You can check the unity version from the file data, but for variants with the same unity version, you'd probably need a checksum to check which version is which.
- Steam/GOG etc. updates the game files or files not accessible - provide a list of checksums and important game files, always checked at startup (like what Umineko Project does). And a full list of files which requires the user to press a button to run a more detailed check.
- Of course, if the DLL itself gets overwritten then we can't run these checks in-engine anymore, but perhaps there's a trick where we can make the unmodded game show an error message if the DLL is overwritten, by providing a file which is not normally there.
It would be quite a bit of effort to organize this to be done for all files, but for just some important files it may be worthwhile.
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue mentions adding file integrity checks to a DLL for a game. Start by examining the existing DLL code to understand how the game loads files and where startup checks could be inserted. Look for existing file handling or checksum logic. Determine which 'important game files' to list and how to compute/store checksums. A full implementation requires understanding the game's file structure and possibly integrating with Steam/GOG update detection.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- game-dev
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100