X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Fscripted_object.cpp;h=eadcc43455b48bcf913bc8821bc482d9b4d60965;hb=04a3157ef478169b5a3fc05dae00ed6ee6a1fae2;hp=e95e5b5203c8023bc5582ddb52d912f77c07fccf;hpb=8a627e73d824b5a14249cfe066dc2fdc643ce28d;p=supertux.git diff --git a/src/object/scripted_object.cpp b/src/object/scripted_object.cpp index e95e5b520..eadcc4345 100644 --- a/src/object/scripted_object.cpp +++ b/src/object/scripted_object.cpp @@ -29,7 +29,7 @@ #include "math/vector.hpp" ScriptedObject::ScriptedObject(const lisp::Lisp& lisp) - : MovingSprite(lisp, LAYER_OBJECTS, COLGROUP_MOVING), + : MovingSprite(lisp, LAYER_OBJECTS, COLGROUP_MOVING_STATIC), solid(true), physic_enabled(true), visible(true), new_vel_set(false) { lisp.get("name", name); @@ -47,6 +47,11 @@ ScriptedObject::ScriptedObject(const lisp::Lisp& lisp) lisp.get("physic-enabled", physic_enabled); lisp.get("visible", visible); lisp.get("z-pos", layer); + if( solid ){ + set_group( COLGROUP_MOVING_STATIC ); + } else { + set_group( COLGROUP_DISABLED ); + } } void @@ -124,6 +129,11 @@ void ScriptedObject::set_solid(bool solid) { this->solid = solid; + if( solid ){ + set_group( COLGROUP_MOVING_STATIC ); + } else { + set_group( COLGROUP_DISABLED ); + } } bool @@ -183,7 +193,7 @@ ScriptedObject::collision_solid(const CollisionHit& hit) if(physic.get_velocity_y() > 0) physic.set_velocity_y(0); } else if(hit.top) { - physic.set_velocity_y(.1); + physic.set_velocity_y(.1f); } if(hit.left || hit.right) {