Monika-After-Story / MonikaModDev

DDLC fan mod to extend Monika
http://www.monikaafterstory.com/
Other
1.18k stars 685 forks source link

Auto-updater and RPY Files #3579

Closed multimokia closed 5 years ago

multimokia commented 5 years ago

Problem:

While monika_rpy_files acts as a good initial way of pushing users away from the source code versions of the mod, there still lies the issue in which users who have rpy files in their game/ directory can still update MAS via the in game updater.

This means that it's still very easy to get a bad install regardless.

Possible solutions:

Two possible solutions:

  1. We simply disable the auto updater entirely provided there's rpy files in the directory
  2. We have Monika ask the player if they would like her to delete them pre update, so the game can safely update. If the player says yes, run though the file deleting stuff, then run the updater. If they say no, then we just return, and have Monika tell the player that she can't update with the rpys in there.
niktekusho commented 5 years ago

Would you remove all *.rpy files in the game directory or would you use a "dictionary" approach? By dictionary approach, I mean something that speaks like: "if in the target file system there are our beautiful sources (chess.rpy, definitions.rpy, etc.) then we delete them". I know the second option involves much more work and maintenance to keep the list updated.

Let's say that I might have to begin to work on a small script to backup and restore my custom renpy scripts then 😄

multimokia commented 5 years ago

Will be deleting all .rpy files in the directory.

Since:

  1. If you changed any of the files that the mod is shipped with, then you'd need to replace them anyway with updated versions to account for the new code in them.
  2. Even if they weren't the base ones, it doesn't really matter, we're not deleting the .rpyc files that are created from the original .rpys. So they'll be unaffected anyway.
  3. Like you mentioned, a dictionary approach is a lot more maintenance work, especially since by default, we don't really offer support to those who run source code versions, they're more "Use at your own risk." So overall, it's just not worth the hassle of keeping that up-to-date, when most people who have MAS are running normal versions.
niktekusho commented 5 years ago

Yeah... I was just asking to be sure. Also, it didn't cross my mind that deleting rpys would leave rpycs alone, so my problem isn't that big then 😄

multimokia commented 5 years ago

I mean, if you are editing the base scripts, in order to 'update' you'll need to add the modifications to new files every time, you won't have a problem at all if you just maintain a fork of this repo with your custom scripts, so you can always easily merge in new code, and just throw that in. That's what I do lol

niktekusho commented 5 years ago

I mean, if you are editing the base scripts, in order to 'update' you'll need to add the modifications to new files every time, you won't have a problem at all if you just maintain a fork of this repo with your custom scripts, so you can always easily merge in new code, and just throw that in. That's what I do lol

I am not brave enough to touch the meaty stuff... yet So that's not a problem! Might be because python, although having the most readable syntax I've ever seen, is not my cup of tea/coffee. I can read it fine, understand what's going on but when it comes to writing it I always have to resort to google stuff... I really have to find some time to learn it the proper way I guess.

Totally not already purchased a Python course on machine learning... damn me!

ThePotatoGuy commented 5 years ago

[closing as implemented]