Hard Light Productions Forums
Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Topic started by: Colonol Dekker on July 25, 2009, 06:20:18 pm
-
Ability to play cutscenes before Fiction, Command Brief, Brief, Game Start and Debrief.
WHOOP !!!!
-
If any of these are in the Wiki, perhaps this post should be updated to include links to the more detailed explanations (but not to threads which can get clogged with discussions).
[Edit]
You may delete this post once you've made a decision, one way or the other, regarding my suggestion.
[/Edit]
-
New BuiltIn messages
* Praise Self - Pilot praises himself for a kill. NB I'm likely to change how often these play in some way, probably making it possible to define how boastful a pilot is about his kills.
* High Praise - This plays a different praise message if the player has more than 10 kills. If the message doesn't exist the game will play the old praise message instead.
* Rearm Primaries - When calling in support this message will be played instead of the more generic message if the pilot is out of ballistic primaries
* Primaries Low - If a ship is unable to call in support, this message will be played when it starts running low on ballistic primaries
Awesome :D :yes:
-
Unless you are an SCP coder you should not post on this thread. If you want to discuss a change start a discussion thread about it. Any non SCP posts will be split and repeat offenders dealt with.
-
Unless you are an SCP coder you should not post on this thread. If you want to discuss a change start a discussion thread about it. Any non SCP posts will be split and repeat offenders dealt with.
*cough*
I should read more carefully next time before spamming unimportant messages in a sticky :nervous:
Sorry!
-
* New Glide Features (ships.tbl)
o +Dynamic Glide Cap: Maximum glide speed is affected by the same rules as maximum speed in normal flight (specifically, afterburner and power redirected to/from engines). If set to YES, overrides +Max Glide Speed.
o +Glide Accel Mult: Defines the acceleration multiplier for the gliding mode. If > 0, sets a fixed acceleration rate in glide mode depending on value. If set to 0, impossible to accelerate while in glide mode. If negative, enables glide speed ramping (acceleration in glide mode ramps in the same way as in normal flight). Defaults to 0.
o +Use Newtonian Dampening: Allows newtonian dampening on a per-ship basis. Glide works much better with newtonian dampening enabled (either here or in AI_Profiles).
* $nocollide_this_only and $collide_invisible submodel flags
o $nocollide_this_only turns off collisions for a submodel, but NOT its children (unlike $no_collisions).
o $collide_invisible allows weapon impacts on submodels with the special "invisible" texture.
o These flags are intended to support models with a special "collision mesh" separate from the main visible meshes. Collision detection takes a lot of CPU time for complex models, and this helps mitigate that.
* $Vaporize Percent Chance (ships.tbl): Specifies how often ships will explode instantly instead of doing the normal "death roll."
* New AI Features (AI_Profiles.tbl)
o $Primary Ammo Burst Multiplier: lets AI fire ballistic primaries in bursts, conserving ammo and looking cool.
o $Glide Attack Percent: lets AI use glide in dogfights
o $Circle Strafe Percent: lets AI use "Descent-like" combat in dogfights, maintaining distance and using sidethrust to move around a target
o $Glide Strafe Percent: lets AI use glide when attacking capships
o $Allow Vertical Dodge: lets AI dodge incoming fire vertically as well as horizontally
More awesome, all sorts of stuff I can Really use for my mod :D :yes:
-
Hopefully people are starting to see why I've been saying that although 3.6.11 will be out relatively soon, it will still be very different from 3.6.10. :)
Lots and lots of new stuff for you guys to play with. :)
-
Hmmm...will turrets on bombers still attack only whatever you have targeted in 3.6.11?
-
Probably, doing otherwise would change balance. Just use Wanderer's script.
-
Isn't there an AI profiles flag to fix that?
-
Wanderer just mentioned he added something about that in his post I think.
$Turrets prioritize ship target:
Allows defining if turrets prioritize ships current target
-
Option to allow turrets ignore secondary - hard coded - fov limits
What option is this called again? Or do you mean "$use only single fov for turrets" in ai_profiles.tbl, not ships.tbl as per your post?
Wanderer just mentioned he added something about that in his post I think.
$Turrets prioritize ship target:
Allows defining if turrets prioritize ships current target
Is this ai_profiles.tbl setting with YES / NO value? And is it already in the latest nightly?
-
All of that stuff is in the latest nightly, the wiki is probably more accurate at this point though. Or just try it out and see.
-
Wanderer also added further improvements to the turret targeting code. I am *not sure* if it has been included in the 3.6.10 build though:
$prevent turrets targeting too distant bombs: YES
$smart subsystem targeting for turrets: YES
-
Option to allow turrets ignore secondary - hard coded - fov limits
What option is this called again? Or do you mean "$use only single fov for turrets" in ai_profiles.tbl, not ships.tbl as per your post?
Oops... Yeah.. sorry about that... its in ai_profiles.tbl, not in ships.tbl - Though i suppose if required i could make it a turret/subsystem flag instead.
Wanderer just mentioned he added something about that in his post I think.
$Turrets prioritize ship target:
Allows defining if turrets prioritize ships current target
Is this ai_profiles.tbl setting with YES / NO value? And is it already in the latest nightly?
It is objecttypes.tbl option yes/no. Defaults to yes on small crafts (like fighters & bombers) and no with others. If you want to fix the 'bomber turret won't defend the bombers" bug set this option to no in proper obt.tbm file.
-
Aha...isn't objecttypes.tbl supposed to be added with SCP? I can't find it anywhere...where is it?
-
Default table is in code... However making new ship types is not recommended though editing existing ones is.
http://svn.icculus.org/fs2open/trunk/fs2_open/code/globalincs/def_files.cpp?view=log ... from the latest (highest numbering revision) entry click 'View'.. Then search for #Ship types and you should find the point where the default objecttypes.tbl begins. But as said do NOT make new entries (or do if you want to - you'll receive no tech support on that one), its preferable just to stick with 'obt.tbm' files and make edits into existing entries.
-
I just want to make fighter and bomber turrets track independently.
So I make a tbm file with this in it?
#Ship Types
$Name: Fighter \n\
$Counts for Alone: YES \n\
$Praise Destruction: YES \n\
$On Hotkey List: YES \n\
$Target as Threat: YES \n\
$Show Attack Direction: YES \n\
$Warp Pushable: YES \n\
$Turrets prioritize ship target: YES \n\
$Max Debris Speed: 200 \n\
$FF Multiplier: 1.0 \n\
$EMP Multiplier: 4.0 \n\
$Fog: \n\
+Start dist: 10.0 \n\
+Compl dist: 500.0 \n\
$AI: \n\
+Valid goals: ( \"fly to ship\" \"attack ship\" \"waypoints\" \"waypoints once\" \"depart\" \"attack subsys\" \"attack wing\" \"guard ship\" \"disable ship\" \"disarm ship\" \"attack any\" \"ignore ship\" \"ignore ship (new)\" \"guard wing\" \"evade ship\" \"stay still\" \"play dead\" \"stay near ship\" \"keep safe dist\" ) \n\
+Accept Player Orders: YES \n\
+Player Orders: ( \"attack ship\" \"disable ship\" \"disarm ship\" \"guard ship\" \"ignore ship\" \"ignore ship (new)\" \"form on wing\" \"cover me\" \"attack any\" \"depart\" \"disable subsys\" ) \n\
+Auto attacks: YES \n\
+Actively Pursues: ( \"navbuoy\" \"sentry gun\" \"escape pod\" \"cargo\" \"support\" \"stealth\" \"fighter\" \"bomber\" \"fighter/bomber\" \"transport\" \"freighter\" \"awacs\" \"gas miner\" \"cruiser\" \"corvette\" \"capital\" \"super cap\" \"drydock\" \"knossos device\" ) \n\
+Guards attack this: YES \n\
+Turrets attack this: YES \n\
+Can Form Wing: YES \n\
+Passive docks: ( \"support\" ) \n\
$Vaporize Percent Chance: 0.0 \n\
""\
$Name: Bomber \n\
$Counts for Alone: YES \n\
$Praise Destruction: YES \n\
$On Hotkey List: YES \n\
$Target as Threat: YES \n\
$Show Attack Direction: YES \n\
$Warp Pushable: YES \n\
$Turrets prioritize ship target: NO \n\
$Max Debris Speed: 200 \n\
$FF Multiplier: 1.0 \n\
$EMP Multiplier: 4.0 \n\
$Fog: \n\
+Start dist: 10.0 \n\
+Compl dist: 500.0 \n\
$AI: \n\
+Valid goals: ( \"fly to ship\" \"attack ship\" \"waypoints\" \"waypoints once\" \"depart\" \"attack subsys\" \"attack wing\" \"guard ship\" \"disable ship\" \"disarm ship\" \"attack any\" \"ignore ship\" \"ignore ship (new)\" \"guard wing\" \"evade ship\" \"stay still\" \"play dead\" \"stay near ship\" \"keep safe dist\" ) \n\
+Accept Player Orders: YES \n\
+Player Orders: ( \"attack ship\" \"disable ship\" \"disarm ship\" \"guard ship\" \"ignore ship\" \"ignore ship (new)\" \"form on wing\" \"cover me\" \"attack any\" \"depart\" \"disable subsys\" ) \n\
+Auto attacks: YES \n\
+Actively Pursues: ( \"navbuoy\" \"sentry gun\" \"escape pod\" \"cargo\" \"support\" \"stealth\" \"fighter\" \"bomber\" \"fighter/bomber\" \"transport\" \"freighter\" \"awacs\" \"gas miner\" \"cruiser\" \"corvette\" \"capital\" \"super cap\" \"drydock\" \"knossos device\" ) \n\
+Guards attack this: YES \n\
+Turrets attack this: YES \n\
+Can Form Wing: YES \n\
+Passive docks: ( \"support\" ) \n\
$Vaporize Percent Chance: 0.0 \n\
""\
;;WMC - This fighter/bomber type doesn't seem to be used anywhere, because no ship is set as both fighter and bomber \n\
$Name: Fighter/bomber \n\
$Counts for Alone: YES \n\
$Praise Destruction: YES \n\
$On Hotkey List: YES \n\
$Target as Threat: YES \n\
$Show Attack Direction: YES \n\
$Warp Pushable: YES \n\
$Max Debris Speed: 200 \n\
$FF Multiplier: 1.0 \n\
$EMP Multiplier: 4.0 \n\
$Fog: \n\
+Start dist: 10.0 \n\
+Compl dist: 500.0 \n\
$AI: \n\
+Valid goals: ( \"fly to ship\" \"attack ship\" \"waypoints\" \"waypoints once\" \"depart\" \"attack subsys\" \"attack wing\" \"guard ship\" \"disable ship\" \"disarm ship\" \"attack any\" \"ignore ship\" \"ignore ship (new)\" \"guard wing\" \"evade ship\" \"stay still\" \"play dead\" \"stay near ship\" \"keep safe dist\" ) \n\
+Accept Player Orders: YES \n\
+Player Orders: ( \"attack ship\" \"disable ship\" \"disarm ship\" \"guard ship\" \"ignore ship\" \"ignore ship (new)\" \"form on wing\" \"cover me\" \"attack any\" \"depart\" \"disable subsys\" ) \n\
+Auto attacks: YES \n\
+Actively Pursues: ( \"navbuoy\" \"sentry gun\" \"escape pod\" \"cargo\" \"support\" \"stealth\" \"fighter\" \"bomber\" \"fighter/bomber\" \"transport\" \"freighter\" \"awacs\" \"gas miner\" \"cruiser\" \"corvette\" \"capital\" \"super cap\" \"drydock\" \"knossos device device\" ) \n\
+Guards attack this: YES \n\
+Turrets attack this: YES \n\
+Can Form Wing: YES \n\
+Passive docks: ( \"support\" ) \n\
$Vaporize Percent Chance: 0.0 \n\
""\
#End
right?
-
I don't know anything about objecttypes.tbl, but doesn't tbm support +nocreate there as well?
#Ship Types
$Name: Fighter \n\
+nocreate
$Turrets prioritize ship target: NO \n\
""\
$Name: Bomber \n\
+nocreate
$Turrets prioritize ship target: NO \n\
""\
#End
Dunno what purpose \n\ and ""\ serves...
-
Get rid of them, They're part of the code and don't need to be in the actual table.
-
Dunno what purpose \n\ and ""\ serves...
They are notations for newline etc. Please do not include them into your table files.
EDIT: Also \" should be just " in the table files.
-
#Ship Types
$Name: Fighter
+nocreate
$Turrets prioritize ship target: NO
$Name: Bomber
+nocreate
$Turrets prioritize ship target: NO
#End
Fixed.
-
:) Figured +nocreate would work.
Anyhow, is there a reason why 3.6.11 debug build has significantly lower framerates than 3.6.10 debug builds? I cannot say anything about 3.6.11 retail-build, because it doesn't load up missions most of the time, so I've been stuck using debug. By average it seems like 3.6.11 has about half the framerate of 3.6.10.
-
In a debug build, the Assertion code remain in the codebase - most functions have at least one :P
vm_malloc uses the SCP allocator (not the template one, the one in windebug.cpp) in debug builds
Visual Studio inserts all sorts of debugging junk (to quote sandsmark: 'Canaries') into the code.
It's no real surprise that debug is a lot slower.
-
I was comparing 3.6.10 debug to 3.6.11 debug. .10 has about double the framerate compared to .11.
-
I was comparing 3.6.10 debug to 3.6.11 debug. .10 has about double the framerate compared to .11.
hmm... time to break out the profilers again.
-
Fury, go back a couple weeks and see if the problem still exists in the nightlies there, everyone else has been reporting massive speed improvements with 3.6.11. You're the first report of a slowdown I'm aware of.
-
Can someone provide me a debug build with pdb+map that has $Arm radius assert fix? I have another assert I need to track down. Thanks. :)
-
Get rid of them, They're part of the code and don't need to be in the actual table.
Unless the modder works on something like a gunship class IIRC. Then object types becomes a very important table.
-
Get rid of them, They're part of the code and don't need to be in the actual table.
Unless the modder works on something like a gunship class IIRC. Then object types becomes a very important table.
Well, first of all the characters mentioned do not need to be in any table that has been extracted from the code. Second thing, it is not adviseable to use objecttypes.tbl to create new ship types. Editing of the existing retail types is ok, but creation of new entries is certainly not. That is you can create them but unless you (what was the term coined with it...) 'multiclass' the ship type with some existing ship class (not 100% sure how this would work out and how it is done) then you may encounter very unexpected behaviour.
-
I put the attached patch together for The_E.
Symptoms include NULL dereferencing if Cutscenes of Cutscene_list is 0 sized.
I don't know what knock-on effects this may have.
I suspect the if (str) may have been for this very case before it used vectors.
[attachment deleted by Tolwyn]
-
To elaborate: This caused a crash on TBP, that could be tracked down to having an "empty" cutscenes.tbl (With nothing but #Cutscenes and #end in it). BTW, with that patch, while the game doesn't crash, it doesn't put out a warning or assertion either.
-
To elaborate: This caused a crash on TBP, that could be tracked down to having an "empty" cutscenes.tbl (With nothing but #Cutscenes and #end in it). BTW, with that patch, while the game doesn't crash, it doesn't put out a warning or assertion either.
It's not actually warning or error worthy material.
The code there as it is was checking to see whether there was something in the array (by using str == NULL), it has been converted to use SCP_vector.
This is why we have to be careful when we change to the vector, as it doesn't like being dereferenced it it's empty!
-
Upon reflection, I can see that and agree. It's more of a case of :V: not planning for having no cutscenes.
-
- Turret targeting priorities setup
Does this work on a ship granularity?
-
Instead of creating a new thread, i'll post in here since it's related to the new 3.6.11 features.
This is not a "bug report", rather a question regarding the new feats.
The Nightly build 5502 crashed right on start, i didn't know why, since i didn't change anything in the folder.
The first error message of the debug build revealed the error, a "rogue" texture in the maps folder i forgot to delete months ago.
I wonder why the engine complains about a map that's not used by any model?
Anyway, the new features are really cool AND useful and they help me to keep my folder clean. :D
-
It's likely the texture had a filename that was too long. The entire filesystem for all loaded mods is scanned, so that it doesn't have to scan it again later when looking for textures, etc. That means any filename too long for the filename buffer used to be capable of corrupting memory. That's now been fixed, but any filename that long will cause an assertion. It should help stabilize the engine overall once people clean up their mods of long filenames.
-
- Turret targeting priorities setup
Does this work on a ship granularity?
Specific ship level? Nope, it wont... mainly because its still only a table controlled feature and at table parsing phase there are no ships yet (only ship classes). Besides that should be possible to handle with fredding means.
Options are ATM limited to - all with inclusive or so using say object type ship as targeting criteria automatically allows targeting of all ships regardless of any further checks - following list... (only certain flags are allowed... check wiki)
- Object type
- Weapon Class
- Object Flags
- Ship Class Flags
- Weapon Class Flags
- Ship Type (in objecttypes.tbl)
- Ship Class (in ships.tbl)
-
It's likely the texture had a filename that was too long. The entire filesystem for all loaded mods is scanned, so that it doesn't have to scan it again later when looking for textures, etc. That means any filename too long for the filename buffer used to be capable of corrupting memory. That's now been fixed, but any filename that long will cause an assertion. It should help stabilize the engine overall once people clean up their mods of long filenames.
Thx, for clarification, the filename of the unused map was "Deletethisragnar-shine" without the quotes.
-
That can't be too long for a filename. Or are we stuck with 3+8 here? :wtf:
-
Fury: The real limit is that it's 31 characters all up, including the full path to the file. We really should change this to _MAX_PATH, but then the question becomes what else will break if we do that
-
Besides that should be possible to handle with fredding means.
Without using a heap of fire-beams?
-
Hmm that doesn't actually seem like too long of a filename either. How many extensions were tacked on to the end? Just .dds or something?
-
Hmm that doesn't actually seem like too long of a filename either. How many extensions were tacked on to the end? Just .dds or something?
Just .dds, converted to a DXT5 from a .tga
-
Besides that should be possible to handle with fredding means.
Without using a heap of fire-beams?
Well.. i never considered there to be a need to able to define ship by ship cases for turret targeting.. assumed game engine logic would be enough for that. I'm rather FRED disabled though (i lack ATL/MFC libs required to build and compile fred builds) i have no real idea what, how and where such things should be defined
-
It's fine as long as you don't mind turrets acting like morons at times. I did some sexps for this sometime last year.
-
Has anyone else experienced that 3.6.11 r-builds won't load missions sometimes, stops at the first loading bar and then crashes to generic "has stopped responding" error while d-build loads every time? My success rate with r-build loading missions seems to be about 25%.
-
Do you have fs2_open.log's for these crashes? They could be problems uncovered by the safe_strings changes.
-
As you probably know, r-build does not write to fs2_open.log and as I said, d-build works fine every time. ;)
-
Whoops, yeh late night posting for the loss. My bad :(