Hot reload Interiors in Marble Blast. Uses local TCP to communicate with Blender or Constructor.
Supported versions: 4.x
Ensure the latest io_dif is installed, then install this repo's add-on (the auto_dif folder). Then navigate to Scene Properties > AutoDIF Settings > Export Directory and choose your desired interiors folder.
In PQ, hit the Connect Blender button in the editor.
Note: You may need to zip the auto_dif folder so that Blender will import it in the menu. Otherwise you can just move it into the addons folder directly (scripts/addons_core).
Navigate to your Constructor installation, and place csx3dif.exe in the root directory. Then make sure you have my Constructor plugins. You technically only need autodif.cs but I recommend installing them all.
Open Constructor and save or open a scene. Then click the Auto DIF plugin box (found in User tab), and set your desired interiors folder.
In PQ, hit the Connect Constructor button in the editor.
- File > Export > To Marble Blast: Operator that exports the scene as DIF and automatically places it into the currently loaded mission
- Subobjects (such as those from Marble Blast Toolkit) will be placed automatically
- DIF splits (large, multi-file interiors) are handled properly
- Export Directory (Scene Property): determines where in the game directory the interior(s) should be placed
- Export on Save (Add-on Preference): if enabled, export will occur when saving the scene
- BSP Algorithm (Add-on Preference): The setting to pass on to io_dif for calculating BSP Tree, needed for raycasting in the game like in Drop To Ground. Disabled by default for faster exports and smaller file size
- Game Directory Override (Add-on Preference): can be set if there is an issue with the in-game exe path value
autodif.mp4
- Mostly the same as Blender.
- Adds rotation field to PointEntities and checks if each Door_Elevator has enough path_nodes before exporting
- Interior folder options can be added or changed in
constructor/prefs.cs
- This plugin is intended for use with 1 instance of Constructor/Blender and 1 instance of Marble Blast. Further instances will not connect.
- Interior files will use the same name as the project name (or "Untitled" if not saved in Blender). Keep project names unique if you want to prevent other interiors from being overwritten.
- This should be compatible with other mods besides PQ, but you must ensure that your mod uses the extended engine (containing FileExtension) so interiors can be refreshed properly.
- There is also a PQ engine fix which changes the order of operations in applying subobject properties so that the rotation field works.
Thanks to RandomityGuy for his DIF exporters making this possible