Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
eebb537b20 | ||
|
8998de29aa | ||
|
849057cece | ||
|
c55b8694e7 | ||
|
cbb3ffb008 | ||
|
93e171ec5b | ||
|
9096f79f5a |
Before Width: | Height: | Size: 6.6 KiB |
BIN
assets/ball.png
Before Width: | Height: | Size: 962 B |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 759 B |
Before Width: | Height: | Size: 1022 B |
Before Width: | Height: | Size: 564 B |
@ -1,15 +0,0 @@
|
|||||||
precision mediump float;
|
|
||||||
uniform sampler2D Texture;
|
|
||||||
uniform float Transparency;
|
|
||||||
uniform vec4 BrickColor;
|
|
||||||
varying vec2 texCoord;
|
|
||||||
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
vec4 color = BrickColor * texture2D(Texture,texCoord).rgba;
|
|
||||||
|
|
||||||
gl_FragColor = vec4(color.rgb, color.a * Transparency);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
3
assets/config.json
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"effect": "effects/confetti.json"
|
||||||
|
}
|
Before Width: | Height: | Size: 102 B |
Before Width: | Height: | Size: 13 KiB |
102
assets/effects/O-func.json
Executable file
@ -0,0 +1,102 @@
|
|||||||
|
{
|
||||||
|
"name": "Sparkler - бенгальский огонь",
|
||||||
|
|
||||||
|
"emitters":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "Spark",
|
||||||
|
|
||||||
|
"maxParticles": 300,
|
||||||
|
"preloading": 100,
|
||||||
|
|
||||||
|
"texturePath": "textures/spark.png",
|
||||||
|
"textureSize": [ 10, 10 ],
|
||||||
|
|
||||||
|
"hasInertion": "false",
|
||||||
|
"gravity": [0, 0, 0],
|
||||||
|
|
||||||
|
"spawnRange_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"spawnTotal":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1,
|
||||||
|
"value": 5
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"spawnRange":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"lifeTime":
|
||||||
|
{
|
||||||
|
"value": 2
|
||||||
|
},
|
||||||
|
|
||||||
|
"coords_system": "PARTICLE_BIRTH",
|
||||||
|
"coords_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"rotation_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"coords":
|
||||||
|
{
|
||||||
|
"interpolation": "CUBIC_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 100, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.1,
|
||||||
|
"value": [ 95, 30, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.5,
|
||||||
|
"value": [ 0, 100, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.0,
|
||||||
|
"value": [ -100, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.5,
|
||||||
|
"value": [ 0, -100, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.9,
|
||||||
|
"value": [ 95, -30, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 2.000,
|
||||||
|
"value": [ 100, 0, 0]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rotation":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"scale":
|
||||||
|
{
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"color":
|
||||||
|
{
|
||||||
|
"value": [ 1, 1, 0, 1 ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
94
assets/effects/S-func.json
Executable file
@ -0,0 +1,94 @@
|
|||||||
|
{
|
||||||
|
"name": "Sparkler - бенгальский огонь",
|
||||||
|
|
||||||
|
"emitters":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "Spark",
|
||||||
|
|
||||||
|
"maxParticles": 300,
|
||||||
|
"preloading": 100,
|
||||||
|
|
||||||
|
"texturePath": "textures/spark.png",
|
||||||
|
"textureSize": [ 10, 10 ],
|
||||||
|
|
||||||
|
"hasInertion": "false",
|
||||||
|
"gravity": [0, 0, 0],
|
||||||
|
|
||||||
|
"spawnRange_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"spawnTotal":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1,
|
||||||
|
"value": 5
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"spawnRange":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"lifeTime":
|
||||||
|
{
|
||||||
|
"value": 2
|
||||||
|
},
|
||||||
|
|
||||||
|
"coords_system": "PARTICLE_EFFECT",
|
||||||
|
"coords_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"rotation_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"coords":
|
||||||
|
{
|
||||||
|
"interpolation": "CUBIC_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.5,
|
||||||
|
"value": [ 50, 20, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.0,
|
||||||
|
"value": [ 100, 100, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.5,
|
||||||
|
"value": [ 150, 180, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 2.000,
|
||||||
|
"value": [ 200, 200, 0]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rotation":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"scale":
|
||||||
|
{
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"color":
|
||||||
|
{
|
||||||
|
"value": [ 1, 1, 0, 1 ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
116
assets/effects/chaotic.json
Executable file
@ -0,0 +1,116 @@
|
|||||||
|
{
|
||||||
|
"emitters":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"maxParticles": 300,
|
||||||
|
"preloading": 100,
|
||||||
|
|
||||||
|
"texturePath": "textures/spark.png",
|
||||||
|
"textureSize": [ 10, 10 ],
|
||||||
|
|
||||||
|
"hasInertion": "false",
|
||||||
|
"gravity": [0, 0, 0],
|
||||||
|
|
||||||
|
"spawnRange_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"spawnTotal":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1,
|
||||||
|
"value": 5
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"spawnRange":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 0, 360 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"lifeTime":
|
||||||
|
{
|
||||||
|
"value": 3
|
||||||
|
},
|
||||||
|
|
||||||
|
"coords_system": "PARTICLE_EFFECT",
|
||||||
|
"offset_axis_system": "PARTICLE_EFFECT",
|
||||||
|
"coords_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"rotation_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"coords":
|
||||||
|
{
|
||||||
|
"interpolation": "CUBIC_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 3.000,
|
||||||
|
"value": [ 500, 0, 0]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"offset":
|
||||||
|
{
|
||||||
|
"interpolation": "CUBIC_SPLINE",
|
||||||
|
"timelineType": "LOOPED",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 10, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.025,
|
||||||
|
"value": [ 9.5, 3, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.125,
|
||||||
|
"value": [ 0, 10, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.25,
|
||||||
|
"value": [ -10, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.375,
|
||||||
|
"value": [ 0, -10, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.475,
|
||||||
|
"value": [ 9.5, -3, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.5,
|
||||||
|
"value": [ 10, 0, 0]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rotation":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"scale":
|
||||||
|
{
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"color":
|
||||||
|
{
|
||||||
|
"value": [ 1, 1, 0, 1 ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
861
assets/effects/confetti.json
Executable file
@ -0,0 +1,861 @@
|
|||||||
|
{
|
||||||
|
"emitters":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"maxParticles": 10000,
|
||||||
|
"preloading": 1000,
|
||||||
|
|
||||||
|
"texturePath": "textures/star-white.png",
|
||||||
|
"textureSize": [ 5, 5 ],
|
||||||
|
|
||||||
|
"gravity": [ 0, -100, 0 ],
|
||||||
|
|
||||||
|
"spawnRange_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"spawnTotal":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": 15
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"spawnRange":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 360, 0]
|
||||||
|
},
|
||||||
|
|
||||||
|
"lifeTime":
|
||||||
|
{
|
||||||
|
"min": 10,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"coords_system": "PARTICLE_BIRTH",
|
||||||
|
"coords_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"offset_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"rotation_system": "PARTICLE_ITSELF",
|
||||||
|
|
||||||
|
"coords":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"min": [ 100, 0, 0 ],
|
||||||
|
"max": [ 200, 0, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"offset":
|
||||||
|
{
|
||||||
|
"interpolation": "CUBIC_SPLINE",
|
||||||
|
"timelineType": "LOOPED",
|
||||||
|
"timeOffset":
|
||||||
|
{
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.00,
|
||||||
|
"value": [ 10, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.05,
|
||||||
|
"value": [ 9.5, 3, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.25,
|
||||||
|
"value": [ 0, 10, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.5,
|
||||||
|
"value": [ -10, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.75,
|
||||||
|
"value": [ 0, -10, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.95,
|
||||||
|
"value": [ 9.5, -3, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.0,
|
||||||
|
"value": [ 10, 0, 0]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rotation":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeOffset":
|
||||||
|
{
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"timelineType": "LOOPED",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 45, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": [ 360, 45, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"scale":
|
||||||
|
{
|
||||||
|
"interpolation": "DISCRETE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"color":
|
||||||
|
{
|
||||||
|
"value": [ 0, 1, 0, 1 ]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Magic Star",
|
||||||
|
|
||||||
|
"maxParticles": 10000,
|
||||||
|
"preloading": 1000,
|
||||||
|
|
||||||
|
"texturePath": "textures/rect-white.png",
|
||||||
|
"textureSize": [ 5, 5 ],
|
||||||
|
|
||||||
|
"gravity": [ 0, -100, 0 ],
|
||||||
|
|
||||||
|
"spawnRange_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"spawnTotal":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": 15
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"spawnRange":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 360, 0]
|
||||||
|
},
|
||||||
|
|
||||||
|
"lifeTime":
|
||||||
|
{
|
||||||
|
"min": 10,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"coords_system": "PARTICLE_BIRTH",
|
||||||
|
"coords_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"offset_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"rotation_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"coords":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"min": [ 100, 0, 0 ],
|
||||||
|
"max": [ 200, 0, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"offset":
|
||||||
|
{
|
||||||
|
"interpolation": "CUBIC_SPLINE",
|
||||||
|
"timelineType": "LOOPED",
|
||||||
|
"timeOffset":
|
||||||
|
{
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.00,
|
||||||
|
"value": [ 10, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.05,
|
||||||
|
"value": [ 9.5, 3, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.25,
|
||||||
|
"value": [ 0, 10, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.5,
|
||||||
|
"value": [ -10, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.75,
|
||||||
|
"value": [ 0, -10, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.95,
|
||||||
|
"value": [ 9.5, -3, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.0,
|
||||||
|
"value": [ 10, 0, 0]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rotation":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeOffset":
|
||||||
|
{
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"timelineType": "LOOPED",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 45, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": [ 360, 45, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"scale":
|
||||||
|
{
|
||||||
|
"interpolation": "DISCRETE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"color":
|
||||||
|
{
|
||||||
|
"value": [ 1, 0, 0, 1 ]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Magic Star",
|
||||||
|
|
||||||
|
"maxParticles": 10000,
|
||||||
|
"preloading": 1000,
|
||||||
|
|
||||||
|
"texturePath": "textures/circle-white.png",
|
||||||
|
"textureSize": [ 5, 5 ],
|
||||||
|
|
||||||
|
"gravity": [ 0, -100, 0 ],
|
||||||
|
|
||||||
|
"spawnRange_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"spawnTotal":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": 15
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"spawnRange":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 360, 0]
|
||||||
|
},
|
||||||
|
|
||||||
|
"lifeTime":
|
||||||
|
{
|
||||||
|
"min": 10,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"coords_system": "PARTICLE_BIRTH",
|
||||||
|
"coords_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"offset_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"rotation_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"coords":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"min": [ 100, 0, 0 ],
|
||||||
|
"max": [ 200, 0, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"offset":
|
||||||
|
{
|
||||||
|
"interpolation": "CUBIC_SPLINE",
|
||||||
|
"timelineType": "LOOPED",
|
||||||
|
"timeOffset":
|
||||||
|
{
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.00,
|
||||||
|
"value": [ 10, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.05,
|
||||||
|
"value": [ 9.5, 3, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.25,
|
||||||
|
"value": [ 0, 10, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.5,
|
||||||
|
"value": [ -10, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.75,
|
||||||
|
"value": [ 0, -10, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.95,
|
||||||
|
"value": [ 9.5, -3, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.0,
|
||||||
|
"value": [ 10, 0, 0]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rotation":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeOffset":
|
||||||
|
{
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"timelineType": "LOOPED",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 45, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": [ 360, 45, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"scale":
|
||||||
|
{
|
||||||
|
"interpolation": "DISCRETE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"color":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 1, 1 ]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Magic Star",
|
||||||
|
|
||||||
|
"maxParticles": 10000,
|
||||||
|
"preloading": 1000,
|
||||||
|
|
||||||
|
"texturePath": "textures/star-white.png",
|
||||||
|
"textureSize": [ 5, 5 ],
|
||||||
|
|
||||||
|
"gravity": [ 0, -100, 0 ],
|
||||||
|
|
||||||
|
"spawnRange_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"spawnTotal":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": 15
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"spawnRange":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 360, 0]
|
||||||
|
},
|
||||||
|
|
||||||
|
"lifeTime":
|
||||||
|
{
|
||||||
|
"min": 10,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"coords_system": "PARTICLE_BIRTH",
|
||||||
|
"coords_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"offset_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"rotation_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"coords":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"min": [ 100, 0, 0 ],
|
||||||
|
"max": [ 200, 0, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"offset":
|
||||||
|
{
|
||||||
|
"interpolation": "CUBIC_SPLINE",
|
||||||
|
"timelineType": "LOOPED",
|
||||||
|
"timeOffset":
|
||||||
|
{
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.00,
|
||||||
|
"value": [ 10, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.05,
|
||||||
|
"value": [ 9.5, 3, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.25,
|
||||||
|
"value": [ 0, 10, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.5,
|
||||||
|
"value": [ -10, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.75,
|
||||||
|
"value": [ 0, -10, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.95,
|
||||||
|
"value": [ 9.5, -3, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.0,
|
||||||
|
"value": [ 10, 0, 0]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rotation":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeOffset":
|
||||||
|
{
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"timelineType": "LOOPED",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 45, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": [ 360, 45, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"scale":
|
||||||
|
{
|
||||||
|
"interpolation": "DISCRETE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"color":
|
||||||
|
{
|
||||||
|
"value": [ 1, 1, 0, 1 ]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Magic Star",
|
||||||
|
|
||||||
|
"maxParticles": 10000,
|
||||||
|
"preloading": 1000,
|
||||||
|
|
||||||
|
"texturePath": "textures/rect-white.png",
|
||||||
|
"textureSize": [ 5, 5 ],
|
||||||
|
|
||||||
|
"gravity": [ 0, -100, 0 ],
|
||||||
|
|
||||||
|
"spawnRange_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"spawnTotal":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": 15
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"spawnRange":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 360, 0]
|
||||||
|
},
|
||||||
|
|
||||||
|
"lifeTime":
|
||||||
|
{
|
||||||
|
"min": 10,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"coords_system": "PARTICLE_BIRTH",
|
||||||
|
"coords_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"offset_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"rotation_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"coords":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"min": [ 100, 0, 0 ],
|
||||||
|
"max": [ 200, 0, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"offset":
|
||||||
|
{
|
||||||
|
"interpolation": "CUBIC_SPLINE",
|
||||||
|
"timelineType": "LOOPED",
|
||||||
|
"timeOffset":
|
||||||
|
{
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.00,
|
||||||
|
"value": [ 10, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.05,
|
||||||
|
"value": [ 9.5, 3, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.25,
|
||||||
|
"value": [ 0, 10, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.5,
|
||||||
|
"value": [ -10, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.75,
|
||||||
|
"value": [ 0, -10, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.95,
|
||||||
|
"value": [ 9.5, -3, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.0,
|
||||||
|
"value": [ 10, 0, 0]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rotation":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeOffset":
|
||||||
|
{
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"timelineType": "LOOPED",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 45, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": [ 360, 45, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"scale":
|
||||||
|
{
|
||||||
|
"interpolation": "DISCRETE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"color":
|
||||||
|
{
|
||||||
|
"value": [ 0, 1, 1, 1 ]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Magic Star",
|
||||||
|
|
||||||
|
"maxParticles": 10000,
|
||||||
|
"preloading": 1000,
|
||||||
|
|
||||||
|
"texturePath": "textures/circle-white.png",
|
||||||
|
"textureSize": [ 5, 5 ],
|
||||||
|
|
||||||
|
"gravity": [ 0, -100, 0 ],
|
||||||
|
|
||||||
|
"spawnRange_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"spawnTotal":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": 15
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"spawnRange":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 360, 0]
|
||||||
|
},
|
||||||
|
|
||||||
|
"lifeTime":
|
||||||
|
{
|
||||||
|
"min": 10,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"coords_system": "PARTICLE_BIRTH",
|
||||||
|
"coords_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"offset_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"rotation_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"coords":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"min": [ 100, 0, 0 ],
|
||||||
|
"max": [ 200, 0, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"offset":
|
||||||
|
{
|
||||||
|
"interpolation": "CUBIC_SPLINE",
|
||||||
|
"timelineType": "LOOPED",
|
||||||
|
"timeOffset":
|
||||||
|
{
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.00,
|
||||||
|
"value": [ 10, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.05,
|
||||||
|
"value": [ 9.5, 3, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.25,
|
||||||
|
"value": [ 0, 10, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.5,
|
||||||
|
"value": [ -10, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.75,
|
||||||
|
"value": [ 0, -10, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.95,
|
||||||
|
"value": [ 9.5, -3, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.0,
|
||||||
|
"value": [ 10, 0, 0]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rotation":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeOffset":
|
||||||
|
{
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"timelineType": "LOOPED",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 45, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": [ 360, 45, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"scale":
|
||||||
|
{
|
||||||
|
"interpolation": "DISCRETE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"color":
|
||||||
|
{
|
||||||
|
"value": [ 1, 0, 1, 1 ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
274
assets/effects/magic-stars.json
Executable file
@ -0,0 +1,274 @@
|
|||||||
|
{
|
||||||
|
"emitters":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"preloading": 20,
|
||||||
|
|
||||||
|
"texturePath": "textures/magic-star.png",
|
||||||
|
"textureSize": [ 22.625, 12.5 ],
|
||||||
|
|
||||||
|
"hasInertion": "false",
|
||||||
|
"gravity": [0, 0, 0],
|
||||||
|
|
||||||
|
"spawnRange_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"spawnTotal":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1,
|
||||||
|
"value": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"spawnRange":
|
||||||
|
{
|
||||||
|
"value": [ 0, 30, 0, 45 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"lifeTime":
|
||||||
|
{
|
||||||
|
"min": 1.5,
|
||||||
|
"max": 3
|
||||||
|
},
|
||||||
|
|
||||||
|
"coords_system": "PARTICLE_BIRTH",
|
||||||
|
"coords_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"rotation_system": "PARTICLE_BIRTH",
|
||||||
|
|
||||||
|
"coords":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"min": [ 300, 0, 0 ],
|
||||||
|
"max": [ 300, 0, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rotation":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"scale":
|
||||||
|
{
|
||||||
|
"interpolation": "DISCRETE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"value": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"color":
|
||||||
|
{
|
||||||
|
"value": [ 1, 1, 1, 1 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"emitters":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "Spark",
|
||||||
|
|
||||||
|
"maxParticles": 110,
|
||||||
|
"preloading": 110,
|
||||||
|
|
||||||
|
"texturePath": "textures/spark-white.png",
|
||||||
|
"textureSize": [ 10, 10 ],
|
||||||
|
|
||||||
|
"gravity": [0, -100, 0],
|
||||||
|
|
||||||
|
"spawnRange_system": "PARTICLE_BIRTH",
|
||||||
|
|
||||||
|
"spawnTotal":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"matchDeathTime": "true",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1,
|
||||||
|
"value": 50
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"spawnRange":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 0, 360 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"lifeTime":
|
||||||
|
{
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
},
|
||||||
|
|
||||||
|
"coords_system": "PARTICLE_BIRTH",
|
||||||
|
"coords_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"rotation_system": "PARTICLE_BIRTH",
|
||||||
|
|
||||||
|
"coords":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"min": [ 0, 0, 0 ],
|
||||||
|
"max": [ 50, 0, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rotation":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"scale":
|
||||||
|
{
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"color":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 1, 1, 1 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": [ 0, 0, 1, 1 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.200,
|
||||||
|
"value": [ 0, 0, 1, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Spark",
|
||||||
|
|
||||||
|
"maxParticles": 300,
|
||||||
|
"preloading": 300,
|
||||||
|
|
||||||
|
"texturePath": "textures/spark-white.png",
|
||||||
|
"textureSize": [ 10, 10 ],
|
||||||
|
|
||||||
|
"hasInertion": "true",
|
||||||
|
"gravity": [0, -100, 0],
|
||||||
|
|
||||||
|
"spawnRange_system": "PARTICLE_BIRTH",
|
||||||
|
|
||||||
|
"spawnTotal":
|
||||||
|
{
|
||||||
|
"interpolation": "DISCRETE",
|
||||||
|
"matchDeathTime": "true",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 2.000,
|
||||||
|
"value": 300
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"spawnRange":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 0, 360 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"lifeTime":
|
||||||
|
{
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
},
|
||||||
|
|
||||||
|
"coords_system": "PARTICLE_BIRTH",
|
||||||
|
"coords_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"rotation_system": "PARTICLE_BIRTH",
|
||||||
|
|
||||||
|
"coords":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"min": [ 25, 0, 0 ],
|
||||||
|
"max": [ 300, 0, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rotation":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"scale":
|
||||||
|
{
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"color":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 1, 1, 0, 1 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": [ 1, 0, 0, 1 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.200,
|
||||||
|
"value": [ 1, 0, 0, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
110
assets/effects/sine-comets.json
Executable file
@ -0,0 +1,110 @@
|
|||||||
|
{
|
||||||
|
"name": "Sparkler - бенгальский огонь",
|
||||||
|
|
||||||
|
"emitters":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "Spark",
|
||||||
|
|
||||||
|
"maxParticles": 300,
|
||||||
|
"preloading": 100,
|
||||||
|
|
||||||
|
"texturePath": "textures/comet.png",
|
||||||
|
"textureSize": [ 20, 7.12 ],
|
||||||
|
|
||||||
|
"hasInertion": "false",
|
||||||
|
"gravity": [0, 0, 0],
|
||||||
|
|
||||||
|
"spawnRange_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"spawnTotal":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1,
|
||||||
|
"value": 3
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"spawnRange":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"lifeTime":
|
||||||
|
{
|
||||||
|
"value": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"coords_system": "PARTICLE_EFFECT",
|
||||||
|
"coords_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"rotation_system": "PARTICLE_ITSELF",
|
||||||
|
|
||||||
|
"coords":
|
||||||
|
{
|
||||||
|
"interpolation": "CUBIC_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 50, 0, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.001,
|
||||||
|
"value": [ 50, 0, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": [ 100, 100, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 2.000,
|
||||||
|
"value": [ 200, -100, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 3.000,
|
||||||
|
"value": [ 300, 100, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 4.000,
|
||||||
|
"value": [ 400, -100, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 5.000,
|
||||||
|
"value": [ 500, 100, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 5.999,
|
||||||
|
"value": [ 600, -100, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 6.000,
|
||||||
|
"value": [ 600, -100, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rotation":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"scale":
|
||||||
|
{
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"color":
|
||||||
|
{
|
||||||
|
"value": [ 1, 1, 1, 1 ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
110
assets/effects/sine-sparks.json
Executable file
@ -0,0 +1,110 @@
|
|||||||
|
{
|
||||||
|
"name": "Sparkler - бенгальский огонь",
|
||||||
|
|
||||||
|
"emitters":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "Spark",
|
||||||
|
|
||||||
|
"maxParticles": 300,
|
||||||
|
"preloading": 100,
|
||||||
|
|
||||||
|
"texturePath": "textures/spark.png",
|
||||||
|
"textureSize": [ 10, 10 ],
|
||||||
|
|
||||||
|
"hasInertion": "false",
|
||||||
|
"gravity": [0, 0, 0],
|
||||||
|
|
||||||
|
"spawnRange_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"spawnTotal":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1,
|
||||||
|
"value": 20
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"spawnRange":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"lifeTime":
|
||||||
|
{
|
||||||
|
"value": 6
|
||||||
|
},
|
||||||
|
|
||||||
|
"coords_system": "PARTICLE_EFFECT",
|
||||||
|
"coords_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"rotation_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"coords":
|
||||||
|
{
|
||||||
|
"interpolation": "CUBIC_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 50, 0, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.001,
|
||||||
|
"value": [ 50, 0, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": [ 100, 100, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 2.000,
|
||||||
|
"value": [ 200, -100, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 3.000,
|
||||||
|
"value": [ 300, 100, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 4.000,
|
||||||
|
"value": [ 400, -100, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 5.000,
|
||||||
|
"value": [ 500, 100, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 5.999,
|
||||||
|
"value": [ 600, -100, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 6.000,
|
||||||
|
"value": [ 600, -100, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rotation":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"scale":
|
||||||
|
{
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"color":
|
||||||
|
{
|
||||||
|
"value": [ 1, 1, 0, 1 ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
93
assets/effects/sparkler-looped.json
Executable file
@ -0,0 +1,93 @@
|
|||||||
|
{
|
||||||
|
"name": "Simple Sparkler",
|
||||||
|
|
||||||
|
"emitters":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "Spark",
|
||||||
|
|
||||||
|
"maxParticles": 2000,
|
||||||
|
"preloading": 2000,
|
||||||
|
|
||||||
|
"texturePath": "textures/spark-white.png",
|
||||||
|
"textureSize": [ 10, 10 ],
|
||||||
|
|
||||||
|
"hasInertion": "false",
|
||||||
|
"gravity": [0, 0, 0],
|
||||||
|
|
||||||
|
"spawnRange_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"spawnTotal":
|
||||||
|
{
|
||||||
|
"interpolation": "CUBIC_SPLINE",
|
||||||
|
"timelineType": "LOOPED",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.001,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 9.999,
|
||||||
|
"value": 10000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 10.000,
|
||||||
|
"value": 10000
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"spawnRange":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 0, 360 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"lifeTime":
|
||||||
|
{
|
||||||
|
"min": 0.1,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"coords_system": "PARTICLE_BIRTH",
|
||||||
|
"coords_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"rotation_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"coords":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1,
|
||||||
|
"min": [ 300, 0, 0 ],
|
||||||
|
"max": [ 600, 0, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rotation":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"scale":
|
||||||
|
{
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"color":
|
||||||
|
{
|
||||||
|
"value": [ 1, 1, 0, 1 ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
85
assets/effects/sparkler.json
Executable file
@ -0,0 +1,85 @@
|
|||||||
|
{
|
||||||
|
"name": "Simple Sparkler",
|
||||||
|
|
||||||
|
"emitters":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "Spark",
|
||||||
|
|
||||||
|
"maxParticles": 1100,
|
||||||
|
"preloading": 1100,
|
||||||
|
|
||||||
|
"texturePath": "textures/spark-white.png",
|
||||||
|
"textureSize": [ 10, 10 ],
|
||||||
|
|
||||||
|
"hasInertion": "false",
|
||||||
|
"gravity": [0, 0, 0],
|
||||||
|
|
||||||
|
"spawnRange_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"spawnTotal":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timelineType": "CONTINUED",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": 1000
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"spawnRange":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 0, 360 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"lifeTime":
|
||||||
|
{
|
||||||
|
"min": 0.1,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"coords_system": "PARTICLE_BIRTH",
|
||||||
|
"coords_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"rotation_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"coords":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1,
|
||||||
|
"min": [ 300, 0, 0 ],
|
||||||
|
"max": [ 600, 0, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rotation":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"scale":
|
||||||
|
{
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
|
||||||
|
"color":
|
||||||
|
{
|
||||||
|
"value": [ 1, 1, 0, 1 ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
646
assets/effects/test.json
Executable file
@ -0,0 +1,646 @@
|
|||||||
|
{
|
||||||
|
"emitters":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"maxParticles": 10000,
|
||||||
|
"preloading": 1000,
|
||||||
|
|
||||||
|
"texturePath": "textures/star-white.png",
|
||||||
|
"textureSize": [ 5, 5 ],
|
||||||
|
|
||||||
|
"gravity": [ 0, -100, 0 ],
|
||||||
|
|
||||||
|
"spawnRange_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"spawnTotal":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": 5
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"spawnRange":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 360, 180 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"lifeTime":
|
||||||
|
{
|
||||||
|
"min": 10,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"coords_system": "PARTICLE_BIRTH",
|
||||||
|
"coords_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"offset_axis_system": "PARTICLE_ITSELF",
|
||||||
|
"rotation_system": "PARTICLE_ITSELF",
|
||||||
|
|
||||||
|
"coords":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"min": [ 150, 0, 0 ],
|
||||||
|
"max": [ 300, 0, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"offset":
|
||||||
|
{
|
||||||
|
"interpolation": "CUBIC_SPLINE",
|
||||||
|
"timelineType": "LOOPED",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.00,
|
||||||
|
"value": [ 10, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.05,
|
||||||
|
"value": [ 9.5, 3, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.25,
|
||||||
|
"value": [ 0, 10, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.5,
|
||||||
|
"value": [ -10, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.75,
|
||||||
|
"value": [ 0, -10, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 0.95,
|
||||||
|
"value": [ 9.5, -3, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.0,
|
||||||
|
"value": [ 10, 0, 0]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rotation":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeOffset":
|
||||||
|
{
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"timelineType": "LOOPED",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 45, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": [ 360, 45, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"scale":
|
||||||
|
{
|
||||||
|
"interpolation": "DISCRETE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"color":
|
||||||
|
{
|
||||||
|
"value": [ 0, 1, 0, 1 ]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Magic Star",
|
||||||
|
|
||||||
|
"maxParticles": 10000,
|
||||||
|
"preloading": 1000,
|
||||||
|
|
||||||
|
"texturePath": "textures/rect-white.png",
|
||||||
|
"textureSize": [ 5, 5 ],
|
||||||
|
|
||||||
|
"gravity": [ 0, -100, 0 ],
|
||||||
|
|
||||||
|
"spawnRange_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"spawnTotal":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": 5
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"spawnRange":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 360, 180 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"lifeTime":
|
||||||
|
{
|
||||||
|
"min": 10,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"coords_system": "PARTICLE_BIRTH",
|
||||||
|
"coords_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"offset_axis_system": "PARTICLE_ITSELF",
|
||||||
|
"rotation_system": "PARTICLE_ITSELF",
|
||||||
|
|
||||||
|
"coords":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"min": [ 150, 0, 0 ],
|
||||||
|
"max": [ 300, 0, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rotation":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeOffset":
|
||||||
|
{
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"timelineType": "LOOPED",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 45, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": [ 360, 45, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"scale":
|
||||||
|
{
|
||||||
|
"interpolation": "DISCRETE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"color":
|
||||||
|
{
|
||||||
|
"value": [ 1, 0, 0, 1 ]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Magic Star",
|
||||||
|
|
||||||
|
"maxParticles": 10000,
|
||||||
|
"preloading": 1000,
|
||||||
|
|
||||||
|
"texturePath": "textures/circle-white.png",
|
||||||
|
"textureSize": [ 5, 5 ],
|
||||||
|
|
||||||
|
"gravity": [ 0, -100, 0 ],
|
||||||
|
|
||||||
|
"spawnRange_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"spawnTotal":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": 5
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"spawnRange":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 360, 180 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"lifeTime":
|
||||||
|
{
|
||||||
|
"min": 10,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"coords_system": "PARTICLE_BIRTH",
|
||||||
|
"coords_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"offset_axis_system": "PARTICLE_ITSELF",
|
||||||
|
"rotation_system": "PARTICLE_ITSELF",
|
||||||
|
|
||||||
|
"coords":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"min": [ 150, 0, 0 ],
|
||||||
|
"max": [ 300, 0, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rotation":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeOffset":
|
||||||
|
{
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"timelineType": "LOOPED",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 45, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": [ 360, 45, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"scale":
|
||||||
|
{
|
||||||
|
"interpolation": "DISCRETE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"color":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 1, 1 ]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Magic Star",
|
||||||
|
|
||||||
|
"maxParticles": 10000,
|
||||||
|
"preloading": 1000,
|
||||||
|
|
||||||
|
"texturePath": "textures/star-white.png",
|
||||||
|
"textureSize": [ 5, 5 ],
|
||||||
|
|
||||||
|
"gravity": [ 0, -100, 0 ],
|
||||||
|
|
||||||
|
"spawnRange_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"spawnTotal":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": 5
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"spawnRange":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 360, 180 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"lifeTime":
|
||||||
|
{
|
||||||
|
"min": 10,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"coords_system": "PARTICLE_BIRTH",
|
||||||
|
"coords_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"offset_axis_system": "PARTICLE_ITSELF",
|
||||||
|
"rotation_system": "PARTICLE_ITSELF",
|
||||||
|
|
||||||
|
"coords":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"min": [ 150, 0, 0 ],
|
||||||
|
"max": [ 300, 0, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rotation":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeOffset":
|
||||||
|
{
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"timelineType": "LOOPED",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 45, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": [ 360, 45, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"scale":
|
||||||
|
{
|
||||||
|
"interpolation": "DISCRETE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"color":
|
||||||
|
{
|
||||||
|
"value": [ 1, 1, 0, 1 ]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Magic Star",
|
||||||
|
|
||||||
|
"maxParticles": 10000,
|
||||||
|
"preloading": 1000,
|
||||||
|
|
||||||
|
"texturePath": "textures/rect-white.png",
|
||||||
|
"textureSize": [ 5, 5 ],
|
||||||
|
|
||||||
|
"gravity": [ 0, -100, 0 ],
|
||||||
|
|
||||||
|
"spawnRange_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"spawnTotal":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": 5
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"spawnRange":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 360, 180 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"lifeTime":
|
||||||
|
{
|
||||||
|
"min": 10,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"coords_system": "PARTICLE_BIRTH",
|
||||||
|
"coords_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"offset_axis_system": "PARTICLE_ITSELF",
|
||||||
|
"rotation_system": "PARTICLE_ITSELF",
|
||||||
|
|
||||||
|
"coords":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"min": [ 150, 0, 0 ],
|
||||||
|
"max": [ 300, 0, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rotation":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeOffset":
|
||||||
|
{
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"timelineType": "LOOPED",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 45, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": [ 360, 45, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"scale":
|
||||||
|
{
|
||||||
|
"interpolation": "DISCRETE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"color":
|
||||||
|
{
|
||||||
|
"value": [ 0, 1, 1, 1 ]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Magic Star",
|
||||||
|
|
||||||
|
"maxParticles": 10000,
|
||||||
|
"preloading": 1000,
|
||||||
|
|
||||||
|
"texturePath": "textures/circle-white.png",
|
||||||
|
"textureSize": [ 5, 5 ],
|
||||||
|
|
||||||
|
"gravity": [ 0, -100, 0 ],
|
||||||
|
|
||||||
|
"spawnRange_system": "PARTICLE_EFFECT",
|
||||||
|
|
||||||
|
"spawnTotal":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": 5
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"spawnRange":
|
||||||
|
{
|
||||||
|
"value": [ 0, 0, 360, 180 ]
|
||||||
|
},
|
||||||
|
|
||||||
|
"lifeTime":
|
||||||
|
{
|
||||||
|
"min": 10,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"coords_system": "PARTICLE_BIRTH",
|
||||||
|
"coords_axis_system": "PARTICLE_BIRTH",
|
||||||
|
"offset_axis_system": "PARTICLE_ITSELF",
|
||||||
|
"rotation_system": "PARTICLE_ITSELF",
|
||||||
|
|
||||||
|
"coords":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 0, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"min": [ 150, 0, 0 ],
|
||||||
|
"max": [ 300, 0, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"rotation":
|
||||||
|
{
|
||||||
|
"interpolation": "LINEAR_SPLINE",
|
||||||
|
"timeOffset":
|
||||||
|
{
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"timelineType": "LOOPED",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"t": 0.000,
|
||||||
|
"value": [ 0, 45, 0 ]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"t": 1.000,
|
||||||
|
"value": [ 360, 45, 0 ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"scale":
|
||||||
|
{
|
||||||
|
"interpolation": "DISCRETE",
|
||||||
|
"timeline":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"color":
|
||||||
|
{
|
||||||
|
"value": [ 1, 0, 1, 1 ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,12 +0,0 @@
|
|||||||
precision mediump float;
|
|
||||||
uniform sampler2D Texture;
|
|
||||||
uniform float Brightness;
|
|
||||||
varying vec2 texCoord;
|
|
||||||
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
vec3 color = texture2D(Texture,texCoord).rgb;
|
|
||||||
|
|
||||||
gl_FragColor = vec4(color * Brightness, 1.0);
|
|
||||||
|
|
||||||
}
|
|
Before Width: | Height: | Size: 3.4 KiB |
@ -1,33 +0,0 @@
|
|||||||
0, 255, 255, 255
|
|
||||||
0, 0, 0, 255
|
|
||||||
255, 0, 0, 255
|
|
||||||
255, 40, 40, 255
|
|
||||||
255, 128, 128, 255
|
|
||||||
Colormap
|
|
||||||
111111111111
|
|
||||||
111111111111
|
|
||||||
111111111111
|
|
||||||
222222222222
|
|
||||||
222222222222
|
|
||||||
222222222222
|
|
||||||
222222222222
|
|
||||||
333333333333
|
|
||||||
333333333333
|
|
||||||
333333333333
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
Brickmap
|
|
||||||
111111111111
|
|
||||||
111111111111
|
|
||||||
111111111111
|
|
||||||
000000000000
|
|
||||||
111111111111
|
|
||||||
111111111111
|
|
||||||
000000000000
|
|
||||||
111111111111
|
|
||||||
111111111111
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
@ -1,32 +0,0 @@
|
|||||||
0, 255, 255, 255
|
|
||||||
0, 0, 0, 255
|
|
||||||
255, 0, 190, 255
|
|
||||||
255, 0, 255, 255
|
|
||||||
Colormap
|
|
||||||
002222222200
|
|
||||||
002222222200
|
|
||||||
000222222000
|
|
||||||
000022220000
|
|
||||||
111002200111
|
|
||||||
111100001111
|
|
||||||
011110011110
|
|
||||||
001111111100
|
|
||||||
000111111000
|
|
||||||
000011110000
|
|
||||||
000001100000
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
Brickmap
|
|
||||||
002111111200
|
|
||||||
002211112200
|
|
||||||
000221122000
|
|
||||||
000022220000
|
|
||||||
111002200111
|
|
||||||
221100001122
|
|
||||||
022110011220
|
|
||||||
002211112200
|
|
||||||
000221122000
|
|
||||||
000022220000
|
|
||||||
000002200000
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
@ -1,33 +0,0 @@
|
|||||||
255, 255, 255, 255
|
|
||||||
0, 0, 0, 255
|
|
||||||
0, 237, 255, 255
|
|
||||||
0, 144, 255, 255
|
|
||||||
0, 59, 255, 255
|
|
||||||
Colormap
|
|
||||||
333333333333
|
|
||||||
333333333333
|
|
||||||
333333333333
|
|
||||||
000000000000
|
|
||||||
222220022222
|
|
||||||
222220022222
|
|
||||||
222220022222
|
|
||||||
000000000000
|
|
||||||
111110011111
|
|
||||||
111110011111
|
|
||||||
111110011111
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
Brickmap
|
|
||||||
111111111111
|
|
||||||
111111111111
|
|
||||||
222222222222
|
|
||||||
000000000000
|
|
||||||
111110011111
|
|
||||||
111110011111
|
|
||||||
222220022222
|
|
||||||
000000000000
|
|
||||||
111110011111
|
|
||||||
111110011111
|
|
||||||
333330033333
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
@ -1,32 +0,0 @@
|
|||||||
255, 128, 128, 255
|
|
||||||
0, 0, 0, 255
|
|
||||||
159, 240, 255, 255
|
|
||||||
0, 148, 255, 255
|
|
||||||
Colormap
|
|
||||||
111111111111
|
|
||||||
222222222222
|
|
||||||
111111111111
|
|
||||||
222222222222
|
|
||||||
111111111111
|
|
||||||
222222222222
|
|
||||||
111111111111
|
|
||||||
222222222222
|
|
||||||
111111111111
|
|
||||||
222222222222
|
|
||||||
111111111111
|
|
||||||
222222222222
|
|
||||||
111111111111
|
|
||||||
Brickmap
|
|
||||||
000311113000
|
|
||||||
000311113000
|
|
||||||
333311113333
|
|
||||||
111111111111
|
|
||||||
111111111111
|
|
||||||
222221122222
|
|
||||||
333321123333
|
|
||||||
000321123000
|
|
||||||
000321123000
|
|
||||||
000322223000
|
|
||||||
000333333000
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
@ -1,32 +0,0 @@
|
|||||||
255, 0, 0, 255
|
|
||||||
0, 0, 0, 255
|
|
||||||
0, 255, 255, 255
|
|
||||||
7, 255, 189, 255
|
|
||||||
Colormap
|
|
||||||
111111111111
|
|
||||||
222222222222
|
|
||||||
111111111111
|
|
||||||
222222222222
|
|
||||||
111111111111
|
|
||||||
222222222222
|
|
||||||
111111111111
|
|
||||||
222222222222
|
|
||||||
111111111111
|
|
||||||
222222222222
|
|
||||||
111111111111
|
|
||||||
222222222222
|
|
||||||
000000000000
|
|
||||||
Brickmap
|
|
||||||
111011110111
|
|
||||||
111011110111
|
|
||||||
222022220222
|
|
||||||
000000000000
|
|
||||||
111011110111
|
|
||||||
222022220222
|
|
||||||
000000000000
|
|
||||||
111000000111
|
|
||||||
222000000222
|
|
||||||
000000000000
|
|
||||||
222222222222
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
@ -1,33 +0,0 @@
|
|||||||
0, 255, 255, 255
|
|
||||||
0, 0, 0, 255
|
|
||||||
0, 151, 113, 255
|
|
||||||
7, 255, 189, 255
|
|
||||||
128, 143, 128, 255
|
|
||||||
Colormap
|
|
||||||
000000000000
|
|
||||||
033333333330
|
|
||||||
031111111130
|
|
||||||
031111111130
|
|
||||||
033333333330
|
|
||||||
000000000000
|
|
||||||
033330033330
|
|
||||||
032230032230
|
|
||||||
032230032230
|
|
||||||
033330033330
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
Brickmap
|
|
||||||
000000000000
|
|
||||||
022222222220
|
|
||||||
021111111120
|
|
||||||
021111111120
|
|
||||||
022222222220
|
|
||||||
000000000000
|
|
||||||
022220022220
|
|
||||||
021120021120
|
|
||||||
021120021120
|
|
||||||
022220022220
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
@ -1,33 +0,0 @@
|
|||||||
255, 0, 0, 255
|
|
||||||
0, 0, 0, 255
|
|
||||||
101, 97, 255, 255
|
|
||||||
5, 186, 255, 255
|
|
||||||
105, 201, 255, 255
|
|
||||||
Colormap
|
|
||||||
000000333333
|
|
||||||
000003333333
|
|
||||||
000033311111
|
|
||||||
333333133333
|
|
||||||
333331333333
|
|
||||||
333313333333
|
|
||||||
111133311111
|
|
||||||
333333100000
|
|
||||||
333331000000
|
|
||||||
333310000000
|
|
||||||
111100000000
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
Brickmap
|
|
||||||
000000111111
|
|
||||||
000001111111
|
|
||||||
000011133333
|
|
||||||
111111311111
|
|
||||||
111113111111
|
|
||||||
111131111111
|
|
||||||
333311133333
|
|
||||||
111111300000
|
|
||||||
111113000000
|
|
||||||
111130000000
|
|
||||||
333300000000
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
@ -1,32 +0,0 @@
|
|||||||
255, 0, 255, 255
|
|
||||||
0, 0, 0, 255
|
|
||||||
163, 255, 198, 255
|
|
||||||
0, 255, 182, 255
|
|
||||||
Colormap
|
|
||||||
000022220000
|
|
||||||
000222222000
|
|
||||||
000022220000
|
|
||||||
111000000111
|
|
||||||
111100001111
|
|
||||||
111110011111
|
|
||||||
111111111111
|
|
||||||
111111111111
|
|
||||||
111111111111
|
|
||||||
111111111111
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
Brickmap
|
|
||||||
000033330000
|
|
||||||
000311113000
|
|
||||||
000033330000
|
|
||||||
111000000111
|
|
||||||
111100001111
|
|
||||||
111110011111
|
|
||||||
111111111111
|
|
||||||
111111111111
|
|
||||||
111111111111
|
|
||||||
222222222222
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
@ -1,33 +0,0 @@
|
|||||||
255, 255, 255, 255
|
|
||||||
0, 0, 0, 255
|
|
||||||
255, 200, 5, 255
|
|
||||||
255, 153, 0, 255
|
|
||||||
255, 97, 0, 255
|
|
||||||
Colormap
|
|
||||||
000000000000
|
|
||||||
000333000333
|
|
||||||
000333000333
|
|
||||||
000333000333
|
|
||||||
222000222000
|
|
||||||
222000222000
|
|
||||||
222000222000
|
|
||||||
000111000111
|
|
||||||
000111000111
|
|
||||||
000111000111
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
Brickmap
|
|
||||||
000000000000
|
|
||||||
000222000222
|
|
||||||
000212000212
|
|
||||||
000222000222
|
|
||||||
222000222000
|
|
||||||
212000212000
|
|
||||||
222000222000
|
|
||||||
000222000222
|
|
||||||
000212000212
|
|
||||||
000222000222
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
@ -1,33 +0,0 @@
|
|||||||
255, 255, 0, 255
|
|
||||||
0, 0, 0, 255
|
|
||||||
230, 230, 230, 255
|
|
||||||
195, 195, 195, 255
|
|
||||||
150, 150, 150, 255
|
|
||||||
Colormap
|
|
||||||
333333333333
|
|
||||||
030030030030
|
|
||||||
030030030030
|
|
||||||
030030030030
|
|
||||||
222222222222
|
|
||||||
020020020020
|
|
||||||
020020020020
|
|
||||||
010010010010
|
|
||||||
010010010010
|
|
||||||
020020020020
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
Brickmap
|
|
||||||
111111111111
|
|
||||||
010010010010
|
|
||||||
010010010010
|
|
||||||
010010010010
|
|
||||||
222222222222
|
|
||||||
010010010010
|
|
||||||
010010010010
|
|
||||||
010010010010
|
|
||||||
010010010010
|
|
||||||
020020020020
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
@ -1,32 +0,0 @@
|
|||||||
0, 255, 255, 255
|
|
||||||
0, 0, 0, 255
|
|
||||||
217, 56, 62, 255
|
|
||||||
132, 56, 62, 255
|
|
||||||
Colormap
|
|
||||||
111111111111
|
|
||||||
111111111111
|
|
||||||
222211112222
|
|
||||||
000211112000
|
|
||||||
000211112000
|
|
||||||
022211112220
|
|
||||||
021111111120
|
|
||||||
021111111120
|
|
||||||
021111111120
|
|
||||||
022222222220
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
Brickmap
|
|
||||||
111111111111
|
|
||||||
111111111111
|
|
||||||
222211112222
|
|
||||||
000211112000
|
|
||||||
000211112000
|
|
||||||
022211112220
|
|
||||||
021111111120
|
|
||||||
021111111120
|
|
||||||
021111111120
|
|
||||||
033333333330
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
@ -1,32 +0,0 @@
|
|||||||
0, 255, 0, 255
|
|
||||||
0, 0, 0, 255
|
|
||||||
255, 221, 0, 255
|
|
||||||
255, 0, 0, 255
|
|
||||||
Colormap
|
|
||||||
222220022222
|
|
||||||
222220022222
|
|
||||||
222220022222
|
|
||||||
222220022222
|
|
||||||
000000000000
|
|
||||||
111111111111
|
|
||||||
111111111111
|
|
||||||
000000000000
|
|
||||||
111111111111
|
|
||||||
111111111111
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
Brickmap
|
|
||||||
111110011111
|
|
||||||
111110011111
|
|
||||||
111110011111
|
|
||||||
222220022222
|
|
||||||
000000000000
|
|
||||||
111111111111
|
|
||||||
333333333333
|
|
||||||
000000000000
|
|
||||||
111111111111
|
|
||||||
222222222222
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
||||||
000000000000
|
|
Before Width: | Height: | Size: 142 KiB |
Before Width: | Height: | Size: 125 KiB |
Before Width: | Height: | Size: 137 KiB |
Before Width: | Height: | Size: 125 KiB |
Before Width: | Height: | Size: 140 KiB |
Before Width: | Height: | Size: 148 KiB |
Before Width: | Height: | Size: 155 KiB |
Before Width: | Height: | Size: 147 KiB |
Before Width: | Height: | Size: 146 KiB |
Before Width: | Height: | Size: 152 KiB |
Before Width: | Height: | Size: 150 KiB |
Before Width: | Height: | Size: 134 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 217 KiB |
Before Width: | Height: | Size: 177 KiB |
42
assets/particle_effect_hint.json
Executable file
@ -0,0 +1,42 @@
|
|||||||
|
|
||||||
|
<EMITTER_DESCRIPTION>
|
||||||
|
|
||||||
|
bool enabled;
|
||||||
|
|
||||||
|
< Emitter Description >
|
||||||
|
|
||||||
|
uint maxParticles;
|
||||||
|
uint preloading;
|
||||||
|
|
||||||
|
std::string texturePath;
|
||||||
|
Vector2f textureSize;
|
||||||
|
|
||||||
|
bool hasInertion;
|
||||||
|
Vector3f gravity;
|
||||||
|
|
||||||
|
RelatedCoordinateSystem spawnRange_system; = { PARTICLE_EFFECT , PARTICLE_EMITTER }
|
||||||
|
|
||||||
|
RandomValueAtTimeline<FloatWrapper, RandomFloat> spawnTotal;
|
||||||
|
RandomValueAtTimeline<Vector4fWrapper, RandomVector4f> spawnRange; // yaw + pitch + delta yaw + delta pitch
|
||||||
|
< / Emitter Description >
|
||||||
|
|
||||||
|
< Particle Description >
|
||||||
|
RandomFloat lifeTime;
|
||||||
|
|
||||||
|
RelatedCoordinateSystem coords_system; = { PARTICLE_EFFECT , PARTICLE_EMITTER , PARTICLE_BIRTH , PARTICLE_ITSELF }
|
||||||
|
RelatedCoordinateSystem offset_axis_system;
|
||||||
|
RelatedCoordinateSystem coords_axis_system;
|
||||||
|
RelatedCoordinateSystem rotation_system;
|
||||||
|
|
||||||
|
RandomValueAtTimeline<Vector3fWrapper, RandomVector3f> coords;
|
||||||
|
RandomValueAtTimeline<Vector3fWrapper, RandomVector3f> offset;
|
||||||
|
RandomValueAtTimeline<Vector3fWrapper, RandomVector3f> rotation; // yaw + pitch + roll
|
||||||
|
RandomValueAtTimeline<FloatWrapper, RandomFloat> scale;
|
||||||
|
RandomValueAtTimeline<Vector4fWrapper, RandomVector4f> color;
|
||||||
|
|
||||||
|
std::vector<std::shared_ptr<EmitterDescription>> emittersTypes;
|
||||||
|
</ Particle Description >
|
||||||
|
|
||||||
|
std::vector<EmitterDescription> emittersTypes;
|
||||||
|
|
||||||
|
</EMITTER_DESCRIPTION>
|
Before Width: | Height: | Size: 7.0 KiB |
Before Width: | Height: | Size: 2.3 KiB |
@ -1,14 +0,0 @@
|
|||||||
precision mediump float;
|
|
||||||
uniform sampler2D Texture;
|
|
||||||
uniform float Transparency;
|
|
||||||
varying vec2 texCoord;
|
|
||||||
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
vec4 color = texture2D(Texture,texCoord).rgba;
|
|
||||||
|
|
||||||
gl_FragColor = vec4(color.rgb, color.a * Transparency);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
8
assets/shaders/color-shader.fragment
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
precision mediump float;
|
||||||
|
|
||||||
|
uniform vec4 Color;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
gl_FragColor = Color;
|
||||||
|
}
|
@ -1,12 +1,8 @@
|
|||||||
attribute vec3 vPosition;
|
attribute vec3 vPosition;
|
||||||
attribute vec2 vTexCoord;
|
|
||||||
varying vec2 texCoord;
|
|
||||||
|
|
||||||
uniform mat4 ProjectionMatrix;
|
uniform mat4 ProjectionMatrix;
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
//480x320
|
|
||||||
gl_Position = ProjectionMatrix * vec4(vPosition.xyz, 1.0);
|
gl_Position = ProjectionMatrix * vec4(vPosition.xyz, 1.0);
|
||||||
texCoord = vTexCoord;
|
|
||||||
}
|
}
|
11
assets/shaders/particle-shader.fragment
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
precision mediump float;
|
||||||
|
|
||||||
|
in vec2 texCoord;
|
||||||
|
flat in vec4 color;
|
||||||
|
|
||||||
|
uniform sampler2D Texture;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
gl_FragColor = texture2D(Texture,texCoord) * color;
|
||||||
|
}
|
@ -1,12 +1,15 @@
|
|||||||
attribute vec3 vPosition;
|
attribute vec3 vPosition;
|
||||||
attribute vec2 vTexCoord;
|
attribute vec2 vTexCoord;
|
||||||
varying vec2 texCoord;
|
attribute vec4 vColor;
|
||||||
|
|
||||||
|
out vec2 texCoord;
|
||||||
|
flat out vec4 color;
|
||||||
|
|
||||||
uniform mat4 ProjectionMatrix;
|
uniform mat4 ProjectionMatrix;
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
//480x320
|
|
||||||
gl_Position = ProjectionMatrix * vec4(vPosition.xyz, 1.0);
|
gl_Position = ProjectionMatrix * vec4(vPosition.xyz, 1.0);
|
||||||
texCoord = vTexCoord;
|
texCoord = vTexCoord;
|
||||||
|
color = vColor;
|
||||||
}
|
}
|
10
assets/shaders/texture-shader.fragment
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
precision mediump float;
|
||||||
|
|
||||||
|
varying vec2 texCoord;
|
||||||
|
|
||||||
|
uniform sampler2D Texture;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
gl_FragColor = texture2D(Texture,texCoord);
|
||||||
|
}
|
@ -1,12 +1,12 @@
|
|||||||
attribute vec3 vPosition;
|
attribute vec3 vPosition;
|
||||||
attribute vec2 vTexCoord;
|
attribute vec2 vTexCoord;
|
||||||
|
|
||||||
varying vec2 texCoord;
|
varying vec2 texCoord;
|
||||||
|
|
||||||
uniform mat4 ProjectionMatrix;
|
uniform mat4 ProjectionMatrix;
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
//480x320
|
|
||||||
gl_Position = ProjectionMatrix * vec4(vPosition.xyz, 1.0);
|
gl_Position = ProjectionMatrix * vec4(vPosition.xyz, 1.0);
|
||||||
texCoord = vTexCoord;
|
texCoord = vTexCoord;
|
||||||
}
|
}
|
Before Width: | Height: | Size: 480 KiB |
Before Width: | Height: | Size: 362 KiB |
Before Width: | Height: | Size: 433 KiB |
Before Width: | Height: | Size: 370 KiB |
Before Width: | Height: | Size: 464 KiB |
Before Width: | Height: | Size: 532 KiB |
Before Width: | Height: | Size: 611 KiB |
Before Width: | Height: | Size: 509 KiB |
Before Width: | Height: | Size: 503 KiB |
Before Width: | Height: | Size: 553 KiB |
Before Width: | Height: | Size: 597 KiB |
Before Width: | Height: | Size: 474 KiB |
Before Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 6.7 KiB |
BIN
assets/textures/circle-white.png
Executable file
After Width: | Height: | Size: 4.1 KiB |
BIN
assets/textures/comet-white.png
Executable file
After Width: | Height: | Size: 109 KiB |
BIN
assets/textures/comet.png
Executable file
After Width: | Height: | Size: 204 KiB |
BIN
assets/textures/magic-star-big.png
Executable file
After Width: | Height: | Size: 690 KiB |
BIN
assets/textures/magic-star.png
Executable file
After Width: | Height: | Size: 241 KiB |
BIN
assets/textures/rect-white.png
Executable file
After Width: | Height: | Size: 2.3 KiB |
BIN
assets/textures/spark-white.png
Executable file
After Width: | Height: | Size: 4.0 KiB |
BIN
assets/textures/spark.png
Executable file
After Width: | Height: | Size: 4.0 KiB |
BIN
assets/textures/star-white.png
Executable file
After Width: | Height: | Size: 2.8 KiB |
BIN
assets/textures/star-with-tail-big.png
Executable file
After Width: | Height: | Size: 378 KiB |
BIN
assets/textures/star-with-tail-white.png
Executable file
After Width: | Height: | Size: 66 KiB |
BIN
assets/textures/star-with-tail.png
Executable file
After Width: | Height: | Size: 145 KiB |
Before Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 7.0 KiB |
Before Width: | Height: | Size: 7.0 KiB |
Before Width: | Height: | Size: 4.1 KiB |
@ -1,83 +0,0 @@
|
|||||||
#include "creditscode.h"
|
|
||||||
#include "include/Engine.h"
|
|
||||||
|
|
||||||
#include "main_code.h"
|
|
||||||
|
|
||||||
const int TGameCredits::CONST_STATE_APPEARING = 0;
|
|
||||||
const int TGameCredits::CONST_STATE_APPEARED = 1;
|
|
||||||
const int TGameCredits::CONST_STATE_DISAPPEARING = 2;
|
|
||||||
const int TGameCredits::CONST_STATE_DISAPPEARED = 3;
|
|
||||||
|
|
||||||
const float TGameCredits::CONST_APPEAR_TIME = 150.f;
|
|
||||||
|
|
||||||
TGameCredits::TGameCredits()
|
|
||||||
: TGameAreaAncestor()
|
|
||||||
, StateTimer(0)
|
|
||||||
, State(CONST_STATE_DISAPPEARED)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void TGameCredits::Draw()
|
|
||||||
{
|
|
||||||
//*SE::Console << "TGameCredits::Draw";
|
|
||||||
float transparency = StateTimer/CONST_APPEAR_TIME;
|
|
||||||
|
|
||||||
|
|
||||||
RenderUniform1f("Transparency", transparency);
|
|
||||||
|
|
||||||
glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList["main_menu_bkg_left"]);
|
|
||||||
Renderer->DrawRect(Vector2f(0, 0.f), Vector2f(480.f, 320.f));
|
|
||||||
|
|
||||||
const Vector2f creditsPos(140.f, 130.f);
|
|
||||||
|
|
||||||
const Vector2f creditsHalfSize(128.f, 128.f);
|
|
||||||
|
|
||||||
glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_CREDITS_TEXTURE]);
|
|
||||||
Renderer->DrawRect(creditsPos-creditsHalfSize, creditsPos+creditsHalfSize);
|
|
||||||
|
|
||||||
glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_LOGO_SMALL_TEXTURE]);
|
|
||||||
Renderer->DrawRect(Vector2f(240.f-128.f+15.f, 320.f-64.f), Vector2f(240.f+128.f+15.f, 320.f));
|
|
||||||
|
|
||||||
CheckGlError("Draw TGameCredits");
|
|
||||||
}
|
|
||||||
|
|
||||||
void TGameCredits::Update(size_t dt)
|
|
||||||
{
|
|
||||||
if (State == CONST_STATE_APPEARING)
|
|
||||||
{
|
|
||||||
*SE::Console << "TGameCredits::Update - CONST_STATE_APPEARING";
|
|
||||||
StateTimer += dt;
|
|
||||||
if (StateTimer >= CONST_APPEAR_TIME)
|
|
||||||
{
|
|
||||||
StateTimer = CONST_APPEAR_TIME;
|
|
||||||
State = CONST_STATE_APPEARED;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (State == CONST_STATE_DISAPPEARING)
|
|
||||||
{
|
|
||||||
StateTimer -= dt;
|
|
||||||
if (StateTimer <= 0.f)
|
|
||||||
{
|
|
||||||
StateTimer = 0.f;
|
|
||||||
State = CONST_STATE_DISAPPEARED;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void TGameCredits::OnTapDown(Vector2f p)
|
|
||||||
{
|
|
||||||
*SE::Console << "TGameCredits::OnTapDown";
|
|
||||||
Application->GoFromCreditsToMenu();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TGameCredits::StartAppear()
|
|
||||||
{
|
|
||||||
*SE::Console << "TGameCredits::StartAppear";
|
|
||||||
State = CONST_STATE_APPEARING;
|
|
||||||
}
|
|
||||||
|
|
||||||
void TGameCredits::StartDisappear()
|
|
||||||
{
|
|
||||||
*SE::Console << "TGameCredits::StartDisappear";
|
|
||||||
State = CONST_STATE_DISAPPEARING;
|
|
||||||
}
|
|
@ -1,34 +0,0 @@
|
|||||||
#ifndef CREDITSCODE_H_INCLUDED
|
|
||||||
#define CREDITSCODE_H_INCLUDED
|
|
||||||
|
|
||||||
#include "game_area_interface.h"
|
|
||||||
|
|
||||||
using namespace SE;
|
|
||||||
|
|
||||||
|
|
||||||
class TGameCredits : public TGameAreaAncestor
|
|
||||||
{
|
|
||||||
static const int CONST_STATE_APPEARING;
|
|
||||||
static const int CONST_STATE_APPEARED;
|
|
||||||
static const int CONST_STATE_DISAPPEARING;
|
|
||||||
static const int CONST_STATE_DISAPPEARED;
|
|
||||||
static const float CONST_APPEAR_TIME;
|
|
||||||
|
|
||||||
|
|
||||||
int State;
|
|
||||||
float StateTimer;
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
TGameCredits();
|
|
||||||
|
|
||||||
virtual void Draw();
|
|
||||||
virtual void Update(size_t dt);
|
|
||||||
virtual void OnTapDown(Vector2f p);
|
|
||||||
|
|
||||||
void StartAppear();
|
|
||||||
void StartDisappear();
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
|
@ -1,25 +0,0 @@
|
|||||||
#ifndef GAME_AREA_INTERFACE_H_INCLUDED
|
|
||||||
#define GAME_AREA_INTERFACE_H_INCLUDED
|
|
||||||
|
|
||||||
#include "include/Engine.h"
|
|
||||||
|
|
||||||
using namespace SE;
|
|
||||||
|
|
||||||
|
|
||||||
class TGameAreaAncestor
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
virtual void Draw() { }
|
|
||||||
virtual void Update(size_t) { }
|
|
||||||
virtual void OnTapUp(Vector2f) { }
|
|
||||||
virtual void OnTapUpAfterMove(Vector2f) { }
|
|
||||||
|
|
||||||
virtual void OnTapDown(Vector2f) { }
|
|
||||||
virtual void OnFling(Vector2f) { }
|
|
||||||
virtual void OnScroll(Vector2f) { }
|
|
||||||
|
|
||||||
virtual ~TGameAreaAncestor() { } //By default destructor is not virtual
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
|
1628
game/gamecode.cpp
205
game/gamecode.h
@ -1,205 +0,0 @@
|
|||||||
#ifndef GAMECODE_H_INCLUDED
|
|
||||||
#define GAMECODE_H_INCLUDED
|
|
||||||
|
|
||||||
#include "include/Engine.h"
|
|
||||||
#include "game_area_interface.h"
|
|
||||||
|
|
||||||
#include <list>
|
|
||||||
|
|
||||||
using namespace SE;
|
|
||||||
|
|
||||||
|
|
||||||
const int CONST_BRICKSTATE_VISIBLE = 3;
|
|
||||||
const int CONST_BRICKSTATE_DISAPPEAR = 2;
|
|
||||||
const int CONST_BRICKSTATE_INVISIBLE = 1;
|
|
||||||
const int CONST_BRICKSTATE_APPEAR = 0;
|
|
||||||
|
|
||||||
const float CONST_BRICK_DISAPPEAR_TIME = 200.f;
|
|
||||||
const float CONST_BRICK_APPEAR_TIME = 200.f;
|
|
||||||
|
|
||||||
const int CONST_BRICKMATRIX_WIDTH = 12;
|
|
||||||
const int CONST_BRICKMATRIX_HEIGHT = 13;
|
|
||||||
const float CONST_BRICK_WIDTH = 37.5f;
|
|
||||||
const float CONST_BRICK_HEIGHT = 0.5f*CONST_BRICK_WIDTH;
|
|
||||||
const float CONST_BRICK_SHIFT_X = 15.f;
|
|
||||||
const float CONST_BRICK_SHIFT_Y = -16.f;
|
|
||||||
|
|
||||||
const float CONST_BONUS_APPEAR_TIME = 400.f;
|
|
||||||
const float CONST_BONUS_FALL_SPEED = 100.f;
|
|
||||||
const float CONST_BONUS_GOTHROUGH_TIME = 8000.f;
|
|
||||||
const float CONST_BONUS_CATCH_DISTANCE_X = 65.f;
|
|
||||||
const float CONST_BONUS_CATCH_DISTANCE_Y = 20.f;
|
|
||||||
|
|
||||||
const float CONST_BONUS_FLOOR_TIME = 8000.f;
|
|
||||||
const float CONST_BONUS_FLOOR_APPEAR_SPEED = 50.f;
|
|
||||||
|
|
||||||
const int CONST_BONUS_TYPE_MULTIPLIER = 0;
|
|
||||||
const int CONST_BONUS_TYPE_GOTHROUGH = 1;
|
|
||||||
const int CONST_BONUS_TYPE_FLOOR = 2;
|
|
||||||
|
|
||||||
|
|
||||||
class TBrick
|
|
||||||
{
|
|
||||||
protected:
|
|
||||||
int InitialLocked;
|
|
||||||
int Locked; //0, 1 or 2
|
|
||||||
int State;
|
|
||||||
float StateTimer;
|
|
||||||
Vector4f Color;
|
|
||||||
public:
|
|
||||||
TBrick();
|
|
||||||
void SetVisible(Vector4f color, int locked);
|
|
||||||
void SetInvisible();
|
|
||||||
void TryDrawAppear(int ipos, int jpos);
|
|
||||||
void Update(size_t dt);
|
|
||||||
Vector2f GetPosFrom(int ipos, int jpos);
|
|
||||||
Vector4f GetColor();
|
|
||||||
void Appear(Vector4f color, int locked);
|
|
||||||
void Appear();
|
|
||||||
void Hit();
|
|
||||||
void Disappear();
|
|
||||||
int GetLocked();
|
|
||||||
bool CanReact();
|
|
||||||
};
|
|
||||||
|
|
||||||
class TBonusFalling
|
|
||||||
{
|
|
||||||
protected:
|
|
||||||
float Lifetime;
|
|
||||||
Vector2f Pos;
|
|
||||||
std::string TexName;
|
|
||||||
int BonusType; //0 - multiplier, 1 - Go-through, 2 - floor
|
|
||||||
public:
|
|
||||||
TBonusFalling(Vector2f pos);
|
|
||||||
Vector2f GetPos();
|
|
||||||
int GetType();
|
|
||||||
void Draw();
|
|
||||||
void Update(size_t dt);
|
|
||||||
};
|
|
||||||
|
|
||||||
struct TBall
|
|
||||||
{
|
|
||||||
Vector2f Pos;
|
|
||||||
Vector2f Velocity;
|
|
||||||
Vector4f Color;
|
|
||||||
std::list<Vector2f> TalePos;
|
|
||||||
|
|
||||||
Vector2f BallInBlock;
|
|
||||||
Vector2f PrevBallInBlock;
|
|
||||||
|
|
||||||
TBall(Vector2f pos, Vector2f velocity, Vector4f color);
|
|
||||||
Vector2f GetPos();
|
|
||||||
Vector2f GetVelocityVector();
|
|
||||||
|
|
||||||
void Go();
|
|
||||||
|
|
||||||
void ReflectToLeft();
|
|
||||||
void ReflectToRight();
|
|
||||||
void ReflectToUp();
|
|
||||||
void ReflectToDown();
|
|
||||||
|
|
||||||
void TryReflectOnReflector(Vector2f refPos);
|
|
||||||
|
|
||||||
void Update(size_t dt);
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef std::pair<Vector4f, std::string> PairColorTexture;
|
|
||||||
|
|
||||||
struct TBlockInstansingList
|
|
||||||
{
|
|
||||||
//color-texture ---> and list of triangles for this color
|
|
||||||
std::list<std::pair<PairColorTexture, TTriangleList>> ColorBlockList;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct TBallInstancingList
|
|
||||||
{
|
|
||||||
std::map<int, TTriangleList> BallAndGlowList;
|
|
||||||
};
|
|
||||||
|
|
||||||
class TGameLevel : public TGameAreaAncestor
|
|
||||||
{
|
|
||||||
protected:
|
|
||||||
std::string BkgTexture;
|
|
||||||
std::string LevelScreenTexture;
|
|
||||||
std::string LevelFileName;
|
|
||||||
|
|
||||||
Vector2f ReflectorPos;
|
|
||||||
|
|
||||||
int LevelState;
|
|
||||||
bool PrevLevelStateIsStandby;
|
|
||||||
float StateTimer;
|
|
||||||
|
|
||||||
TBrick BlockMatrix[CONST_BRICKMATRIX_WIDTH][CONST_BRICKMATRIX_HEIGHT];
|
|
||||||
TBlockInstansingList BlockInstansingList;
|
|
||||||
|
|
||||||
bool TapInBackBtnArea(const Vector2f& pos);
|
|
||||||
|
|
||||||
void ReloadBlockInstansingList();
|
|
||||||
void SetFinished();
|
|
||||||
void SetFinishFreeze();
|
|
||||||
|
|
||||||
void DrawBuffer();
|
|
||||||
void DrawPauseButtons();
|
|
||||||
|
|
||||||
void DrawBallInstancingList();
|
|
||||||
|
|
||||||
bool RenderBufferReady;
|
|
||||||
|
|
||||||
float OutScale;
|
|
||||||
|
|
||||||
float OutScaleVelocity;
|
|
||||||
|
|
||||||
void TryGoToMenu();
|
|
||||||
|
|
||||||
std::list<TBonusFalling> BonusFallingList;
|
|
||||||
|
|
||||||
std::list<TBall> BallList;
|
|
||||||
|
|
||||||
TBallInstancingList BallInstancingList;
|
|
||||||
|
|
||||||
Vector4f BallColor;
|
|
||||||
|
|
||||||
void ReloadBallInstancingList();
|
|
||||||
void RefreshBallInstancingList();
|
|
||||||
|
|
||||||
|
|
||||||
void UpdateBallList(size_t dt);
|
|
||||||
void MultiplyBalls(Vector2f pos, Vector2f velocity);
|
|
||||||
|
|
||||||
Vector2f GetBlock(const Vector2f& pos);
|
|
||||||
void InitLevel();
|
|
||||||
|
|
||||||
float BonusGothroughTimer;
|
|
||||||
float BonusFloorTimer;
|
|
||||||
float BonusFloorPosY;
|
|
||||||
|
|
||||||
Vector4f ParseColor(const std::string& s);
|
|
||||||
void ReloadLevel();
|
|
||||||
|
|
||||||
public:
|
|
||||||
TGameLevel();
|
|
||||||
~TGameLevel();
|
|
||||||
|
|
||||||
void FillWithFile(const std::string& filename);
|
|
||||||
|
|
||||||
void SetStandBy();
|
|
||||||
void SetLoading(const std::string& bkg, const std::string& levelscreen);
|
|
||||||
bool IsLoaded();
|
|
||||||
|
|
||||||
virtual void Draw();
|
|
||||||
|
|
||||||
void SetPause();
|
|
||||||
bool IsPaused();
|
|
||||||
void ReleasePause();
|
|
||||||
|
|
||||||
virtual void Update(size_t dt);
|
|
||||||
virtual void OnTapDown(Vector2f pos);
|
|
||||||
virtual void OnTapUp(Vector2f pos);
|
|
||||||
virtual void OnFling(Vector2f slideSpeed);
|
|
||||||
virtual void OnScroll(Vector2f shift);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
|