Skip to content

Commit 49b03f9

Browse files
committed
Support Blender 4.4, minor tweaks
- init functions to support Blender 4.4 - Set YX as default bone orientation mode - Set user facing strings to be more game-agnostic
1 parent 02cc707 commit 49b03f9

8 files changed

Lines changed: 25 additions & 23 deletions

File tree

Blender/FrontiersAnimationTools/FrontiersAnimDecompress/FrontiersAnimDecompress.dll goes here

Whitespace-only changes.

Blender/FrontiersAnimationTools/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@
1212

1313

1414
bl_info = {
15-
"name": "Sonic Frontiers Animation Tools",
15+
"name": "Hedgehog Engine PXD Animation Tools",
1616
"author": "AdelQ, WistfulHopes, Turk645",
17-
"version": (2, 1, 2),
17+
"version": (2, 1, 3),
1818
"blender": (4, 1, 0),
1919
"location": "File > Import/Export",
2020
"description": "Animation and skeleton importer/exporter for Hedgehog Engine 2 games with compressed animations",
2121
# TODO: Update HedgeDocs for this tool
2222
# "doc_url": "https://hedgedocs.com/guides/hedgehog-engine/rangers/animation/import-export/",
23-
"tracker_url": "https://github.com/WistfulHopes/FrontiersAnimDecompress/issues/",
23+
"tracker_url": "https://github.com/WistfulHopes/PXDAnimationTools/issues/",
2424
"category": "Import-Export",
2525
}
2626

