07th-mod / 07th-mod/higurashi-assembly

Add basic file integrity check to DLL

Open
#137 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.