-#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof*(arr))
-
-static vec2d const gravity = { FIXED_POINT_I(0, 0), FIXED_POINT_I(0, 56) };
-static vec2d const move_max = { FIXED_POINT_I(0, 600), FIXED_POINT_I(1, 300) };
-static fixed_point const accel_horiz = FIXED_POINT_I(0, 50);
-static fixed_point const accel_vert = FIXED_POINT_I(0, 250);
-static fixed_point const drag_factor = FIXED_POINT_I(0, 854);
-static fixed_point const speed_jump_x = FIXED_POINT_I(0, 600);
-
-static badge_sprite const anim_hacker[] = {
- { 5, 8, (uint8_t const *) "\x1c\xff\xfd\x04\x04" },
- { 5, 8, (uint8_t const *) "\x1c\xff\x3d\xc4\x04" },
- { 5, 8, (uint8_t const *) "\xdc\x3f\x1d\x24\xc4" },
- { 5, 8, (uint8_t const *) "\x1c\xff\x3d\xc4\x04" }
-
-/*
- { 5, 8, (uint8_t const *) "\x46\xfc\x73\x8c\x31" },
- { 5, 8, (uint8_t const *) "\x46\xfc\x73\x8c\x52" },
- { 5, 8, (uint8_t const *) "\x46\xfc\x73\x94\x8c" },
- { 5, 8, (uint8_t const *) "\x46\xfc\x73\x8c\x52" }
-*/
- /*
- { 6, 8, (uint8_t const *) "\x0c\xe1\x3b\x0e\xc3\x30" },
- { 6, 8, (uint8_t const *) "\x0c\xe1\x3b\x0e\x43\x51" },
- { 6, 8, (uint8_t const *) "\x0c\xe1\x3b\x0e\x35\x82" },
- { 6, 8, (uint8_t const *) "\x0c\xe1\x3b\x0e\x43\x51" }
- */
- /*
- { 6, 8, (uint8_t const *) "\xff\xff\xff\xff\xff\xff" },
- { 6, 8, (uint8_t const *) "\xff\xff\xff\xff\xff\xff" },
- { 6, 8, (uint8_t const *) "\xff\xff\xff\xff\xff\xff" },
- { 6, 8, (uint8_t const *) "\xff\xff\xff\xff\xff\xff" }
- */
-};
-
+static vec2d gravity () { return (vec2d) { FIXED_POINT(0, 0), FIXED_POINT(0, 56) }; }
+static vec2d move_max () { return (vec2d) { FIXED_POINT(0, 600), FIXED_POINT(1, 300) }; }
+static fixed_point accel_horiz () { return FIXED_POINT(0, 50); }
+static fixed_point accel_vert () { return FIXED_POINT(0, 167); }
+static fixed_point drag_factor () { return FIXED_POINT(0, 854); }