====== Bloodstained v1.3 DataTable modding ====== >[[start|]] Just basic how-to and which tools to use for what. I'm not really capable of writing detailed guides for each tool. ==== Versions ==== * Bloodstained v1.21 UE4 engine version: 4.18 * Bloodstained v1.30 UE4 engine version: 4.22 * DataTables seems to work fine setting tools to 4.27. * There seems to be some uncertainty about which parts of the game uses which versions of UE4. * If something doesn't work try one of the others: 4.18, 4.22, 4.27 ==== Basics ==== How to edit a single DataTable file: - Use [[modding:tools#quickbms|QuickBMS]] or [[modding:tools#fmodel|FModel]] to extract the uasset files from pakchunk0-WindowsNoEditor.pak - Copy the file you want to edit to a new folder (Both uasset/uexp files, KEEP SUBFOLDER STRUCTURE!) - View/Edit uasset files ([[modding:tools#uassetgui|UAssetGUI]]) - Repack the entire folder/subfolder with the uasset ([[modding:tools#unrealpak|UnrealPak]]) If you want to do larger edits on a file, or multiple files, you can export/convert to JSON using UAssetGUI, and convert them back again using the same. * Recommended to make batch-files for converting to and from JSON/Uasset. * The JSON files are not readable directly, you'll need to use another tool to clean them up. (Visual Studio Code can do that) (Note: latest version of UassetGUI cleans up the code by itself!) * For those used to the old Serializer, the JSON setup is different, includes more data, and you'll have to re-learn them a good bit. ---- ==== Folder-Structure ==== This is one of the most important bits that a lot of people get wrong. The game looks for UAsset files in specific folders, if it can't find your modded file in that location, it can't load it and instead runs the default. You can find the Folder-structure several ways, from unpacking the pakchunk and just looking at the folders you have to navigate to find the DataTables, or use either FModel or UAssetGUI to find where they are located. The basic path is as follows: > BloodstainedRotN\Content\Core\DataTable This is the folder where the majority of DataTable files are located. Some will be in sub-folders, then you'll need to include those as well. When making a mod and then packing it with UnrealPak, you should place this inside a folder with the name of your mod, and then drag that entire folder onto UnrealPak's batch-file. Example: > PakContents\BloodstainedRotN\Content\Core\DataTable Dragging the "Pakcontents" folder ontop of UnrealPak's Batch-file will create a PAK file named "PakContents.pak" in the same location that folder is located. ---- ===== Tools ===== * [[modding:tools#quickbms|QuickBMS/ut4.bms]] * [[modding:tools#fmodel|FModel]] * [[modding:tools#uassetgui|UAssetGUI]] * [[modding:tools#unrealpak|UnrealPak]] ---- ==== QuickBMS + ut4.bms ==== This tool is used to unpack the main file containing the data: > BloodstainedRotN\Content\Paks\pakchunk0-WindowsNoEditor.pak * You will need the QuickBMS for 4gb or larger files. * You will need the file "ut4.bms" to make QuickBMS recognize the file and export. The installs/versions I've found has included batch files, that lets you drag the pak-file directly on top, and it starts working. I've had to copy the pak file to the same folder to make it work. It will take a while, as the pakchunk file is 13gb now. Still the fastest option. ---- ==== FModel ==== Is a very good tool for browsing and looking through PAK files, including the main pakchunk. It also lets you view DataTables, extract or save as JSON. But won't let you edit anything. Bonus it has a dark mode. * Don't use this to extract the entire pakchunk if you can avoid it, it takes a lot of time! (8hours or so for Lakifume). * You can use this to extract single files easily, either as uasset or json. * At the moment, the only way I've found to extract data tables from pak files. * Counter intuitive GUI: You have to go through the different tabs to find the next order of files/folders/actual files to view. * Set to UE4 version 4.22 or 4.27 in settings/general. ---- ==== UAssetGUI ==== Used to open uasset files, and edit them directly through the GUI, or export/import to json. Newer versions (I tested v1 a6) both cleans up its JSON code by itself, and has a Dark Mode. * Only way I've found to edit uasset directly * Only way I've found to import JSON back to UAsset * You can make batch-files for converting to and from JSON * Counter intuitive GUI: basically click all the bottom + signs to find the actual data. * Set to UE4 version 4.22 or 4.27 in upper right corner. * From my understanding Lakifume's changes have now been added to the main branch, so recommend getting that. ---- ==== UnrealPak ==== Is the only unchanged tool from last version of the game. It's only used for packing the files back into a PAK-file again. * THE MOST IMPORTANT: The game expects to find uasset files in specific sub-folders. So you have to store them in proper sub-folders before pak-ing them up, or the game just doesn't find them!!! (Just check which subfolder they where in originally with FModel/UAssetGui, and replicate it). Personally never bothered using the compressions, since DataTables are so small anyway. ---- ==== Links ==== Place for links and other details. === QuickBMS/ut4.bms === === FModel === === UAssetGUI === * https://github.com/atenfyr/UAssetGUI/releases === UnrealPak ===