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 ‘ L’ Atout’ 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
} ,
} ;