Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make tarot face more configurable #289

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

WesleyAC
Copy link
Collaborator

This largely adds variables and uses existing variables in places they should already be, but it also changes the default minimum number of cards to one, down from three. Since that's personal preference, feel free to drop that commit if you'd like.

Admittedly, this is a personal preference, so feel free not to merge it.
I just personally fine it useful to be able to draw a single card, and I
suspect other people would as well — for a big draw, I'm likely to use a
physical deck anyways.
It can be hard to remember that the "12 of Wands" is really the Knight
of Wands, for instance. This puts a small reminder in the weekday
digits, P for Page, Kn for Knight, Q for Queen, and K for King.

It defaults to being disabled.
@@ -125,13 +152,25 @@ static void tarot_display(tarot_state_t *state) {
uint8_t suit = (card - NUM_MAJOR_ARCANA) / NUM_CARDS_PER_SUIT;
uint8_t rank = ((card - NUM_MAJOR_ARCANA) % NUM_CARDS_PER_SUIT) + 1;

if (TAROT_FACE_CARD_REMINDER) {
if (rank == 11) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only issue I see with this is if you're using TAROT_LOOP_STYLE_ST_EN plus TAROT_FACE_CARD_REMINDER, you lose the start/end indicator here. I'm actually inclined to forget about the "St" and "En" strings altogether and use the lap indicator (with the default being LOOP_STYLE_LAP_END or honestly just remove the ability to configure it completely).

#define DEFAULT_MAJOR_ARCANA_ONLY true
#define SHOW_REVERSED_CARDS true
#define TAROT_MIN_CARDS_TO_DRAW 1
#define TAROT_FACE_CARD_REMINDER false
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I say remove this configuration and just always show the rank

@@ -32,6 +32,23 @@
#include <string.h>
#include "tarot_face.h"

#define DEFAULT_MAJOR_ARCANA_ONLY true
#define SHOW_REVERSED_CARDS true
#define TAROT_MIN_CARDS_TO_DRAW 1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the default of 3 since it covers a "normal" spread but also can be used for a 1 or 2-card spread without changing this value (since you can just ignore the 2nd/3rd cards depending on your desired spread)

#define TAROT_LOOP_STYLE_NONE 0
#define TAROT_LOOP_STYLE_ST_EN 1
#define TAROT_LOOP_STYLE_LAP_START 2
#define TAROT_LOOP_STYLE_LAP_END 3
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like showing the lap indicator on the last card. if that's your preferred mode too, I'm down to just make it the default and remove the configurability.

start_end_string = " ";
start_end_string = " ";
watch_clear_indicator(WATCH_INDICATOR_LAP);
if (TAROT_LOOP_STYLE != TAROT_LOOP_STYLE_NONE && state->num_cards_to_draw > 1) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if you want to keep the ability to configure this at compile time, change these if's to #ifdef statements to avoid unnecessary code making its way into the compiled object.

@WesleyAC WesleyAC added the tested-on-hw This feature or pull request has been tested on a physical watch label Jan 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tested-on-hw This feature or pull request has been tested on a physical watch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants