Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Grimrukh/soulstruct-blender
/ functions
Functions
1,257 in github.com/Grimrukh/soulstruct-blender
⨍
Functions
1,257
◇
Types & classes
472
↳
Endpoints
2
↓ 4 callers
Method
parse_flver_obj
Parse a Blender object into a Mesh and (optional) Armature object.
io_soulstruct/soulstruct/blender/flver/models/types/bl_flver/core.py:452
↓ 4 callers
Method
read_skeleton
(skeleton_anibnd: Binder, compendium: HKX = None)
io_soulstruct/soulstruct/blender/animation/import_operators.py:72
↓ 4 callers
Function
replace_shared_prefix
Find the shared prefix between the old model name and the old instance name, and replace that prefix with the same number of characters from the n
io_soulstruct/soulstruct/blender/utilities/misc.py:207
↓ 4 callers
Method
resolve_dcx_type
Get DCX type associated with `class_name` for selected game. NOTE: Those should generally only be called for loose files or files inside unco
io_soulstruct/soulstruct/blender/general/properties.py:883
↓ 4 callers
Method
to_game_compressed_animation
Detect appropriate wavelet or spline compression based on game.
io_soulstruct/soulstruct/blender/animation/types.py:818
↓ 4 callers
Method
to_soulstruct_obj
Create MCG from Blender nodes and edges. `bl_nodes` and `bl_edges` are assumed to be correctly ordered for MCG indexing. This should generall
io_soulstruct/soulstruct/blender/nav_graph/types.py:214
↓ 4 callers
Method
to_soulstruct_obj
Create `NVM` from a Blender mesh object. This is much simpler than FLVER or HKX map collision mesh export. Note that the navmesh name is not
io_soulstruct/soulstruct/blender/navmesh/nvm/types.py:96
↓ 3 callers
Method
_batch_import_flver_models
Base method for batch-importing FLVER models, which have already been parsed into `flver_sources` and (if in Binders) `flver_source_binders`.
io_soulstruct/soulstruct/blender/msb/types/base/models/flver.py:70
↓ 3 callers
Function
_call_python_module
(purpose: str, *args: str)
io_soulstruct/__init__.py:66
↓ 3 callers
Function
_clear_temp_flver
()
io_soulstruct/soulstruct/blender/flver/models/types/bl_flver/_export.py:144
↓ 3 callers
Method
_get_field_names
(self)
io_soulstruct/soulstruct/blender/msb/types/adapters/transform.py:44
↓ 3 callers
Function
_get_node_name_stem
Strip '<DEAD END>' and any other '<' suffix from tight node name (and anything from first period).
io_soulstruct/soulstruct/blender/nav_graph/types.py:636
↓ 3 callers
Method
_import_flver_model_mesh
( self, operator: LoggingOperator, context: bpy.types.Context, flver: FLVER,
io_soulstruct/soulstruct/blender/msb/types/base/models/flver.py:44
↓ 3 callers
Method
_mix_value_nodes
( self, input_1: NodeSocket, input_2: NodeSocket, node_y: int | float,
io_soulstruct/soulstruct/blender/flver/material/shaders/base_node_tree_builder.py:565
↓ 3 callers
Method
_new_normal_map_node
( self, uv_map_name: str, location_y: float, strength=1.0, inputs: dic
io_soulstruct/soulstruct/blender/flver/material/shaders/base_node_tree_builder.py:945
↓ 3 callers
Method
_register_chr_loose_tpfs
Find character TPFs in a given loose folder.
io_soulstruct/soulstruct/blender/flver/image/image_import_manager.py:332
↓ 3 callers
Function
add_auto_type_props
Create getter/setter properties for all `names` within `self.type_properties` in `cls`. `cls` type must have a `type_properties` `PropertyGroup`
io_soulstruct/soulstruct/blender/base/soulstruct_object.py:357
↓ 3 callers
Method
apply_visual_state
Sets viewport object color + selection lock based on state.
experimental/map_progress/properties.py:139
↓ 3 callers
Function
copy_armature_pose
Copy pose bone transforms. NOTE: You need to call `context.view_layer.update()` between creating an `Armature` and accessing its `pose`.
io_soulstruct/soulstruct/blender/utilities/bpy_data.py:218
↓ 3 callers
Function
copy_uv_layer
Copy UV data from one layer to another for a specific face.
scripts/fix_uv_wind.py:20
↓ 3 callers
Function
create_basic_material
Create a very basic Blender material with a single diffuse `color`. If `wireframe_pixel_width > 0`, the material will also render a wireframe wit
io_soulstruct/soulstruct/blender/utilities/materials.py:20
↓ 3 callers
Method
create_nvm_quadtree
Create box tree (depth first creation order). NOTE: These boxes should be imported for inspection only. They are automatically generated from
io_soulstruct/soulstruct/blender/navmesh/nvm/types.py:196
↓ 3 callers
Method
does_model_exist
Check if FLVER model already exists in Blender.
io_soulstruct/soulstruct/blender/msb/types/base/models/flver.py:255
↓ 3 callers
Method
duplicate
Duplicate Collision model to a new object. Does not rename (will just add duplicate suffix).
io_soulstruct/soulstruct/blender/collision/types.py:273
↓ 3 callers
Method
export_textures_to_binder_tpf
( self, context, binder: CHRBND_TYPING | OBJBND_TYPING | PARTSBND_TYPING, text
io_soulstruct/soulstruct/blender/flver/models/operators/export_operators.py:389
↓ 3 callers
Function
find_layer_collection
Find a LayerCollection by name, searching recursively through all children of the view layer's root LayerCollection.
io_soulstruct/soulstruct/blender/misc/misc_outliner.py:71
↓ 3 callers
Function
find_layer_collections_re
Find all LayerCollections whose names FULLY match the regular expression `pattern_str`.
io_soulstruct/soulstruct/blender/misc/misc_outliner.py:79
↓ 3 callers
Function
get_animation_name
Takes a template like '##_####' and converts `animation_id` int (e.g. 13000) to a string (e.g. 'a01_3000').
io_soulstruct/soulstruct/blender/animation/utilities.py:136
↓ 3 callers
Function
get_cached_matbinbnd
(operator: LoggingOperator, context: bpy.types.Context)
io_soulstruct/soulstruct/blender/flver/material/properties.py:536
↓ 3 callers
Function
get_cached_mtdbnd
(operator: LoggingOperator, context: bpy.types.Context)
io_soulstruct/soulstruct/blender/flver/material/properties.py:527
↓ 3 callers
Function
get_flvers_from_binder
Find all FLVER files (with or without DCX) in `binder`. By default, only one FLVER file is allowed. If `allow_multiple` is True, multiple FLVER f
io_soulstruct/soulstruct/blender/flver/utilities.py:27
↓ 3 callers
Method
get_game_image_cache_path_prop_name
Get property name for active game's image cache directory.
io_soulstruct/soulstruct/blender/flver/material/properties.py:401
↓ 3 callers
Method
get_game_matbinbnd_path_prop_name
Get property name for MATBINBND path string. Returns empty string if active game does not use MATBINs.
io_soulstruct/soulstruct/blender/flver/material/properties.py:383
↓ 3 callers
Method
get_game_mtdbnd_path_prop_name
Get property name for MTDBND path string. Returns empty string if active game does not use MTDs.
io_soulstruct/soulstruct/blender/flver/material/properties.py:365
↓ 3 callers
Method
get_hkx_material
(cls, hkx_material_index: int, is_hi_res: bool)
io_soulstruct/soulstruct/blender/collision/types.py:316
↓ 3 callers
Method
get_image_texture_nodes
(self, with_image_only=False)
io_soulstruct/soulstruct/blender/flver/material/types.py:556
↓ 3 callers
Method
get_map_stem_for_export
Get map stem for export based on `obj` name, or fall back to settings map stem.
io_soulstruct/soulstruct/blender/general/properties.py:867
↓ 3 callers
Method
get_merged_material_name
We 'factor out' any shared prefix of all diffuse texture names, then add MatDef stem, <BC>, and <flags>. As materials have a 63-character nam
io_soulstruct/soulstruct/blender/flver/material/operators.py:283
↓ 3 callers
Method
get_nvm_event_entities
(self)
io_soulstruct/soulstruct/blender/navmesh/nvm/types.py:90
↓ 3 callers
Method
get_sorted_textures
(self)
io_soulstruct/soulstruct/blender/flver/image/types.py:245
↓ 3 callers
Method
get_suffix
(self)
io_soulstruct/soulstruct/blender/flver/image/enums.py:17
↓ 3 callers
Method
has_import_dir_path
Check if import directory path exists.
io_soulstruct/soulstruct/blender/general/properties.py:515
↓ 3 callers
Method
is_bool_prop_active_and_true
(cls, context: bpy.types.Context, prop_name: str)
io_soulstruct/soulstruct/blender/bpy_base/property_group.py:36
↓ 3 callers
Function
iter_tracked_objects
()
experimental/map_progress/utils.py:18
↓ 3 callers
Method
maybe_draw_export_operator
( self, context: bpy.types.Context, operator_id: str, layout: bpy.types.UILayo
io_soulstruct/soulstruct/blender/bpy_base/panel.py:26
↓ 3 callers
Function
new_armature_object
( name: str, data: bpy.types.Armature, soulstruct_type: SoulstructType = SoulstructType.NONE, )
io_soulstruct/soulstruct/blender/utilities/bpy_data.py:35
↓ 3 callers
Method
new_from_soulstruct_obj
Read a HKX or two (hi/lo) HKXs into a single Blender mesh, with materials representing res/submeshes.
io_soulstruct/soulstruct/blender/collision/types.py:54
↓ 3 callers
Method
new_from_soulstruct_obj
( cls, operator: LoggingOperator, context: bpy.types.Context, soulstruct_obj:
io_soulstruct/soulstruct/blender/navmesh/nvm/types.py:38
↓ 3 callers
Method
poll
(cls, context)
io_soulstruct/soulstruct/blender/utilities/operators.py:135
↓ 3 callers
Method
poll
Must have an active FLVER or Part with an Armature and be working on a game that supports animations.
io_soulstruct/soulstruct/blender/animation/import_operators.py:42
↓ 3 callers
Method
poll
(cls, context)
io_soulstruct/soulstruct/blender/navmesh/nvmhkt/model_import/operators.py:297
↓ 3 callers
Method
rename
Just renames object and data.
io_soulstruct/soulstruct/blender/collision/types.py:284
↓ 3 callers
Method
run
( cls, armature_obj: ArmatureObject, mesh_obj: MeshObject, model_name: str,
io_soulstruct/soulstruct/blender/animation/misc_operators.py:62
↓ 3 callers
Method
scan_binder_textures
Register all TPFs in an arbitrary opened Binder (usually the one containing the FLVER) as pending sources.
io_soulstruct/soulstruct/blender/flver/image/image_import_manager.py:186
↓ 3 callers
Method
set_active_obj
(obj: bpy.types.Object)
io_soulstruct/soulstruct/blender/utilities/operators.py:106
↓ 3 callers
Method
sync_pass_index
Keep Object.pass_index aligned with our enum for tint masks.
experimental/map_progress/properties.py:147
↓ 3 callers
Method
to_4x4
(self)
io_soulstruct/soulstruct/blender/utilities/conversion.py:256
↓ 3 callers
Method
to_dds_data_batch
Batch convert all textures in this collection to DDS format using `texconv`. Returns DDS data and actual DDS format used. TODO: Need
io_soulstruct/soulstruct/blender/flver/image/types.py:250
↓ 3 callers
Method
to_interleaved_animation_hkx
Animation data is easier to export from Blender than import, as we can just read the bone transforms on each frame in Armature space directly
io_soulstruct/soulstruct/blender/animation/types.py:679
↓ 2 callers
Method
_add_keyframes_batch
Faster method of adding all bone and (optional) root keyframe data. Constructs `FCurves` with known length and uses `foreach_set` to batch-se
io_soulstruct/soulstruct/blender/animation/types.py:587
↓ 2 callers
Method
_bl_entry_ref_to_msb_entry_ref
Convert Blender object reference to MSB entry reference. Has wrappers for Part, Event, and Region references. Model references use a separate
io_soulstruct/soulstruct/blender/msb/types/adapters/reference.py:193
↓ 2 callers
Method
_build_ds1_diffuse_no_light_shader
This shader is used for objects that don't receive lighting, like the skybox.
io_soulstruct/soulstruct/blender/flver/material/shaders/darksouls1ptde/node_tree_builder.py:105
↓ 2 callers
Method
_build_ds1_normal_to_alpha_shader
Same as the diffuse no-light shader, but also fades out the object past certain viewing angles.
io_soulstruct/soulstruct/blender/flver/material/shaders/darksouls1ptde/node_tree_builder.py:168
↓ 2 callers
Method
_build_ds1_water_shader
Water shader for PTDE and DS1R. Uses the texture in the normal map sampler as a heightmap, sampled at 3 different tile scales.
io_soulstruct/soulstruct/blender/flver/material/shaders/darksouls1ptde/node_tree_builder.py:124
↓ 2 callers
Function
_build_specular_processing_node_group
(tree: bpy.types.NodeTree, is_metallic: bool)
io_soulstruct/soulstruct/blender/flver/material/shaders/node_groups.py:25
↓ 2 callers
Method
_color_tex_to_bsdf_node
( self, sampler: MatDefSampler, tex_image_node: bpy.types.ShaderNodeTexImage,
io_soulstruct/soulstruct/blender/flver/material/shaders/base_node_tree_builder.py:503
↓ 2 callers
Function
_create_bl_mesh_from_merged_mesh
Create Blender Mesh with plenty of efficient `foreach_set()` calls to raveled `MergedMesh` arrays. Returns two arrays of bone indices and bone we
io_soulstruct/soulstruct/blender/flver/models/types/bl_flver/_import.py:366
↓ 2 callers
Function
_create_bone_vertex_groups
( mesh: MeshObject, bl_bone_names: list[str], bl_vert_bone_weights: np.ndarray, bl_vert_bone_i
io_soulstruct/soulstruct/blender/flver/models/types/bl_flver/_import.py:455
↓ 2 callers
Function
_export_msb
Export `MSB` from Blender. Given `map_stem` will be the map stem that is baked into MSB entries, e.g. for SIB paths. It should match the MSB'
io_soulstruct/soulstruct/blender/msb/export_operators.py:41
↓ 2 callers
Method
_get_collision_model_map_collection
(context: bpy.types.Context, map_stem: str)
io_soulstruct/soulstruct/blender/msb/types/base/models/collision.py:97
↓ 2 callers
Method
_get_combined_normal_and_detail_socket
(self, normal_socket: NodeSocket)
io_soulstruct/soulstruct/blender/flver/material/shaders/darksouls1ptde/node_tree_builder.py:200
↓ 2 callers
Method
_get_groups_props
Get the appropriate number of draw group properties for the given bit count (128 or 256).
io_soulstruct/soulstruct/blender/msb/types/adapters/groups.py:62
↓ 2 callers
Function
_get_layer_collection_recursive
Return a dictionary mapping LayerCollection names to LayerCollection objects, searching recursively.
io_soulstruct/soulstruct/blender/misc/misc_outliner.py:91
↓ 2 callers
Method
_get_part_subtype
Detect Part subtype that given model object should be used for. Uses prefix of FLVER model name to resolve FLVER part subtype.
io_soulstruct/soulstruct/blender/msb/misc_operators.py:327
↓ 2 callers
Method
_get_remo_part_cut_arma_frames_or_counts
For each cut, get the Armature-space frames for the given `remo_part` or a frame count if not in cut. Each frame maps bone names to a `TRSTra
io_soulstruct/soulstruct/blender/cutscene/import_operators.py:225
↓ 2 callers
Function
_get_selected_msb_geometry_objects
Get all selected objects that have an MSB Part geometry subtype.
experimental/material_debug/operators.py:16
↓ 2 callers
Method
_handle_missing_hkx
Can be overridden to handle specific missing models (e.g. known DSR vanilla mistakes).
io_soulstruct/soulstruct/blender/msb/types/base/models/collision.py:89
↓ 2 callers
Function
_iface_socket
(ng: bpy.types.NodeTree, name: str, in_out: str, socket_type: str)
experimental/material_debug/nodes.py:15
↓ 2 callers
Function
_import_msb
( operator: LoggingOperator, context: Context, msb: MSB_TYPING, msb_stem: str, oldest_map_stem: str )
io_soulstruct/soulstruct/blender/msb/import_operators.py:54
↓ 2 callers
Method
_load_tpf
(self, tpf_stem)
io_soulstruct/soulstruct/blender/flver/image/image_import_manager.py:426
↓ 2 callers
Method
_msb_entry_ref_to_bl_entry_ref
Convert MSB entry reference to Blender object reference (may be a created Empty added now to `missing_collection_name`). Note that we
io_soulstruct/soulstruct/blender/msb/types/adapters/reference.py:157
↓ 2 callers
Method
_new_bsdf_shader_node_group
Create a new `ShaderNodeGroup` of the given name type, or import it from the packaged blend file. Positions group node at the current BSDF_X
io_soulstruct/soulstruct/blender/flver/material/shaders/base_node_tree_builder.py:963
↓ 2 callers
Method
_new_principled_bsdf_node
(self, bsdf_name: str, label: str = "")
io_soulstruct/soulstruct/blender/flver/material/shaders/base_node_tree_builder.py:933
↓ 2 callers
Method
_process_file_dcx_path
Process path with given `dcx_type`, or default game DCX type for file suffix if `dcx_type` is `None`.
io_soulstruct/soulstruct/blender/general/game_structure.py:130
↓ 2 callers
Method
_read_props_from_soulstruct_obj
Read subtype fields as well as type fields. Skips MSB reference fields, which are read after all Blender entries are created.
io_soulstruct/soulstruct/blender/msb/types/base/entry.py:83
↓ 2 callers
Method
_register_chr_texbnd
Find character TPFs in a TEXBND next to the CHRBND. (Always DCX for games that use it.)
io_soulstruct/soulstruct/blender/flver/image/image_import_manager.py:363
↓ 2 callers
Method
_register_map_area_textures
Register TPFBHD Binders and loose TPFs in a specific `map_area_dir` 'mAA' map directory.
io_soulstruct/soulstruct/blender/flver/image/image_import_manager.py:269
↓ 2 callers
Method
_register_tpfs_in_dir
Register all loose TPF files in `tpf_dir` as pending sources.
io_soulstruct/soulstruct/blender/flver/image/image_import_manager.py:315
↓ 2 callers
Function
_repair_event_subtype
(obj: bpy.types.Object, dry_run=False)
scripts/repair_msb_subtypes.py:92
↓ 2 callers
Function
_repair_region_subtype
All regions use 'All' subtype.
scripts/repair_msb_subtypes.py:81
↓ 2 callers
Function
_restore_initial_transform
(bl_part_obj: bpy.types.Object, bl_part_transform_obj: bpy.types.Object)
io_soulstruct/soulstruct/blender/msb/misc_operators.py:1248
↓ 2 callers
Function
_rotate_uv_map
(operator: LoggingOperator, context, angle_rad: float)
io_soulstruct/soulstruct/blender/flver/models/operators/uv_operators.py:193
↓ 2 callers
Function
_update_initial_transform
(bl_part_obj: bpy.types.Object, bl_part_transform_obj: bpy.types.Object)
io_soulstruct/soulstruct/blender/msb/misc_operators.py:1268
↓ 2 callers
Function
_update_visuals_for_object
(context: bpy.types.Context, obj: bpy.types.Object, set_timestamp=False)
experimental/map_progress/operators.py:203
↓ 2 callers
Function
a_star
Find shortest path between two faces in a BMesh using A* algorithm. If `all_faces_passable` is `True`, the cost of each step is simply the distan
io_soulstruct/soulstruct/blender/nav_graph/utilities.py:32
↓ 2 callers
Method
blender_to_soulstruct
( self, operator: LoggingOperator, context: bpy.types.Context, bl_obj: BaseBle
io_soulstruct/soulstruct/blender/msb/types/adapters/reference.py:104
↓ 2 callers
Method
build
Build a shader node tree using shader/sampler information from given `MatDef`.
io_soulstruct/soulstruct/blender/flver/material/shaders/base_node_tree_builder.py:75
↓ 2 callers
Function
camel_to_snake
(name)
io_soulstruct/soulstruct/blender/utilities/bpy_autocomplete.py:7
↓ 2 callers
Method
check_hkx_entry_model_id
Checks if the given HKX Binder entry matches the given collision model ID.
io_soulstruct/soulstruct/blender/collision/import_operators.py:185
↓ 2 callers
Method
copy_model_armature_pose
(self)
io_soulstruct/soulstruct/blender/msb/types/base/parts.py:184
← previous
next →
101–200 of 1,257, ranked by callers