Jump to content

Appreciation and a little feature


Kakyou

Recommended Posts

First of all let me thank you for this great mod. Tiberian Dawn is IMO the best and the only true Command and Conquer game. The game's atmosphere is astonishing and no other game from this series comes close to this atmosphere, but nevertheless let me thank you for this great piece of work.

 

Now the presentation is nearly perfect and I can only say. Thank you, thank you and thank you. Although I have some questions I want first to give you a little present. I've added a neat graphical feature into your mod. Now the shells are staying on the ground, after they fall to the earth. I myself have some coding experience, as I am a computer science student. I hope you will enjoy it. Due to the fact that the it's a little bit complicated to install it, I'll make an instruction in the next post.

 

Nevertheless I have some questions for you.

 

1. I hope you are going to implement the mission alternative maps? This could be a good chance to create four different campaign version, as there are four choices for the Nod-ending, not to mention you could use cut-scenes, which couldn't fit into the general campaign. oh and it would be possible to use the generalChallenges code for a custom menu. I myself will try to change the menu, when I find some time.

 

2. What are your settings for the cut-scenes before you bik them. (Frame-Rate, Compression algorithm, Bit-Rate) (Audio settings). (I am just curious :) )

Oh and congratulations for the SpecOps briefing. I assume you have a template and script for the generation of the videos or are you doing it frame by frame?

 

3. Although this isn't a question but there are some improvement propositions  (presentation wise), which I have to make but not now :)

 

I will try to gain more practice with this code and I would be glad If I could help you with coding, although I don't have any talent for animating ;)

 

Well I'll attach a small vid of the game, which shows what happens after the modification :) 

 

Forget the attachment: Here's a mediafire-link of it: http://www.mediafire.com/?e2l21eqb93pym24

 

One word of warning: I couldn't care less about multi-player experience therefore I created this small modification for the pleasure of the eye and the increase of the atmosphere only. Be warned :)

 

 

Thanks and have fun

 

Link to comment
Share on other sites

OK here's the instruction I'll try to explain it thoroughly:

 

 

 

1: Changes in the ParticleSystem.ini

 

Just copy the following text into your ParticleSystem.ini:

 

 

ParticleSystem LyingShells
  Priority = CONSTANT
  IsOneShot = Yes
  Shader = ADDITIVE
  Type = PARTICLE
  ParticleName = EXShell.tga
  AngleZ = 100.00 400.00
  AngularRateZ = 20.00 40.00
  AngularDamping = 20.00 60.00
  VelocityDamping = 0.00 0.00
  Gravity = 0.0
  Lifetime = 1500.00 2500.00
  SystemLifetime = 1
  Size = 1.0 1.0
  StartSizeRate = 0.00 0.00
  SizeRate = 0.00 0.00
  SizeRateDamping = 1.00 1.00
  Alpha1 = 1.00 1.00 0
  Alpha2 = 0.00 0.00 10
  Alpha3 = 0.00 0.00 0
  Alpha4 = 0.00 0.00 0
  Alpha5 = 0.00 0.00 0
  Alpha6 = 0.00 0.00 0
  Alpha7 = 0.00 0.00 0
  Alpha8 = 0.00 0.00 0
  Color1 = R:255 G:255 B:93 0
  Color2 = R:0 G:0 B:0 0
  Color3 = R:0 G:0 B:0 0
  Color4 = R:0 G:0 B:0 0
  Color5 = R:0 G:0 B:0 0
  Color6 = R:0 G:0 B:0 0
  Color7 = R:0 G:0 B:0 0
  Color8 = R:0 G:0 B:0 0
  ColorScale = 0.00 0.00
  BurstDelay = 1.00 5.00
  BurstCount = 1.00 1.00
  InitialDelay = 0.00 0.00
  DriftVelocity = X:0.0 Y:0.0 Z:0.0
  VelocityType = ORTHO  
  VelOrthoX = 0.00 0.00
  VelOrthoY = 0.00 0.00
  VelOrthoZ = 0.00 0.00  
  VolumeType = SPHERE
  VolSphereRadius = 3.00
  IsHollow = No
  IsGroundAligned = No
  IsEmitAboveGroundOnly = No
  IsParticleUpTowardsEmitter = No
  WindMotion = Unused
  WindAngleChangeMin = 0.149924
  WindAngleChangeMax = 0.449946
  WindPingPongStartAngleMin = 0.000000
  WindPingPongStartAngleMax = 0.785398
  WindPingPongEndAngleMin = 5.497787
  WindPingPongEndAngleMax = 6.283185
