Damage simulation

Endcaps - geez there are endcap0_nose1, 2, 3, this repeats for tail, wing, wing tip, engine there are 6 that can be coded. No mention of systemID, so that must be in the exe somewhere. Also there are endcap0_ endcap1_ endcap3_ for the six engines. So I guess there are 40 plus options for endcaps. Also we have endcap3_r_wing_tip1 series starting at endcap0 and _tip2. Gee the fun we can have. Checked the exe, it just mentions systemID but does not define them...so we can make our own.
 
There are a lot more than I realized! The SDK indicates that endcap1_xxx, endcap2_xxx etc are to create variations of the same damaged part for variety. So maybe if this allows you to build multiple versions of an endcap for the same system and have one used randomly?
 
It may also be wise to avoid persistent fire effects. Fires on airplanes tend to be short lived. Either they are put out by a fire suppression system, starved of fuel if possible, and if that doesn't happen rather quickly, with incredibly few exceptions, they burn through critical systems or structures and take the plane down.
Ah yes the blurred line between a simulation and a game, good point though
 
Endcaps - geez there are endcap0_nose1, 2, 3, this repeats for tail, wing, wing tip, engine there are 6 that can be coded. No mention of systemID, so that must be in the exe somewhere. Also there are endcap0_ endcap1_ endcap3_ for the six engines. So I guess there are 40 plus options for endcaps. Also we have endcap3_r_wing_tip1 series starting at endcap0 and _tip2. Gee the fun we can have. Checked the exe, it just mentions systemID but does not define them...so we can make our own.


AFAIKT most of these dont have matching systemID's so they dont seem to work in the game though they do work in the model viewer

I could only get the extra engine endcaps to work but I hope you find something I missed
 
Steve,

I have made my own SystemID in the xdp before and I believe that they worked. The game launches and no errors. I found no reference to SystemID in the game exe file only a reference to SystemID. When I find the time I will make new ones up and see if they are displayed in the game when hit.
 
In regards to feathered props:

Under General Engine Data, in the Aircraft.cfg file, try setting the fuel flow on one of the engines to 0. Or just outright delete it and see what happens.

This is from a B-24

[GeneralEngineData]
engine_type =0
Engine.0 =7.874, -25.755, 0.328
Engine.1 =8.694, -11.877, -0.328
Engine.2 =8.694, 11.877, -0.328
Engine.3 =7.874, 25.755, 0.328
fuel_flow_scalar =1.00000
min_throttle_limit=0.00000
 
Excellent suggestion. Deleted 2 engines from that section of the cfg file and get feathered or stationary props. Not sure how to adjust the fuel flow on a particular engine from that cfg section.
 
So I've been messing around with 65olschool's ides on the effects and the warning about having engine fires and subsequent disasters, although I might make an ai like that. I made up a debris effect by hacking another :wiggle: called fx_engdebris_m____ as below

<fx_engdebris_m____ ClassName="GroupEffect" Effect0="SmokeTrail_Air_XLRG_Brief" Effect1="SmokeTrail_Air_XLRG_Brief_w_delay" Effect2="Air_fire_MED3_brief_w_delay" Effect3="AirDebris_SML_SubGrp" Effect5="AirDebris_LRG_SubGrp" Effect6="Air_Smoke_Flak1"/>

I also didi a small but haven't been impressed by it.

<fx_engdebris_s ClassName="GroupEffect" Effect0="AirDebris_SML_SubGrp" Effect1="AirDebris_SML_Extended_SubGrp" Effect2="snd_Expl_Air_S" Effect4="DebrisAir_dark_smoke" Effect5="DebrisAir_fireball_burst" Effect5="AirDebris_LRG_SubGrp" Effect6="Air_Smoke_Flak1"/>


I put the effects on one engine left and right exhausts as below
<Effect Type="Track" EffectName="fx_oilleak_m" Location="emitter_eng0_exh_r"/>
<Effect Type="Track" EffectName="fx_oilleak_m" Location="emitter_eng0_exh_l"/>
<Effect Type="Track" EffectName="fx_hydraulic_m" Location="emitter_eng0_exh_r"/>
<Effect Type="Track" EffectName="fx_hydraulic_m" Location="emitter_eng0_exh_l"/>
<Effect Type="Track" EffectName="fx_engdebris_m____" Location="emitter_eng0_exh_r"/>
<Effect Type="Track" EffectName="fx_engdebris_m____" Location="emitter_eng0_exh_l"/>


The result was better but then I have no idea what I'm doing WRT making my own effects! :p
 

Attachments

  • B17 debris smoke.mp4
    1.9 MB
