Hard Light Productions Forums
Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Topic started by: Col. Fishguts on January 24, 2007, 12:23:17 pm
-
Well, these thrusters here http://www.hard-light.net/wiki/index.php/Ships.tbl#.24Thruster: (http://www.hard-light.net/wiki/index.php/Ships.tbl#.24Thruster:) are quite neat and I'm putting them on our Starfuries, but I have a few questions.
1) Is it normal behavior that they only show up on the player ship ? I'd like to see them on all ships of the same class, or was that disabled for performance reasons ?
2) There seems to be a bug with reverse thrusters. When a fighter which has them dies and starts its death-roll, the reverse thrusters fire with their length stretched to infinity.
And since we're on the topic of the reverse thruster...
3) While the roll/bank thrusters spring on instantaneously when used, the reverse thrusters seem to be scaled with the reverse speed. This looks rather strange, since I'd expect them to spring to full throttle when pushing 'y', besides they look very ugly when the ship is going backwards very slowly and the thruster bitmap is squeezed to a tiny strop. I think they would look much better, if they behaved like the other thrusters.
That's all for the moment, thank you.
-
on this same topic, i cant get mine to work... :doubt:
can some one post part of the table that went with a thruster, ill change the normals and position...
i havent posted in a while :sigh:
-
On my test (with 369 build) the maneuvering thrusters appear on all the ships.
I couldnt actually see anything from 'reverse' thrusters.
And all the thrusters are scaled (tighter turn makes longer 'flames').
-
Yes, I'm using the official 3.6.9 build.
Maybe the AI doesn't use 'bank', because I set the thrusters to bank left/right respectively.
I would post screenshots for illustrations, but for some obscure reason 3.6.9 produces completely black screenshots :wtf:
-
why are these in the table?
-
why are these in the table?
Ask the coder who implemented them (WMC if memory serves right).
-
why are these in the table?
For the same reason engine glows are in the table dummy :P. Oh wait...
-
why are these in the table?
Why shouldnt they be? Model files are much more problematic to edit than table files.
Perhaps some sort of new models.tbl would be better than either of ships.tbl or pof file though.
-
why are these in the table?
Who's going to write the program to put them in the model?
-
I know how to change the code to fix problem 2 and 3, but it involves using the values pi->forward_thrust, pi->side_thrust, and pi->vert_thrust, and I'm not sure those are used with the AI ships. Anyone else know?
-
why are these in the table?
Who's going to write the program to put them in the model?
why would you need to, I don't think there's anything that can't be put into the current thruster structure.
I supose the sound stuf you'd need to put in the table, but position normal radius length type and texture could easily be put in the current thruster (texture and type would have to go in the properties section, and that might mean a slight alteration to PCS, but thats such a minor thing I could do it in fivr minutes if I had PCS in a compileable state, it isn't even a codeing issue.)
-
I'm pretty sure that those values aren't. I remember one of the other coders (Backslash?) bringing those variables up and initially I was optimistic; but then realized that they were simply read from the control_info (ci) struct.
Under the "+Used For:" variables, there should be a "+Flags:" variable. You can use ("no scale") to make the thruster appear the same size regardless of the actual amount of thrust.
As for adding support in POFs, I just don't think it's worth it to do it. First I'd have to learn the POF format more. Then I'd have to set the code up from SourceForge, and get it to actually compile. Then I'd have to understand it well enough to add support. And finally, I'd have to provide support for it, because Kazan has yet to release PCS2 and has stopped supporting PCS. I don't need or want to get involved in that web. I don't even have a guarantee that it would let modders actually see where the thrusters are positioned.
-
Under the "+Used For:" variables, there should be a "+Flags:" variable. You can use ("no scale") to make the thruster appear the same size regardless of the actual amount of thrust.
What's the correct syntax for the flags ?
I tried it like this:
$Thruster:
+Used for: ( "Reverse" )
+Flags: ( "no scale" )
+Position: (4.936 2.293 2.05)
+Normal: (0.0 0.0 1.0)
+Texture: manouver_thruster
+Radius: 0.7
+Length: 3.0
which causes a parse error
-
Flags option does not work with 369 branch
-
Ah, that would explain it then. Is there a build around with which it works ?
Also, I've found that the AI is in fact using them. But as opposed to the player ship, the thrusters on AI ships are all scaled with the amount of 'steering' in that direction, which makes them so miniscule that they're hard to spot.
The "no scale" feature sure would come in handy here.
-
Any recent HEAD branch builds. Though there are currently several very annoying bugs in those.
-
Uhm, what exactly is the HEAD branch ? the current CVS ?
-
There are two branches for the code. 3.6.9 (Which is bug fixes) and HEAD (which is new feature development + bug fixes). You can get CVS builds from both which is why people are slowly dropping the term as an identifier of the branch and going over to actually saying HEAD CVS and 3.6.9 CVS.
-
Ah I see. And are HEAD builds available somewhere ? Because I don't have a Win32 compiler at hand.
Also, just out of curiosity, what does HEAD stand for ?
-
Kara, is THIS (http://fs2source.warpcore.org/exes/karajorma/CVS-20070201.rar) a 3.6.9 CVS or a HEAD CVS?
-
That is from HEAD branch. AFAIK every new build without the '369' identifier are HEAD branch builds.
-
Getting away from the whole should this data be in the table or in the pof question... how about some help fixing our maneuvering thruster problems? Also please may I add another bug.
4) In Col Fishguts example thrusters above for the Starfury you'll notice that when rolling left and right thrusters fire off that are not labelled wth use for roll left or right!
Any chance of you guys going through a timewarp and rereleasing 3.6.9 with these bugs fixed?
Edit: Oh Fishguts was saying "maybe the AI doesn't use bank", well in that case it would have to not use roll either, because I added extra thrusters for roll and they didn't work on AI ships. Nothing. Nada. Zip. Please can TBP summon a SCP god to help us out here? :nervous:
-
For testing purposes if anyone is interested.
;Earth Alliance Aurora Starfury
;Tag Value
$Name: EA Aurora
$Short name: Aurora
$Species: Earth Alliance
+Type: XSTR("Heavy Fighter", -1)
+Maneuverability: XSTR("Very Good", -1)
+Armor: XSTR("Light", -1)
+Manufacturer: XSTR("Mitchell-Hyundyne", -1)
+Description: XSTR("Short Range Defense Operations" , -1)
$end_multi_text
+Tech Description:
XSTR("The standard fighter for the Earth Alliance, StarFury, boasts an unique design in which large engine pods are mounted on to the ends of each wing. This design gives the StarFury incredible manuvering capability that is matched and beat only by fighters emplyoing a gravimetric propulsion system. The Aurora class StarFury has good acceleration and mounts two pulse cannons. The ship can also be modified to carry several missiles on the wings. StarFuries can be launched from heavy cruisers, corvettes, as well as destroyers and larger vessels. They are not atmospheric capable fighters.", -1)
$end_multi_text
+Length: 9 m
+Gun Mounts: 2
+Missile Banks: 8
$POF file: aurora.pof
$Detail distance: (0, 100, 250, 500)
$Show damage: NO
$Density: 1
$Damp: 0.40
$Rotdamp: 0.65
$Max Velocity: 22.5, 22.5, 90
$Rotation time: 3.8, 3.8, 3.1
$Rear Velocity: 45.0
$Forward accel: 3.0
$Forward decel: 2.5
$Slide accel: 1.2
$Slide decel: 0.8
$Glide: YES
$Expl inner rad: 12.0
$Expl outer rad: 24.0
$Expl damage: 20.0
$Expl blast: 1000.0
$Expl Propagates: NO
$Shockwave Speed: 0.0
$Allowed PBanks: ( "42mm Plasma" "43mm Plasma" "40mm Pulse" "60mm Pulse" "Disruptor" )
$Allowed Dogfight PBanks: ( "42mm Plasma" "43mm Plasma" "40mm Pulse" )
$Default PBanks: ( "40mm Pulse" )
$Allowed SBanks: ( "EA Venom 1" "EA Venom 2" )
$Allowed Dogfight SBanks: ( "EA Venom 1" "EA Venom 2" )
$Default SBanks: ( "EA Venom 1" "EA Venom 1")
$SBank Capacity: ( 4, 4 )
$Shields: 20
$Shield Color: 0 0 0
$Power Output: 5.0
$Max Oclk Speed: 110.0
$Max Weapon Eng: 120
$Hitpoints: 440
$Flags: ( "player_ship" "default_player_ship" "fighter" "in tech database")
$AI Class: EA Pilot
$Afterburner: YES
+Aburn Max Vel: 0.0, 0.0, 130
+Aburn For accel: 1.0
+Aburn Fuel: 300.0
+Aburn Burn Rate: 70.0
+Aburn Rec Rate: 25.0
$Countermeasures: 6
$Scan time: 2000
$EngineSnd: 126
$Closeup_pos: 0.0, 0.0, -30
$Closeup_zoom: 0.5
$Shield_icon: aurora-hud
$Ship_icon: starfury
$Ship_anim: auroravid01
$Ship_overhead: load-aurora
$Score: 20
$Thruster01 Radius factor: 0.7
$Thruster Bitmap 2a: thrusterflame_blue
$Thruster02 Radius factor: 0.3
$Thruster02 Length factor: 0.7
$Thruster03 Radius factor: 1.4
;top left front thruster
$Thruster:
+Used for: ( "Reverse" "Roll right" "Pitch up" )
+Position: (-4.936 2.293 2.05)
+Normal: (0.0 0.0 1.0)
+Texture: manouver_thruster
+Radius: 0.7
+Length: 3.0
;top right front thruster
$Thruster:
+Used for: ( "Reverse" "Roll left" "Pitch up" )
+Position: (4.936 2.293 2.05)
+Normal: (0.0 0.0 1.0)
+Texture: manouver_thruster
+Radius: 0.7
+Length: 3.0
;bottom left front thruster
$Thruster:
+Used for: ( "Reverse" "Roll right" "Pitch down" )
+Position: (-4.936 -2.693 2.05)
+Normal: (0.0 0.0 1.0)
+Texture: manouver_thruster
+Radius: 0.7
+Length: 3.0
;bottom right front thruster
$Thruster:
+Used for: ( "Reverse" "Roll left" "Pitch down" )
+Position: (4.936 -2.693 2.05)
+Normal: (0.0 0.0 1.0)
+Texture: manouver_thruster
+Radius: 0.7
+Length: 3.0
;top left top thruster
$Thruster:
+Used for: ( "Bank left" "Slide down" )
+Position: (-5.054 3.486 0.376)
+Normal: (0.0 1.0 0.0)
+Texture: manouver_thruster
+Radius: 0.4
+Length: 1.9
;top right top thruster
$Thruster:
+Used for: ( "Bank right" "Slide down" )
+Position: (5.054 3.486 0.376)
+Normal: (0.0 1.0 0.0)
+Texture: manouver_thruster
+Radius: 0.4
+Length: 1.9
;bottom left bottom thruster
$Thruster:
+Used for: ( "Bank right" "Slide up" )
+Position: (-5.043 -3.338 0.365)
+Normal: (0.0 -1.0 0.0)
+Texture: manouver_thruster
+Radius: 0.4
+Length: 1.9
;bottom right bottom thruster
$Thruster:
+Used for: ( "Bank left" "Slide up" )
+Position: (5.043 -3.338 0.365)
+Normal: (0.0 -1.0 0.0)
+Texture: manouver_thruster
+Radius: 0.4
+Length: 1.9
;top left side thruster
$Thruster:
+Used for: ( "Slide left" )
+Position: (-6.142 2.296 0.368)
+Normal: (-1.0 0.0 0.0)
+Texture: manouver_thruster
+Radius: 0.4
+Length: 1.9
;top right side thruster
$Thruster:
+Used for: ( "Slide right" )
+Position: (6.142 2.296 0.368)
+Normal: (1.0 0.0 0.0)
+Texture: manouver_thruster
+Radius: 0.4
+Length: 1.9
;bottom left side thruster
$Thruster:
+Used for: ( "Slide left" )
+Position: (-6.142 -2.696 0.368)
+Normal: (-1.0 0.0 0.0)
+Texture: manouver_thruster
+Radius: 0.4
+Length: 1.9
;bottom right side thruster
$Thruster:
+Used for: ( "Slide right" )
+Position: (6.142 -2.696 0.368)
+Normal: (1.0 0.0 0.0)
+Texture: manouver_thruster
+Radius: 0.4
+Length: 1.9
;top left rear thruster
$Thruster:
+Used for: ( "Roll right" "Pitch down" )
+Position: (-5.246 2.296 -3.388)
+Normal: (0.0 0.0 -1.0)
+Texture: manouver_thruster
+Radius: 0.4
+Length: 1.9
;top right rear thruster
$Thruster:
+Used for: ( "Roll left" "Pitch down" )
+Position: (5.246 2.296 -3.388)
+Normal: (0.0 0.0 -1.0)
+Texture: manouver_thruster
+Radius: 0.4
+Length: 1.9
;bottom left rear thruser
$Thruster:
+Used for: ( "Roll right" "Pitch up" )
+Position: (-5.246 -2.692 -3.388)
+Normal: (0.0 0.0 -1.0)
+Texture: manouver_thruster
+Radius: 0.4
+Length: 1.9
;bottom right rear thruster
$Thruster:
+Used for: ( "Roll left" "Pitch up" )
+Position: (5.246 -2.692 -3.388)
+Normal: (0.0 0.0 -1.0)
+Texture: manouver_thruster
+Radius: 0.4
+Length: 1.9
$Subsystem: engine, 10, 0.0
$Subsystem: navigation, 2, 0.0
$Subsystem: weapons, 5, 0.0
$Subsystem: sensors, 2, 0.0
$Subsystem: communications, 2, 0.0
-
Hmm.. Spmewhat unrelated to bugs... but you have got slide left and right mixed up. And also the aft and front turn thrusters are lit on the side the ship is turning towards rather than being aft being lit on the side where the ship is being turned to and front on the opposite side.
In other words all 'slide left's ought to 'slide right's, all 'slide right's ought to be 'slide left's. Then on the last four thruster entries 'roll left' and 'roll right' should we swapped.
All slide thrusters were 'slow to scale' compared to turn/bank thrusters which made them look a bit odd just like the 'reverse' does.
EDIT: And AI gets the effects every once in a while... for some reason those seemed rather rare occasions. Also IMO it got very much smaller effects than player did from similar maneuvers
-
I've figured this out.
When you roll left or right, your ship does actually do a bit of banking and vertical movement along with the roll. Your thrusters are geared to fire based on the movement direction not the button pressed. So that's why the vertical thrusters fire when you do a left or right roll.
The thrusters themselevs are working on all ships. The only difference is an AI ship requires a far more aggressive change in direction or movement to achieve the same scaling of the thruster that the player ship gets for a far less aggressive maneuver. Nevertheless, as small as the effects are, they are there on the AI ships.
The actual effect when it works is nice anyway. I have updated all our Starfuries to use it now. Good work. Hopefull the AI scaling bug... if it is a bug... will be fixed.
-
Also, I've found that the AI is in fact using them. But as opposed to the player ship, the thrusters on AI ships are all scaled with the amount of 'steering' in that direction, which makes them so miniscule that they're hard to spot.
The "no scale" feature sure would come in handy here.
Quoting myself to emphasize this. The AI is using the maneuvering thrusters, but their behavior is different than on the player ship.
-
yep, looks like the "no scale" flag fixes this (as far as I can tell).
The way it works gets rid of a 'render_amount' factor, which then makes players and AI appear to behave the same. Again, afaict. The render_amount works great on players, but the problem is AI doesn't work the same way, and so far all my attempts haven't helped. Fortunately, the no scale flag seems to do the trick.
(Another funny thing: look what happens when you turn on Gliding without the no scale flag :lol:)
-
yep, looks like the "no scale" flag fixes this (as far as I can tell).
Could you point me to a build that supports the "no scale" flag ?
-
One of the SCP guys added a method whereby you could specify things in tables as comment lines which are only for the notice of certain builds. I think the format is:
;build version;table line
If you're not using a build high enough the line is ingored as a normal comment. We could use that for the no-scale flags to retain compatability with 3.6.9. Nice feature that one. I'll look out the thread when I get chance.
-
This http://www.hard-light.net/forums/index.php/topic,45175.0.html should support "no scale" flag