Add the animation for when you enter the all apps view.
diff --git a/res/drawable-hdpi/all_apps_button.png b/res/drawable-hdpi/all_apps_button.png
index 945bf93..bb84278 100644
--- a/res/drawable-hdpi/all_apps_button.png
+++ b/res/drawable-hdpi/all_apps_button.png
Binary files differ
diff --git a/res/layout-port/launcher.xml b/res/layout-port/launcher.xml
index edfa9f1..f6f383f 100644
--- a/res/layout-port/launcher.xml
+++ b/res/layout-port/launcher.xml
@@ -48,39 +48,29 @@
 
     </com.android.launcher2.Workspace>
 
-    <LinearLayout
-        android:id="@+id/buttons"
-        android:layout_width="fill_parent"
-        android:layout_height="56dip"
-        android:layout_gravity="bottom"
+    <com.android.launcher2.HandleView
+        android:id="@+id/all_apps_button"
+        android:layout_width="wrap_content"
+        android:layout_height="@dimen/button_bar_height"
+        android:layout_gravity="bottom|center_horizontal"
 
-        android:gravity="right"
-        >
+        android:focusable="true"
+        android:clickable="true"
 
-        <com.android.launcher2.HandleView
-            android:id="@+id/all_apps_button"
-            android:layout_width="@dimen/button_bar_height"
-            android:layout_height="@dimen/button_bar_height"
-
-            android:focusable="true"
-            android:clickable="true"
-
-            android:scaleType="center"
-            android:src="@drawable/all_apps_button"
-
-            launcher:direction="horizontal" />
-    </LinearLayout>
+        android:scaleType="center"
+        android:src="@drawable/all_apps_button"
+        launcher:direction="horizontal" />
 
     <com.android.launcher2.DeleteZone
         android:id="@+id/delete_zone"
         android:layout_width="wrap_content"
         android:layout_height="49dip"
+        android:layout_gravity="bottom|center_horizontal"
 
         android:scaleType="center"
         android:src="@drawable/ic_delete"
         android:background="@drawable/delete_zone_selector"
 
-        android:layout_gravity="bottom|center_horizontal"
         android:visibility="invisible"
         
         launcher:direction="horizontal" />
diff --git a/res/raw/rollo.c b/res/raw/rollo.c
index 283d89d..e9c31b1 100644
--- a/res/raw/rollo.c
+++ b/res/raw/rollo.c
@@ -34,6 +34,7 @@
 #define STATE_SELECTED_ICON_TEXTURE     10
 
 #define STATE_VISIBLE                   11
+#define STATE_ZOOM                      12
 
 // Drawing constants, should be parameters ======
 #define VIEW_ANGLE 1.28700222f
@@ -67,6 +68,8 @@
     int row;
     int col;
 
+    float scale = 1.0f - loadI32(ALLOC_STATE, STATE_ZOOM)/100000.0f;
+
     float iconTextureWidth = ICON_WIDTH_PX / (float)ICON_TEXTURE_WIDTH_PX;
     float iconTextureHeight = ICON_HEIGHT_PX / (float)ICON_TEXTURE_HEIGHT_PX;
 
@@ -110,6 +113,7 @@
 
             float centerX = sine * RADIUS;
             float centerZ = cosine * RADIUS;
+            centerZ -= (7*scale);
 
             float iconLeftX = centerX  - (cosine * farIconTextureSize * .5);
             float iconRightX = centerX + (cosine * farIconTextureSize * .5);
@@ -133,15 +137,17 @@
                     iconLeftX, iconTextureBottom, iconLeftZ,    0.0f, 1.0f);
 
             // label
-            float labelLeftX = centerX - farLabelWidth * 0.5f;
-            float labelRightX = centerX + farLabelWidth * 0.5f;
+            if (scale <= 1.04f) {
+                float labelLeftX = centerX - farLabelWidth * 0.5f;
+                float labelRightX = centerX + farLabelWidth * 0.5f;
 
-            bindTexture(NAMED_PF, 0, loadI32(ALLOC_LABEL_IDS, icon));
-            drawQuadTexCoords(
-                    labelLeftX, labelTop, centerZ,       0.0f, 0.0f,
-                    labelRightX, labelTop, centerZ,      labelTextureWidth, 0.0f,
-                    labelRightX, labelBottom, centerZ,   labelTextureWidth, labelTextureHeight,
-                    labelLeftX, labelBottom, centerZ,    0.0f, labelTextureHeight);
+                bindTexture(NAMED_PF, 0, loadI32(ALLOC_LABEL_IDS, icon));
+                drawQuadTexCoords(
+                        labelLeftX, labelTop, centerZ,       0.0f, 0.0f,
+                        labelRightX, labelTop, centerZ,      labelTextureWidth, 0.0f,
+                        labelRightX, labelBottom, centerZ,   labelTextureWidth, labelTextureHeight,
+                        labelLeftX, labelBottom, centerZ,    0.0f, labelTextureHeight);
+            }
 
             angle += columnGutterAngle + iconWidthAngle;
             icon++;
@@ -269,6 +275,8 @@
             scrollXPx = loadF(ALLOC_STATE, STATE_FLING_END_POS);
             done = 1;
         }
+    } else {
+        done = 1;
     }
 
     // Clamp