Last edited:
On 2nd look there are issues. Which ever engines I delete from
[GeneralEngineData]
engine_type = 0
fuel_flow_scalar = 1.000
engine.0 = 10.600, -21.000, 0.000
engine.1 = 12.400, -10.000, -0.800
engine.2 = 12.400, 10.000, -0.800
engine.3 = 10.600, 21.000, 0.000

Always the first 2 engines stopped are the starboard ones. I don't seem to get any port engines stopped unless the former 2 are first deleted?
 
Feathered props & stopped engines.
I spent a good few hours playing with the xdp system files to no avail. The SDK docs allude to jamming guns, for example, but I can't find such entries in the stock game. I can't see that feathered props are a possibility either. WoTR and WoFF have engine failures but they are random and dependent on A/C type and they have extra file types.
I have seen engine seizures in game but that seems to be only in the mission or campaign rather than QC so are likely game engine based.
The only way that I can see an engine cutting out during combat is via the xdp damage system but there seems to be no command /text/syntax that will activate it. E.g. I've been looking at engine_one systems and linking that to engine control commands but can't get that to work either.
What's needed is a damage text that will switch an engine off.
Any ideas anyone?
 
Well Foo Fighter's idea is interesting if one wants a model with already stopped engines, which I want for my B17F_CR representing a crippled B17. The issue seems to be that if I want only 1 or 2 engines, they must be starboard ones; don't know why. As it is, my first attempt of making a damaged _t.dds show up in a game in spite of, I think, following F F's suggestion for making a new alpha for a damaged _t.dds.
 
Try not deleting an engine and instead give it a fuel flow of 0.

Example: engine.2 = 0, 0, 0

Experiment, experiment, experiment!

I learn more by screwing things up on purpose than I do trying to fix them!

So, your Alpha worked?
 
From the AvH B-17G:

<System ID="engine_one" Name="Engine One">
<Threshold Level="10" Effect="Library" Parameter="fx_oilleak" Location="emitter_damage_engine_0"/>
<Threshold Level="70" Effect="Library" Parameter="fx_engfire_s" Location="emitter_damage_engine_0"/>
<Threshold Level="80" Effect="Library" Parameter="fx_engfire_m" Location="emitter_damage_engine_0"/>
<Threshold Level="95" Effect="Library" Parameter="fx_engfire_l" Location="emitter_damage_engine_0L"/>
<Threshold Level="100" Effect="Library" Parameter="fx_airexpl_m" Location="emitter_damage_engine_0"/>
<Threshold Level="100" Effect="Library" Parameter="fx_engfire_l" Location="emitter_damage_engine_0L"/>
<Threshold Level="100" Effect="Break" Parameter="" Location=""/>
</System>

Try changing to:

<System ID="engine_one" Name="Engine One">
<Threshold Level="0" Effect="Library" Parameter="fx_oilleak" Location="emitter_damage_engine_0"/>
<Threshold Level="0" Effect="Library" Parameter="fx_engfire_s" Location="emitter_damage_engine_0"/>
<Threshold Level="0" Effect="Break" Parameter="" Location=""/>
</System>

If it works, alter the effects to your liking. Add or subtract "Threshold Level=" lines if necessary. Just keep in mind the things that affect the engines and try experimenting with them.
 
"
Try changing to:

<System ID="engine_one" Name="Engine One">
<Threshold Level="0" Effect="Library" Parameter="fx_oilleak" Location="emitter_damage_engine_0"/>
<Threshold Level="0" Effect="Library" Parameter="fx_engfire_s" Location="emitter_damage_engine_0"/>
<Threshold Level="0" Effect="Break" Parameter="" Location=""/>
</System>

If it works, alter the effects to your liking. Add or subtract "Threshold Level=" lines if necessary. Just keep in mind the things that affect the engines and try experimenting with them."


Barry you're a star!

I used just these 3 lines for the engines:

<Threshold Level="50" Effect="Library" Parameter="fx_oilleak" Location="emitter_damage_engine_0"/>
<Threshold Level="50" Effect="Library" Parameter="fx_engfire_s" Location="emitter_damage_engine_0"/>
<Threshold Level="10" Effect="Break" Parameter="" Location=""/>

And yes, by swapping the threshold levels around we get the different orders of events.

So the next stage is to have the endcap showing here, to be a model of the whole engine with a feathered prop. That ought to do it.

JU88 damage.png
 
It only bloomin' worked! :cool:

The feathered engine is one big endcap. The only snag is that you see the real engine drop away first, I wonder if that could be made transparent in he mos file somehow? Something else to try.

JU88 damage2.png
 
Back
Top