Commit Graph

419 Commits

Author SHA1 Message Date
Colin Basnett
00d9e3996c Fixed an issue where ACTIVE_ACTION sequence source was not working
Also added a scene-level transform source.
2025-05-18 00:46:50 -07:00
Colin Basnett
ff2fe35846 Incremented version to 8.1.2 8.1.2 2025-05-06 19:09:32 -07:00
Colin Basnett
f6fa646a63 Minor formatting fixes for sort_and_normalize_weights 2025-05-06 19:08:41 -07:00
Colin Basnett
16471344f0 Fix #129: PSK can be imported into UT2 with incorrect weighting
Weights within the PSK are now sorted by point_index and have their weights normalized.
2025-05-06 18:48:44 -07:00
Colin Basnett
172249dfff Improved error reporting for multiple armature exports
When exporting multiple armatures, the Export Space must be set to World Space. The user may not intended to be doing a multi-armature export, so the error message has been updated to list the armatures attempting to be exported.
2025-04-16 16:53:25 -07:00
Colin Basnett
0b30161cd7 Fixed an error that could occur on export if material name lookup failed 2025-04-16 16:49:55 -07:00
Colin Basnett
e66f7f98e2 Reorganized the README 2025-04-15 17:50:00 -07:00
Colin Basnett
879c3cbaf6 Added script to run tests from the host machine 2025-04-15 16:28:41 -07:00
Colin Basnett
2e7814804d Incremented version to 8.1.1 8.1.1 2025-04-10 12:13:10 -07:00
Colin Basnett
2f972a31df Merge branch 'master' of https://github.com/DarklightGames/io_scene_psk_psa 2025-04-10 12:12:13 -07:00
Colin Basnett
18915b3d86 Fixed a logic error that would incorrectly always conjugate the rotation of the root bone 2025-04-10 12:12:07 -07:00
Colin Basnett
5ea7e23cb9 Update main.yml 2025-04-07 14:16:28 -07:00
Colin Basnett
385acd40bb Update main.yml 2025-04-07 11:31:42 -07:00
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