- for (i = 0; i < board->num_slots; i++) {
- if (board->slots[i].has_card) {
- for (j = 0; j < NUM_ATTRIBUTES; j++)
- *s++ = '0' + board->slots[i].card.attributes[j];
+ for (slot = 0; slot < board->num_slots; slot++) {
+ if (slot % 4 == 0)
+ lm_message_node_add_child (body, "br", "");
+ if (board->slots[slot].has_card) {
+ char card_str[5];
+ char *style;
+ card_t card = board->slots[slot].card;
+ for (pos = 0; pos < 3; pos++) {
+ if (pos <= card.attributes[ATTRIBUTE_INDEX_NUMBER]) {
+ switch (card.attributes[ATTRIBUTE_INDEX_SYMBOL]) {
+ case SYMBOL_OVAL:
+ card_str[pos] = 'O';
+ break;
+ case SYMBOL_SQUIGGLE:
+ card_str[pos] = 'S';
+ break;
+ case SYMBOL_DIAMOND:
+ default:
+ card_str[pos] = 'X';
+ break;
+ }
+ } else {
+ card_str[pos] = ' ';
+ }
+ }
+ card_str[3] = ' ';
+ card_str[4] = '\0';
+ span = lm_message_node_add_child (body, "span",
+ card_str);
+ style = g_strdup_printf ("font-family: Monospace; color: %s;%s%s",
+ attribute_values[ATTRIBUTE_INDEX_COLOR][
+ card.attributes[ATTRIBUTE_INDEX_COLOR]],
+ card.attributes[ATTRIBUTE_INDEX_SHADING]
+ == SHADING_SOLID ? "font-weight: bold;" : "",
+ card.attributes[ATTRIBUTE_INDEX_SHADING]
+ == SHADING_STRIPED ? "text-decoration: underline;" : "");
+ lm_message_node_set_attribute (span, "style", style);
+ free (style);
+ for (attr = 0; attr < NUM_ATTRIBUTES; attr++)
+ *s++ = '0' + board->slots[slot].card.attributes[attr];