diff options
author | P. J. McDermott <pjm@nac.net> | 2013-11-18 03:13:38 (EST) |
---|---|---|
committer | P. J. McDermott <pjm@nac.net> | 2013-11-18 03:13:38 (EST) |
commit | 4c07bd8b98a3ac0dd9422a36f63c109b28d28ab5 (patch) | |
tree | b8f465df57f009f0383e32e414b9dd3d703f22bb /src/resources/tmx.c | |
parent | 7ec94ed7c6803ae75d73e2a9ec7e54eaa2a97379 (diff) | |
download | overworld-rpg-4c07bd8b98a3ac0dd9422a36f63c109b28d28ab5.zip overworld-rpg-4c07bd8b98a3ac0dd9422a36f63c109b28d28ab5.tar.gz overworld-rpg-4c07bd8b98a3ac0dd9422a36f63c109b28d28ab5.tar.bz2 |
Split up src/resources/map.c.
src/resources/map.c defines map parsing functions.
src/resources/tileset.c defines tileset (internal or external) parsing
functions.
src/resources/tmx.c defines common parsing functions.
Also, tileset_get() is now non-static.
Diffstat (limited to 'src/resources/tmx.c')
-rw-r--r-- | src/resources/tmx.c | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/src/resources/tmx.c b/src/resources/tmx.c new file mode 100644 index 0000000..64375e3 --- /dev/null +++ b/src/resources/tmx.c @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2013 Patrick "P. J." McDermott + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/>. + */ + +#include <expat.h> +#include <config.h> +#include "tmx.h" +#include "../xml.h" +#include "../logging.h" + +void XMLCALL +tmx_unused_start(void *pv, const char *name, const char **attr) +{ + XML_Parser p = (XML_Parser) pv; + +#ifdef DEBUG_TMX + debug("<%s> (unused)", name); +#endif + + /* Shut up, GCC. */ + for (; *name != '\0'; ++name); + for (; *attr != NULL; ++attr); + + xml_node_push(p, NULL, tmx_unused_start, tmx_unused_end, NULL); +} + +void XMLCALL +tmx_unused_end(void *pv, const char *name) +{ + XML_Parser p = (XML_Parser) pv; + +#ifdef DEBUG_TMX + debug("</%s> (unused)", name); +#endif + + /* Shut up, GCC. */ + for (; *name != '\0'; ++name); + + xml_node_pop(p); +} + +void XMLCALL +tmx_invalid_start(void *pv, const char *name, const char **attr) +{ + XML_Parser p = (XML_Parser) pv; + +#ifdef DEBUG_TMX + debug("<%s> (invalid)", name); +#endif + + /* Shut up, GCC. */ + for (; *attr != NULL; ++attr); + + xml_unexpected_start_tag(p, name, ""); +} + +void XMLCALL +tmx_invalid_end(void *pv, const char *name) +{ + XML_Parser p = (XML_Parser) pv; + +#ifdef DEBUG_TMX + debug("<%s> (invalid)", name); +#endif + + xml_unexpected_end_tag(p, name, ""); +} |