from Alexander Kuznetsov (alexk) with edits. From the report: Blender assumed that all files are .blend as retval = 0; Now retval is initialized as file cannot be open (-1) for gzopen fail and directory case retval = -2; is defined for not supported formats This must be assigned before #ifdef WITH_PYTHON because this part can be missing Finally retval = 0; if it is a .blend file --- also made other edits. - exotic.c's blend header checking was sloppy, didn't check data was actually read, only checked first 4 bytes and had a check for "blend.gz" extension which is unnecessary. - use defines to help readability for BKE_read_exotic & BKE_read_file return values. - no need to check for a NULL pointer before calling BKE_reportf(). (will just print to the console) - print better reports when the file fails to load.
57 lines
1.8 KiB
C
57 lines
1.8 KiB
C
/**
|
|
* $Id$
|
|
*
|
|
* ***** BEGIN GPL LICENSE BLOCK *****
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version 2
|
|
* 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 General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software Foundation,
|
|
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
*
|
|
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
* All rights reserved.
|
|
*
|
|
* The Original Code is: all of this file.
|
|
*
|
|
* Contributor(s): none yet.
|
|
*
|
|
* ***** END GPL LICENSE BLOCK *****
|
|
* dxf/vrml/stl external file io function prototypes
|
|
*/
|
|
|
|
#ifndef BKE_EXOTIC_H
|
|
#define BKE_EXOTIC_H
|
|
|
|
struct Mesh;
|
|
struct Scene;
|
|
|
|
/**
|
|
* Reads all 3D fileformats other than Blender fileformat
|
|
* @retval 0 The file could not be read.
|
|
* @retval 1 The file was read succesfully.
|
|
* @attention Used in filesel.c
|
|
*/
|
|
int BKE_read_exotic(struct Scene *scene, const char *name);
|
|
|
|
/* return codes */
|
|
#define BKE_READ_EXOTIC_FAIL_PATH -3 /* file format is not supported */
|
|
#define BKE_READ_EXOTIC_FAIL_FORMAT -2 /* file format is not supported */
|
|
#define BKE_READ_EXOTIC_FAIL_OPEN -1 /* Can't open the file */
|
|
#define BKE_READ_EXOTIC_OK_BLEND 0 /* .blend file */
|
|
#define BKE_READ_EXOTIC_OK_OTHER 1 /* other supported formats */
|
|
|
|
void write_dxf(struct Scene *scene, char *str);
|
|
void write_stl(struct Scene *scene, char *str);
|
|
|
|
#endif
|
|
|