Tool to merge RPKs that are not directly dependent on each other


This is a tool(with source code) to merge RPKs that are on the same level in the RPK hierarchy meaning; that it wont merge RPKs that are dependant on each other, It will refuse to merge an RPK to one that has an external reference to the one being merged or vice versa. The RPKs and the resources that it references should be installed as they were intended to be used (to the appropriate directories (the mod needs to be installed properly before trying merging)). I used this program (the model behind it) for SlrrExhaustive and for the UI (I consider this download the "UI") I tested it on a clean Slrr install I merged the engines together and to another pack all the racers, again to another RPK all the fake cars (fake racers and traffic cars) and it worked as intended. Ofcourse merging the racers is a bad idea because the game uses the ID of the RPK to filter the bodyparts with the merged RPK all the bodyparts showed up in the catalogue for every car and the GameLogic.class scans the cars/racers folder for the VehicleTypes that can also lead to problems if you try and merge the racers to an RPK in another directory. Nevertheless these included test for the program to change RPK references in other RPKs, class files (if a class file and a java file also exists the program will always update the java and if it finds the two to be consistent also updates the class (but that will most likely be updated by Slrr itself)), and cfgs, which it did properly in these cases. The usage is quite straight forward there are four buttons at the top of the UI these should be pressed from left to right and they will guide you through the process (it reports everything to a logfile in the programs directory (where it had been uncompressed to) and to the big ListBox on the left of the UI)

Download from GoogleDrive

1.   Posted by Holy Shit Man   2017-12-18 18:22    

How does that work? I tried to merge few rpks and all it did was showing me some errors about mods I definetely didn't want to touch.

2.   Posted by amilmand   2017-12-18 18:33    

Well it needs to check your whole game for references to the rpk you are trying to merge that means it loads all rpks and scans all the scripts (which can contain errors but it will only touch the ones needing touching...) it also reports errors it finds that can affect its ability to find all references (it probably is cluttered with inconsistency errors for scripts those don't really matter because if the java is present the program will update that and the game can compile it) the typeID collision errors mean that there are entries in an RPK whit the same typeID naturally if something references such a TypeID it does not really know which is referenced.
Nevertheless nothing happens until you press the last (rightmost) button and when you press the second from the right it will report at the and of the operation exactly which files will be modified (After the line:
The following files and folders will be updated if the current operation is run:
there you can see whether it is reasonable or not (it most likely will be correct thou as I said I used this extensively during the development of SlrrExhaustive)

Total : 2, on page: 2