End

 

 

 

ParticleSystem LyingShellsGattling
  Priority = CONSTANT
  IsOneShot = Yes
  Shader = ADDITIVE
  Type = PARTICLE
  ParticleName = EXShell.tga
  AngleZ = 100.00 400.00
  AngularRateZ = 20.00 40.00
  AngularDamping = 20.00 60.00
  VelocityDamping = 0.00 0.00
  Gravity = 0.0
  Lifetime = 1500.00 2500.00
  SystemLifetime = 1
  Size = 2.0 2.0
  StartSizeRate = 0.00 0.00
  SizeRate = 0.00 0.00
  SizeRateDamping = 1.00 1.00
  Alpha1 = 1.00 1.00 0
  Alpha2 = 0.00 0.00 10
  Alpha3 = 0.00 0.00 0
  Alpha4 = 0.00 0.00 0
  Alpha5 = 0.00 0.00 0
  Alpha6 = 0.00 0.00 0
  Alpha7 = 0.00 0.00 0
  Alpha8 = 0.00 0.00 0
  Color1 = R:255 G:255 B:93 0
  Color2 = R:0 G:0 B:0 0
  Color3 = R:0 G:0 B:0 0
  Color4 = R:0 G:0 B:0 0
  Color5 = R:0 G:0 B:0 0
  Color6 = R:0 G:0 B:0 0
  Color7 = R:0 G:0 B:0 0
  Color8 = R:0 G:0 B:0 0
  ColorScale = 0.00 0.00
  BurstDelay = 1.00 5.00
  BurstCount = 1.00 1.00
  InitialDelay = 0.00 0.00
  DriftVelocity = X:0.0 Y:0.0 Z:0.0
  VelocityType = ORTHO  
  VelOrthoX = 0.00 0.00
  VelOrthoY = 0.00 0.00
  VelOrthoZ = 0.00 0.00  
  VolumeType = SPHERE
  VolSphereRadius = 3.00
  IsHollow = No
  IsGroundAligned = No
  IsEmitAboveGroundOnly = No
  IsParticleUpTowardsEmitter = No
  WindMotion = Unused
  WindAngleChangeMin = 0.149924
  WindAngleChangeMax = 0.449946
  WindPingPongStartAngleMin = 0.000000
  WindPingPongStartAngleMax = 0.785398
  WindPingPongEndAngleMin = 5.497787
  WindPingPongEndAngleMax = 6.283185
End

 

Not really needed but I did it for the sake of completion:

 

 

ParticleSystem LyingShellsSpectreGattling
  Priority = CONSTANT
  IsOneShot = Yes
  Shader = ADDITIVE
  Type = PARTICLE
  ParticleName = EXShell.tga
  AngleZ = 100.00 400.00
  AngularRateZ = 20.00 40.00
  AngularDamping = 20.00 60.00
  VelocityDamping = 0.00 0.00
  Gravity = 0.0
  Lifetime = 1500.00 2500.00
  SystemLifetime = 1
  Size = 1.50 1.50
  StartSizeRate = 0.00 0.00
  SizeRate = 0.00 0.00
  SizeRateDamping = 1.00 1.00
  Alpha1 = 1.00 1.00 0
  Alpha2 = 0.00 0.00 10
  Alpha3 = 0.00 0.00 0
  Alpha4 = 0.00 0.00 0
  Alpha5 = 0.00 0.00 0
  Alpha6 = 0.00 0.00 0
  Alpha7 = 0.00 0.00 0
  Alpha8 = 0.00 0.00 0
  Color1 = R:255 G:255 B:93 0
  Color2 = R:0 G:0 B:0 0
  Color3 = R:0 G:0 B:0 0
  Color4 = R:0 G:0 B:0 0
  Color5 = R:0 G:0 B:0 0
  Color6 = R:0 G:0 B:0 0
  Color7 = R:0 G:0 B:0 0
  Color8 = R:0 G:0 B:0 0
  ColorScale = 0.00 0.00
  BurstDelay = 1.00 5.00
  BurstCount = 1.00 1.00
  InitialDelay = 0.00 0.00
  DriftVelocity = X:0.0 Y:0.0 Z:0.0
  VelocityType = ORTHO  
  VelOrthoX = 0.00 0.00
  VelOrthoY = 0.00 0.00
  VelOrthoZ = 0.00 0.00  
  VolumeType = SPHERE
  VolSphereRadius = 3.00
  IsHollow = No
  IsGroundAligned = No
  IsEmitAboveGroundOnly = No
  IsParticleUpTowardsEmitter = No
  WindMotion = Unused
  WindAngleChangeMin = 0.149924
  WindAngleChangeMax = 0.449946
  WindPingPongStartAngleMin = 0.000000
  WindPingPongStartAngleMax = 0.785398
  WindPingPongEndAngleMin = 5.497787
  WindPingPongEndAngleMax = 6.283185
