Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/python/api2_2x/EXPP_interface.c')
-rw-r--r--source/blender/python/api2_2x/EXPP_interface.c227
1 files changed, 0 insertions, 227 deletions
diff --git a/source/blender/python/api2_2x/EXPP_interface.c b/source/blender/python/api2_2x/EXPP_interface.c
deleted file mode 100644
index 71f52c3e48c..00000000000
--- a/source/blender/python/api2_2x/EXPP_interface.c
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * $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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * This is a new part of Blender.
- *
- * Contributor(s): Michel Selten
- *
- * ***** END GPL LICENSE BLOCK *****
-*/
-
-#include <Python.h>
-
-#include "EXPP_interface.h"
-#include "BLI_blenlib.h"
-#include "MEM_guardedalloc.h"
-#include "BLI_linklist.h" /* linked list: LinkNode struct and functions */
-#include "DNA_object_types.h"
-#include "DNA_space_types.h" /* for FILE_MAXDIR, FILE_MAXFILE */
-#include "Blender.h"
-
-extern char bprogname[]; /* argv[0] from creator.c */
-
-/* this makes sure BLI_gethome() returns a path with '.blender' appended
- * Besides, this function now either returns userhome/.blender (if it exists)
- * or blenderInstallDir/.blender/ otherwise (can also be cvs dir).
- * If append_scriptsdir is non NULL, "scripts/" is appended to the dir, to
- * get the path to the scripts folder ("release/scripts/" if cvs dir).
- * Finally, if all else fails BLI_gethome() is returned
- * (or NULL if append_scriptdir != 0).
-*/
-char *bpy_gethome(int append_scriptsdir)
-{
- static char homedir[FILE_MAXDIR];
- static char scriptsdir[FILE_MAXDIR];
- char tmpdir[FILE_MAXDIR];
- char bprogdir[FILE_MAXDIR];
- char *s;
- int i;
-
- if (append_scriptsdir) {
- if (scriptsdir[0] != '\0')
- return scriptsdir;
- }
- else if (homedir[0] != '\0')
- return homedir;
-
- /* BLI_gethome() can return NULL if env vars are not set */
- s = BLI_gethome();
-
- if( !s ) /* bail if no $HOME */
- {
- printf("$HOME is NOT set\n");
- return NULL;
- }
-
- if( strstr( s, ".blender" ) )
- PyOS_snprintf( homedir, FILE_MAXDIR, s );
- else
- BLI_make_file_string( "/", homedir, s, ".blender" );
-
- /* if userhome/.blender/ exists, return it */
- if( BLI_exists( homedir ) ) {
- if (append_scriptsdir) {
- BLI_make_file_string("/", scriptsdir, homedir, "scripts");
- if (BLI_exists (scriptsdir)) return scriptsdir;
- }
- else return homedir;
- }
- else homedir[0] = '\0';
-
- /* if either:
- * no homedir was found or
- * append_scriptsdir = 1 but there's no scripts/ inside homedir,
- * use argv[0] (bprogname) to get .blender/ in
- * Blender's installation dir */
- s = BLI_last_slash( bprogname );
-
- i = s - bprogname + 1;
-
- PyOS_snprintf( bprogdir, i, "%s", bprogname );
-
- /* using tmpdir to preserve homedir (if) found above:
- * the ideal is to have a home dir with scripts dir inside
- * it, but if that isn't available, it's possible to
- * have a 'broken' home dir somewhere and a scripts dir in the
- * cvs sources */
- BLI_make_file_string( "/", tmpdir, bprogdir, ".blender" );
-
- if (BLI_exists(tmpdir)) {
- if (append_scriptsdir) {
- BLI_make_file_string("/", scriptsdir, tmpdir, "scripts");
- if (BLI_exists(scriptsdir)) {
- PyOS_snprintf(homedir, FILE_MAXDIR, "%s", tmpdir);
- return scriptsdir;
- }
- else {
- homedir[0] = '\0';
- scriptsdir[0] = '\0';
- }
- }
- else return homedir;
- }
-
- /* last try for scripts dir: blender in cvs dir, scripts/ inside release/: */
- if (append_scriptsdir) {
- BLI_make_file_string("/", scriptsdir, bprogdir, "release/scripts");
- if (BLI_exists(scriptsdir)) return scriptsdir;
- else scriptsdir[0] = '\0';
- }
-
- return NULL;
-}
-
-/* PyDrivers */
-
-/*
- * Pydrivers are Blender Ipo Drivers defined by Python expressions.
- * We need to tell DAG about objects used in these expressions, so we
- * eval each expression to collect the ob refs. in it.
- */
-
-/* these are checked for example in Object.c: M_Object_Get (Object.Get())
- * to collect the refs. */
-static int pydriver_running = 0;
-
-int bpy_during_pydriver(void)
-{
- return pydriver_running;
-}
-
-void bpy_pydriver_running(int state)
-{
- pydriver_running = state;
-}
-
-/* Obj references are collected in this extern linked list: */
-LinkNode *bpy_pydriver_oblist = NULL;
-
-void bpy_pydriver_freeList(void)
-{
- BLI_linklist_free(bpy_pydriver_oblist, NULL);
- bpy_pydriver_oblist = NULL;
-}
-
-void bpy_pydriver_appendToList(struct Object *ob)
-{
- LinkNode *ln = bpy_pydriver_oblist;
-
- /* check that the expression is not referencing its owner object */
-
-/* XXX COMMENTED OUT TO TEST IF WE REALLY NEED TO IMPOSE THIS RESTRICTION
- if (ln && ln->link) {
- if (ob == (Object *)ln->link) {
- PyErr_SetString(PyExc_AttributeError,
- "Python driver expression can't reference its own object");
- return;
- }
- else
- ln = ln->next;
- }
-*/
- while (ln) { /* is ob already in list? ... */
- if (ob == (Object *)ln->link)
- break;
- ln = ln->next;
- }
-
- if (!ln) /* ... not yet, append it */
- BLI_linklist_append(&bpy_pydriver_oblist, (void *)ob);
-
- return;
-}
-
-/* Get an array from our linked list of objs referenced in the
- * current pydriver. The first node in the list is discarded,
- * since it is the actual pydriver owner, which shouldn't be
- * passed to the depsgraph (no self references). */
-struct Object **bpy_pydriver_obArrayFromList(void)
-{
- Object **obarray = NULL;
-
- if (bpy_pydriver_oblist) {
- int i;
- short len = BLI_linklist_length(bpy_pydriver_oblist);
-
- if (len > 1) {
-
- obarray = (Object **)MEM_mallocN(sizeof(Object*)*len,
- "pydriver array");
-
- if (obarray) {
- LinkNode *ln = bpy_pydriver_oblist;
- ln = ln->next; /* skip first ob, which is the pydriver owner */
-
- for (i = 0; i < len-1; i++) {
- obarray[i] = (Object *)ln->link;
- ln = ln->next;
- }
-
- obarray[len-1] = NULL; /* NULL-terminated array */
- }
- }
- bpy_pydriver_freeList();
- }
-
- return obarray;
-}
-