xresor.c 763 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /* Integration of extended , more complex resources such as tile maps
  2. * into the resor/storage system.
  3. */
  4. #include "eruta.h"
  5. #include "resor.h"
  6. #include "fifi.h"
  7. #include "tileio.h"
  8. #include "xresor.h"
  9. void * xresor_tilemap_loader(const char * vpath, void * extra_) {
  10. Tilemap * map;
  11. TilemapLoadExtra extra;
  12. (void) extra_;
  13. map = fifi_load_vpath(tilemap_fifi_load, NULL, vpath);
  14. return map;
  15. }
  16. int xresor_tilemap_destructor(Resor * resor) {
  17. Tilemap * map;
  18. if (!resor) return -1;
  19. map = resor_other(resor, RESOR_TILEMAP);
  20. tilemap_free(map);
  21. return 0;
  22. }
  23. Resor * xresor_load_tilemap(const char * vpath, void * extra) {
  24. return resor_load_other(vpath, RESOR_TILEMAP, xresor_tilemap_loader, xresor_tilemap_destructor, extra);
  25. }