[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [21739] branches/blender2.5/blender: SVN maintenance.

gsr b3d gsr.b3d at infernal-iceberg.com
Tue Jul 21 02:19:07 CEST 2009


Revision: 21739
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21739
Author:   gsrb3d
Date:     2009-07-21 02:19:07 +0200 (Tue, 21 Jul 2009)

Log Message:
-----------
SVN maintenance.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_boid.c

Property Changed:
----------------
    branches/blender2.5/blender/release/ui/buttons_game.py
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_boid.c


Property changes on: branches/blender2.5/blender/release/ui/buttons_game.py
___________________________________________________________________
Name: svn:keywords
   + Author Date Id Revision
Name: svn:eol-style
   + native

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_boid.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_boid.c	2009-07-21 00:14:49 UTC (rev 21738)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_boid.c	2009-07-21 00:19:07 UTC (rev 21739)
@@ -1,615 +1,615 @@
-/**
- * $Id: rna_modifier.c 21514 2009-07-11 05:41:21Z aligorith $
- *
- * ***** 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) 2009 by Janne Karhu.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-#include <float.h>
-#include <limits.h>
-#include <stdlib.h>
-
-#include "RNA_define.h"
-#include "RNA_types.h"
-
-#include "rna_internal.h"
-
-#include "DNA_scene_types.h"
-#include "DNA_boid_types.h"
-#include "DNA_object_types.h"
-#include "DNA_particle_types.h"
-
-#include "WM_types.h"
-
-EnumPropertyItem boidrule_type_items[] ={
-	{eBoidRuleType_Goal, "GOAL", 0, "Goal", "Go to assigned object or loudest assigned signal source."},
-	{eBoidRuleType_Avoid, "AVOID", 0, "Avoid", "Get away from assigned object or loudest assigned signal source."},
-	{eBoidRuleType_AvoidCollision, "AVOID_COLLISION", 0, "Avoid Collision", "Monoeuver to avoid collisions with other boids and deflector objects in near future."},
-	{eBoidRuleType_Separate, "SEPARATE", 0, "Separate", "Keep from going through other boids."},
-	{eBoidRuleType_Flock, "FLOCK", 0, "Flock", "Move to center of neighbors and match their velocity."},
-	{eBoidRuleType_FollowLeader, "FOLLOW_LEADER", 0, "Follow Leader", "Follow a boid or assigned object."},
-	{eBoidRuleType_AverageSpeed, "AVERAGE_SPEED", 0, "Average Speed", "Maintain speed, flight level or wander."},
-	{eBoidRuleType_Fight, "FIGHT", 0, "Fight", "Go to closest enemy and attack when in range."},
-	//{eBoidRuleType_Protect, "PROTECT", 0, "Protect", "Go to enemy closest to target and attack when in range."},
-	//{eBoidRuleType_Hide, "HIDE", 0, "Hide", "Find a deflector move to it's other side from closest enemy."},
-	//{eBoidRuleType_FollowPath, "FOLLOW_PATH", 0, "Follow Path", "Move along a assigned curve or closest curve in a group."},
-	//{eBoidRuleType_FollowWall, "FOLLOW_WALL", 0, "Follow Wall", "Move next to a deflector object's in direction of it's tangent."},
-	{0, NULL, 0, NULL, NULL}};
-
-EnumPropertyItem boidruleset_type_items[] ={
-	{eBoidRulesetType_Fuzzy, "FUZZY", 0, "Fuzzy", "Rules are gone through top to bottom. Only the first rule that effect above fuzziness threshold is evaluated."},
-	{eBoidRulesetType_Random, "RANDOM", 0, "Random", "A random rule is selected for each boid."},
-	{eBoidRulesetType_Average, "AVERAGE", 0, "Average", "All rules are averaged."},
-	{0, NULL, 0, NULL, NULL}};
-
-
-#ifdef RNA_RUNTIME
-
-#include "BKE_context.h"
-#include "BKE_depsgraph.h"
-#include "BKE_particle.h"
-
-static void rna_Boids_reset(bContext *C, PointerRNA *ptr)
-{
-	Scene *scene = CTX_data_scene(C);
-	ParticleSettings *part;
-
-	if(ptr->type==&RNA_ParticleSystem) {
-		ParticleSystem *psys = (ParticleSystem*)ptr->data;
-		Object *ob = psys_find_object(scene, psys);
-		
-		psys->recalc = PSYS_RECALC_RESET;
-
-		if(ob) {
-			DAG_object_flush_update(scene, ob, OB_RECALC_DATA);
-		}
-	}
-	else {
-		part = ptr->id.data;
-		psys_flush_particle_settings(scene, part, PSYS_RECALC_RESET);
-	}
-}
-static void rna_Boids_reset_deps(bContext *C, PointerRNA *ptr)
-{
-	Scene *scene = CTX_data_scene(C);
-	ParticleSettings *part;
-
-	if(ptr->type==&RNA_ParticleSystem) {
-		ParticleSystem *psys = (ParticleSystem*)ptr->data;
-		Object *ob = psys_find_object(scene, psys);
-		
-		psys->recalc = PSYS_RECALC_RESET;
-
-		if(ob) {
-			DAG_object_flush_update(scene, ob, OB_RECALC_DATA);
-		}
-	}
-	else {
-		part = ptr->id.data;
-		psys_flush_particle_settings(scene, part, PSYS_RECALC_RESET);
-		DAG_scene_sort(scene);
-	}
-}
-
-static StructRNA* rna_BoidRule_refine(struct PointerRNA *ptr)
-{
-	BoidRule *rule= (BoidRule*)ptr->data;
-
-	switch(rule->type) {
-		case eBoidRuleType_Goal:
-			return &RNA_BoidRuleGoal;
-		case eBoidRuleType_Avoid:
-			return &RNA_BoidRuleAvoid;
-		case eBoidRuleType_AvoidCollision:
-			return &RNA_BoidRuleAvoidCollision;
-		case eBoidRuleType_FollowLeader:
-			return &RNA_BoidRuleFollowLeader;
-		case eBoidRuleType_AverageSpeed:
-			return &RNA_BoidRuleAverageSpeed;
-		case eBoidRuleType_Fight:
-			return &RNA_BoidRuleFight;
-		default:
-			return &RNA_BoidRule;
-	}
-}
-
-static char *rna_BoidRule_path(PointerRNA *ptr)
-{
-	return BLI_sprintfN("rules[%s]", ((BoidRule*)ptr->data)->name);  // XXX not unique
-}
-
-static PointerRNA rna_BoidState_active_boid_rule_get(PointerRNA *ptr)
-{
-	BoidState *state= (BoidState*)ptr->data;
-	BoidRule *rule = (BoidRule*)state->rules.first;
-
-	for(; rule; rule=rule->next) {
-		if(rule->flag & BOIDRULE_CURRENT)
-			return rna_pointer_inherit_refine(ptr, &RNA_BoidRule, rule);
-	}
-	return rna_pointer_inherit_refine(ptr, &RNA_BoidRule, NULL);
-}
-static void rna_BoidState_active_boid_rule_index_range(PointerRNA *ptr, int *min, int *max)
-{
-	BoidState *state= (BoidState*)ptr->data;
-	*min= 0;
-	*max= BLI_countlist(&state->rules)-1;
-	*max= MAX2(0, *max);
-}
-
-static int rna_BoidState_active_boid_rule_index_get(PointerRNA *ptr)
-{
-	BoidState *state= (BoidState*)ptr->data;
-	BoidRule *rule = (BoidRule*)state->rules.first;
-	int i=0;
-
-	for(; rule; rule=rule->next, i++) {
-		if(rule->flag & BOIDRULE_CURRENT)
-			return i;
-	}
-	return 0;
-}
-
-static void rna_BoidState_active_boid_rule_index_set(struct PointerRNA *ptr, int value)
-{
-	BoidState *state= (BoidState*)ptr->data;
-	BoidRule *rule = (BoidRule*)state->rules.first;
-	int i=0;
-
-	for(; rule; rule=rule->next, i++) {
-		if(i==value)
-			rule->flag |= BOIDRULE_CURRENT;
-		else
-			rule->flag &= ~BOIDRULE_CURRENT;
-	}
-}
-
-static PointerRNA rna_BoidSettings_active_boid_state_get(PointerRNA *ptr)
-{
-	BoidSettings *boids= (BoidSettings*)ptr->data;
-	BoidState *state = (BoidState*)boids->states.first;
-
-	for(; state; state=state->next) {
-		if(state->flag & BOIDSTATE_CURRENT)
-			return rna_pointer_inherit_refine(ptr, &RNA_BoidState, state);
-	}
-	return rna_pointer_inherit_refine(ptr, &RNA_BoidState, NULL);
-}
-static void rna_BoidSettings_active_boid_state_index_range(PointerRNA *ptr, int *min, int *max)
-{
-	BoidSettings *boids= (BoidSettings*)ptr->data;
-	*min= 0;
-	*max= BLI_countlist(&boids->states)-1;
-	*max= MAX2(0, *max);
-}
-
-static int rna_BoidSettings_active_boid_state_index_get(PointerRNA *ptr)
-{
-	BoidSettings *boids= (BoidSettings*)ptr->data;
-	BoidState *state = (BoidState*)boids->states.first;
-	int i=0;
-
-	for(; state; state=state->next, i++) {
-		if(state->flag & BOIDSTATE_CURRENT)
-			return i;
-	}
-	return 0;
-}
-
-static void rna_BoidSettings_active_boid_state_index_set(struct PointerRNA *ptr, int value)
-{
-	BoidSettings *boids= (BoidSettings*)ptr->data;
-	BoidState *state = (BoidState*)boids->states.first;
-	int i=0;
-
-	for(; state; state=state->next, i++) {
-		if(i==value)
-			state->flag |= BOIDSTATE_CURRENT;
-		else
-			state->flag &= ~BOIDSTATE_CURRENT;
-	}
-}
-
-#else
-
-static void rna_def_boidrule_goal(BlenderRNA *brna)
-{
-	StructRNA *srna;
-	PropertyRNA *prop;
-
-	srna= RNA_def_struct(brna, "BoidRuleGoal", "BoidRule");
-	RNA_def_struct_ui_text(srna, "Goal", "");
-	RNA_def_struct_sdna(srna, "BoidRuleGoalAvoid");
-
-	prop= RNA_def_property(srna, "object", PROP_POINTER, PROP_NONE);
-	RNA_def_property_pointer_sdna(prop, NULL, "ob");
-	RNA_def_property_flag(prop, PROP_EDITABLE);
-	RNA_def_property_ui_text(prop, "Object", "Goal object.");
-	RNA_def_property_update(prop, NC_OBJECT|ND_PARTICLE, "rna_Boids_reset_deps");
-
-	prop= RNA_def_property(srna, "predict", PROP_BOOLEAN, PROP_NONE);
-	RNA_def_property_boolean_sdna(prop, NULL, "options", BRULE_GOAL_AVOID_PREDICT);
-	RNA_def_property_ui_text(prop, "Predict", "Predict target movement.");
-	RNA_def_property_update(prop, NC_OBJECT|ND_PARTICLE, "rna_Boids_reset");
-}
-
-static void rna_def_boidrule_avoid(BlenderRNA *brna)
-{
-	StructRNA *srna;
-	PropertyRNA *prop;
-
-	srna= RNA_def_struct(brna, "BoidRuleAvoid", "BoidRule");
-	RNA_def_struct_ui_text(srna, "Avoid", "");
-	RNA_def_struct_sdna(srna, "BoidRuleGoalAvoid");
-
-	prop= RNA_def_property(srna, "object", PROP_POINTER, PROP_NONE);
-	RNA_def_property_pointer_sdna(prop, NULL, "ob");
-	RNA_def_property_flag(prop, PROP_EDITABLE);
-	RNA_def_property_ui_text(prop, "Object", "Object to avoid.");
-	RNA_def_property_update(prop, NC_OBJECT|ND_PARTICLE, "rna_Boids_reset_deps");
-
-	prop= RNA_def_property(srna, "predict", PROP_BOOLEAN, PROP_NONE);
-	RNA_def_property_boolean_sdna(prop, NULL, "options", BRULE_GOAL_AVOID_PREDICT);
-	RNA_def_property_ui_text(prop, "Predict", "Predict target movement.");
-	RNA_def_property_update(prop, NC_OBJECT|ND_PARTICLE, "rna_Boids_reset");
-
-	prop= RNA_def_property(srna, "fear_factor", PROP_FLOAT, PROP_NONE);
-	RNA_def_property_range(prop, 0.0f, 100.0f);
-	RNA_def_property_ui_text(prop, "Fear factor", "Avoid object if danger from it is above this threshol.");
-	RNA_def_property_update(prop, NC_OBJECT|ND_PARTICLE, "rna_Boids_reset");
-}
-
-static void rna_def_boidrule_avoid_collision(BlenderRNA *brna)
-{
-	StructRNA *srna;
-	PropertyRNA *prop;
-
-	srna= RNA_def_struct(brna, "BoidRuleAvoidCollision", "BoidRule");
-	RNA_def_struct_ui_text(srna, "Avoid Collision", "");
-
-	prop= RNA_def_property(srna, "boids", PROP_BOOLEAN, PROP_NONE);

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list