12 Commits
v1.0.0 ... main

7 changed files with 34 additions and 26 deletions

View File

@@ -1,7 +1,11 @@
{ {
"author": "hilariouspig", "author": "RandyTheSilly",
"dependencies": {}, "dependencies": {},
"keywords": [], "keywords": [
"silly",
"creature",
"swap"
],
"name": "maan-on-my-wrist-xl", "name": "maan-on-my-wrist-xl",
"pebble": { "pebble": {
"displayName": "Maan On My Wrist XL", "displayName": "Maan On My Wrist XL",
@@ -712,6 +716,12 @@
], ],
"type": "bitmap" "type": "bitmap"
}, },
{
"file": "images/menu_icon.png",
"name": "MENU_ICON",
"menuIcon": true,
"type": "bitmap"
},
{ {
"characterRegex": "[:0-9]", "characterRegex": "[:0-9]",
"file": "fonts/RetroComputerTime.ttf", "file": "fonts/RetroComputerTime.ttf",
@@ -746,5 +756,5 @@
"watchface": true "watchface": true
} }
}, },
"version": "1.0.0" "version": "1.1.0"
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 465 B

After

Width:  |  Height:  |  Size: 490 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 425 B

After

Width:  |  Height:  |  Size: 464 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 448 B

After

Width:  |  Height:  |  Size: 485 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 B

View File

