Goober5000
39213b9d75
Merge pull request #3979 from Goober5000/model_translation_phase_1
...
refactoring in preparation for model translation
2022-01-30 13:47:59 -05:00
BMagnu
79be6bb32d
Fix edge case for turret lookup with template and display name ( #3981 )
2022-01-30 13:14:33 -05:00
BMagnu
cacb1baa50
Improve Animation SEXP usability ( #3976 )
...
* Make the new animation SEXP use proper field checking and add suggested entries
* Clarify the animation SEXP description text
2022-01-30 10:27:30 +09:00
Goober5000
97952d6b6c
refactoring in preparation for model translation
...
Mostly renaming of fields and functions, and moving some modelread sections into functions. This reorganization will put the code on a better footing for the model translation feature. No model translation code is included yet, and there should be no change in functionality.
2022-01-29 15:53:21 -05:00
Birk Magnussen
e58af85c03
Keep canonical_prev_orient correct
2022-01-29 11:21:20 +09:00
Birk Magnussen
adfc8e0db9
Log addition of Can_move flag
2022-01-29 11:18:52 +09:00
Birk Magnussen
e862c2775e
Tidy up
2022-01-28 16:34:39 +09:00
Birk Magnussen
3aa44671d5
Set can move flag for all submodels that have been requested by the animations
2022-01-28 16:30:27 +09:00
BMagnu
17bcaebd58
Add axis rotation Animation Segment ( #3966 )
...
* Add axis rotation segment
* Add axis rotation moveable
* Clang
* Fix clang tidy
2022-01-27 11:16:45 +09:00
BMagnu
21d4690ebb
Inverse Kinematics for Animations ( #3962 )
...
* Add FABRIK IK solver
* Add IK constraints
* Finish IK table entry
* Add IK Moveable and fix some edge cases
* Clang Fixes
* Implement feedback
2022-01-26 19:56:39 +09:00
BMagnu
1b118e9b5e
Fix lab animation triggers ( #3965 )
2022-01-26 16:08:31 +09:00
BMagnu
9352835a00
Fix reverse instant trigger edge case ( #3956 )
2022-01-24 21:46:47 +09:00
BMagnu
4e0cb87b0c
properly calc anim for instant ( #3928 )
2022-01-16 15:07:16 +09:00
BMagnu
dd7bd1fb72
Animation Rework, Phase 4: Moveables ( #3904 )
...
* Add C++11 std::any implementation
* Add basic moveable functionality
* Add rotation moveable
* Revise Segment Parsing Register
Because apparently, the linker and I disagree on which symbols should be discarded when linked into the final application...
* Fix small problems
* Address feedback
* Address feedback 2
2022-01-12 14:54:28 +09:00
BMagnu
1c19199df3
Animation Rework Phase 3, Turret fix ( #3877 )
...
* Change animation turret canonicalization to now correctly calculate the closest natual turret positon
* Add angle error to vm function for convenience
* Div by Zero safety for non IEEE compliant systems
* Incorporate style changes
2022-01-03 18:54:11 +00:00
BMagnu
9930d435a2
Animation Rework Phase 3 - Fixes for Multi ( #3846 )
...
* Switch Multimsg to use netsig for animations
* Unique-ify animation ID's
* Clang Tidy
* Implement first suggestions
* Implement suggestions 2
* Add get model instance safeguard
2021-12-25 03:01:13 +09:00
BMagnu
79283d9002
Animation Rework: Phase 3 ( #3793 )
...
* Refactor submodel handling by animation code
* Add Animation Flags
* Add Codeowner for animations
* Add new Animation Table
* Time Fix
* Weapon Launched trigger + bugfixes
* cleanup rebase artifact
* Add WeaponFired triggers
* Table deprec
* Allow multiple animations on the same trigger
* Add Translation segment
* Integrate new Animation workflow
* Small Fixes
* Submodel not found safety
* Add Pause
* Also allow dockport name
* Update Animation SEXP/Scripting + fix change ship class issue
* Multi fix + disable old animation sexp
* Weapon Scripting Function
* Fix bugs and replace bind
* Add onspawn trigger type
* Fix issue on ship death
* Fix Absolute Rotation
* Fix erroneous application of animation, add random start phase
* Disable Translation
* Fix Clang
* Incorporate feedback
* Incorporate feedback 2
2021-12-10 14:44:13 +09:00
David Gibson
c3afeffe7f
Style fix
2021-11-20 19:59:09 -06:00
David Gibson
dba56a1fd9
guard against trying to animate non-existent submodels in more places.
2021-11-20 19:00:15 -06:00
BMagnu
0ba5754c30
Add nullptr safety for animations ( #3738 )
...
* Add nullptr safety
* Greatly simplify docking animation logic
* Fix warnings
* Address Feedback
2021-10-21 21:18:31 +00:00
David Gibson
2034a3e9e5
Protected against trying to animate non-existant submodels in at least one case
2021-10-16 21:18:28 -05:00
BMagnu
12be7576f7
Animation Overhaul: Phase 2 ( #3609 )
...
* Add Generic Rotation Segment
* SEXPd rotations work
* Fully replace old animation system
* Add sound segment
* Fixes
* Trigger Hangarbay doors for lone player without AI
* Address Warnings
* Fix Docking ANimations + some bugs
* Fix sound issue + docking bug
* fix bugs, add multi handling
* Change direction into enum class
* Address feedback
* Futher clean aicode
* Address feedback
* Add Multi packet constexprs
* Fix multi constexprs
* Clarify AIS_DOCK comments
* Address multi issues
* Clang somehow detects issues where there are none...
2021-10-06 08:50:58 +09:00
Birk Magnussen
aee9dc6910
Fixed bad stepAnimations call, added initial-type optimizations
2021-08-09 14:36:57 +09:00
Birk Magnussen
1187ebbc2c
GCC Warnings
2021-08-02 23:33:26 +09:00
Birk Magnussen
d92fab80ef
Find turrets by sip name (since index can change) and make pointers shared
2021-08-02 22:35:41 +09:00
Birk Magnussen
77a255af63
GCC Warnigns
2021-07-30 18:05:46 +09:00
Birk Magnussen
45c904c25e
Fixed memory issue and turret-specific animation handling cases
2021-07-30 17:08:24 +09:00
Birk Magnussen
7228244f0c
Add forced animation start mode
2021-07-29 20:46:37 +09:00
Birk Magnussen
f0f5679731
Fix flipped turret values
2021-07-29 20:21:01 +09:00
Birk Magnussen
5709e24e9a
save by PMI id not PMI*, rename 'time' variable
2021-07-23 13:17:11 +09:00
Birk Magnussen
b58b60b555
Fix Constructor Order
2021-07-23 03:31:06 +09:00
Birk Magnussen
3b0e02545e
Move Animations from ship* to pmi*
2021-07-23 03:12:54 +09:00
Birk Magnussen
c6b75d3561
Add forgotten Animation Instancing
2021-06-18 04:09:03 +09:00
Birk Magnussen
390f979b7c
Small parse improvement + english fixes
2021-06-16 13:51:55 +09:00
Birk Magnussen
bd6dae97a7
Fixed Code for GCC and C++11
2021-06-16 02:10:30 +09:00
Birk Magnussen
d0948e67e3
Tidy up some new code into separate functions
2021-06-15 13:27:08 +09:00
Birk Magnussen
a9e5505a7c
Added Comments, light refactoring
2021-06-11 13:39:55 +09:00
Birk Magnussen
fb657c081c
Turret fix
2021-06-09 16:04:59 +09:00
Birk Magnussen
7945baa751
Fix turret detection
2021-06-09 15:56:28 +09:00
Birk Magnussen
e9a2ff0ebf
Fix proper duration handling of segments and full anims
2021-06-09 15:03:46 +09:00
Birk Magnussen
384b2e20c7
Integrate Initial Type animations
2021-06-08 21:28:15 +09:00
Birk Magnussen
20e742ed61
Generate Animations for initial-type animations
2021-06-08 14:45:35 +09:00
Birk Magnussen
6aecc4660d
Add forced caching of submodelID
2021-06-04 15:52:08 +09:00
Birk Magnussen
c915bfd474
Appropriate refactoring of ModelAnimationSubSYSTEM -> model
2021-06-04 15:48:05 +09:00
Birk Magnussen
bd2356600f
Actually use new constructor
2021-06-04 15:42:31 +09:00
Birk Magnussen
9c6cc422ac
Improve Code. Operate on Submodels, not subsystems.
2021-06-04 15:36:32 +09:00
Birk Magnussen
a113897c88
Fix some startup logic
2021-06-03 16:51:57 +09:00
Birk Magnussen
4ee04f2492
Fix oversight for ModelAnimationSubsystem
2021-06-03 16:51:56 +09:00
Birk Magnussen
093a471602
Beginnings of new System
2021-06-03 16:51:48 +09:00