projects
/
supertux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
play sound when willowisp is caught
[supertux.git]
/
src
/
object
/
scripted_object.cpp
diff --git
a/src/object/scripted_object.cpp
b/src/object/scripted_object.cpp
index
e95e5b5
..
eadcc43
100644
(file)
--- 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)
#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);
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);
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
}
void
@@
-124,6
+129,11
@@
void
ScriptedObject::set_solid(bool solid)
{
this->solid = solid;
ScriptedObject::set_solid(bool solid)
{
this->solid = solid;
+ if( solid ){
+ set_group( COLGROUP_MOVING_STATIC );
+ } else {
+ set_group( COLGROUP_DISABLED );
+ }
}
bool
}
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) {
if(physic.get_velocity_y() > 0)
physic.set_velocity_y(0);
} else if(hit.top) {
- physic.set_velocity_y(.1);
+ physic.set_velocity_y(.1
f
);
}
if(hit.left || hit.right) {
}
if(hit.left || hit.right) {