Table of Contents
|
What are .breakobj files?
BreakObj files are essentially a less resource intensive way of determining where broken pieces of an object should be when loading a save for objects that have been broken.
If an object has been added or removed from a map, default .breakobj files will not function correctly and cause visual issues. All objects (including previously working objects) will not have their broken pieces simulated when the game is loaded; causing broken object pieces to float in mid air:

Generating new .breakobj files
Generating new .breakobj files can be done with the debug build. There are some differences with doing this for PTDE vs DSR, and the resulting generated file will be compatible between the two.
PTDE: How to generate new .breakobj files
Step 1: Download the debug build
Download the Debug EXE at https://www.nexusmods.com/darksouls/mods/837
Before installing, I would recommend backup up the original DARKSOULS.exe in your game folder.
To install the debug exe, place it into your game's DATA folder and overwrite DARKSOULS.exe.
Step 2: Patch the debug EXE to load unpacked files
Run UnpackDarkSoulsForModding in the game folder. Follow prompts to patch the debug EXE so it will load unpacked files. If you haven't already unpacked game files, do so now.
Step 3: Modify debug EXE with a hex editor to fix .breakobj export location
By default, the debug EXE defines a server folder (N:/ drive) which probably doesn't exist on your computer, so you need to modify the EXE to redefine this export folder.
If you don't have a hex editor, HxD is free and works.
Using a hex editor, find these bytes:
4E 00 3A 00 2F 00 46 00 52 00 50 00 47 00 2F 00 64 00 61 00 74 00 61 00 2F 00 43 00 41 00 50 00 54 00 55 00 52 00 45 00
and change them to:
63 00 61 00 70 00 74 00 75 00 72 00 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
This changes the unicode text N:/FRPG/data/CAPTURE to capture.
Step 4: Create the output folder
Create two new folders, capture\breakobj, within your game folder. It should look like this: DATA\capture\breakobj
Generated .breakobj files will be located in this folder.
Step 5: Generate .breakobj files
Launch the game. Select debug walkthrough and enter any map you want to generate a .breakobj for.
Find and select the following debug option: [GAME] -> [GAME MAN OPTION] -> ObjBreakRecordMode = 1
Objects will now be systematically broken in order to record the positions of broken parts, then it will create the generated .breakobj in the capture\breakobj folder you created, and return to the main debug menu when finished.
Enter any other maps you wish to generate .breakobj files for. You don't need to select the ObjBreakRecordMode again.
Step 6: Implement newly generated .breakobj files
Open the capture\breakobj folder you created.
Rename generated .breakobj files to remove the timestamp. The names of the files should be identical to vanilla .breakobj files, located in your game's DATA\map\breakobj folder.
Move the generated .breakobj files into your game's DATA\map\breakobj folder and overwrite the original files.
Step 7: You're done
:)
DSR: How to generate new .breakobj files
Step 1: Download the debug build
Download the Debug DLL at https://www.nexusmods.com/darksoulsremastered/mods/266
Place the files into your game folder, next to DARK SOULS REMASTERED.exe
Step 2: Create the output folder
Create two new folders, capture\breakobj, in the folder ABOVE your game folder. It should look like this: steamapps\common\capture\breakobj
Generated .breakobj files will be located in this folder.
Step 3: Generate .breakobj files
Launch the game. Select debug walkthrough and enter any map you want to generate a .breakobj for.
Find and select the following debug option: [GAME] -> [GAME MAN OPTION] -> ObjBreakRecordMode = 1
Objects will now be systematically broken in order to record the positions of broken parts, then it will create the generated .breakobj in the capture\breakobj folder you created, and return to the main debug menu when finished.
Enter any other maps you wish to generate .breakobj files for. You don't need to select the ObjBreakRecordMode again.
Step 4: Implement newly generated .breakobj files
Open the capture\breakobj folder you created.
Rename generated .breakobj files to remove the timestamp. The names of the files should be identical to vanilla .breakobj files, located in your game's map\breakobj folder.
Move the generated .breakobj files into your game's map\breakobj folder and overwrite the original files.
Step 5: You're done
:)