brackeys-gamejam2025/histoire.h

372 lines
11 KiB
C
Raw Normal View History

2025-02-21 08:10:50 +01:00
typedef struct Personne {
int active;
Texture pp;
const char* name;
const char* message;
} Personne;
typedef enum PersonneId {
VIOLA,
ARCHIE,
MINUIT,
PHILLIP,
ED,
} PersonneId;
#define MAX_PERSONNE 5
int personne_idx = 0;
Personne personnes[MAX_PERSONNE] = {
[0] = { .name = "Viola" },
[1] = { .name = "Archie" },
[2] = { .name = "Minuit" },
[3] = { .name = "Phillip" },
[4] = { .name = "Ed" },
};
void init_personnes(void)
{
personnes[0].pp = LoadTexture("data/viola.png");
personnes[1].pp = LoadTexture("data/archie.png");
personnes[2].pp = LoadTexture("data/minuit.png");
personnes[3].pp = LoadTexture("data/phillip.png");
personnes[4].pp = LoadTexture("data/ed.png");
}
#define NB_REPONSE_MAX 4
typedef struct Conversation {
float read_time, write_time;
const char* question;
int nb_reponse;
const char* reponses[NB_REPONSE_MAX];
} Conversation;
#define NB_CONVERSATION_MAX 10
typedef struct Branche {
PersonneId personne;
int nb_conversation;
Conversation conversations[NB_CONVERSATION_MAX];
int next[NB_REPONSE_MAX];
} Branche;
#define NB_BRANCHE 10
typedef struct Histoire {
int nb_branche;
Branche branches[NB_BRANCHE];
} Histoire;
Histoire histoire = {
.nb_branche = 3,
.branches = {
[0] = {
.personne = VIOLA,
2025-02-21 20:50:05 +01:00
.nb_conversation = 9,
2025-02-21 08:10:50 +01:00
.conversations = {
2025-02-21 20:50:05 +01:00
// transition : 2870, vous arrivez à New Mountain, dans le bar LAtout et vous rencontrez Viola Fowler, en train de boire un verre.
2025-02-21 08:10:50 +01:00
[0] = {
2025-02-21 20:50:05 +01:00
1.0f, 2.0f, "On se connait ?", 2, {
"On s'est rencontrés à l'Atout tout à l'heure",
"On a partagé un verre",
},
2025-02-21 08:10:50 +01:00
},
[1] = {
2025-02-21 20:50:05 +01:00
2.0f, 1.0f, "Ah oui, je m'en souviens", 0, {}
2.0f, 1.0f, "Le type au whisky c'est ça ?", 2, {
"C'est bien ça !",
"Tout à fait",
},
},
[2] = {
2.0f, 1.0f, "Parfait", 1, {
"On a commencé à parler après que ton ami soit tombé de sa chaise"
},
},
[3] = {
2.0f, 1.0f, "C'est Ed, il tient assez mal l'alcool", 0, {}
},
[4] = {
2.0f, 1.0f, "C'était assez drôle à voir", 0, {}
},
[5] = {
2.0f, 1.0f, "Enfin c'est une personne géniale", 2, {
"J'en suis certain",
"Tout comme toi",
},
},
[6] = {
2.0f, 1.0f, "Tu vois ! Même toi tu l'as remarqué !", 0, {}
},
[7] = {
2.0f, 1.0f, "Bon, je suis désolée de couper court mais je dois aller rejoindre des amis. Tu peux m'envoyer un message vers 22h00, je serai de retour", 2, {
"Pas de soucis",
"D'accord, à toute à l'heure",
},
},
[8] = {
2.0f, 1.0f, "A ce soir", 2, {
// mettre l'heure à 22h
"(Ne rien dire)",
"Je suis là !"
},
2025-02-21 08:10:50 +01:00
},
},
.next = {1, 2}
},
[1] = {
.personne = VIOLA,
2025-02-21 20:50:05 +01:00
.nb_conversation = 4,
2025-02-21 08:10:50 +01:00
.conversations = {
2025-02-21 20:50:05 +01:00
// mettre l'heure à 22h17
[0] = {
2.0f, 1.0f, "Tu es là ?", 2, {
"J'avais du travail",
"J'étais occupé"
},
},
[1] = {
2.0f, 1.0f, "Tu es quelqu'un de sérieux donc ?", 0, {}
},
[2] = {
2.0f, 1.0f, "Tu travailles dans quoi ?", 3, {
"Je suis dans la tech",
"Je suis commercial",
"Je suis encore étudiant",
},
},
[3] = {
2.0f, 1.0f, "Oh c'est super ça !", 0, {}
},
2025-02-21 08:10:50 +01:00
},
2025-02-21 20:50:05 +01:00
.next = {3}
2025-02-21 08:10:50 +01:00
},
[2] = {
2025-02-21 20:50:05 +01:00
.personne = VIOLA,
2025-02-21 08:10:50 +01:00
.nb_conversation = 4,
.conversations = {
{
2025-02-21 20:50:05 +01:00
2.0f, 1.0f, "Tu es très ponctuel !", 1, {
"Il faut bien",
},
},
{
2.0f, 1.0f, "Des fois il faut quand même prendre son temps", 0, {}
},
{
2.0f, 1.0f, "Tu as passé une bonne soirée ?", 2, {
"Merdique",
"Mouais et toi ?",
},
},
{
2.0f, 1.0f, "Espérons qu'on se remonte le moral en discutant alors", 0, {}
},
},
.next = {3}
},
[3] = {
.personne = VIOLA,
.nb_conversation = 5,
.conversations = {
{
2.0f, 1.0f, "Ma soirée été assez mouvementée, on est allés embêter la police", 0, {}
},
{
2.0f, 1.0f, "Je fais partie des Purple Sky", 2, {
"Les terroristes ?",
"Le groupe de révolutionnaires ?",
},
},
{
2.0f, 1.0f, "Tu as passé une bonne soirée ?", 2, {
"Merdique",
"Mouais et toi ?",
},
},
{
2.0f, 1.0f, "Je préfère dire \"groupe activiste\" mais oui, c'est nous", 0, {}
},
{
2.0f, 1.0f, "On se bat pour la liberté", 0, {}
},
},
.next = {4}
},
[4] = {
.personne = VIOLA,
.nb_conversation = 3,
.conversations = {
//transition : Une semaine plus tard, vous avez continué de parler avec Viola.
//mettre l'heure à 16h
{
2.0f, 1.0f, "Minuit veut te rencontrer, si tu es d'accord", 2, {
"Minuit ? Qui est-ce ?",
"C'est un ami à toi ?",
},
},
{
2.0f, 1.0f, "C'est le chef des Purple Sky", 1, {
"Pourquoi veut-il me voir ?",
},
},
{
2.0f, 1.0f, "Il s'interesse à toi depuis la soirée à l'Atout", 2, {
"D'accord, il veut me voir quand ?",
"Non je refuse de le rencontrer",
},
},
},
.next = {5,6}
},
[5] = {
.personne = VIOLA,
.nb_conversation = 1,
.conversations = {
{
2.0f, 1.0f, "Rendez-vous derrière l'Atout, à 23h, ce soir", 2, {
"J'y serai",
"OK, à ce soir",
},
2025-02-21 08:10:50 +01:00
},
2025-02-21 20:50:05 +01:00
},
.next = {7}
},
[6] = {
.personne = VIOLA,
.nb_conversation = 3,
.conversations = {
2025-02-21 08:10:50 +01:00
{
2025-02-21 20:50:05 +01:00
2.0f, 1.0f, "D'accord, c'est ton choix", 0, {},
2025-02-21 08:10:50 +01:00
},
{
2025-02-21 20:50:05 +01:00
2.0f, 1.0f, "Je vais devoir supprimer cette discussion dans ce cas", 0, {},
2025-02-21 08:10:50 +01:00
},
{
2025-02-21 20:50:05 +01:00
2.0f, 1.0f, "Adieu", 0, {}
2025-02-21 08:10:50 +01:00
},
},
.next = {0}
},
2025-02-21 20:50:05 +01:00
[7] = {
.personne = MINUIT,
.nb_conversation = 4,
.conversations = {
{
// transition : Vous êtes derrière le bar l'Atout
// mettre l'heure à 23h
2.0f, 1.0f, "C'est toi le nouveau ?", 2, {
"Je suis l'ami de Viola",
"Oui, c'est moi",
},
},
{
2.0f, 1.0f, "Moi c'est Minuit, je suis le chef des Purple Sky", 0, {},
},
{
2.0f, 1.0f, "Et aussi l'ex de Viola", 2, {
"D'accord",
"En parlant de Viola, elle est en retard"
},
},
{
2.0f, 1.0f, "J'entends les sirènes de police, il se passe quoi ?", 0, {},
},
{
2.0f, 1.0f, "Merde ! C'est trop proche, suis moi", 2, {
"On fonce, c'est peut être Viola",
"Euh ... tu es sûr qu'il faut y aller ?"
},
},
}
.next = {8, 9}
},
[8] = {
.personne = MINUIT,
.nb_conversation = 2,
.conversations = {
{
2.0f, 1.0f, "C'est elle, je la reconnais", 2, {
"Non, pas ça",
"Il faut la sortir de là",
},
},
{
2.0f, 1.0f, "Bouge pas de là, je vais essayer d'aller voir", 2, {
"Non, c'est trop dangereux. Les Purple Sky ne peuvent pas perdre leur chef",
"D'accord, fais attention",
},
},
}
.next = {10, 11}
},
[9] = {
.personne = MINUIT,
.nb_conversation = 2,
.conversations = {
{
2.0f, 1.0f, "Et tu veux faire quoi d'autre ? Si c'est Viola je ne te le pardonnerai pas, je pars seul", 0, {},
},
{
2.0f, 1.0f, "Fais le peureux si tu veux mais moi j'y vais", 0, {},
},
}
.next = {11}
},
[10] = {
.personne = MINUIT,
.nb_conversation = 2,
.conversations = {
{
2.0f, 1.0f, "Tu as peut être raison, mais je ne peux pas perdre Viola", 0, {},
},
{
2.0f, 1.0f, "Fais le peureux si tu veux mais moi j'y vais", 0, {},
},
}
.next = {11}
},
[11] = {
.personne = ARCHIE,
.nb_conversation = 3,
.conversations = {
{
2.0f, 1.0f, "Ne lui en veux pas trop, il tient beaucoup à elle", 0, {},
},
{
2.0f, 1.0f, "Au fait, moi c'est Archie", 0, {},
},
{
2.0f, 1.0f, "Je suis l'ami de Minuit, et donc membre des Purple Sky", 2, {
"Euh... Enchanté je suppose",
"Tu sors d'où comme ca ? Tu m'as fait peur",
},
},
}
.next = {12, 13}
2025-02-21 08:10:50 +01:00
},
};