Hard Light Productions Forums

Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Test Builds => Topic started by: Wanderer on June 11, 2008, 12:28:34 pm

Title: Wanderer 080611 build
Post by: Wanderer on June 11, 2008, 12:28:34 pm
NOTE: This is not trunk build, the features in it may not be included to the trunk

Download link (http://koti.mbnet.fi/vekkup/FS2/Arkisto/fs2_open_3_6_9_080611_W.zip). FS Open SVN 4660.

Features:
Code: [Select]
New turret flags:
   "fixed firingpoints"
      - forces game to use only single firingpoint for a specific weapon.
      - maximum of 3 primaries and 4 secondaries.
      - requires "use multiple guns" flag.
   "salvo mode"
      - uses the first defined weapon
      - fires the weapon from all the firingpoints simultaneously.
      - every weapon aimed independently.
   "fire on target"
      - prevents the turret from firing unless the turret points at the target
   "no subsystem targeting"
      - prevents the turret from targeting without orders the subsystems of target ship.
      - causes more random distribution of shots on the enemy ship.
   "reset when idle"
      - if turret has no targets it resets to its initial position
      - if animation code is used, uses the first 'initial' instance it finds

Subsystem options:
 ---- after last of $Default SBanks:/$SBank Capacity:/$Engine Wash: ----
   $AliveSnd:
      - identifier of the sound played if the subsystem is alive. (integer)
   $DeadSnd:
      - identifier of the sound played if the subsystem is destroyed. (integer)
   $RotationSnd:
      - identifier of the generic rotation sound. (integer)
   $Turret Base RotationSnd:
      - identifier of the turret base rotation sound. (integer)
   $Turret Gun RotationSnd:
      - identifier of the turret gun rotation sound. (integer)
   $Turret BaseSnd Volume:
      - multiplier for turret base rotation volume. (float)
   $Turret GunSnd Volume:
      - multiplier for turret gun rotation volume. (float)
 ---- AWACS entry ----
   $Maximum Barrel Elevation:
      - defines the maximum elevation in degrees allowed for the barrels of a turret. (integer, 0 to 90)
   $Turret Base FOV:
      - defines the maximum FOV for the turret base. (integer, 0 to 359)
      - forces more complicated turret fov tests.
      - if target is past the turrets rotation limit it turns around via the front direction

Ship options:
 ---- After $Thruster: entry, just before subsystem entries ----
   $Ship IFF Colors:/$Ship IFF Colours:
      - allows alternate ship specific IFF colors. (no input)
      +Seen By:
         - iff from the color is observed (name of iff entry - probably most often Friendly)
      +When IFF Is:
         - which IFF type is changed (name of iff entry - probably most often Friendly)
      +As Color:
         - defines the alternate IFF color. (three integers, Red, Green, Blue)
   $Radar Image 2D:
      - alternate option for using bitmaps instead of blips on radar (filename)
      $Radar Image Size:
         - image size in pixels when using 2D radar (integer)
      $3D Radar Blip Size Multiplier:
         - multiplier for the radar blip size when using 3D radar (float)

Additional IFF_defs.tbl options
 ---- after the initial traitor entry ----
   $Selection Color:/$Selection Colour:
      - defines the target frame colors for selected items, like asteroids etc. (three integers, Red, Green, Blue)
   $Message Color:/$Message Colour:
      - defines the target frame colors for objects that is currently sending a message to player (three integers, Red, Green, Blue)
   $Tagged Color:/$Tagged Colour:
      - defines the target frame colors for tagged objects (three integers, Red, Green, Blue)
   $Dimmed IFF brightness:
      - defines the intensity of the hud color alpha value on 'dimmed' objects of the hud and radar (integer, 0 to 15)
      - default is 4
   $Use Alternate Blip Coloring:
      - allows game to use uniform blip coloring method instead of using one for ships and other for rest of the radar blips. (boolean)
   $Missile Blip Color:/$Missile Blip Colour:
      - defines the alternate color for missile blips (three integers, Red, Green, Blue)
   $Navbuoy Blip Color:/$Navbuoy Blip Colour:
      - defines the alternate color for navbuoy blips (three integers, Red, Green, Blue)
   $Warping Blip Color:/$Warping Blip Colour:
      - defines the alternate color for warping in blips (three integers, Red, Green, Blue)
   $Node Blip Color:/$Node Blip Colour:
      - defines the alternate color for jump node blips (three integers, Red, Green, Blue)
   $Tagged Blip Color:/$Tagged Blip Colour:
      - defines the alternate color for tagged target blips (three integers, Red, Green, Blue)
 ---- rest of the IFF_defs.tbl ----

Objecttypes.tbl option:
 ---- after $Warp Pushable: ----
   $Turrets prioritize ship target:
      - forces ship turrets to prioritize ships targets (boolean)
      - set to 'true' on fighters and bombers by default - setting it to 'false' for them allows their turrets to target more freely
 ---- continues with $Max Debris Speed: ----

Sexps...
   change-iff-color
     Sets the specified ship(s) or wing(s) apparent color.
     Takes 6 or more arguments...
     1: Name of the team from which target is observed from.
     2: Name of the team of the observed target to receive the alternate color.
     3: Red color (value from 0 to 255).
     4: Green color (value from 0 to 255).
     5: Blue color (value from 0 to 255).
     Rest: Name of ship or wing to change team status of.
   turret-subsys-target-disable
     Prevents turrets from targeting only the subsystems when targeting large targets
     1: Ship to be operated on
     Rest: List of turrets that are affected
   turret-subsys-target-enable
     Sets turret to target the subsystems when targeting large targets
     1: Ship to be operated on
     Rest: List of turrets that are affected

EDIT: bah.. just noticed the list lacked a couple of options...
Some more features...
Code: [Select]
Ships.tbl option
 ---- After $Slide decel:/$Glide:/$Autoaim FOV: entries before the custon warping entries ----
   $Convergence:
      - defines the use of convergence and the settings of it (no input)
      - autoaim assumed to take precedence over convergence
      - automatic convergence takes precedence over standard convergence
      +Automatic
         - defines that automatic convergence is in use (no input)
         +Minimum Distance:
            - defines the minimum range of the autoconvergence (float)
            - if the target is closer than this game uses this distance instead of the range for the convergence
      +Standard
         - defines that a fixed range convergence is in use (no input)
         +Distance:
            - defines the convergence distance
      +Offset:
         - defines the offset vector for the convergence (vector - like velocity entries)
         - allows convergence to be centered elsewhere than only on the ships 'centerline'
         - works with both automatic and manual convergence

Weapons.tbl option
 ---- After swarm/swarmwait entry ----
   +No Swarming Movement:
      - defines that even if weapon is of swarming type it has no swarming movement ie. random small changes (boolean)
      - basically toggles from swarm to burst fire with homing weapons.
      - might cut down some math when used with non-homing weapons.

Weapon flags
   "smart spawn"
      - forces turrets to fire spawn type warheads like any other missiles
      - without this flag spawns fire from turret without a target along turrets normal
   "inherit parent target"
      - phreak's earlier addition to the unstable branch
      - causes the child munitions acquire parent weapons target if it had any.
Title: Re: Wanderer 080611 build
Post by: Vretsu on June 11, 2008, 10:12:32 pm
The Orion's triple guns find glory at last.

Turret rotating sounds? Long overdue, imho.

Hope these features make it into the trunk. Testing now.  :yes:
Title: Re: Wanderer 080611 build
Post by: Omniscaper on June 12, 2008, 01:18:46 am
Sweat job with the radar code. BtRl will make use of this well.
Title: Re: Wanderer 080611 build
Post by: Galemp on June 12, 2008, 12:20:42 pm
Code: [Select]
   $Radar Image 2D:
      - alternate option for using bitmaps instead of blips on radar (filename)
      $Radar Image Size:
         - image size in pixels when using 2D radar (integer)
      $3D Radar Blip Size Multiplier:
         - multiplier for the radar blip size when using 3D radar (float)

For 'radar image size' is that width, height, or longest dimension? And can it be left to default to 1:1?
Title: Re: Wanderer 080611 build
Post by: Wanderer on June 12, 2008, 01:04:24 pm
It scales the whole image by its longest dimension... so if the image is 32 x 64 and radar image size is 32 the end result is (should be) 16 x 32. If radar image size has not been defined then it draws the image to its 'true' size.
Title: Re: Wanderer 080611 build
Post by: Galemp on June 12, 2008, 09:27:42 pm
k, good. I don't want my pixel-perfect icons getting stretched. :)
Title: Re: Wanderer 080611 build
Post by: Wanderer on June 14, 2008, 05:24:29 am
Added couple of things i forgot to add to the first post

EDIT: bah... noticed that i had omitted the added weapon flags from the list... both spawn related options now added
Title: Re: Wanderer 080611 build
Post by: Topgun on June 14, 2008, 06:14:22 pm
is this more stable than trunk?
Title: Re: Wanderer 080611 build
Post by: CaptJosh on June 14, 2008, 08:44:32 pm
Not likely. The trunk builds are from the stable branch. This is experimental stuff.
Title: Re: Wanderer 080611 build
Post by: Wanderer on June 15, 2008, 01:57:35 am
These builds are based on the trunk (ie. the stable branch) but with little additions. The features listed are experimental which are only in this branch and not in the trunk.
Title: Re: Wanderer 080611 build
Post by: phreak on June 15, 2008, 10:21:42 pm
nice to see inherit parent target getting some love.

I may want to get with you to add the salvo fire mode for secondaries (http://www.hard-light.net/forums/index.php/topic,43316.0.html)
Title: Re: Wanderer 080611 build
Post by: Vasudan Admiral on June 16, 2008, 02:35:43 am
Code: [Select]
   $Maximum Barrel Elevation:
      - defines the maximum elevation in degrees allowed for the barrels of a turret. (integer, 0 to 90)
   $Turret Base FOV:
      - defines the maximum FOV for the turret base. (integer, 0 to 359)
      - forces more complicated turret fov tests.
      - if target is past the turrets rotation limit it turns around via the front direction

Oh that is awesome. I was going to ask you about turret base rotation limits once I'd finished my exams at the end of this week, but now I find you've already fully implemented it AND barrel elevation limits. I are teh happy! :D

I'll test it out as soon as I'm free. :)
Title: Re: Wanderer 080611 build
Post by: blowfish on June 21, 2008, 12:49:15 pm
Interesting.  I'll have to download the source and make a Mac build so that I can test some of these features...  I look forward to some of these changes being committed to the main branch ;)
Title: Re: Wanderer 080611 build
Post by: Wanderer on July 09, 2008, 05:19:31 pm
:bump:



If no one bothers to test the things from this build and report back the findings then - how ever beneficial these features might be for certain mods - it is highly unlikely that they would be added to the main branch. So if you want these to be introduced to the main branch... please test the experimental builds.
Title: Re: Wanderer 080611 build
Post by: Galemp on July 09, 2008, 10:04:05 pm
I really really want to... but I just don't have enough time to myself to play around with them. I'll get back to you in August, once we're finished moving.
Title: Re: Wanderer 080611 build
Post by: Topgun on August 18, 2008, 02:28:23 pm
how do you want us to test them? using the new features or just playing like normal and finding regular bugs?
Title: Re: Wanderer 080611 build
Post by: karajorma on August 18, 2008, 03:32:31 pm
Both most likely. Table changes should always be checked to make sure that the code didn't accidentally break something when they aren't present.
Title: Re: Wanderer 080611 build
Post by: chief1983 on August 18, 2008, 07:54:32 pm
Yeah, it should be checked against retail to make sure nothing broke there probably, and the features he hasn't committed really need to be checked for issues.
Title: Re: Wanderer 080611 build
Post by: Wanderer on August 19, 2008, 01:00:52 am
And this build (same branch, except a tad more recent) would probably be better...

http://www.hard-light.net/forums/index.php/topic,55385.0.html

As for testing... There are several things.. one is to choose one feature of the listed, then try with standard trunk or even retail build, then start with the build of this branch and try to see if there is a change. If there is none then it passed the first test (that is, with optional features not in use it should work just like trunk builds).

Then the actual feature testing, basically just playing with the feature enabled. If anything else than what was indicated changed then there is a bug in the feature.
Title: Re: Wanderer 080611 build
Post by: Galemp on August 19, 2008, 08:44:14 am
Code: [Select]
$Turret Base FOV:
      - defines the maximum FOV for the turret base. (integer, 0 to 359)
      - forces more complicated turret fov tests.
      - if target is past the turrets rotation limit it turns around via the front direction

Do we define a normal for the FOV cone somewhere?
Title: Re: Wanderer 080611 build
Post by: Vasudan Admiral on August 19, 2008, 08:52:58 am
The normal for the cone is the turrets firing point normal.
Title: Re: Wanderer 080611 build
Post by: Wanderer on August 19, 2008, 10:31:43 am
Perhaps something like this might help

CASE 1: Only standard FOV in use
(http://koti.mbnet.fi/vekkup/FS2/Pics/Common/FOV.png)


CASE 2: FOV combined with maximum elevation limit in use
(http://koti.mbnet.fi/vekkup/FS2/Pics/Common/FOV_ME.png)


CASE 3: Turret Base FOV in use
(http://koti.mbnet.fi/vekkup/FS2/Pics/Common/Base_FOV.png)


Case 3 and be combined with either of case 1 or case 2. Area shaded in blue marks the area where the turret targets the enemy.
Title: Re: Wanderer 080611 build
Post by: chief1983 on August 19, 2008, 11:44:44 am
So how do you define the FVEC?  Through animation code to set it at the start of the mission, or is it just the base's normal in the POF?
Title: Re: Wanderer 080611 build
Post by: Galemp on August 19, 2008, 11:47:08 am
Bases don't have normals, multipart turret normals are specified on the barrels.
Title: Re: Wanderer 080611 build
Post by: Wanderer on August 19, 2008, 01:22:30 pm
Multipart turrets, if on top deck have uvec (up vector, turret normal, etc etc.) pointing straight up and fvec (turret base facing or 'normal') pointing straight forward. Turrets mounted below the ship have uvec pointing straight down and fvec pointing straight behind the ship. Otherwise uvec and fvec are optional additions to the pof file (subobject properties box, where fov etc go). Also, by default barrels should point straight on the uvec regardless where the turret is placed on.