Commit Graph

406 Commits

Author SHA1 Message Date
Colin Basnett
5cfb883a32 Minor README cleanup & added pycov for local testing 2025-04-06 00:44:54 -07:00
Colin Basnett
289361f3e1 Removed bpy reference from shared data
This is in preparation for making the PSK/PSA IO available to test
infrastructure
8.1.0
2025-04-03 02:17:42 -07:00
Colin Basnett
e986f94081 Added Dockerfile that runs the tests & VS code action
This will be how tests are executed locally
2025-04-03 02:13:04 -07:00
Colin Basnett
8471cc1996 Added simple PSA import test
Just validates that the actions get imported.
2025-04-02 17:34:58 -07:00
Colin Basnett
6369d4997e Added LFS checkout in GHA 2025-04-02 16:23:00 -07:00
Colin Basnett
fd11de05ae Re-added PSKX with LFS 2025-04-02 16:22:47 -07:00
Colin Basnett
6241cba629 Removed non-LFS PSKX 2025-04-02 16:22:30 -07:00
Colin Basnett
f8071ea394 Added PSKX to LFS tracking 2025-04-02 16:21:43 -07:00
Colin Basnett
aa103a76d0 Fixed error handling 2025-04-02 16:12:57 -07:00
Colin Basnett
00edde0605 Improved error handling during PSK read errors 2025-04-02 16:04:45 -07:00
Colin Basnett
76ee7c2df9 Tests should be correctly run in automation now 2025-04-02 15:34:52 -07:00
Colin Basnett
2b347bf064 Added automated tests (testing PSA import for now, more to come) 2025-04-02 15:12:23 -07:00
Colin Basnett
977153e4ad Added test files to LFS 2025-04-02 15:10:14 -07:00
Colin Basnett
30f97089e8 More formatting cleanup 2025-03-30 23:43:56 -07:00
Colin Basnett
15614c6d37 Loads of cleanup 2025-03-30 23:36:12 -07:00
Colin Basnett
322844b88c Removed all wildcard imports & ordered import statements alphabetically 2025-03-30 18:27:47 -07:00
Colin Basnett
16a11cd961 Fixed a bug where material slots could end up empty when importing PSKs
The material slots would end up empty if the BDK texture lookup failed.
This change ensures that a new black material is created if any of the
other lookups fail (local data blocks or BDK asset lookup).
2025-03-30 18:22:49 -07:00
Colin Basnett
7c695e6195 Multi-armature mesh and animation export now working 2025-03-30 12:08:44 -07:00
Colin Basnett
91fe54f361 Loads of changes
* Now asserting instead of throwing exceptions in some cases where we
don't want to fail gracefully
* Added "export space" option for PSA & PSK exports.
* Removed "Root Motion" option in PSA export, replace with a "Root"
  export space.
* Added support for exporting multiple armatures to a PSK (only works
  for collection exporter atm)
