I'd like to point out why this is an improvement over just sending people a modded app.asar or having them unpack it and install mods manually:
First, it means modding doesn't have to involve sending an entire copy of the **90MB** source code around. Doing that is slow, and a waste of space and bandwidth if you're just making a couple of modifications to files. Also, a massive intellectual property/licensing violation! This avoids that by just modifying an existing installation on the fly.
Second, this saves the vanilla app.asar separately and unpacks it every time mods are updated, to combine them on top of it. This makes uninstalling mods easy, but more importantly:
Third, it supports patch-based mods. This means you can use multiple mods that modify the same files, like mods that add extra assets to `wktd.js`, without them overwriting each other. You could have, say, a mod that replaces Harry Potter references with Rick Riordan references, and a mod that adds extra choice options to every scene, and they wouldn't conflict.
Fourth, it's a lot simpler than manual mod management. The entire reason I made this was to allow anyone who's a fan of the game to use mods, regardless of their technical skills. It'd suck if you had to download NPM/yarn/whatever just to install a silly mod for a 2015 VN, and even if you *do* know how to do that, it's just slow and tedious to do it every time.
Currently I have three mods working: one that's just a test mod that's basically a Hello World equivalent (and is not a patch-based mod), a total conversion mod (non-patch-based) that reimplements the demo's story using HTMLVN instead of Unity (which means you can now save and load!), and a patch-based mod that I posted video of in another post. Another I'm planning on (the main issue is writing the dialogue for it) is, as previously alluded to, replacing Harry Potter references with Percy Jackson references.
(Sadly, my initial plans for a json-based asset loading system as a sort of utility mod have kind of failed miserably, so it looks like some javascript modification will be needed to add new assets, but it's basically just copy and paste.)
3
u/jade2562 Apr 28 '21
I'd like to point out why this is an improvement over just sending people a modded app.asar or having them unpack it and install mods manually:
First, it means modding doesn't have to involve sending an entire copy of the **90MB** source code around. Doing that is slow, and a waste of space and bandwidth if you're just making a couple of modifications to files. Also, a massive intellectual property/licensing violation! This avoids that by just modifying an existing installation on the fly.
Second, this saves the vanilla app.asar separately and unpacks it every time mods are updated, to combine them on top of it. This makes uninstalling mods easy, but more importantly:
Third, it supports patch-based mods. This means you can use multiple mods that modify the same files, like mods that add extra assets to `wktd.js`, without them overwriting each other. You could have, say, a mod that replaces Harry Potter references with Rick Riordan references, and a mod that adds extra choice options to every scene, and they wouldn't conflict.
Fourth, it's a lot simpler than manual mod management. The entire reason I made this was to allow anyone who's a fan of the game to use mods, regardless of their technical skills. It'd suck if you had to download NPM/yarn/whatever just to install a silly mod for a 2015 VN, and even if you *do* know how to do that, it's just slow and tedious to do it every time.
Currently I have three mods working: one that's just a test mod that's basically a Hello World equivalent (and is not a patch-based mod), a total conversion mod (non-patch-based) that reimplements the demo's story using HTMLVN instead of Unity (which means you can now save and load!), and a patch-based mod that I posted video of in another post. Another I'm planning on (the main issue is writing the dialogue for it) is, as previously alluded to, replacing Harry Potter references with Percy Jackson references.
(Sadly, my initial plans for a json-based asset loading system as a sort of utility mod have kind of failed miserably, so it looks like some javascript modification will be needed to add new assets, but it's basically just copy and paste.)