| 9 | namespace fl { |
| 10 | |
| 11 | void Complex_Kaleido_3::draw(Context &ctx) { |
| 12 | auto *e = ctx.mEngine.get(); |
| 13 | e->get_ready(); |
| 14 | |
| 15 | e->timings.master_speed = 0.001; |
| 16 | e->timings.ratio[0] = 0.025; |
| 17 | e->timings.ratio[1] = 0.027; |
| 18 | e->timings.ratio[2] = 0.031; |
| 19 | e->timings.ratio[3] = 0.033; |
| 20 | e->timings.ratio[4] = 0.037; |
| 21 | e->timings.ratio[5] = 0.038; |
| 22 | e->timings.ratio[5] = 0.041; |
| 23 | |
| 24 | e->calculate_oscillators(e->timings); |
| 25 | |
| 26 | float size = 0.4 + e->move.directional[0] * 0.1; |
| 27 | |
| 28 | float q = 2; |
| 29 | |
| 30 | for (int x = 0; x < e->num_x; x++) { |
| 31 | for (int y = 0; y < e->num_y; y++) { |
| 32 | |
| 33 | e->animation.dist = e->distance[x][y]; |
| 34 | e->animation.angle = |
| 35 | 5 * e->polar_theta[x][y] + 10 * e->move.radial[0] + |
| 36 | e->animation.dist / (((e->move.directional[0] + 3) * 2)) + |
| 37 | e->move.noise_angle[0] * q; |
| 38 | e->animation.z = 5; |
| 39 | e->animation.scale_x = 0.08 * size * (e->move.directional[0] + 1.5); |
| 40 | e->animation.scale_y = 0.07 * size; |
| 41 | e->animation.offset_z = -10 * e->move.linear[0]; |
| 42 | e->animation.offset_x = -30 * e->move.linear[0]; |
| 43 | e->animation.offset_y = 0; |
| 44 | e->animation.low_limit = 0; |
| 45 | e->show1 = e->render_value(e->animation); |
| 46 | |
| 47 | e->animation.dist = e->distance[x][y]; |
| 48 | e->animation.angle = |
| 49 | -5 * e->polar_theta[x][y] + 10 * e->move.radial[1] + |
| 50 | e->animation.dist / (((e->move.directional[1] + 3) * 2)) + |
| 51 | e->move.noise_angle[1] * q; |
| 52 | e->animation.z = 500; |
| 53 | e->animation.scale_x = 0.07 * size * (e->move.directional[1] + 1.1); |
| 54 | e->animation.scale_y = 0.07 * size * (e->move.directional[2] + 1.3); |
| 55 | ; |
| 56 | e->animation.offset_z = -12 * e->move.linear[1]; |
| 57 | ; |
| 58 | e->animation.offset_x = -(e->num_x - 1) * e->move.linear[1]; |
| 59 | e->animation.offset_y = 0; |
| 60 | e->animation.low_limit = 0; |
| 61 | e->show2 = e->render_value(e->animation); |
| 62 | |
| 63 | e->animation.dist = e->distance[x][y]; |
| 64 | e->animation.angle = |
| 65 | -5 * e->polar_theta[x][y] + 12 * e->move.radial[2] + |
| 66 | e->animation.dist / (((e->move.directional[3] + 3) * 2)) + |
| 67 | e->move.noise_angle[2] * q; |
| 68 | e->animation.z = 500; |
nothing calls this directly
no test coverage detected