[Add] Missions save code. Global save functions.
This commit is contained in:
parent
e5620f86eb
commit
bb48d5ac23
@ -401,3 +401,34 @@ void missions_cleanup(void) {
|
||||
mission_cleanup(&player_missions[i]);
|
||||
}
|
||||
|
||||
int missions_save(xmlTextWriterPtr writer) {
|
||||
int i, j;
|
||||
|
||||
xmlw_startElem(writer, "missions");
|
||||
|
||||
for(i = 0; i < MISSION_MAX; i++) {
|
||||
if(player_missions[i].id != 0) {
|
||||
xmlw_startElem(writer, "mission");
|
||||
|
||||
xmlw_elem(writer, "data", player_missions[i].data->name);
|
||||
xmlw_elem(writer, "id", "%u", player_missions[i].id);
|
||||
|
||||
xmlw_elem(writer, "title", player_missions[i].title);
|
||||
xmlw_elem(writer, "desc", player_missions[i].desc);
|
||||
xmlw_elem(writer, "reward", player_missions[i].reward);
|
||||
|
||||
xmlw_startElem(writer, "cargos");
|
||||
for(j = 0; j < player_missions[i].ncargo; j++)
|
||||
xmlw_elem(writer, "cargo", "%u", player_missions[i].cargo[j]);
|
||||
xmlw_endElem(writer); // Cargo.
|
||||
|
||||
// TODO: Save lua data.
|
||||
|
||||
xmlw_endElem(writer); // Mission.
|
||||
}
|
||||
}
|
||||
xmlw_endElem(writer); // Missions.
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
37
src/save.c
Normal file
37
src/save.c
Normal file
@ -0,0 +1,37 @@
|
||||
#include "lephisto.h"
|
||||
#include "log.h"
|
||||
#include "xml.h"
|
||||
#include "save.h"
|
||||
|
||||
// Externs.
|
||||
extern int player_save(xmlTextWriterPtr writer);
|
||||
extern int missions_save(xmlTextWriterPtr writer);
|
||||
|
||||
int save_all(void) {
|
||||
char* file;
|
||||
xmlDocPtr doc;
|
||||
xmlTextWriterPtr writer;
|
||||
|
||||
writer = xmlNewTextWriterDoc(&doc, 0);
|
||||
if(writer == NULL) {
|
||||
ERR("testXmlwriterDoc: Error creating the xml writer.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
xmlw_start(writer);
|
||||
|
||||
// The data itself.
|
||||
player_save(writer);
|
||||
missions_save(writer);
|
||||
|
||||
xmlw_done(writer);
|
||||
|
||||
file = "test.xml";
|
||||
|
||||
xmlFreeTextWriter(writer);
|
||||
xmlSaveFileEnc(file, doc, "UTF-8");
|
||||
xmlFreeDoc(doc);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
4
src/save.h
Normal file
4
src/save.h
Normal file
@ -0,0 +1,4 @@
|
||||
#pragma once
|
||||
|
||||
int save_all(void);
|
||||
|
Loading…
Reference in New Issue
Block a user