@@ -69,7 +69,8 @@ static GRect s_date_grect_b;
static GRect s_bt_grect_b; static GRect s_bt_grect_b;
// declare animation templates // declare animation templates
static uint8_t s_animation_duration = 255; static const uint8_t s_animation_duration = 255;
static bool s_first_tick_occurred = false;
static Animation *s_head_raise_template; static Animation *s_head_raise_template;
static Animation *s_head_out_template; static Animation *s_head_out_template;
static Animation *s_head_in_template; static Animation *s_head_in_template;
@@ -128,8 +129,6 @@ static void destroy_animation_handler(Animation *animation, bool finished, void
animation_destroy(animation); animation_destroy(animation);
} }
static bool first_minute_update = true;
static void update_minute_1() { static void update_minute_1() {
// get a tm structure // get a tm structure
time_t temp = time(NULL); time_t temp = time(NULL);
@@ -163,7 +162,7 @@ static void update_minute_1() {
//// calculate new positions //// calculate new positions
s_date_grect_b = GRect(s_ones_offset[ones], s_date_pos_y, s_date_bt_width, s_date_height); s_date_grect_b = GRect(s_ones_offset[ones], s_date_pos_y, s_date_bt_width, s_date_height);
s_bt_grect_b = GRect(s_bt_pos_x - s_ones_offset[ones], s_bt_pos_y, s_date_bt_width, s_bt_height); s_bt_grect_b = GRect(s_bt_pos_x - s_ones_offset[ones], s_bt_pos_y, s_date_bt_width, s_bt_height);
if (!first_minute_update) { if (s_first_tick_occurred) { // no need to animate before first tick, as positions are set in init() without animating
//// configure animations //// configure animations
////// date ////// date
PropertyAnimation *date_center_prop = property_animation_create_layer_frame(text_layer_get_layer(s_date_layer), &s_date_grect_a, &s_date_grect_b); PropertyAnimation *date_center_prop = property_animation_create_layer_frame(text_layer_get_layer(s_date_layer), &s_date_grect_a, &s_date_grect_b);
@@ -186,7 +185,6 @@ static void update_minute_1() {
s_date_grect_a = s_date_grect_b; s_date_grect_a = s_date_grect_b;
s_bt_grect_a = s_bt_grect_b; s_bt_grect_a = s_bt_grect_b;
} }
first_minute_update = false;
// DEBUG memory usage layer // DEBUG memory usage layer
// static char s_memory_buffer[32]; // static char s_memory_buffer[32];
@@ -225,11 +223,6 @@ static void update_minute_30_out_handler(Animation *animation, bool finished, vo
bitmap_layer_set_bitmap(s_guy_head_layer, s_head); bitmap_layer_set_bitmap(s_guy_head_layer, s_head);
} }
static void update_minute_30() {
update_minute_1();
schedule_guy_animation(s_butt_raise_template, s_butt_out_template, s_butt_in_template, update_minute_30_out_handler);
}
static void update_minute_60_out_handler(Animation *animation, bool finished, void *context) { static void update_minute_60_out_handler(Animation *animation, bool finished, void *context) {
// destroy and reassign // destroy and reassign
gbitmap_destroy(s_head); gbitmap_destroy(s_head);
@@ -247,18 +240,17 @@ static void update_minute_60_out_handler(Animation *animation, bool finished, vo
bitmap_layer_set_bitmap(s_guy_butt_layer, s_butt); bitmap_layer_set_bitmap(s_guy_butt_layer, s_butt);
} }
static void update_minute_60() {
update_minute_1();
schedule_guy_animation(s_head_raise_template, s_head_out_template, s_head_in_template, update_minute_60_out_handler);
}
static void minute_handler(struct tm *tick_time, TimeUnits units_changed) { static void minute_handler(struct tm *tick_time, TimeUnits units_changed) {
if (tick_time->tm_min % 60 == 0) {
update_minute_60();
} else if (tick_time->tm_min % 30 == 0) {
update_minute_30();
} else {
update_minute_1(); update_minute_1();
if (!s_first_tick_occurred) {
s_first_tick_occurred = true;
return; // do not animate part swaps on first tick
}
if (tick_time->tm_min % 60 == 0) {
schedule_guy_animation(s_head_raise_template, s_head_out_template, s_head_in_template, update_minute_60_out_handler);
} else if (tick_time->tm_min % 30 == 0) {
schedule_guy_animation(s_butt_raise_template, s_butt_out_template, s_butt_in_template, update_minute_30_out_handler);
} }
} }
@@ -353,13 +345,13 @@ static void bluetooth_callback(bool connected) {
// DEBUG buttons // DEBUG buttons
// static void up_single_click_handler(ClickRecognizerRef recognizer, void *context) { // static void up_single_click_handler(ClickRecognizerRef recognizer, void *context) {
// Window *window = (Window *)context; // Window *window = (Window *)context;
// update_minute_60(); // schedule_guy_animation(s_head_raise_template, s_head_out_template, s_head_in_template, update_minute_60_out_handler);
//} //}
// DEBUG buttons // DEBUG buttons
// static void down_single_click_handler(ClickRecognizerRef recognizer, void *context) { // static void down_single_click_handler(ClickRecognizerRef recognizer, void *context) {
// Window *window = (Window *)context; // Window *window = (Window *)context;
// update_minute_30(); // schedule_guy_animation(s_butt_raise_template, s_butt_out_template, s_butt_in_template, update_minute_30_out_handler);
//} //}
// DEBUG buttons // DEBUG buttons
@@ -371,7 +363,13 @@ static void bluetooth_callback(bool connected) {
// set up the app on launch (don't put app logic in here); // set up the app on launch (don't put app logic in here);
static void init() { static void init() {
// seed RNG // seed RNG
srand(time(NULL)); uint16_t seed_ms;
time_t seed_time;
time_ms(&seed_time, &seed_ms);
srand((unsigned int)seed_time ^ seed_ms);
rand();
rand();
rand(); // throw away first few values
// create main Window element and assign to pointer // create main Window element and assign to pointer
s_main_window = window_create(); s_main_window = window_create();

View File

@@ -8,7 +8,7 @@ echo "CompileFlags:
-nostdinc, -nostdinc,
-DPBL_COLOR, -DPBL_COLOR,
-I${HOME}/.pebble-sdk/SDKs/current/sdk-core/pebble/emery/include, -I${HOME}/.pebble-sdk/SDKs/current/sdk-core/pebble/emery/include,
-include/home/cuan/gitrepos/Maan-On-My-Wrist-XL/build/include/message_keys.auto.h, -include$(pwd)/build/include/message_keys.auto.h,
-I$(pwd)/build/emery, -I$(pwd)/build/emery,
-include${HOME}/.pebble-sdk/SDKs/current/toolchain/arm-none-eabi/arm-none-eabi/include/stdint.h, -include${HOME}/.pebble-sdk/SDKs/current/toolchain/arm-none-eabi/arm-none-eabi/include/stdint.h,
-include${HOME}/.pebble-sdk/SDKs/current/toolchain/arm-none-eabi/arm-none-eabi/include/stdlib.h, -include${HOME}/.pebble-sdk/SDKs/current/toolchain/arm-none-eabi/arm-none-eabi/include/stdlib.h,