View Issue Details

IDProjectCategoryView StatusLast Update
0000958FSSCPgraphicspublic2012-12-05 17:55
ReporterWMCoolmon Assigned ToWMCoolmon  
PrioritylowSeveritytweakReproducibilityalways
Status closedResolutionno change required 
Summary0000958: Thruster effects need scaling option
DescriptionVery simple, thruster effects need an option to set whether or not they should scale depending on rotational velocity. They should be at full thrust all the time when using the keyboard, but vary when using a joystick.
TagsNo tags attached.

Activities

Backslash

2006-06-26 04:30

developer   ~0005955

For rotation thrusters, don't they already?

If you mean sliding thrusters, I agree... why not do something like:
 if(pi->side_thrust > 0 && (mtp->use_flags & MT_SLIDE_RIGHT)) {
   render_amount = pi->side_thrust;
 } else if(pi->side_thrust < 0 && (mtp->use_flags & MT_SLIDE_LEFT)) {
   render_amount = -pi->side_thrust;
etc etc for vert_thrust and forward_thrust too.

WMCoolmon

2006-06-26 05:30

developer   ~0005956

Didn't really think about it, but that looks exactly right for this application.

Backslash

2006-06-27 06:30

developer   ~0005969

Yeah, I was just looking at that, trying to make it so that gliding didn't make the thrusters become huge when facing certain directions. This seems to make it work as expected. I suspect it's what Bobboau might have intended but never fully implemented, because they don't really get used much otherwise.

Oops, I overlooked something: what about AI? Do they use control_info ci? Because that's the only thing I find that sets those three:
pi->side_thrust = ci->sideways;
etc., in physics_read_flying_controls.

WMCoolmon

2006-06-30 06:16

developer   ~0005998

I implemented the maneuvering thrusters, and no, that's not what I intended.

What I was trying to do with that section of the code, was to make the thrusters appear proportionally to the amount of thruster, as compared to the maximum amount of thrust.

Or to give a more concrete description, if a ship is turning as fast as it can, the ship's thrusters should be at the length specified in the table. If it's turning half as fast as it can, thrusters should be at half the length specified in the table. If "no scale" is specified for a thruster, the thruster should always appear at the length specified in the table.

The current problem, probably, is that thrusters activate whenever the ship turns for any reason, rather than when it's simply trying to turn. Unfortunately, I'm not sure that there's any real way to fix this with anything other than hacks, using Freespace 2's simplistic physics code.

Issue History

Date Modified Username Field Change
2006-06-25 01:08 WMCoolmon New Issue
2006-06-26 04:30 Backslash Note Added: 0005955
2006-06-26 05:29 WMCoolmon Status new => assigned
2006-06-26 05:29 WMCoolmon Assigned To => WMCoolmon
2006-06-26 05:30 WMCoolmon Note Added: 0005956
2006-06-27 06:30 Backslash Note Added: 0005969
2006-06-30 06:16 WMCoolmon Note Added: 0005998
2012-12-05 17:55 The_E Status assigned => closed
2012-12-05 17:55 The_E Resolution open => no change required