- Joined
- Apr 17, 2025
- Messages
- 1
- Reaction score
- 0
So to start with, I'm not particularly knowledgable about coding (albeit not completely incompetent at computers in general), I actually dropped out of college after taking one semester's worth of comp sci (disillusionment and an unhealthy heap of lack of discipline tbh), but the seemingly stupidly simple nature of this supposed fix to the game's .dll left me feeling optimistic and now I don't want to give up again (maybe it's just sunk cost fallacy, idk). To start the story, in the video game Academagia, there has been for years now a bug where if you load old saves under certain circumstances it corrupts all extant save files (at least for the character, not sure if it affects other characters or not) so the Adventure action crashes the game. The devs are aware, but nothing has been done. How it affects saves you aren't loading is not known, but deleting the known caches does not seem to help. Someone in the official forum, however, found a solution, posting that in the GameLogic.dll supposedly changing the following line resolves this bug:
Academagia.GameSystems.StorySystem.GetPossibleStoriesForCurrentDate
Change
if (Repository.Game.PrerequisiteSystem.CheckPrerequisite((PersistEntity) initiator, generalStorey.Prerequisite))
to->
if (generalStorey != null && Repository.Game.PrerequisiteSystem.CheckPrerequisite((PersistEntity) initiator, generalStorey.Prerequisite))
I tried to do this, and it was a saga to get as far as I have. First, getting dotpeek to decompile the .dll (since a hex editor is just not enough and yes I've used one once or twice), then attempting to load it in Visual Studio but the game was apparently compiled in .net 4.0 which Visual Studio doesn't offer a download component for so I had to get that off of NuGet and manually install the 4.0 folder. Now it opens it without trying to change the .net version but when I try to build after changing the suggested line it gives me 541 errors, the extreme majority of which seem to be throwing a hissy fit over "#nullable disable" lines throughout the file saying it's not available in C# 7.3 and to use language version 8.0 or greater. I'm not sure if this is more of a problem with how it was decompiled or some other setting in VS or what, and of course there are other errors suggesting it's expecting stuff it doesn't have. Can anyone offer me any advice, from a different .dll decompiler to some other addon or setting for VS or anything else you can think of to help me get this working? I wouldn't refuse anyone just doing it for me but part of me kinda wants to figure it out myself at this point given how much time and energy I've burned on it already...
Academagia.GameSystems.StorySystem.GetPossibleStoriesForCurrentDate
Change
if (Repository.Game.PrerequisiteSystem.CheckPrerequisite((PersistEntity) initiator, generalStorey.Prerequisite))
to->
if (generalStorey != null && Repository.Game.PrerequisiteSystem.CheckPrerequisite((PersistEntity) initiator, generalStorey.Prerequisite))
I tried to do this, and it was a saga to get as far as I have. First, getting dotpeek to decompile the .dll (since a hex editor is just not enough and yes I've used one once or twice), then attempting to load it in Visual Studio but the game was apparently compiled in .net 4.0 which Visual Studio doesn't offer a download component for so I had to get that off of NuGet and manually install the 4.0 folder. Now it opens it without trying to change the .net version but when I try to build after changing the suggested line it gives me 541 errors, the extreme majority of which seem to be throwing a hissy fit over "#nullable disable" lines throughout the file saying it's not available in C# 7.3 and to use language version 8.0 or greater. I'm not sure if this is more of a problem with how it was decompiled or some other setting in VS or what, and of course there are other errors suggesting it's expecting stuff it doesn't have. Can anyone offer me any advice, from a different .dll decompiler to some other addon or setting for VS or anything else you can think of to help me get this working? I wouldn't refuse anyone just doing it for me but part of me kinda wants to figure it out myself at this point given how much time and energy I've burned on it already...