DocClox Posted June 7, 2021 Share Posted June 7, 2021 (edited) Been doing some work on this as well. I found a Max plugin HavokMax, and the library that drives it: HavocLib. I've got a modified version of Anton's Skyrim scripts to export from Blender to JSON. So if I can just get Havoc lib to compile and link with my own code, I can read the JSON and generate HKX files using (hopefully) proven code. Major hurdle at the moment is that CMake hates me. There are a doze different ways to configure a CMake build, almost all of which fail to compile at some point. The one that does compile, generates no output - which wouldn't be so bad, but it breaks if I try and compile for debug, so I can't debug into the library to see what needs doing. Oh well, if it was easy, everyone would want to do it... Edited June 7, 2021 by DocClox Link to comment Share on other sites More sharing options...
leldorado Posted June 24, 2021 Share Posted June 24, 2021 Been doing some work on this as well. I found a Max plugin HavokMax, and the library that drives it: HavocLib. I've got a modified version of Anton's Skyrim scripts to export from Blender to JSON. So if I can just get Havoc lib to compile and link with my own code, I can read the JSON and generate HKX files using (hopefully) proven code. Major hurdle at the moment is that CMake hates me. There are a doze different ways to configure a CMake build, almost all of which fail to compile at some point. The one that does compile, generates no output - which wouldn't be so bad, but it breaks if I try and compile for debug, so I can't debug into the library to see what needs doing. Oh well, if it was easy, everyone would want to do it... I cloned havoklib (the original one). Cloned submodules. Opened the repo with visual studio 2019 and was able to compile it with no issues. When I run it, it fails during a test procedure because of a missing skeleton test file I assume. Dunno where your problem accured exactly. Link to comment Share on other sites More sharing options...
icodei Posted July 5, 2021 Share Posted July 5, 2021 doing a string dump of the fallout4.exe as well as the creationkit.exe provides many things to do with havok and some useful information. I've done alot of animation and played abit with some of the other havok things. Mostly interested in doing behaviors and finding easier ways to make and edit them. Found a list of of all the node types that fallout 4 has for havok though HKB_NODE_TYPE_INVALIDHKB_NODE_TYPE_FIRST_GENERATORHKB_NODE_TYPE_BEHAVIOR_GRAPHHKB_NODE_TYPE_BEHAVIOR_REFERENCE_GENERATORHKB_NODE_TYPE_BLENDER_GENERATORHKB_NODE_TYPE_CLIP_GENERATORHKB_NODE_TYPE_MANUAL_SELECTOR_GENERATORHKB_NODE_TYPE_MODIFIER_GENERATORHKB_NODE_TYPE_REFERENCE_POSE_GENERATORHKB_NODE_TYPE_STATE_MACHINEHKB_NODE_TYPE_SCRIPT_GENERATORHKB_NODE_TYPE_LAYER_GENERATORHKB_NODE_TYPE_END_OF_SPU_GENERATORSHKB_NODE_TYPE_DOCKING_GENERATORHKB_NODE_TYPE_PARAMETRIC_MOTION_GENERATORHKB_NODE_TYPE_PIN_BONE_GENERATORHKB_NODE_TYPE_OTHER_GENERATORHKB_NODE_TYPE_BS_GAMEBRYO_SEQUENCE_GENERATORHKB_NODE_TYPE_BS_CYCLIC_TRANSITION_GENERATORHKB_NODE_TYPE_BS_BONE_SWITCH_GENERATORHKB_NODE_TYPE_BS_OFFSET_ANIMATION_GENERATORHKB_NODE_TYPE_BS_SYNCHRONIZED_CLIP_GENERATORHKB_NODE_TYPE_BS_ISTATE_TAGGING_GENERATORHKB_NODE_TYPE_BS_DYNAMIC_ANIMATION_TAGGING_GENERATORHKB_NODE_TYPE_BS_BEHAVIOR_GRAPH_SWAP_GENERATORHKB_NODE_TYPE_BS_RETARGET_BODY_BLEND_GENERATORHKB_NODE_TYPE_FIRST_TRANSITION_EFFECTHKB_NODE_TYPE_BLENDING_TRANSITION_EFFECTHKB_NODE_TYPE_GENERATOR_TRANSITION_EFFECTHKB_NODE_TYPE_END_OF_SPU_TRANSITION_EFFECTSHKB_NODE_TYPE_MANUAL_SELECTOR_TRANSITION_EFFECTHKB_NODE_TYPE_FIRST_MODIFIERHKB_NODE_TYPE_ATTACHMENT_MODIFIERHKB_NODE_TYPE_ATTRIBUTE_MODIFIERHKB_NODE_TYPE_CHARACTER_CONTROLLER_MODIFIERHKB_NODE_TYPE_COMBINE_TRANSFORMS_MODIFIERHKB_NODE_TYPE_COMPUTE_DIRECTION_MODIFIERHKB_NODE_TYPE_COMPUTE_ROTATION_FROM_AXIS_ANGLE_MODIFIERHKB_NODE_TYPE_COMPUTE_ROTATION_TO_TARGET_MODIFIERHKB_NODE_TYPE_DAMPING_MODIFIERHKB_NODE_TYPE_DELAYED_MODIFIERHKB_NODE_TYPE_EVALUATE_EXPRESSION_MODIFIERHKB_NODE_TYPE_EVENTS_FROM_RANGE_MODIFIERHKB_NODE_TYPE_EVENT_DRIVEN_MODIFIERHKB_NODE_TYPE_FOOT_IK_CONTROLS_MODIFIERHKB_NODE_TYPE_GET_WORLD_FROM_MODEL_MODIFIERHKB_NODE_TYPE_HAND_IK_CONTROLS_MODIFIERHKB_NODE_TYPE_KEYFRAME_BONES_MODIFIERHKB_NODE_TYPE_LOOK_AT_MODIFIERHKB_NODE_TYPE_MIRROR_MODIFIERHKB_NODE_TYPE_MODIFIER_LISTHKB_NODE_TYPE_MOVE_BONE_ATTACHMENT_MODIFIERHKB_NODE_TYPE_MOVE_CHARACTER_MODIFIERHKB_NODE_TYPE_POWERED_RAGDOLL_CONTROLS_MODIFIERHKB_NODE_TYPE_RIGID_BODY_RAGDOLL_CONTROLS_MODIFIERHKB_NODE_TYPE_ROTATE_CHARACTER_MODIFIERHKB_NODE_TYPE_SET_WORLD_FROM_MODEL_MODIFIERHKB_NODE_TYPE_TIMER_MODIFIERHKB_NODE_TYPE_TRANSFORM_VECTOR_MODIFIERHKB_NODE_TYPE_TWIST_MODIFIERHKB_NODE_TYPE_END_OF_SPU_MODIFIERSHKB_NODE_TYPE_DETECT_CLOSE_TO_GROUND_MODIFIERHKB_NODE_TYPE_EVALUATE_HANDLE_MODIFIERHKB_NODE_TYPE_GET_HANDLE_ON_BONE_MODIFIERHKB_NODE_TYPE_GET_UP_MODIFIERHKB_NODE_TYPE_JIGGLER_MODIFIERHKB_NODE_TYPE_SENSE_HANDLE_MODIFIERHKB_NODE_TYPE_SEQUENCEHKB_NODE_TYPE_AI_STEERING_MODIFIERHKB_NODE_TYPE_AI_CONTROL_MODIFIERHKB_NODE_TYPE_ROCKETBOX_CHARACTER_CONTROLLER_MODIFIERHKB_NODE_TYPE_LEAN_ROCKETBOX_CHARACTER_CONTROLLER_MODIFIERHKB_NODE_TYPE_OTHER_MODIFIERHKB_NODE_TYPE_BS_COMPUTE_ADD_BONE_ANIMHKB_NODE_TYPE_BS_DECOMPOSE_VECTORHKB_NODE_TYPE_BS_DIRECT_ATHKB_NODE_TYPE_BS_DIST_TRIGGERHKB_NODE_TYPE_BS_EVENT_EVERY_N_EVENTSHKB_NODE_TYPE_BS_EVENT_ON_DEACTIVATEHKB_NODE_TYPE_BS_EVENT_ON_FALSE_TO_TRUEHKB_NODE_TYPE_BS_GET_TIME_STEPHKB_NODE_TYPE_BS_INTERP_VALUEHKB_NODE_TYPE_BS_IS_ACTIVEHKB_NODE_TYPE_BS_ISTATE_MANAGERHKB_NODE_TYPE_BS_LIMB_IKHKB_NODE_TYPE_BS_LOOK_ATHKB_NODE_TYPE_BS_MODIFY_ONCEHKB_NODE_TYPE_BS_PASS_BY_TARGET_TRIGGERHKB_NODE_TYPE_BS_RAGDOLL_CONTACT_LISTENERHKB_NODE_TYPE_BS_REVERSE_SPINE_TWISTHKB_NODE_TYPE_BS_ROOT_TWISTHKB_NODE_TYPE_BS_SPEED_SAMPLERHKB_NODE_TYPE_BS_TIMERHKB_NODE_TYPE_BS_TWEENERHKB_NODE_TYPE_BS_ASSIGN_VARIABLEHKB_NODE_TYPE_BS_ALIGN_BONEHKB_NODE_TYPE_BS_LIMB_CYCLEHKB_NODE_TYPE_BS_LOOKAT_CAPTURE_POSEHKB_NODE_TYPE_BS_DIRECTAT_CAPTURE_POSEHKB_NODE_TYPE_BS_RANDOM_ALARM You can find many generators and info about them in the links already posted. The nodes that start with "BS" though are ones that Bethesda custom made for fallout however and not much documentation about them Link to comment Share on other sites More sharing options...
gmoi6 Posted July 16, 2021 Share Posted July 16, 2021 Hi! Thanks for all the information here, it's super useful.Is there an editor for behavior/hkx/xml files out there or even a text editor that would make the structure easier to follow for a code noob?I've been using notepad++ and I'm struggling to properly edit the files.I'm trying to merge two gun behavior files (Minigun FX and Laser Rifle behavior) but at the moment only the minigun events are playing. Link to comment Share on other sites More sharing options...
Recommended Posts