I've been using Volcanic a bunch these past few days and so I've implemented a number of fixes and changes to improve the experience a bit.
I know it's kind of a big PR, sorry about that, so if there's anything that needs reverting, changing or anything please do let me know!
This is mostly fixes, quality of life changes and implementation of previously placeholder/stubbed features.
Full changelog:
Fixes:
Fixed crash when attempting to save a .piff with added FWAVs/Sound Events.
Fixed potential crash when attempting to save a .piff with regenerated catalog thumbnails.
BHAV Editor: Set As First is now fully implemented and shouldn't cause any strange behavior.
BHAV Editor: BCON Constants are now bounds checked, fixing an exception, and labeled.
Features:
TPRP/Metadata creation has been implemented. You can click on the Generate Metadata button on a BHAV resource or rename any Parameter/Local to generate it.
TRCN/BCON label creation has been implemented. You can generate this metadata by renaming constants.
OBJf creation has been implemented, this will happen automatically when you attempt to add a check tree to an entry point.
UIDebugMenu (Ctrl + F1 window) now has a button to export upgrades from the current server - I know this is not really Volcanic but I thought it was an appropriate spot for it.
QoL:
Upgrade Editor: Now has a more helpful error for not having an upgrades file available in your Content folder.
Entity Inspector: Added "Open Resource" button, which opens the object editor on the chosen entity.
Entity Inspector: Can now select multiple entities. Allows deleting and opening multiple resources at once.
Entity Inspector: Deleting objects now also sends a VMNetDeleteObjectCmd. This way objects can be deleted or sold by a client via Volcanic during online play provided they have the proper permissions.
Creating new resources in IFFs will now pick the lowest available Chunk ID by default. For BHAVs and BCONs, the minimum Chunk ID now changes depending on whether the resource is Private, Semi-Global or Global.
I've been using Volcanic a bunch these past few days and so I've implemented a number of fixes and changes to improve the experience a bit.
I know it's kind of a big PR, sorry about that, so if there's anything that needs reverting, changing or anything please do let me know!
This is mostly fixes, quality of life changes and implementation of previously placeholder/stubbed features.
Full changelog:
Fixes:
Fixed crash when attempting to save a .piff with added FWAVs/Sound Events.
Fixed potential crash when attempting to save a .piff with regenerated catalog thumbnails.
BHAV Editor: Set As First is now fully implemented and shouldn't cause any strange behavior.
BHAV Editor: BCON Constants are now bounds checked, fixing an exception, and labeled.
Features:
TPRP/Metadata creation has been implemented. You can click on the Generate Metadata button on a BHAV resource or rename any Parameter/Local to generate it.
TRCN/BCON label creation has been implemented. You can generate this metadata by renaming constants.
OBJf creation has been implemented, this will happen automatically when you attempt to add a check tree to an entry point.
UIDebugMenu (Ctrl + F1 window) now has a button to export upgrades from the current server - I know this is not really Volcanic but I thought it was an appropriate spot for it.
QoL:
Upgrade Editor: Now has a more helpful error for not having an upgrades file available in your Content folder.
Entity Inspector: Added "Open Resource" button, which opens the object editor on the chosen entity.
Entity Inspector: Can now select multiple entities. Allows deleting and opening multiple resources at once.
Entity Inspector: Deleting objects now also sends a VMNetDeleteObjectCmd. This way objects can be deleted or sold by a client via Volcanic during online play provided they have the proper permissions.
Creating new resources in IFFs will now pick the lowest available Chunk ID by default. For BHAVs and BCONs, the minimum Chunk ID now changes depending on whether the resource is Private, Semi-Global or Global.