* More graceful error handling for IO errors (i.e., writing to a
   for which the user doesn't have permission)
* Proper handling for slotted actions.
2025-03-28 22:48:08 -07:00
Colin Basnett
1f6cbe7fb4 Update README.md 2025-03-20 01:02:05 -07:00
Colin Basnett
a809700c2b Fix for broken behavior in is_action_for_object when dealing with legacy slots
New behavior is more robust now too.
2025-03-18 12:29:14 -07:00
Colin Basnett
5203ae1d7e Moved SemanticVersion class to semver file from generic `helpers file 2025-03-11 12:46:34 -07:00
Colin Basnett
f7c85e7226 Fixed name of import functions (functions named import is not possible due to Python syntax) 2025-03-11 12:45:22 -07:00
Colin Basnett
cea9029877 Fix for error reporting if populate_bone_collection_list encountered an error 2025-03-11 12:43:35 -07:00
Colin Basnett
d2606c9d4c Merge branch 'master' of https://github.com/DarklightGames/io_scene_psk_psa 2025-02-10 16:30:49 -08:00
Colin Basnett
3c2f0c4d7c Fixed naming and description of new operator 2025-02-10 16:30:43 -08:00
Colin Basnett
9bfc35e044 Update README.md 2025-02-10 15:59:37 -08:00
Colin Basnett
b855abaadb Impemented #120: Multiple PSKs can be imported at once with drag-and-drop 2025-02-10 14:12:30 -08:00
Colin Basnett
d66cd09660 Added a warning when user doesn't select any sequences to be exported 2025-02-09 20:08:41 -08:00
Colin Basnett
814496d075 Incremented version to 8.1.0 2025-02-06 21:14:36 -08:00
Colin Basnett
5f3bfc0ff3 Fix for error when exporting mesh with no armature 2025-02-06 21:10:13 -08:00
Colin Basnett
d1bae944f1 Refactoring and fixing issues with PSK exports with non-default forward & up axes 2025-01-31 00:39:24 -08:00
Colin Basnett
bea245583f Fixed FileHandler registration 2025-01-20 19:57:51 -08:00
Colin Basnett
0e2e265b47 Actions that begin with ! will now also only export the first frame
This functionality was previously only added for pose and timeline markers
2025-01-20 19:57:37 -08:00
Colin Basnett
d61f1cefd1 Improved reporting for PSA drag & drop operator 2025-01-17 15:05:54 -08:00
Colin Basnett
fffecd8c7f Added script-only bpy.ops.psa.import_all operator so that users can automate PSA imports
Previously this was not really possible because the PSA import operator
was interactive and required the sequence name list to be populated.
This new operator simply imports everything from the PSA.
2025-01-17 14:53:59 -08:00
Colin Basnett
fec1a286ef Major overhaul to Python operator paths
Also started using mixin classes instead of ugly class annotation
ammendments. Various other clean-up items as well including using
generators where appropriate instead of returning full lists etc.

All the Python facing operators are now within `bpy.ops.psk` and
`bpy.ops.psa`. Before, they were scattered in a bunch of different
places because I wasn't really paying attention to consistency.
2025-01-17 14:52:31 -08:00
Colin Basnett
2b41815545 Fixed issue where parented bone collections would not be selectable in the bone collection list 2025-01-13 12:05:38 -08:00
Colin Basnett
a83314c8b3 Fixed bug when bone collections would not be visible on the collection exporter 2025-01-13 12:03:26 -08:00
Colin Basnett
f8234b3892 Added cross-version compatibility for is_action_for_armature function 2025-01-13 12:02:13 -08:00
Colin Basnett
35ac0bf86c Added sampling mode and changed the default sampling mode to be "Interpolated" rather than "Subframe" 2025-01-05 18:22:03 -08:00
Colin Basnett
515ee17203 Added the ability to define a custom compression ratio for PSA export 2025-01-05 15:43:11 -08:00
Colin Basnett
0a5ebf4548 Fixed dependency issue in automation script 2024-12-31 00:23:03 -08:00
Colin Basnett
de1cf2316a Incremented version to 8.0.0 2024-12-31 00:21:08 -08:00
Colin Basnett
c1d5a2229d Unified handling of translating bpy PSK options to the options passed into the build function
Also fixed a bug where the normal export operator was exporting duplicate objects
2024-12-27 14:59:22 -08:00
Colin Basnett
ff5ded004a Fix for error if any selected armatures had no actions or animation data when exporting PSAs 2024-12-10 02:52:25 -08:00
Colin Basnett
ea2ecc6a5a Removed debugging line 2024-12-09 00:06:35 -08:00
Colin Basnett
ef559d9475 Added an export list to the PSA export dialog for active actions 2024-12-08 14:43:37 -08:00
Colin Basnett
491e042cec Added a number of new features:
* Added "Active Action" as the sequence type, allowing the user to
  select multiple armatures with the same data block and export an
  action for each one.
* Added a "Scale" option for PSA export when exporting animations
  for an armature that had been scaled on export.
* You are now able to export meshes without materials.
2024-12-08 03:01:23 -08:00
Colin Basnett
9b0df1c942 Fixed Blender 4.3 compatiblity error 2024-12-04 18:50:49 -08:00