Introduces watch/, a real Pebble watchapp (built via pebble build) that
build / build (push) Successful in 30s
build / build (push) Successful in 30s
shows the daily tarot/astrology reading on-device: persistence, reading computation, and UI screens, driven by the existing engine/interpreter code linked in unchanged where possible. Required engine-side changes to make that linking work: - A compact low-precision ephemeris (lowprec_ephemeris.c) replacing the vendored ~127KB Astronomy Engine, which doesn't fit the watch's ~64KB app budget. - Hand-rolled sqrt/atan2/sin/cos replacements for that ephemeris and astro.c's Ascendant calculation - Pebble's statically-linked libm hard-faults on real hardware under this app's -fPIE link for all four. - narrative.c/guidance.c refactored from FILE*/fprintf onto snprintf- based buffers, since Pebble's SDK blocks fprintf at compile time.
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
#include "resource_map.h"
|
||||
|
||||
#include <pebble.h>
|
||||
|
||||
uint32_t card_resource_id(TarotCard card) {
|
||||
switch (card) {
|
||||
case CARD_FOOL: return RESOURCE_ID_IMG_CARD_FOOL;
|
||||
case CARD_MAGICIAN: return RESOURCE_ID_IMG_CARD_MAGICIAN;
|
||||
case CARD_HIGH_PRIESTESS: return RESOURCE_ID_IMG_CARD_HIGH_PRIESTESS;
|
||||
case CARD_EMPRESS: return RESOURCE_ID_IMG_CARD_EMPRESS;
|
||||
case CARD_EMPEROR: return RESOURCE_ID_IMG_CARD_EMPEROR;
|
||||
case CARD_HIEROPHANT: return RESOURCE_ID_IMG_CARD_HIEROPHANT;
|
||||
case CARD_LOVERS: return RESOURCE_ID_IMG_CARD_LOVERS;
|
||||
case CARD_CHARIOT: return RESOURCE_ID_IMG_CARD_CHARIOT;
|
||||
case CARD_STRENGTH: return RESOURCE_ID_IMG_CARD_STRENGTH;
|
||||
case CARD_HERMIT: return RESOURCE_ID_IMG_CARD_HERMIT;
|
||||
case CARD_WHEEL_OF_FORTUNE: return RESOURCE_ID_IMG_CARD_WHEEL_OF_FORTUNE;
|
||||
case CARD_JUSTICE: return RESOURCE_ID_IMG_CARD_JUSTICE;
|
||||
case CARD_HANGED_MAN: return RESOURCE_ID_IMG_CARD_HANGED_MAN;
|
||||
case CARD_DEATH: return RESOURCE_ID_IMG_CARD_DEATH;
|
||||
case CARD_TEMPERANCE: return RESOURCE_ID_IMG_CARD_TEMPERANCE;
|
||||
case CARD_DEVIL: return RESOURCE_ID_IMG_CARD_DEVIL;
|
||||
case CARD_TOWER: return RESOURCE_ID_IMG_CARD_TOWER;
|
||||
case CARD_STAR: return RESOURCE_ID_IMG_CARD_STAR;
|
||||
case CARD_MOON: return RESOURCE_ID_IMG_CARD_MOON;
|
||||
case CARD_SUN: return RESOURCE_ID_IMG_CARD_SUN;
|
||||
case CARD_JUDGEMENT: return RESOURCE_ID_IMG_CARD_JUDGEMENT;
|
||||
case CARD_WORLD: return RESOURCE_ID_IMG_CARD_WORLD;
|
||||
}
|
||||
return RESOURCE_ID_IMG_CARD_FOOL; /* unreachable for a valid TarotCard */
|
||||
}
|
||||
Reference in New Issue
Block a user