End

 

 

2: Changes in the Weapon.ini

 

 

Find the following line VulcanDefenseGun

 

 

Now change:

 

 

FireFX                = WeaponFX_GattlingCannonMachineGunFire
VeterancyFireFX       = HEROIC WeaponFX_GattlingCannonMachineGunFireWithRedTracers

 

 

into:

 

 

FireFX                = WeaponFX_VulcanCannonMachineGunFire
VeterancyFireFX       = HEROIC WeaponFX_VulcanCannonMachineGunFireWithRedTracers

 

 

 

Find the following line CommandoSniperRifleWeapon

 

 

Now change:

 

 

FireFX = WeaponFX_GenericMachineGunFire

 

 

into:

 

 

FireFX = WeaponFX_CommandoSniperRifleWeapon

 

 

 

 

3. Changes in the FXList.ini

 

 

OK now comes the hard part:

 

3.1. Search for the following entries:

 

  • WeaponFX_GenericMachineGunFire
  • WeaponFX_GenericMachineGunFireWithRedTracers
  • WeaponFX_QuadCannonGunFire
  • WeaponFX_HeroicQuadCannonGunFire
  • WeaponFX_TechnicalGunFire
  • WeaponFX_SentryDroneGunFire
  • WeaponFX_TiberiumMachineGunFire

 

 

and now insert after the following code:

 

 

 ParticleSystem 
   Name = FallingShells
   OrientToObject = Yes
   Offset = X:0.0 Y:0.0 Z:0.0
End

 

 

the following one:

 

 

ParticleSystem 
Name = LyingShells 
OrientToObject = Yes         
CreateAtGroundHeight = Yes 
Offset = X:0.00 Y:15.00 Z:30.0      
InitialDelay = 600 600 UNIFORM  
End

 

 

 

3.2. Search now for the following entries:

 

 

  • WeaponFX_Comanche20mmCannonFire
  • WeaponFX_HeroicComanche20mmCannonFire
  • WeaponFX_TiberiumMachineGunFire2

 

 

 

and now insert after the following code:

 

 

 ParticleSystem 
   Name = FallingShells
   OrientToObject = Yes
   Offset = X:0.0 Y:0.0 Z:0.0
End

 

 

the following one:

 

 

ParticleSystem 
Name = LyingShells 
OrientToObject = Yes         
CreateAtGroundHeight = Yes 
Offset = X:-5.0 Y:25.0 Z:100.0      
InitialDelay = 700 700 UNIFORM  
End

 

 

 

3.3. Search now for the following entries (Just for the sake of completion):

 

 

  • WeaponFX_GattlingTankMachineGunFire
  • WeaponFX_GattlingTankMachineGunFireWithRedTracers

 

 

 

and now insert after the following code:

 

 

 ParticleSystem 
   Name = FallingShells
   OrientToObject = Yes
   Offset = X:0.0 Y:0.0 Z:0.0
End

 

 

the following one:

 

 

ParticleSystem 
Name = LyingShellsGattling
OrientToObject = Yes         
CreateAtGroundHeight = Yes  
Offset = X:0.00 Y:15.00 Z:30.0      
InitialDelay = 600 600 UNIFORM  
End

 

 

 

3.4.  Search now for the following entries

 

 

  • WeaponFX_GattlingCannonMachineGunFire
  • WeaponFX_GattlingCannonMachineGunFireWithRedTracers

 

 

and now insert after the following code:

 

 

 ParticleSystem 
   Name = FallingShells
   OrientToObject = Yes
   Offset = X:0.0 Y:0.0 Z:0.0
End

 

 

the following one:

 

 

