diff options
| author | Android (Google) Code Review <android-gerrit@google.com> | 2009-11-16 17:39:26 -0800 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-11-16 17:39:26 -0800 |
| commit | 03dfdbac7d81729449c67079f58921def6e12761 (patch) | |
| tree | 107984b36f930dab5c37ee8cbbcb249be917fa0e /res | |
| parent | a0fdcad4e34cdddff337f5b4c2c354fd97226ad1 (diff) | |
| parent | 756f9749382b1276f2d00e9b310651a44d2af39d (diff) | |
| download | android_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.rs | 27 |
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; |
