Skip to content

0ceal0t/Dalamud-VFXEditor

Repository files navigation

VFXEditor Download count

Wiki | Guides | Icon by PAPACHIN

VFX, animation, sound, and physics editing plugin for Dalamud

Just want to hide certain VFXs? Use EasyEyes instead

Supported File Types

Extension Description
.avfx VFXs, such as particles and glow effects. Has no impact on a character's motion
.pap The animations performed by a character (such as swinging a weapon, smiling, etc.)
.tmb Timelines for when to trigger VFXs, animations, and sound effects. Edit this if you want to replace a skill in its entirety
.scd Sound files (background music, sound effects)
.eid Bind points used to attach VFXs to character models
.uld Determines the layout of UI elements
.atex Texture files for .avfx
.tex Texture files for UI elements and game models
.atch Attachment points for weapons and other accessories (like the Machinist bag and Astrologian deck)
.sklb Skeleton and bone definitions
.skp Skeleton paramters, such as IK
.shpk Bundled packages of vertex and pixel shaders
.shcd Individual shaders
.mtrl Materials for models
.mdl Meshes

Installation

  1. This plugin requires XIV Quick Launcher to run
  2. Install the plugin from the /xlplugins menu
  3. Once installed, open with /vfxedit

Beta Builds

Add the following custom repository in /xlsettings > Experimental:

https://raw.githubusercontent.com/0ceal0t/Dalamud-VFXEditor/main/repo.json

The beta and main builds cannot both be enabled at the same time, so make sure to disable one before enabling the other. Open the beta version using /vfxbeta

Usage

  1. Select a "Loaded Vfx" (the new effect you want to use)
  2. Select a "Vfx Being Replaced" (the effect which is being overriden. This can be the same as the source)
  3. Make any modifications you want, then press UPDATE

Support

Having problems? Check troubleshooting tips or a basic guide. If you have other questions, please open an Issue

Contributing

If a VFX is behaving unexpectedly, or you are getting log messages indicating that it is not being parsed properly, please open an Issue.

TODO

  • New .pap animation from gLTF (currently can only replace)
  • Hex editor for replacing arbitrary files
  • More investigation into .pap Type and animation names
  • C192
  • .uld update component type
  • More research into sound position (C063)
  • Weird crackling when playing back 4-ch and 6-ch files. Maybe related to clipping/conversion?
  • Make it so node names don't change when others are deleted (Particle 1, etc.)
  • More accurate spline curve calculations
  • Sound icon on timeline
  • Investigate VFX flags, better structs
  • Weapons / footsteps / etc. in live view
  • Add pre and post behavior to curve editor
  • Update "try on" preview
.kdlb
.bklb
.kdb (kinedriver)

Client.System.Resource.Handle.AnimationExtensionLoadResourceHandle
Client.System.Resource.Handle.BonamikLoadResourceHandle
Client.System.Resource.Handle.BonamikResourceHandle
Client.System.Resource.Handle.ExtraSkeletonLoadResourceHandle
Client.System.Resource.Handle.EyeAnimationResourceHandle
Client.System.Resource.Handle.FacialParameterEditResourceHandle
Client.System.Resource.Handle.KineDriverLoadResourceHandle
Client.System.Resource.Handle.KineDriverResourceHandle

chara/human/c%04d/skeleton/base/b0001/bnm_c%04db0001.bnmb
chara/human/c%04d/skeleton/face/f%04d/bnm_c%04df%04d.bnmb
chara/human/c%04d/skeleton/hair/h%04d/bnm_c%04dh%04d.bnmb
chara/human/c%04d/skeleton/met/m%04d/bnm_c%04dm%04d.bnmb
chara/human/c%04d/skeleton/top/t%04d/bnm_c%04dt%04d.bnmb
chara/demihuman/d%04d/skeleton/base/b0001/bnm_d%04db0001.bnmb
chara/weapon/w%04d/skeleton/parts/p%04d/bnm_w%04dp%04d.bnmb
chara/weapon/w%04d/skeleton/base/b0001/bnm_w%04db0001.bnmb
chara/monster/m%04d/skeleton/base/b0001/bnm_m%04db0001.bnmb