ParticleSystem 
Name = LyingShellsGattling 
OrientToObject = Yes         
CreateAtGroundHeight = Yes 
Offset = X:8.00 Y:15.00 Z:30.0      
InitialDelay = 600 600 UNIFORM  
End

 

 

 

 

3.5. Search now for the following entries (Just for the sake of completion):

 

 

  • WeaponFX_SpectreGattlingMuzzleFlash

 

 

and now insert after the following code:

 

 

 ParticleSystem 
   Name = FallingShells
   OrientToObject = Yes
   Offset = X:0.0 Y:0.0 Z:0.0
End

 

 

the following one:

 

 

ParticleSystem 
Name = LyingShellsSpectreGattling
OrientToObject = Yes         
CreateAtGroundHeight = Yes 
Offset = X:0.00 Y:15.00 Z:30.0      
InitialDelay = 650 650 UNIFORM  
End

 

 

Add now the following code:

 

; ----------------------------------------------
FXList WeaponFX_VulcanCannonMachineGunFire
  LightPulse 
Color = R:255 G:255 B:128 
Radius = 10 
IncreaseTime = 0 
DecreaseTime = 100
  End
  ParticleSystem 
Name = GattlingCannonLenzflare
OrientToObject = Yes
Offset = X:0.0 Y:0.0 Z:0.0
  End
  ParticleSystem 
Name = FallingShellsGattlingTilted
OrientToObject = Yes
Offset = X:0.0 Y:0.0 Z:0.0
  End
  ParticleSystem 
Name = LyingShellsGattling
OrientToObject = Yes         
CreateAtGroundHeight = Yes 
Offset = X:20.00 Y:30.00 Z:30.0      
InitialDelay = 780 780 UNIFORM  
  End
  Tracer
DecayAt = 1
Length = 10
Width = 0.3
Color = R:235 G:179 B:10
Speed = 1200
Probability = 0.7
  End
End

 

; ----------------------------------------------
FXList WeaponFX_VulcanCannonMachineGunFireWithRedTracers
  LightPulse 
Color = R:255 G:64 B:64 
Radius = 25
IncreaseTime = 0 
DecreaseTime = 500
  End
  ParticleSystem 
Name = HeroicGattlingCannonLenzflare
OrientToObject = Yes
Offset = X:0.0 Y:0.0 Z:0.0
  End
  ParticleSystem 
Name = FallingShellsGattlingTilted
OrientToObject = Yes
Offset = X:0.0 Y:0.0 Z:0.0
  End
  ParticleSystem 
Name = LyingShellsGattling
OrientToObject = Yes         
CreateAtGroundHeight = Yes 
Offset = X:20.00 Y:30.00 Z:30.0      
InitialDelay = 780 780 UNIFORM  
  End
  Tracer
DecayAt = 1
Length = 10
Width = 0.3
Color = R:244 G:80 B:0
Speed = 1200
Probability = 0.7
  End
End

 

; ----------------------------------------------
FXList WeaponFX_CommandoSniperRifleWeapon
  LightPulse 
Color = R:255 G:255 B:128 
Radius = 10 
IncreaseTime = 0 
DecreaseTime = 200
  End
  ParticleSystem 
Name = GattlingCannonLenzflare
OrientToObject = Yes
Offset = X:0.0 Y:0.0 Z:0.0
  End
  ParticleSystem 
Name = FallingShells
OrientToObject = Yes
Offset = X:0.0 Y:0.0 Z:0.0
  End
  ParticleSystem 
Name = LyingShells
OrientToObject = Yes         
CreateAtGroundHeight = Yes 
Offset = X:0.00 Y:15.00 Z:30.0      
InitialDelay = 700 700 UNIFORM  
  End

  Tracer
DecayAt = 1
Length = 10
Width = 0.3
Color = R:235 G:179 B:10
Speed = 600
Probability = 0.5
  End
End

 

 

 

 

If you are going to polish this, then please do it. If the shells are lying to long, just change the lifetime in the ParticleSystem.ini file.

 

 

 

It would be wise to change the MaxParticleCount  in the GameData.ini to a higher amount than 5000. Like 15000 or 20000 or as much as your system can handle it. It would be wise to increase MaxFieldParticleCount to higher amount than 500. Like 2000 or 5000.

 

 

Have fun :)

 

 

 

Link to comment
Share on other sites

  • 9 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...