Skip to content
Snippets Groups Projects
Commit 5b72966d authored by Romain Jegat's avatar Romain Jegat
Browse files

Achèvement du remplissage d'un package de jeu

parent ec0940dd
No related branches found
No related tags found
No related merge requests found
Pipeline #
#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,6 +7,7 @@
#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;
......@@ -89,18 +90,21 @@ Game_Package Pack_A;
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");
Pack_A.Classes_Package = Classes_Pack;
Pack_A.Terrains_Package = Terrains_Pack;
Pack_A.GUI_Package = GUI_Pack;
/* -------------------------------------*/
/* 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);
......
......@@ -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