https://github.com/BlasterGrim/TresGame/tree/6a0fd71b783a1fcba90c9df619447dc620817910/Plugins/BonamikRt/Source/BonamikRt/Public

common/graphics/common_shader_param.spm
common/graphics/chara_shader_param.spm
common/graphics/bg_shader_param.spm
https://imgur.com/wcMGZxY
HairSpecularShift breaks into HairSpecularPrimaryShift, HairSpecularBackScatterShift, and HairSpecularSecondaryShift; HairRoughnessOffsetRate breaks into HairBackScatterRoughnessOffsetRate, and HairSecondaryRoughnessOffsetRate


https://github.com/Irastris/ValkyrieUproject/tree/main/VALKYRIE_ELYSIUM/Source/KineDriverRt/Public
https://github.com/RussellJerome/TresGame/blob/main/Plugins/KineDriverRt/Source/KineDriverRt/Public/KineDriver_StructsAndEnums.h

chara/xls/bonamik/bonamik-monster.bklb
chara/xls/bonamik/bonamik-weapon.bklb
chara/xls/bonamik/bonamik-human-base.bklb
chara/xls/bonamik/bonamik-human-equipment.bklb
chara/xls/bonamik/bonamik-human-face.bklb
chara/xls/bonamik/bonamik-human-hair.bklb
chara/xls/bonamik/bonamik-demihuman.bklb
chara/xls/bonamik/bonamik-human-equipment.bklb
chara/xls/bonamik/bonamik-monster.bklb
chara/xls/bonamik/bonamik-weapon.bklb
chara/xls/bonamik/bonamik-demihuman.bklb
chara/xls/bonamik/bonamik-human-base.bklb
chara/xls/bonamik/bonamik-human-face.bklb
chara/xls/bonamik/bonamik-human-hair.bklb

chara/xls/kinedriver/kinedriver-human-equipment.kdlb
chara/xls/kinedriver/kinedriver-human-base.kdlb
chara/xls/kinedriver/kinedriver-human-face.kdlb
chara/xls/kinedriver/kinedriver-human-hair.kdlb
chara/xls/kinedriver/kinedriver-demihuman.kdlb
chara/xls/kinedriver/kinedriver-monster.kdlb
chara/xls/kinedriver/kinedriver-weapon.kdlb
chara/xls/kinedriver/kinedriver-demihuman.kdlb
chara/xls/kinedriver/kinedriver-human-base.kdlb
chara/xls/kinedriver/kinedriver-human-equipment.kdlb
chara/xls/kinedriver/kinedriver-human-face.kdlb
chara/xls/kinedriver/kinedriver-human-hair.kdlb
chara/xls/kinedriver/kinedriver-monster.kdlb
chara/xls/kinedriver/kinedriver-weapon.kdlb

table TypeIdInfo {
  id:ubyte;
  unk_uint_1:uint;
  has_kdb:bool;
}
table TypeIdArray {
  has_kdbs:bool;
  type_id_info:[TypeIdInfo];
}
table SkeletonIdArray {
  skeleton_id:uint;
  unk_default_1:uint;
  type_id_array:[TypeIdArray];
}


chara/xls/extraskl/extra_weapon.eslb
chara/human/c1701/skeleton/face/f0002/kdi_c1701f0002.kdb

--------------------------------

chara/xls/animation/papLoadTable.plt
chara/xls/boneDeformer/human.pbd
chara/xls/equipmentParameter/equipmentVfxParameter.evp
chara/xls/animation/animation_work_table-demihuman.awt
chara/xls/animation/AnimationExchangeTable.aet
chara/xls/animation/animation_work_table-human.awt
chara/xls/animation/MotionLineTable.mlt
chara/xls/animation/animation_work_table-monster.awt
chara/xls/animation/animation_work_table-weapon.awt

chara/xls/animation_extension/animext.anxb
chara/xls/charadb/extra_met.est
chara/xls/charadb/hairskeletontemplate.est