Nimbin[12]?Games / Entropie / entropie/src/world/why.h

Entropie git · main

Entropie festival game; first steps

sdl c game entropie cmake · first commit 2026-10-10 · last commit 2026-11-02 (18 hours ago) · synced 10 hours ago

C 88.5% Markdown 9.1% GLSL 2.3%
git clone https://git.christianimmanuel.de/games/Entropie.gitwget https://git.christianimmanuel.de/games/Entropie/archive/Entropie.tar.gz
entropie/src/world/why.h 1.5 KB · 34 lines raw
#ifndef WORLD_WHY_H
#define WORLD_WHY_H

/*
 * The why questions (see the story): things festivals do today - free
 * Urinellas, an awareness team, "no shirt, no service" - that you find out
 * the reason for on the way. Each one comes up when you see something (or is
 * asked about at the Herberge), is understood by asking someone who knows
 * (talk.c), then decided at the Herberge (game_meeting.c): yes or not this
 * year. How far each is: World.why (WHY_UNKNOWN .. WHY_NO, world.h).
 */

#include "world/world.h"

typedef struct {
    const char *title;          /* in the notebook: "Free Urinellas" */
    const char *ask;            /* you ask it: "Why do festivals hand out Urinellas?" */
    const char *seen;           /* what made you wonder (shown when it comes up) */
    const char *knowers[4];     /* who can tell you (cast names) */
    const char *answer;         /* what they say (a speech bubble) */
    const char *because;        /* the whole reason (in the notebook, once understood) */
    const char *option;         /* the decision at the Herberge: doing it */
    const char *raiser;         /* at the Herberge, if it hasn't come up yet: who asks ... */
    const char *raise;          /* ... and what */
    int         cost;           /* EUR from the cash box if you do it */
} WhyInfo;

const WhyInfo *Why_get(int k);
/* Can this person tell you why? */
bool Why_knows(const Object *who, int k);
/* The first question that has come up and isn't understood yet, or -1. */
int  Why_open(const World *world);

#endif /* WORLD_WHY_H */