[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [38419] branches/soc-2011-tomato: Merging r38390 through r38418 from trunk into soc-2011-tomato
Sergey Sharybin
g.ulairi at gmail.com
Fri Jul 15 22:22:01 CEST 2011
Revision: 38419
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38419
Author: nazgul
Date: 2011-07-15 20:22:01 +0000 (Fri, 15 Jul 2011)
Log Message:
-----------
Merging r38390 through r38418 from trunk into soc-2011-tomato
Revision Links:
--------------
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38390
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38418
Modified Paths:
--------------
branches/soc-2011-tomato/source/blender/blenloader/intern/readfile.c
branches/soc-2011-tomato/source/blender/blenloader/intern/writefile.c
branches/soc-2011-tomato/source/blender/editors/physics/physics_fluid.c
branches/soc-2011-tomato/source/blender/makesdna/DNA_particle_types.h
branches/soc-2011-tomato/source/blender/python/CMakeLists.txt
branches/soc-2011-tomato/source/blender/python/SConscript
branches/soc-2011-tomato/source/blender/python/generic/CMakeLists.txt
branches/soc-2011-tomato/source/blender/python/intern/bpy.c
branches/soc-2011-tomato/source/blender/python/intern/bpy_interface.c
branches/soc-2011-tomato/source/blender/python/intern/bpy_rna.c
branches/soc-2011-tomato/source/blenderplayer/CMakeLists.txt
branches/soc-2011-tomato/source/creator/CMakeLists.txt
branches/soc-2011-tomato/source/gameengine/Expressions/PyObjectPlus.h
branches/soc-2011-tomato/source/gameengine/Ketsji/CMakeLists.txt
branches/soc-2011-tomato/source/gameengine/Ketsji/KX_PyMath.h
branches/soc-2011-tomato/source/gameengine/Ketsji/KX_PythonInit.cpp
branches/soc-2011-tomato/source/gameengine/Ketsji/SConscript
Added Paths:
-----------
branches/soc-2011-tomato/source/blender/python/mathutils/
branches/soc-2011-tomato/source/blender/python/mathutils/CMakeLists.txt
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils.c
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils.h
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_Color.c
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_Color.h
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_Euler.c
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_Euler.h
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_Matrix.c
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_Matrix.h
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_Quaternion.c
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_Quaternion.h
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_Vector.c
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_Vector.h
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_geometry.c
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_geometry.h
Removed Paths:
-------------
branches/soc-2011-tomato/source/blender/python/generic/mathutils.c
branches/soc-2011-tomato/source/blender/python/generic/mathutils.h
branches/soc-2011-tomato/source/blender/python/generic/mathutils_Color.c
branches/soc-2011-tomato/source/blender/python/generic/mathutils_Color.h
branches/soc-2011-tomato/source/blender/python/generic/mathutils_Euler.c
branches/soc-2011-tomato/source/blender/python/generic/mathutils_Euler.h
branches/soc-2011-tomato/source/blender/python/generic/mathutils_Matrix.c
branches/soc-2011-tomato/source/blender/python/generic/mathutils_Matrix.h
branches/soc-2011-tomato/source/blender/python/generic/mathutils_Quaternion.c
branches/soc-2011-tomato/source/blender/python/generic/mathutils_Quaternion.h
branches/soc-2011-tomato/source/blender/python/generic/mathutils_Vector.c
branches/soc-2011-tomato/source/blender/python/generic/mathutils_Vector.h
branches/soc-2011-tomato/source/blender/python/generic/mathutils_geometry.c
branches/soc-2011-tomato/source/blender/python/generic/mathutils_geometry.h
branches/soc-2011-tomato/source/blender/python/mathutils/CMakeLists.txt
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils.c
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils.h
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_Color.c
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_Color.h
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_Euler.c
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_Euler.h
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_Matrix.c
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_Matrix.h
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_Quaternion.c
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_Quaternion.h
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_Vector.c
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_Vector.h
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_geometry.c
branches/soc-2011-tomato/source/blender/python/mathutils/mathutils_geometry.h
Property Changed:
----------------
branches/soc-2011-tomato/
branches/soc-2011-tomato/doc/python_api/rst/bge.constraints.rst
Property changes on: branches/soc-2011-tomato
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/blender:36831-38389
+ /trunk/blender:36831-38418
Property changes on: branches/soc-2011-tomato/doc/python_api/rst/bge.constraints.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: branches/soc-2011-tomato/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenloader/intern/readfile.c 2011-07-15 17:16:26 UTC (rev 38418)
+++ branches/soc-2011-tomato/source/blender/blenloader/intern/readfile.c 2011-07-15 20:22:01 UTC (rev 38419)
@@ -75,6 +75,7 @@
#include "DNA_node_types.h"
#include "DNA_object_fluidsim.h" // NT
#include "DNA_packedFile_types.h"
+#include "DNA_particle_types.h"
#include "DNA_property_types.h"
#include "DNA_text_types.h"
#include "DNA_view3d_types.h"
@@ -3203,10 +3204,38 @@
if(part->effector_weights)
part->effector_weights->group = newlibadr(fd, part->id.lib, part->effector_weights->group);
- dw = part->dupliweights.first;
- for(; dw; dw=dw->next)
- dw->ob = newlibadr(fd, part->id.lib, dw->ob);
+ if(part->dupliweights.first) {
+ int index_ok = 0;
+ /* check for old files without indices (all indexes 0) */
+ dw = part->dupliweights.first;
+ if(part->dupliweights.first == part->dupliweights.last) {
+ /* special case for only one object in the group */
+ index_ok = 1;
+ }
+ else {
+ for(; dw; dw=dw->next) {
+ if(dw->index > 0) {
+ index_ok = 1;
+ break;
+ }
+ }
+ }
+ if(index_ok) {
+ /* if we have indexes, let's use them */
+ dw = part->dupliweights.first;
+ for(; dw; dw=dw->next) {
+ GroupObject *go = (GroupObject *)BLI_findlink(&part->dup_group->gobject, dw->index);
+ dw->ob = go ? go->ob : NULL;
+ }
+ }
+ else {
+ /* otherwise try to get objects from own library (won't work on library linked groups) */
+ for(; dw; dw=dw->next)
+ dw->ob = newlibadr(fd, part->id.lib, dw->ob);
+ }
+ }
+
if(part->boids) {
BoidState *state = part->boids->states.first;
BoidRule *rule;
Modified: branches/soc-2011-tomato/source/blender/blenloader/intern/writefile.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenloader/intern/writefile.c 2011-07-15 17:16:26 UTC (rev 38418)
+++ branches/soc-2011-tomato/source/blender/blenloader/intern/writefile.c 2011-07-15 20:22:01 UTC (rev 38419)
@@ -838,6 +838,7 @@
{
ParticleSettings *part;
ParticleDupliWeight *dw;
+ GroupObject *go;
int a;
part= idbase->first;
@@ -852,8 +853,16 @@
writestruct(wd, DATA, "EffectorWeights", 1, part->effector_weights);
dw = part->dupliweights.first;
- for(; dw; dw=dw->next)
+ for(; dw; dw=dw->next) {
+ /* update indices */
+ dw->index = 0;
+ go = part->dup_group->gobject.first;
+ while(go && go->ob != dw->ob) {
+ go=go->next;
+ dw->index++;
+ }
writestruct(wd, DATA, "ParticleDupliWeight", 1, dw);
+ }
if(part->boids && part->phystype == PART_PHYS_BOIDS) {
BoidState *state = part->boids->states.first;
Modified: branches/soc-2011-tomato/source/blender/editors/physics/physics_fluid.c
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/physics/physics_fluid.c 2011-07-15 17:16:26 UTC (rev 38418)
+++ branches/soc-2011-tomato/source/blender/editors/physics/physics_fluid.c 2011-07-15 20:22:01 UTC (rev 38419)
@@ -722,15 +722,17 @@
static void fluidbake_free(void *customdata)
{
- FluidBakeJob *fb= customdata;
+ FluidBakeJob *fb= (FluidBakeJob *)customdata;
MEM_freeN(fb);
}
/* called by fluidbake, only to check job 'stop' value */
-static int fluidbake_breakjob(void *UNUSED(customdata))
+static int fluidbake_breakjob(void *customdata)
{
- //FluidBakeJob *fb= (FluidBakeJob *)customdata;
- //return *(fb->stop);
+ FluidBakeJob *fb= (FluidBakeJob *)customdata;
+
+ if(fb->stop && *(fb->stop))
+ return 1;
/* this is not nice yet, need to make the jobs list template better
* for identifying/acting upon various different jobs */
@@ -741,7 +743,7 @@
/* called by fluidbake, wmJob sends notifier */
static void fluidbake_updatejob(void *customdata, float progress)
{
- FluidBakeJob *fb= customdata;
+ FluidBakeJob *fb= (FluidBakeJob *)customdata;
*(fb->do_update)= 1;
*(fb->progress)= progress;
@@ -749,7 +751,7 @@
static void fluidbake_startjob(void *customdata, short *stop, short *do_update, float *progress)
{
- FluidBakeJob *fb= customdata;
+ FluidBakeJob *fb= (FluidBakeJob *)customdata;
fb->stop= stop;
fb->do_update = do_update;
@@ -764,7 +766,7 @@
static void fluidbake_endjob(void *customdata)
{
- FluidBakeJob *fb= customdata;
+ FluidBakeJob *fb= (FluidBakeJob *)customdata;
if (fb->settings) {
MEM_freeN(fb->settings);
Modified: branches/soc-2011-tomato/source/blender/makesdna/DNA_particle_types.h
===================================================================
--- branches/soc-2011-tomato/source/blender/makesdna/DNA_particle_types.h 2011-07-15 17:16:26 UTC (rev 38418)
+++ branches/soc-2011-tomato/source/blender/makesdna/DNA_particle_types.h 2011-07-15 20:22:01 UTC (rev 38419)
@@ -89,7 +89,8 @@
struct ParticleDupliWeight *next, *prev;
struct Object *ob;
short count;
- short flag, rt[2];
+ short flag;
+ short index, rt; /* only updated on file save and used on file load */
} ParticleDupliWeight;
typedef struct ParticleData {
Modified: branches/soc-2011-tomato/source/blender/python/CMakeLists.txt
===================================================================
--- branches/soc-2011-tomato/source/blender/python/CMakeLists.txt 2011-07-15 17:16:26 UTC (rev 38418)
+++ branches/soc-2011-tomato/source/blender/python/CMakeLists.txt 2011-07-15 20:22:01 UTC (rev 38419)
@@ -18,3 +18,4 @@
add_subdirectory(intern)
add_subdirectory(generic)
+add_subdirectory(mathutils)
Modified: branches/soc-2011-tomato/source/blender/python/SConscript
===================================================================
--- branches/soc-2011-tomato/source/blender/python/SConscript 2011-07-15 17:16:26 UTC (rev 38418)
+++ branches/soc-2011-tomato/source/blender/python/SConscript 2011-07-15 20:22:01 UTC (rev 38419)
@@ -1,6 +1,6 @@
#!/usr/bin/python
-# TODO, split into 2 files.
+# TODO, split into 3 files.
Import ('env')
@@ -18,9 +18,16 @@
defs.append('_DEBUG')
sources = env.Glob('generic/*.c')
-env.BlenderLib( libname = 'bf_python_ext', sources = Split(sources), includes = Split(incs), defines = defs, libtype = ['core','player'], priority = [362,165]) # ketsji is 360
+env.BlenderLib( libname = 'bf_python_ext', sources = Split(sources), includes = Split(incs), defines = defs, libtype = ['core','player'], priority = [363,165]) # ketsji is 360
+# mathutils
+defs = []
+
+sources = env.Glob('mathutils/*.c')
+env.BlenderLib( libname = 'bf_python_mathutils', sources = Split(sources), includes = Split(incs), defines = defs, libtype = ['core','player'], priority = [362,165])
+
+
# bpy
defs = []
Modified: branches/soc-2011-tomato/source/blender/python/generic/CMakeLists.txt
===================================================================
--- branches/soc-2011-tomato/source/blender/python/generic/CMakeLists.txt 2011-07-15 17:16:26 UTC (rev 38418)
+++ branches/soc-2011-tomato/source/blender/python/generic/CMakeLists.txt 2011-07-15 20:22:01 UTC (rev 38419)
@@ -37,13 +37,6 @@
bgl.c
blf_py_api.c
bpy_internal_import.c
- mathutils.c
- mathutils_Color.c
- mathutils_Euler.c
- mathutils_Matrix.c
- mathutils_Quaternion.c
- mathutils_Vector.c
- mathutils_geometry.c
noise_py_api.c
py_capi_utils.c
@@ -51,13 +44,6 @@
bgl.h
blf_py_api.h
bpy_internal_import.h
- mathutils.h
- mathutils_Color.h
- mathutils_Euler.h
- mathutils_Matrix.h
- mathutils_Quaternion.h
- mathutils_Vector.h
- mathutils_geometry.h
noise_py_api.h
py_capi_utils.h
)
Deleted: branches/soc-2011-tomato/source/blender/python/generic/mathutils.c
===================================================================
--- branches/soc-2011-tomato/source/blender/python/generic/mathutils.c 2011-07-15 17:16:26 UTC (rev 38418)
+++ branches/soc-2011-tomato/source/blender/python/generic/mathutils.c 2011-07-15 20:22:01 UTC (rev 38419)
@@ -1,384 +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., 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.
- *
- * This is a new part of Blender.
- *
- * Contributor(s): Joseph Gilbert, Campbell Barton
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file blender/python/generic/mathutils.c
- * \ingroup pygen
- */
-
-#include <Python.h>
-
-#include "mathutils.h"
-
-#include "BLI_math.h"
-#include "BLI_utildefines.h"
-
-PyDoc_STRVAR(M_Mathutils_doc,
-"This module provides access to matrices, eulers, quaternions and vectors."
-);
-static int mathutils_array_parse_fast(float *array, int array_min, int array_max, PyObject *value, const char *error_prefix)
-{
- PyObject *value_fast= NULL;
- PyObject *item;
-
- int i, size;
-
- /* non list/tuple cases */
- if(!(value_fast=PySequence_Fast(value, error_prefix))) {
- /* PySequence_Fast sets the error */
- return -1;
- }
-
- size= PySequence_Fast_GET_SIZE(value_fast);
-
- if(size > array_max || size < array_min) {
- if (array_max == array_min) {
- PyErr_Format(PyExc_ValueError,
- "%.200s: sequence size is %d, expected %d",
- error_prefix, size, array_max);
- }
- else {
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list