1 /* guile-irrlicht --- GNU Guile bindings for Irrlicht Engine
3 Copyright (C) 2020 Javier Sancho <jsf@jsancho.org>
5 This file is part of guile-irrlicht.
7 guile-irrlicht is free software; you can redistribute it and/or modify
8 it under the terms of the GNU Lesser General Public License as
9 published by the Free Software Foundation; either version 3 of the
10 License, or (at your option) any later version.
12 guile-irrlicht is distributed in the hope that it will be useful, but
13 WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 General Public License for more details.
17 You should have received a copy of the GNU Lesser General Public
18 License along with guile-irrlicht. If not, see
19 <http://www.gnu.org/licenses/>.
22 #include <irrlicht/irrlicht.h>
24 #include "file-archive.h"
30 io::E_FILE_ARCHIVE_TYPE
31 scm_to_file_archive_type (SCM file_archive_type)
33 char* type = scm_to_utf8_stringn (scm_symbol_to_string (file_archive_type), NULL);
34 if (!strcmp (type, "zip"))
38 else if (!strcmp (type, "gzip"))
42 else if (!strcmp (type, "folder"))
44 return io::EFAT_FOLDER;
46 else if (!strcmp (type, "pak"))
50 else if (!strcmp (type, "npk"))
54 else if (!strcmp (type, "tar"))
58 else if (!strcmp (type, "wad"))
62 else if (!strcmp (type, "unknown"))
64 return io::EFAT_UNKNOWN;
68 scm_error (scm_arg_type_key, NULL, "Wrong file archive type: ~S",
69 scm_list_1 (file_archive_type), scm_list_1 (file_archive_type));