Asrienda Posted October 1, 2018 Author Posted October 1, 2018 It'll likely be posted on github and maybe posted here and Nexus. Yeah I know about all the drama on Nexus, it's unfortunate that's the main place for (mostly-)SFW mods.
sophiextime Posted October 1, 2018 Posted October 1, 2018 The thing i find personally sad and frustrating is that there are some amazing loverslab mods in Oldrim that wont be ported/converted to Skyrim SE because a) the active Mod author strictly wont port it and wont allow anyone else to port it ( which is 100% their right and i fully respect that ) and also a few mods that are being updated so actively and regularly that any port of that mod would be almost instantly outdated as a new version got released and any skilled converter/porter would just get so fed up constantly updating it and keeping up lmao.
Varithina Posted October 2, 2018 Posted October 2, 2018 13 hours ago, sophiextime said: The thing i find personally sad and frustrating is that there are some amazing loverslab mods in Oldrim that wont be ported/converted to Skyrim SE because a) the active Mod author strictly wont port it and wont allow anyone else to port it ( which is 100% their right and i fully respect that ) and also a few mods that are being updated so actively and regularly that any port of that mod would be almost instantly outdated as a new version got released and any skilled converter/porter would just get so fed up constantly updating it and keeping up lmao. In the case of those being update so quickly anybody doing the conversion, should just state at the front page of the post/page dealing with it that it will only be converted once per month say and that would be on a certain date and they would use the most up to date on at that point, and then not do the conversion again till the same date on the next month, not optimal but better than no conversions, and when you get down to it there are not that many mods being updated that often any more.
Asrienda Posted October 3, 2018 Author Posted October 3, 2018 Would anyone be interested in testing? It'll require Java 8 or later. Might be "done" in a day or two, life gets in the way sometimes!
Asrienda Posted October 7, 2018 Author Posted October 7, 2018 Well here's version 0.0.1 for testing. It doesn't work all that great with files compressed across the entire file, like .exe, .jpg, and .png. So for SSE, SkyrimSE.exe is about 34mb, but the patch will be about 44mb. It works well with .bmp, .txt, .xml, and others where changes don't cause a ripple effect across an entire file. It works ok with .zip files, as changes sometimes can cause a large effect across the file, but not always. But things that aren't a .exe (or probably .dll) will be smaller. And while that's unfortunate, it still accomplishes the goal of modifying file A in an automated fashion while respecting owner copyright. Requires Java 1.8 or later: jPatcher.jar Changes for the future: Include the source code (was lazy this time) Consider changing the patch format slightly to allow better .exe compression (but this is a single use case, not sure if it's worth the effort) Completely disallow 2GB+ patch creation.. right now the program just freezes, but I need to figure out the actual limit before it freezes Include a message while creating a patch, not just a gray screen
zax Posted October 8, 2018 Posted October 8, 2018 So what it's supposed to do exactly? What types of files can it patch and how? Why would I ever want to patch exe or dll?
Asrienda Posted October 8, 2018 Author Posted October 8, 2018 It patches at the byte level, so it can patch anything. It's actually designed as general use; you input the original file and the modified file, and it outputs a patch file. Then the user uses the program, the original file, and patch file, and gets the modified version. One use case idea I had was to create patches so someone could downgrade from, say, 1.5.53 to 1.5.50 without a bunch of hassle, but the algorithm I'm using for creating a diff is pretty bad for .exe files due to compression across most of the file that means small changes effect the entire file. The whole reason to make it was gone over ad nauseum in the thread. Technical details on how: it uses Myers' O(ND) algorithm across multiple cpu threads to create a diff (difference) file. That file is the changes between two files by chunks, in this case 64 byte chunks. The diff is included in the patch json (via base64 encoding) along with the original file sha-256 hash and some other metadata (original file author and where to find the original file, patch description, etc). The .json is then gzipped to reduce the size, hence the patch filename .gzj. For patch users, the process is quick. It does take about 1 second per MB of the original file to create a patch though.
Lodakai Posted October 8, 2018 Posted October 8, 2018 I have the IQ of a shoe. So I would need an idjits guide in order to test this... like... Put the banana here. Press the red button. Now your banana is an orange. Put the orange in the fruit bowl. ETA: well to expand on where I am confused... if I have a start file... and an end file... why do I need to run the patcher? "you input the original file and the modified file, " Am I just duplicating the start file and then using one duplicate as the end file?
Asrienda Posted October 9, 2018 Author Posted October 9, 2018 Was anyone else having trouble getting on LL earlier today? Anyway, the idea isn't for a person to create a patch for their own use. Say we have a mod author that makes a mod for LE but doesn't put any permissions whatsoever and vanishes. We can get someone to convert it to SE, then post just the patch file. Then users would download the original and the patch to easily create the final product, the SE-compatible version. This wouldn't violate the original mod author's rights and it would save every single person wanting to use it on SE from making a bethesda account, installing the CK, converting the animations, converting the models, etc.
Lodakai Posted October 9, 2018 Posted October 9, 2018 Aha I see and yes. LL was having trouble earlier today
nooblet123 Posted October 9, 2018 Posted October 9, 2018 On 10/7/2018 at 5:32 PM, Asrienda said: Well here's version 0.0.1 for testing. It doesn't work all that great with files compressed across the entire file, like .exe, .jpg, and .png. So for SSE, SkyrimSE.exe is about 34mb, but the patch will be about 44mb. It works well with .bmp, .txt, .xml, and others where changes don't cause a ripple effect across an entire file. It works ok with .zip files, as changes sometimes can cause a large effect across the file, but not always. But things that aren't a .exe (or probably .dll) will be smaller. And while that's unfortunate, it still accomplishes the goal of modifying file A in an automated fashion while respecting owner copyright. Requires Java 1.8 or later: jPatcher.jar Changes for the future: Include the source code (was lazy this time) Consider changing the patch format slightly to allow better .exe compression (but this is a single use case, not sure if it's worth the effort) Completely disallow 2GB+ patch creation.. right now the program just freezes, but I need to figure out the actual limit before it freezes Include a message while creating a patch, not just a gray screen I hereby don't give you permission to convert these mods and upload them to LL, if you know what I mean lol maybe fix some bugs too
Kinky Posted October 12, 2018 Posted October 12, 2018 If you have the skill to make something amazing - do it.
Asrienda Posted October 12, 2018 Author Posted October 12, 2018 Idk about amazing, but I posted a version last Sunday
zax Posted October 13, 2018 Posted October 13, 2018 On 10/8/2018 at 6:55 PM, Asrienda said: Technical details on how: it uses Myers' O(ND) algorithm across multiple cpu threads to create a diff (difference) file. That file is the changes between two files by chunks, in this case 64 byte chunks. The diff is included in the patch json (via base64 encoding) along with the original file sha-256 hash and some other metadata (original file author and where to find the original file, patch description, etc). The .json is then gzipped to reduce the size, hence the patch filename .gzj. For patch users, the process is quick. It does take about 1 second per MB of the original file to create a patch though. Sorry for late reply but you didn't quote me so I didn't get notification. Since you mentioned dll, I'm not sure what exactly would it update for dll based plugins? Updated versions can be quite different, have different addresses, can be compiled with different tools. Also the ones that have source code available are usually free to port, if someone managed to update them (from source code), theres no need for patcher? If I was you I would just focus on .esp format. These plugins are least problematic and such patches could be created by anyone.
Asrienda Posted October 29, 2018 Author Posted October 29, 2018 Yes that is correct. I'veexplained it so many times I don't even know how to say it another way.
Asrienda Posted November 13, 2018 Author Posted November 13, 2018 v0.0.2 - Added loading screens and included source jPatcher-0.0.2.zip
Recommended Posts
Archived
This topic is now archived and is closed to further replies.