bullet: Corrected possible false check

- When a bullet world is created it sets the filter
        algorithm callback that will use. Later changes to
        PRC config data should not lead to false assumptions
        that the bullet world is working with the new config.

Signed-off-by: deflected <deflected@users.noreply.github.com>

Closes #289
This commit is contained in:
deflected 2018-03-22 12:31:41 +02:00 committed by rdb
parent 09a9a8ff22
commit 5fec62b6fa
2 changed files with 5 additions and 3 deletions

View File

@ -82,7 +82,8 @@ BulletWorld() {
_world->getPairCache()->setInternalGhostPairCallback(&_ghost_cb);
// Filter callback
switch (bullet_filter_algorithm) {
_filter_algorithm = bullet_filter_algorithm;
switch (_filter_algorithm) {
case FA_mask:
_filter_cb = &_filter_cb1;
break;
@ -1086,7 +1087,7 @@ void BulletWorld::
set_group_collision_flag(unsigned int group1, unsigned int group2, bool enable) {
LightMutexHolder holder(get_global_lock());
if (bullet_filter_algorithm != FA_groups_mask) {
if (_filter_algorithm != FA_groups_mask) {
bullet_cat.warning() << "filter algorithm is not 'groups-mask'" << endl;
}
@ -1198,7 +1199,7 @@ set_filter_callback(CallbackObject *obj) {
nassertv(obj != NULL);
if (bullet_filter_algorithm != FA_callback) {
if (_filter_algorithm != FA_callback) {
bullet_cat.warning() << "filter algorithm is not 'callback'" << endl;
}

View File

@ -265,6 +265,7 @@ private:
btGhostPairCallback _ghost_cb;
FilterAlgorithm _filter_algorithm;
btFilterCallback1 _filter_cb1;
btFilterCallback2 _filter_cb2;
btFilterCallback3 _filter_cb3;