static void copymenu_logicbricks(Scene *scene, View3D *v3d, Object *ob) { //XXX no longer used - to be removed - replaced by logicbricks_copy_exec Base *base; for (base= FIRSTBASE; base; base= base->next) { if (base->object != ob) { if (TESTBASELIB(v3d, base)) { /* first: free all logic */ free_sensors(&base->object->sensors); unlink_controllers(&base->object->controllers); free_controllers(&base->object->controllers); unlink_actuators(&base->object->actuators); free_actuators(&base->object->actuators); /* now copy it, this also works without logicbricks! */ clear_sca_new_poins_ob(ob); copy_sensors(&base->object->sensors, &ob->sensors); copy_controllers(&base->object->controllers, &ob->controllers); copy_actuators(&base->object->actuators, &ob->actuators); set_sca_new_poins_ob(base->object); /* some menu settings */ base->object->scavisflag= ob->scavisflag; base->object->scaflag= ob->scaflag; /* set the initial state */ base->object->state= ob->state; base->object->init_state= ob->init_state; } } } }
void clear_sca_new_poins(void) { Object *ob; ob= G.main->object.first; while (ob) { clear_sca_new_poins_ob(ob); ob= ob->id.next; } }