summaryrefslogtreecommitdiffstats
path: root/res
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-11-16 17:39:26 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-11-16 17:39:26 -0800
commit03dfdbac7d81729449c67079f58921def6e12761 (patch)
tree107984b36f930dab5c37ee8cbbcb249be917fa0e /res
parenta0fdcad4e34cdddff337f5b4c2c354fd97226ad1 (diff)
parent756f9749382b1276f2d00e9b310651a44d2af39d (diff)
downloadandroid_packages_wallpapers_Basic-03dfdbac7d81729449c67079f58921def6e12761.tar.gz
android_packages_wallpapers_Basic-03dfdbac7d81729449c67079f58921def6e12761.tar.bz2
android_packages_wallpapers_Basic-03dfdbac7d81729449c67079f58921def6e12761.zip
Merge change I756f9749 into eclair
* changes: Switch to dt from frames for annimation.
Diffstat (limited to 'res')
-rw-r--r--res/raw/fall.rs27
1 files changed, 18 insertions, 9 deletions
diff --git a/res/raw/fall.rs b/res/raw/fall.rs
index 8a89d21..8dee7dc 100644
--- a/res/raw/fall.rs
+++ b/res/raw/fall.rs
@@ -22,6 +22,8 @@
float skyOffsetX;
float skyOffsetY;
+float g_DT;
+int g_LastTime;
struct vert_s {
float x;
@@ -75,14 +77,14 @@ void initLeaves() {
leaf->u2 = (sprite + 1) / (float) LEAVES_TEXTURES_COUNT;
leaf->altitude = -1.0f;
leaf->rippled = 1.0f;
- leaf->deltaX = randf2(-0.02f, 0.02f) / 60.0f;
- leaf->deltaY = -0.08f * randf2(0.9f, 1.1f) / 60.0f;
+ leaf->deltaX = randf2(-0.02f, 0.02f) / 2.0f;
+ leaf->deltaY = -0.08f * randf2(0.9f, 1.1f) / 2.0f;
leaf++;
}
}
void updateDrop(int ct) {
- gDrops[ct].spread += 1;
+ gDrops[ct].spread += 30.f * g_DT;
gDrops[ct].spread2 = gDrops[ct].spread * gDrops[ct].spread;
gDrops[ct].invSpread = 1 / gDrops[ct].spread;
gDrops[ct].invSpread2 = gDrops[ct].invSpread * gDrops[ct].invSpread;
@@ -250,12 +252,12 @@ void drawLeaf(struct Leaves_s *leaf) {
leaf->spin = spin;
leaf->rippled = 1.0f;
}
- leaf->x = x + leaf->deltaX;
- leaf->y = y + leaf->deltaY;
+ leaf->x = x + leaf->deltaX * g_DT;
+ leaf->y = y + leaf->deltaY * g_DT;
r += spin;
leaf->angle = r;
} else {
- a -= 0.006f;
+ a -= 0.15f * g_DT;
leaf->altitude = a;
r += spin * 2.0f;
leaf->angle = r;
@@ -267,15 +269,15 @@ void drawLeaf(struct Leaves_s *leaf) {
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.35f;
leaf->u1 = sprite / (float) LEAVES_TEXTURES_COUNT;
leaf->u2 = (sprite + 1) / (float) LEAVES_TEXTURES_COUNT;
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;
+ leaf->deltaX = randf2(-0.02f, 0.02f) / 2.0f;
+ leaf->deltaY = -0.08f * randf2(0.9f, 1.1f) / 2.0f;
}
}
@@ -344,6 +346,13 @@ void drawSky() {
*/
int main(int index) {
+ // Compute dt in seconds.
+ int newTime = uptimeMillis();
+ g_DT = (newTime - g_LastTime) / 1000.f;
+ g_LastTime = newTime;
+ g_DT = minf(g_DT, 0.2f);
+
+
if (Drop->dropX != -1) {
drop(Drop->dropX, Drop->dropY, 2);
Drop->dropX = -1;