Nicer leaves; also add a random drop when resuming
diff --git a/res/drawable-hdpi/leaves.png b/res/drawable-hdpi/leaves.png
index 9eddd66..a1a0c75 100644
--- a/res/drawable-hdpi/leaves.png
+++ b/res/drawable-hdpi/leaves.png
Binary files differ
diff --git a/res/raw/fall.rs b/res/raw/fall.rs
index 1d7eba8..8a89d21 100644
--- a/res/raw/fall.rs
+++ b/res/raw/fall.rs
@@ -17,7 +17,7 @@
#pragma stateFragment(PFBackground)
#pragma stateStore(PFSBackground)
-#define LEAVES_TEXTURES_COUNT 4
+#define LEAVES_TEXTURES_COUNT 8
#define LEAF_SIZE 0.55f
float skyOffsetX;
@@ -255,7 +255,7 @@
r += spin;
leaf->angle = r;
} else {
- a -= 0.005f;
+ a -= 0.006f;
leaf->altitude = a;
r += spin * 2.0f;
leaf->angle = r;
@@ -267,11 +267,12 @@
int sprite = randf(LEAVES_TEXTURES_COUNT);
leaf->x = randf2(-State->glWidth, State->glWidth);
leaf->y = randf2(-State->glHeight * 0.5f, State->glHeight * 0.5f);
+
leaf->scale = randf2(0.4f, 0.5f);
- leaf->spin = degf(randf2(-0.02f, 0.02f)) * 0.25f;
+ leaf->spin = degf(randf2(-0.02f, 0.02f)) * 0.35f;
leaf->u1 = sprite / (float) LEAVES_TEXTURES_COUNT;
leaf->u2 = (sprite + 1) / (float) LEAVES_TEXTURES_COUNT;
- leaf->altitude = 0.6f;
+ leaf->altitude = 0.7f;
leaf->rippled = -1.0f;
leaf->deltaX = randf2(-0.02f, 0.02f) / 60.0f;
leaf->deltaY = -0.08f * randf2(0.9f, 1.1f) / 60.0f;
diff --git a/src/com/android/wallpaper/fall/FallRS.java b/src/com/android/wallpaper/fall/FallRS.java
index fbd341f..dc0d416 100644
--- a/src/com/android/wallpaper/fall/FallRS.java
+++ b/src/com/android/wallpaper/fall/FallRS.java
@@ -117,6 +117,16 @@
}
return null;
}
+
+ @Override
+ public void start() {
+ super.start();
+ final WorldState worldState = mWorldState;
+ final int width = worldState.width;
+ final int x = width / 4 + (int)(Math.random() * (width / 2));
+ final int y = worldState.height / 4 + (int)(Math.random() * (worldState.height / 2));
+ addDrop(x + (width * worldState.xOffset), y);
+ }
@Override
public void resize(int width, int height) {