Blender/FrontiersAnimationTools/animation/anim_export.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ def anim_export(self_pass, filepath, arm_active, action_active, start_frame, end
185185
class FrontiersAnimExport(bpy.types.Operator, ExportHelper):
186186
bl_idname = "export_anim.frontiers_anim"
187187
bl_label = "Export"
188-
bl_description = "Exports compressed Sonic Frontiers animation"
188+
bl_description = "Exports compressed Hedgehog Engine 2 PXD animation"
189189
bl_options = {'PRESET', 'UNDO'}
190190
filename_ext = ".pxd"
191191
filter_glob: StringProperty(
@@ -197,8 +197,8 @@ class FrontiersAnimExport(bpy.types.Operator, ExportHelper):
197197

198198
bool_yx_skel: BoolProperty(
199199
name="Use YX Bone Orientation",
200-
description="Enable if your skeleton was reoriented for Blender's YX orientation instead of Frontiers' XZ",
201-
default=False,
200+
description="Enable if your skeleton was reoriented for Blender's YX orientation instead of HE2's XZ",
201+
default=True,
202202
)
203203

204204
bool_root_motion: BoolProperty(
@@ -290,7 +290,7 @@ def execute(self, context):
290290
def menu_func_export(self, context):
291291
self.layout.operator(
292292
FrontiersAnimExport.bl_idname,
293-
text="Frontiers Compressed Animation (.anm.pxd)",
293+
text="Hedgehog Engine 2 Animation (.anm.pxd)",
294294
icon='ACTION'
295295
)
296296

Blender/FrontiersAnimationTools/animation/anim_import.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -205,20 +205,20 @@ def __init__(self, file):
205205
class FrontiersAnimImport(bpy.types.Operator, ImportHelper):
206206
bl_idname = "import_anim.frontiers_anim"
207207
bl_label = "Import"
208-
bl_description = "Imports compressed Sonic Frontiers animation"
208+
bl_description = "Imports compressed Hedgehog Engine 2 PXD animation"
209209
bl_options = {'PRESET', 'UNDO'}
210-
filename_ext = ".pxd"
210+
filename_ext = ".anm.pxd"
211211
filter_glob: StringProperty(
212-
default="*.pxd",
212+
default="*.anm.pxd",
213213
options={'HIDDEN'},
214214
)
215215
filepath: StringProperty(subtype='FILE_PATH', )
216216
files: CollectionProperty(type=bpy.types.PropertyGroup)
217217

218218
bool_yx_skel: BoolProperty(
219219
name="Use YX Bone Orientation",
220-
description="Enable if your skeleton was reoriented for Blender's YX orientation instead of Frontiers' XZ",
221-
default=False,
220+
description="Enable if your skeleton was reoriented for Blender's YX orientation instead of HE2's XZ",
221+
default=True,
222222
)
223223

224224
bool_root_motion: BoolProperty(
@@ -246,7 +246,8 @@ class FrontiersAnimImport(bpy.types.Operator, ImportHelper):
246246
default="loop_no",
247247
)
248248

249-
def __init__(self):
249+
def __init__(self, *args, **kwargs):
250+
super().__init__(*args, **kwargs)
250251
self.bool_skel_conv = False
251252
self.keyframe_rules = set()
252253
self.frame_count_loop = 0
@@ -608,6 +609,6 @@ def import_uncompressed(self, arm_active, anim_file, anim_data):
608609
def menu_func_import(self, context):
609610
self.layout.operator(
610611
FrontiersAnimImport.bl_idname,
611-
text="Frontiers Compressed Animation (.anm.pxd)",
612+
text="Hedgehog Engine 2 Animation (.anm.pxd)",
612613
icon='ACTION',
613614
)

Blender/FrontiersAnimationTools/animation/batch_export.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
class FrontiersAnimBatchExport(bpy.types.Operator, ExportHelper):
1414
bl_idname = "export_anim.frontiers_anim_batch"
1515
bl_label = "Export"
16-
bl_description = "Batch exports compressed Sonic Frontiers animations"
16+
bl_description = "Batch exports compressed Hedgehog Engine 2 animations"
1717
bl_options = {'PRESET', 'UNDO'}
1818
filename_ext = ""
1919

@@ -22,8 +22,8 @@ class FrontiersAnimBatchExport(bpy.types.Operator, ExportHelper):
2222

2323
bool_yx_skel: BoolProperty(
2424
name="Use YX Bone Orientation",
25-
description="Enable if your skeleton was reoriented for Blender's YX orientation instead of Frontiers' XZ",
26-
default=False,
25+
description="Enable if your skeleton was reoriented for Blender's YX orientation instead of HE2's XZ",
26+
default=True,
2727
)
2828

2929
bool_start_zero: BoolProperty(
@@ -35,7 +35,8 @@ class FrontiersAnimBatchExport(bpy.types.Operator, ExportHelper):
3535
default=False,
3636
)
3737

38-
def __init__(self):
38+
def __init__(self, *args, **kwargs):
39+
super().__init__(*args, **kwargs)
3940
self.bool_root_motion = False
4041
self.bool_compress = True
4142
self.bool_additive = False

Blender/FrontiersAnimationTools/skeleton/skeleton_export.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ class HedgehogSkeletonExport(bpy.types.Operator, ExportHelper):
6969
use_yx_orientation: BoolProperty(
7070
name="Convert from YX Bone Orientation",
7171
description="If your skeleton was imported from XZ to YX to function better in Blender, use this option to switch bones back from YX to XZ (important for in-game IK)",
72-
default=False,
72+
default=True,
7373
)
7474

7575
def draw(self, context):

Blender/FrontiersAnimationTools/skeleton/skeleton_import.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ class HedgehogSkeletonImport(bpy.types.Operator, ImportHelper):
2020
bl_label = "Import"
2121
bl_description = "Imports PXD skeleton from Hedgehog Engine 2 games"
2222
bl_options = {'PRESET', 'UNDO'}
23-
filename_ext = ".pxd"
23+
filename_ext = ".skl.pxd"
2424
filter_glob: StringProperty(
25-
default="*.pxd",
25+
default="*.skl.pxd",
2626
options={'HIDDEN'},
2727
)
2828
filepath: StringProperty(subtype='FILE_PATH', )
@@ -31,7 +31,7 @@ class HedgehogSkeletonImport(bpy.types.Operator, ImportHelper):
3131
use_yx_orientation: BoolProperty(
3232
name="Convert to YX Bone Orientation",
3333
description="Reorient bones from XZ to YX to make bones coincide with limbs and enable mirror support",
34-
default=False,
34+
default=True,
3535
)
3636

3737
get_bone_lengths: BoolProperty(

Blender/FrontiersAnimationTools/ui/side_panel.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616

1717
class FrontiersAnimationPanel(bpy.types.Panel):
18-
bl_label = "Frontiers Animation"
18+
bl_label = "PXD Animation Tools"
1919
bl_idname = "OBJECT_PT_frontiers_tools"
2020
bl_space_type = 'VIEW_3D'
2121
bl_region_type = 'UI'

0 commit comments

Comments
 (0)