Skip to content

Rotor drawing for aircraft - #522

Open
MNOrac wants to merge 4 commits into
OpenTS-Developers:mainfrom
MNOrac:rotors
Open

MNOrac wants to merge 4 commits into
OpenTS-Developers:mainfrom
MNOrac:rotors

Conversation

@MNOrac

@MNOrac MNOrac commented Nov 2, 2026 •

Copy link
Copy Markdown

By default TS reads Rotors=<bool> and CustomRotor=<bool>. These keys had an effect in Red Alert, but TS does nothing with them. This pull request aims to change that.

The Draw_Rotors() function already existed in the OpenTS codebase, a duplicate of the same function in Red Alert. When called, it draws rotors.

I haven't touched the absolute core of the behavior, which is to draw a SHP over an aircraft with Rotors=yes set in its art entry, with different frames for when the unit is in flight versus when it is on the ground, and with translucency. I've also left Red Alert's default rotor loading behavior for when no rotor anim is explicitly specified, which looks for LROTOR and RROTOR. Note however that these files do not exist in the vanilla TS version of Conquer.mix.

I've added support for up to four rotors on an aircraft, controlled by RotorCount=<int, 1-4>, and an FLH for each one. I've also added functionality to specify eight directional rotor anims for each rotor, for while the unit is in motion. This allows the shp to somewhat mimic the tilt of the voxel aircraft.

For instance, here is what the Harpy's art.ini entry might look like:

[APACHE]
Cameo=APCHICON
Voxel=yes
PrimaryFireFLH=0,32,0
Rotors=yes
Rotor1Anim=AROTOR
Rotor1TiltedAnims=AROTOR_N,AROTOR_NE,AROTOR_E,AROTOR_SE,AROTOR_S,AROTOR_SW,AROTOR_W,AROTOR_NW
Rotor1FLH=12,0,80

Due to its irrelevance, I have removed the CustomRotor= key. It didn't do anything before, and in this implementation customness of the rotors is controlled by specifying Rotor1Anim anyway, so I don't feel this is a great loss.

Attached is a zip file containing LROTOR, RROTOR, and the AROTOR files from the Harpy example, for convenience in testing.
rotors.zip

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant