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 vec2 vTexCoord;
|
||||
varying vec2 texCoord;
|
||||
|
||||
uniform mat4 ProjectionMatrix;
|
||||
|
||||
void main()
|
||||
{
|
||||
//480x320
|
||||
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 vec2 vTexCoord;
|
||||
varying vec2 texCoord;
|
||||
attribute vec4 vColor;
|
||||
|
||||
out vec2 texCoord;
|
||||
flat out vec4 color;
|
||||
|
||||
uniform mat4 ProjectionMatrix;
|
||||
|
||||
void main()
|
||||
{
|
||||
//480x320
|
||||
gl_Position = ProjectionMatrix * vec4(vPosition.xyz, 1.0);
|
||||
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 vec2 vTexCoord;
|
||||
|
||||
varying vec2 texCoord;
|
||||
|
||||
uniform mat4 ProjectionMatrix;
|
||||
|
||||
void main()
|
||||
{
|
||||
//480x320
|
||||
gl_Position = ProjectionMatrix * vec4(vPosition.xyz, 1.0);
|
||||
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
|