Skip to content
Snippets Groups Projects
Commit 4404807f authored by Lénaïg Le Moigne's avatar Lénaïg Le Moigne
Browse files
parents 0dbff622 b41773ac
No related branches found
No related tags found
No related merge requests found
Pipeline #
......@@ -49,6 +49,10 @@
<Option compilerVar="CC" />
</Unit>
<Unit filename="../src/ClassesXML.h" />
<Unit filename="../src/Interface.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../src/Interface.h" />
<Unit filename="../src/SDL.c">
<Option compilerVar="CC" />
</Unit>
......@@ -57,6 +61,11 @@
<Option compilerVar="CC" />
</Unit>
<Unit filename="../src/TerrainsXML.h" />
<Unit filename="../src/TexturesXML.c">
<Option compilerVar="CC" />
<Option target="&lt;{~None~}&gt;" />
</Unit>
<Unit filename="../src/TexturesXML.h" />
<Unit filename="../src/affichage.h" />
<Unit filename="../src/affichageConsole2.c">
<Option compilerVar="CC" />
......
<?xml version="1.0" encoding="UTF-8"?>
<Interface>
<Textures>
<Skin id="SI_RESUME" f_default="../resources/Skins/continuer.bmp">
</Skin>
<Skin id="ST_QUIT" f_default="../resources/Skins/quitter.bmp">
</Skin>
</Textures>
</Interface>
<?xml version="1.0" encoding="UTF-8"?>
<Skins>
<Personnages>
<Skin id="SP_MAGE" f_default="../resources/Skins/mage.bmp" f_selected="../resources/Skins/mage_selected.bmp" f_healed="../resources/Skins/mage_healed.bmp" f_damaged="../resources/Skins/mage_damaged.bmp">
</Skin>
<Skin id="SP_WAR" f_default="../resources/Skins/guerrier.bmp" f_selected="../resources/Skins/guerrier_selected.bmp" f_healed="../resources/Skins/guerrier_healed.bmp" f_damaged="../resources/Skins/guerrier_damaged.bmp">
</Skin>
<Skin id="SP_HEAL" f_default="../resources/Skins/guerisseur.bmp" f_selected="../resources/Skins/guerisseur_selected.bmp" f_healed="../resources/Skins/guerisseur_healed.bmp" f_damaged="../resources/Skins/guerisseur_damaged.bmp">
</Skin>
<Skin id="SP_ROGUE" f_default="../resources/Skins/voleur.bmp" f_selected="../resources/Skins/voleur_selected.bmp" f_healed="../resources/Skins/voleur_healed.bmp" f_damaged="../resources/Skins/voleur_damaged.bmp">
</Skin>
<Skin id="SP_ARCHER" f_default="../resources/Skins/voleurarcher.bmp" f_selected="../resources/Skins/archer_selected.bmp" f_healed="../resources/Skins/archer_healed.bmp" f_damaged="../resources/Skins/archer_damaged.bmp">
</Skin>
</Personnages>
<Terrains>
<Skin id="ST_FOREST" f_default="../resources/Skins/foret.bmp">
</Skin>
<Skin id="ST_PLAIN" f_default="../resources/Skins/plaine.bmp">
</Skin>
<Skin id="ST_MOUNTAIN" f_default="../resources/Skins/montagne.bmp">
</Skin>
<Skin id="ST_WATER" f_default="../resources/Skins/eau.bmp">
</Skin>
<Skin id="ST_ACTIVE" f_default="../resources/Skins/case_brillante.bmp">
</Skin>
</Terrains>
<Interface>
<Skin id="SI_RESUME" f_default="../resources/Skins/continuer.bmp">
</Skin>
<Skin id="ST_QUIT" f_default="../resources/Skins/quitter.bmp">
</Skin>
</Interface>
</Skins>
#include <stdio.h>
#include <stdlib.h>
#include <roxml.h>
#include "Interface.h"
#include "structures.h"
/*!
* \file Interface.c
* \brief Fichier contenant le code des fonctions d'aquisition des classes.
*/
Skins_GUI* Get_Skins_GUI(char *filename)
{
node_t *rootXML, *Interface, *Textures, *Skin;
int nb_Skins=0, i=0;
rootXML = roxml_load_doc(filename);
Interface = roxml_get_chld(rootXML, NULL, 0);
Textures = roxml_get_chld(Interface, NULL, 0);
nb_Skins = roxml_get_chld_nb(Textures);
Skins_GUI* Textures_Interface = NULL;
Textures_Interface = malloc(nb_Skins * sizeof(Skins_GUI));
for(i=0; i<nb_Skins; i++)
{
char *id_text, *f_default;
Skin = roxml_get_chld(Textures, NULL, i);
id_text = roxml_get_content(roxml_get_attr(Skin, "id", 0), NULL, 0, NULL);
f_default = roxml_get_content(roxml_get_attr(Skin, "f_default", 0), NULL, 0, NULL);
strcpy(Textures_Interface[i].id, id_text);
strcpy(Textures_Interface[i].GUI_default, f_default);
/* Tests *//*
printf("ID vaut : %s\n",Textures_Interface[i].id);
printf("Default vaut : %s\n",Textures_Interface[i].GUI_default);*/
/* ---- */
}
return Textures_Interface;
}
/*!
* \file Interface.h
* \brief Fichier contenant les signatures des fonctions liees l'interface.
*/
#ifndef TEXTURESXML_H_INCLUDED
#define TEXTURESXML_H_INCLUDED
#include <roxml.h>
#include "structures.h"
Skins_GUI* Get_Skins_GUI(char *filename);
#endif // TEXTURESXML_H_INCLUDED
......@@ -7,10 +7,20 @@
#include "SDL.h"
#include "roxml.h"
#include "carte.h"
#include "Interface.h"
int init_jeu(char *filename){ /* cre les diffrents types de terrains, de classes et d'attaques en lisant dans un fichier */
FILE *fichier_init;
fichier_init=fopen(filename,"r");
/*!
* \fn int init_jeu(char *filename)
* \brief Fonction d'initialisation du jeu
*
* \param Le fichier d'initialisation
* \return un entier
*/
int init_jeu(char *filename)
{
FILE *fichier_init;
fichier_init=fopen(filename,"r");
if (fichier_init!=NULL)
{
node_t *rootXML, *ConfigXML, *Classes, *Terrains;
......@@ -62,7 +72,9 @@ int init_jeu(char *filename){ /* cr
fclose(fichier_init);
}else{
}
else
{
fprintf(stderr,"Erreur dans l'ouverture du fichier");
return 1;
}
......@@ -70,40 +82,49 @@ int init_jeu(char *filename){ /* cr
}
int main()
/*!
* \fn Game_Package Construire_Package()
* \brief Fonction de construction d'un package contenant l'univers du jeu
*
* \return un Game_Package
*/
Game_Package Construire_Package()
{
Game_Package Pack;
//init_jeu("../resources/Init_jeu.xml");
Classe* Classes_Pack = Librairie_Classes("../resources/Classes.xml");
Terrain* Terrains_Pack = Librairie_Terrains("../resources/Terrains.xml");
Skins_GUI* GUI_Pack = Get_Skins_GUI("../resources/GUI.xml");
char *Map_A = ExtraireCarte(4);
printf("Map en version texte : %s\n", Map_A);
Pack.Classes_Package = Classes_Pack;
Pack.Terrains_Package = Terrains_Pack;
Pack.GUI_Package = GUI_Pack;
return Pack;
}
/* -------------------------------------*/
/* Creation d'un package de jeu */
/* -------------------------------------*/
Game_Package Pack_A;
Classe* Classes_Pack = Librairie_Classes("../resources/Classes.xml");
Terrain* Terrains_Pack = Librairie_Terrains("../resources/Terrains.xml");
int main()
{
Pack_A.Classes_Package = Classes_Pack;
Pack_A.Terrains_Package = Terrains_Pack;
//init_jeu("../resources/Init_jeu.xml");
char *Map_A = ExtraireCarte(4);
printf("Map en version texte : %s\n", Map_A);
Game_Package Pack_A = Construire_Package();
/* -------------------------------------*/
/* -------------------------------------*/
/* -------------------------------------*/
/* Comment utiliser le package : */
/* -------------------------------------*/
printf("On a : %s\n",Pack_A.Terrains_Package[0].skin_default);
printf("L'attaque 1 du mage est : %s\n",Pack_A.Classes_Package[0].attaques[0].nom);
printf("Le nom du terrain 1 est : %s\n",Pack_A.Terrains_Package[0].nomTerrain);
printf("L'adresse de la texture GUI 1 est : %s\n",Pack_A.GUI_Package[0].GUI_default);
main_SDL(Map_A);
main_SDL(Map_A);
return 0;
return 0;
}
......@@ -51,10 +51,8 @@ typedef enum {faux, vrai} boolean;
} Skins_Charac;
typedef struct Skins_GUI{
char charac_default[50];
char charac_selected[50];
char charac_healed[50];
char charac_damaged[50];
char id[50];
char GUI_default[50];
} Skins_GUI;
......@@ -175,6 +173,7 @@ typedef struct Effet_Competence{
typedef struct Game_Package{
Classe* Classes_Package;
Terrain* Terrains_Package;
Skins_GUI* GUI_Package;
}Game_Package;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment