-
-
Notifications
You must be signed in to change notification settings - Fork 114
IsSimpleDeployer rework & improvements #1831
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
IsSimpleDeployer rework & improvements #1831
Conversation
Nightly build for this pull request:
This comment is automatic and is meant to allow guests to get latest nightly builds for this pull request without registering. It is updated on every successful build. |
Can the IsSimpleDeployer and passenger Unload functions be separated?while NoManualUnload=yes |
Probably doable but I think conditional changes on deploy cursor and/or deploy functionality itself is something that should be explored outside this PR. For any people who may be testing, waypoint mode not working correctly on jumpjet units with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, only a minor issue.
Additionally, I think that return condition ? addr1 : addr2;
may be better?
- Fix issue causing non-BalloonHover jumpjets not landing correctly - Fix issue causing IsSimpleDeployer jumpjets to not use waypoint mode correctly - Apply some minor optimizations to the drawing hook
196c4e9
to
07aaeac
Compare
Refactoring / code changes
IsSimpleDeployer
logic, all deploy logic save for the 'aftermath' aka resetting unit to guard mission (and handling Ares' type conversion) is now handled on Phobos' side. Any Ares code besides the aforementioned type conversion is disabled if Phobos is active.IsSimpleDeployer
code fromHooks.Unload.cpp
toHooks.IsSimpleDeployer.cpp
as there is now much more of it (over 400 lines).Start
/End
setups without any extra calculations. It also eliminates hypothetical conflict scenario where the TechnoClass animation timer is used for something else while also deploying (to my knowledge this does not currently occur, however).Migration
IsSimpleDeployer
units now obey deploying facing constraint even without deploying animation. To disable this, setDeployDir
(defaults to[AudioVisual]
->DeployDir
to -1.DeployingAnim.AllowAnyDirection
has been superceded byDeployDir
. Use value of -1 to re-enable the no facing restriction.New Features
DeployingAnims
can be used to set a list of directional deploy anims to use instead of only one animation thatDeployAnim
supports.DeployDir
can now be used to customize facing constraint for deploying irregardless of presence of deploy animation. Units will automatically begin deploying once they are facing the correct way if constrained.Bugfixes
IsSimpleDeployer
BalloonHover=true
units withDeployToLand=false
are no longer forced to land when hovering.DeployingAnim
withShadow=true
is played for unit currently in air its shadow will now be drawn on ground.DeployingAnim
now supports bothNormalized=true
andReverse=true
. Keep in mindReverse
usesLoopEnd
for frame amount instead ofEnd
even withoutLoopCount
> 1.DeployingAnim
using unit drawer now also tint accordingly with the unit.Interactions
Convert.Deploy
displays 'no deploy' cursor if the new type is not allowed to move to the cell due toSpeedType
etc.Documentation
IsSimpleDeployer facing and animation customization
DeployingAnim
were constrained to a specific deploy facing and it was not customizable per unit.DeployDir
can be set to override this per unit (defaults to[AudioVisual]
->DeployDir
), including using value of -1 to disable the facing restriction.DeployingAnims
can be used instead ofDeployingAnim
(if both are set,DeployingAnims
takes precedence) to define a list of direction-specific deploy animations to play. Largest power of 2 the number of listed animations falls to is used as number of directions/animations. Less than 8 animations listed results in only first listed one being used.DeployingAnim.KeepUnitVisible
determines if the unit is not hidden while the animation is playing.DeployingAnim.ReverseForUndeploy
controls whether or not the animation is played in reverse for undeploying.DeployingAnim.UseUnitDrawer
controls whether or not the animation is displayed in the unit's palette and team colours or regular animation palette, including a potential custom palette.In
rulesmd.ini
: