mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Added custom smoke particles
This commit is contained in:
parent
24ce8b7753
commit
deb9e0d75c
1
addons/particles/$PBOPREFIX$
Normal file
1
addons/particles/$PBOPREFIX$
Normal file
@ -0,0 +1 @@
|
||||
z\ace\addons\particles
|
61
addons/particles/CfgAmmo.hpp
Normal file
61
addons/particles/CfgAmmo.hpp
Normal file
@ -0,0 +1,61 @@
|
||||
class CfgAmmo {
|
||||
class GrenadeHand;
|
||||
|
||||
// - Smoke hand grenades --------------------------------------------------
|
||||
class SmokeShell: GrenadeHand {
|
||||
smokeColor[] = {1, 1, 1, 1};
|
||||
};
|
||||
class SmokeShellRed: SmokeShell {
|
||||
smokeColor[] = {0.9528, 0.0438, 0.0410, 1};
|
||||
};
|
||||
class SmokeShellGreen: SmokeShell {
|
||||
smokeColor[] = {0.0328, 0.1626, 0.1023, 1};
|
||||
};
|
||||
class SmokeShellYellow: SmokeShell {
|
||||
smokeColor[] = {0.9610, 0.4505, 0.0109, 1};
|
||||
};
|
||||
class SmokeShellPurple: SmokeShell {
|
||||
smokeColor[] = {0.4622, 0.0578, 0.3154, 1};
|
||||
};
|
||||
class SmokeShellBlue: SmokeShell {
|
||||
smokeColor[] = {0.0355, 0.1863, 1.0000, 1};
|
||||
};
|
||||
class SmokeShellOrange: SmokeShell {
|
||||
smokeColor[] = {0.9132, 0.1763, 0.0070, 1};
|
||||
};
|
||||
|
||||
// - 40mm smoke grenades --------------------------------------------------
|
||||
class G_40mm_Smoke: SmokeShell {
|
||||
smokeColor[] = {1, 1, 1, 1};
|
||||
};
|
||||
class G_40mm_SmokeRed: G_40mm_Smoke {
|
||||
smokeColor[] = {0.9528, 0.0438, 0.0410, 1};
|
||||
};
|
||||
class G_40mm_SmokeGreen: G_40mm_Smoke {
|
||||
smokeColor[] = {0.0328, 0.1626, 0.1023, 1};
|
||||
};
|
||||
class G_40mm_SmokeYellow: G_40mm_Smoke {
|
||||
smokeColor[] = {0.9610, 0.4505, 0.0109, 1};
|
||||
};
|
||||
class G_40mm_SmokePurple: G_40mm_Smoke {
|
||||
smokeColor[] = {0.4622, 0.0578, 0.3154, 1};
|
||||
};
|
||||
class G_40mm_SmokeBlue: G_40mm_Smoke {
|
||||
smokeColor[] = {0.0355, 0.1863, 1.0000, 1};
|
||||
};
|
||||
class G_40mm_SmokeOrange: G_40mm_Smoke {
|
||||
smokeColor[] = {0.9132, 0.1763, 0.0070, 1};
|
||||
};
|
||||
|
||||
// - Artillery smoke submunition ------------------------------------------
|
||||
class SmokeShellArty: SmokeShell {
|
||||
explosionTime = 0;
|
||||
effectsSmoke = "ACE_ArtillerySmoke";
|
||||
};
|
||||
|
||||
// - 120mm/155mm artillery smoke ------------------------------------------
|
||||
class SubmunitionBase;
|
||||
class Smoke_120mm_AMOS_White: SubmunitionBase {
|
||||
submunitionConeAngle = 10;
|
||||
};
|
||||
};
|
125
addons/particles/CfgCloudlets.hpp
Normal file
125
addons/particles/CfgCloudlets.hpp
Normal file
@ -0,0 +1,125 @@
|
||||
class CfgCloudlets {
|
||||
class Default;
|
||||
|
||||
// - Surface smoke --------------------------------------------------------
|
||||
class ACE_SmokeBaseLarge: Default {
|
||||
colorCoef[] = {"colorR", "colorG", "colorB", "colorA"};
|
||||
sizeCoef = 1;
|
||||
position[] = {0, 0, 0};
|
||||
interval = 0.05;
|
||||
circleRadius = 0;
|
||||
circleVelocity[] = {0, 0, 0};
|
||||
particleShape = QUOTE(PATHTOF(data\smoke.p3d));
|
||||
particleFSNtieth = 1;
|
||||
particleFSIndex = 0;
|
||||
particleFSFrameCount = 1;
|
||||
particleFSLoop = 0;
|
||||
angleVar = 0.1;
|
||||
animationName = "";
|
||||
particleType = "Billboard";
|
||||
timerPeriod = 1;
|
||||
lifeTime = 30;
|
||||
lifeTimeVar = 2;
|
||||
animationSpeed[] = {1};
|
||||
animationSpeedCoef = 1;
|
||||
randomDirectionPeriod = 1;
|
||||
randomDirectionPeriodVar = 0;
|
||||
randomDirectionIntensity = 0.2;
|
||||
randomDirectionIntensityVar = 0;
|
||||
destroyOnWaterSurface = 1;
|
||||
destroyOnWaterSurfaceOffset = -0.6;
|
||||
positionVar[] = {0, 0, 0};
|
||||
moveVelocityVar[] = {0.25, 0.25, 0.25};
|
||||
colorVar[] = {0, 0, 0, 0};
|
||||
color[] = {
|
||||
{0.5, 0.5, 0.5, 1},
|
||||
{0.5, 0.5, 0.5, 0.7},
|
||||
{0.5, 0.5, 0.5, 0.5},
|
||||
{0.5, 0.5, 0.5, 0.5},
|
||||
{0.5, 0.5, 0.5, 0.1},
|
||||
{0.5, 0.5, 0.5, 0}
|
||||
};
|
||||
size[] = {0.05, 7, 15, 20};
|
||||
sizeVar = 0.5;
|
||||
weight = 1.2777;
|
||||
moveVelocity[] = {0, 0, 0};
|
||||
rotationVelocity = 0;
|
||||
rotationVelocityVar = 20;
|
||||
volume = 1;
|
||||
rubbing = 0.1;
|
||||
onTimerScript = "";
|
||||
beforeDestroyScript = "";
|
||||
blockAIVisibility = 1;
|
||||
};
|
||||
class ACE_SmokeBaseSmall: ACE_SmokeBaseLarge {
|
||||
size[] = {0.05, 5, 7.5, 10};
|
||||
};
|
||||
|
||||
// - Artillery smoke ------------------------------------------------------
|
||||
class ACE_SmokeBaseArtilleryLarge: ACE_SmokeBaseLarge {
|
||||
lifeTime = 45;
|
||||
};
|
||||
class ACE_SmokeBaseArtillerySmall: ACE_SmokeBaseSmall {
|
||||
lifeTime = 45;
|
||||
};
|
||||
|
||||
// - Smoke on water surface -----------------------------------------------
|
||||
class ACE_SmokeAfterWater: ACE_SmokeBaseLarge {
|
||||
interval = 0.05;
|
||||
size[] = {0.05, 2, 5};
|
||||
sizeVar = 1;
|
||||
lifeTime = 10;
|
||||
color[] = {
|
||||
{0.5, 0.5, 0.5, 0.07},
|
||||
{0.5, 0.5, 0.5, 0}
|
||||
};
|
||||
moveVelocityVar[] = {0, 0, 0};
|
||||
colorCoef[] = {1, 1, 1, 1};
|
||||
};
|
||||
class ACE_SmokeAfterWaterRed: ACE_SmokeAfterWater {
|
||||
colorCoef[] = {0.9528, 0.0438, 0.0410, 1};
|
||||
};
|
||||
class ACE_SmokeAfterWaterGreen: ACE_SmokeAfterWater {
|
||||
colorCoef[] = {0.0328, 0.1626, 0.1023, 1};
|
||||
};
|
||||
class ACE_SmokeAfterWaterYellow: ACE_SmokeAfterWater {
|
||||
colorCoef[] = {0.9610, 0.4505, 0.0109, 1};
|
||||
};
|
||||
class ACE_SmokeAfterWaterPurple: ACE_SmokeAfterWater {
|
||||
colorCoef[] = {0.4622, 0.0578, 0.3154, 1};
|
||||
};
|
||||
class ACE_SmokeAfterWaterBlue: ACE_SmokeAfterWater {
|
||||
colorCoef[] = {0.0355, 0.1863, 1.0000, 1};
|
||||
};
|
||||
class ACE_SmokeAfterWaterOrange: ACE_SmokeAfterWater {
|
||||
colorCoef[] = {0.9132, 0.1763, 0.0070, 1};
|
||||
};
|
||||
class SmokeShellWhiteUW;
|
||||
class SmokeShellWhite2UW: SmokeShellWhiteUW {
|
||||
postEffects = "ACE_SmokeAfterWater";
|
||||
};
|
||||
class SmokeShellRedUW;
|
||||
class SmokeShellRed2UW: SmokeShellRedUW {
|
||||
postEffects = "ACE_SmokeAfterWaterRed";
|
||||
};
|
||||
class SmokeShellGreenUW;
|
||||
class SmokeShellGreen2UW: SmokeShellGreenUW {
|
||||
postEffects = "ACE_SmokeAfterWaterGreen";
|
||||
};
|
||||
class SmokeShellYellowUW;
|
||||
class SmokeShellYellow2UW: SmokeShellYellowUW {
|
||||
postEffects = "ACE_SmokeAfterWaterYellow";
|
||||
};
|
||||
class SmokeShellPurpleUW;
|
||||
class SmokeShellPurple2UW: SmokeShellPurpleUW {
|
||||
postEffects = "ACE_SmokeAfterWaterPurple";
|
||||
};
|
||||
class SmokeShellBlueUW;
|
||||
class SmokeShellBlue2UW: SmokeShellBlueUW {
|
||||
postEffects = "ACE_SmokeAfterWaterBlue";
|
||||
};
|
||||
class SmokeShellOrangeUW;
|
||||
class SmokeShellOrange2UW: SmokeShellOrangeUW {
|
||||
postEffects = "ACE_SmokeAfterWaterOrange";
|
||||
};
|
||||
};
|
65
addons/particles/Effects.hpp
Normal file
65
addons/particles/Effects.hpp
Normal file
@ -0,0 +1,65 @@
|
||||
class SmokeShellWhiteEffect {
|
||||
class SmokeShell {
|
||||
type = "ACE_SmokeBaseLarge";
|
||||
};
|
||||
class SmokeShell2 {
|
||||
type = "ACE_SmokeBaseSmall";
|
||||
};
|
||||
};
|
||||
|
||||
class ACE_ArtillerySmoke {
|
||||
class SmokeShell {
|
||||
type = "ACE_SmokeBaseArtilleryLarge";
|
||||
simulation = "particles";
|
||||
position[] = {0, 0, 0};
|
||||
intensity = 1;
|
||||
interval = 1;
|
||||
};
|
||||
class SmokeShell2 {
|
||||
type = "ACE_SmokeBaseArtillerySmall";
|
||||
simulation = "particles";
|
||||
position[] = {0, 0, 0};
|
||||
intensity = 1;
|
||||
interval = 1;
|
||||
};
|
||||
};
|
||||
|
||||
class ACE_SmokeAfterWater {
|
||||
class SmokeAfterWater {
|
||||
type = "ACE_SmokeAfterWater";
|
||||
simulation = "particles";
|
||||
position[] = {0, 0, 0};
|
||||
intensity = 1;
|
||||
interval = 1;
|
||||
};
|
||||
};
|
||||
class ACE_SmokeAfterWaterRed: ACE_SmokeAfterWater {
|
||||
class SmokeAfterWater: SmokeAfterWater {
|
||||
type = "ACE_SmokeAfterWaterRed";
|
||||
};
|
||||
};
|
||||
class ACE_SmokeAfterWaterGreen: ACE_SmokeAfterWater {
|
||||
class SmokeAfterWater: SmokeAfterWater {
|
||||
type = "ACE_SmokeAfterWaterGreen";
|
||||
};
|
||||
};
|
||||
class ACE_SmokeAfterWaterYellow: ACE_SmokeAfterWater {
|
||||
class SmokeAfterWater: SmokeAfterWater {
|
||||
type = "ACE_SmokeAfterWaterYellow";
|
||||
};
|
||||
};
|
||||
class ACE_SmokeAfterWaterPurple: ACE_SmokeAfterWater {
|
||||
class SmokeAfterWater: SmokeAfterWater {
|
||||
type = "ACE_SmokeAfterWaterPurple";
|
||||
};
|
||||
};
|
||||
class ACE_SmokeAfterWaterOrange: ACE_SmokeAfterWater {
|
||||
class SmokeAfterWater: SmokeAfterWater {
|
||||
type = "ACE_SmokeAfterWaterOrange";
|
||||
};
|
||||
};
|
||||
class ACE_SmokeAfterWaterBlue: ACE_SmokeAfterWater {
|
||||
class SmokeAfterWater: SmokeAfterWater {
|
||||
type = "ACE_SmokeAfterWaterBlue";
|
||||
};
|
||||
};
|
18
addons/particles/config.cpp
Normal file
18
addons/particles/config.cpp
Normal file
@ -0,0 +1,18 @@
|
||||
#include "script_component.hpp"
|
||||
|
||||
class CfgPatches {
|
||||
class ADDON {
|
||||
units[] = {};
|
||||
weapons[] = {};
|
||||
requiredVersion = REQUIRED_VERSION;
|
||||
requiredAddons[] = {"ace_common"};
|
||||
author = ECSTRING(common,ACETeam);
|
||||
authors[] = {""};
|
||||
url = ECSTRING(main,URL);
|
||||
VERSION_CONFIG;
|
||||
};
|
||||
};
|
||||
|
||||
#include "CfgAmmo.hpp"
|
||||
#include "CfgCloudlets.hpp"
|
||||
#include "Effects.hpp"
|
BIN
addons/particles/data/smoke.p3d
Normal file
BIN
addons/particles/data/smoke.p3d
Normal file
Binary file not shown.
BIN
addons/particles/data/smoke_ca.paa
Normal file
BIN
addons/particles/data/smoke_ca.paa
Normal file
Binary file not shown.
17
addons/particles/script_component.hpp
Normal file
17
addons/particles/script_component.hpp
Normal file
@ -0,0 +1,17 @@
|
||||
#define COMPONENT particles
|
||||
#include "\z\ace\addons\main\script_mod.hpp"
|
||||
|
||||
// #define DEBUG_MODE_FULL
|
||||
// #define DISABLE_COMPILE_CACHE
|
||||
// #define CBA_DEBUG_SYNCHRONOUS
|
||||
// #define ENABLE_PERFORMANCE_COUNTERS
|
||||
|
||||
#ifdef DEBUG_ENABLED_PARTICLES
|
||||
#define DEBUG_MODE_FULL
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG_SETTINGS_PARTICLES
|
||||
#define DEBUG_SETTINGS DEBUG_SETTINGS_PARTICLES
|
||||
#endif
|
||||
|
||||
#include "\z\ace\addons\main\script_macros.hpp"
|
Loading…
Reference in New Issue
Block a user