missing files with fixes for shower of bullets
This commit is contained in:
parent
0dbedd18fc
commit
fc676fa6f8
|
@ -75,7 +75,7 @@ TheoraVideoClip::~TheoraVideoClip()
|
||||||
if (mAudioInterface)
|
if (mAudioInterface)
|
||||||
{
|
{
|
||||||
mAudioMutex->lock(); // ensure a thread isn't using this mutex
|
mAudioMutex->lock(); // ensure a thread isn't using this mutex
|
||||||
memdelete(mAudioInterface); // notify audio interface it's time to call it a day
|
delete mAudioInterface; // notify audio interface it's time to call it a day
|
||||||
mAudioMutex ->unlock();
|
mAudioMutex ->unlock();
|
||||||
delete mAudioMutex;
|
delete mAudioMutex;
|
||||||
}
|
}
|
||||||
|
|
|
@ -240,6 +240,11 @@ public:
|
||||||
owner->setTimer(this);
|
owner->setTimer(this);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void stop() {
|
||||||
|
|
||||||
|
stream->stop();
|
||||||
|
};
|
||||||
|
|
||||||
void update(float time_increase)
|
void update(float time_increase)
|
||||||
{
|
{
|
||||||
mTime = (float)(stream->get_total_wrote() / channels) / freq;
|
mTime = (float)(stream->get_total_wrote() / channels) / freq;
|
||||||
|
@ -257,7 +262,7 @@ public:
|
||||||
TheoraAudioInterface* createInstance(TheoraVideoClip* owner, int nChannels, int freq) {
|
TheoraAudioInterface* createInstance(TheoraVideoClip* owner, int nChannels, int freq) {
|
||||||
|
|
||||||
printf("************** creating audio output\n");
|
printf("************** creating audio output\n");
|
||||||
TheoraAudioInterface* ta = memnew(TPAudioGodot(owner, nChannels, freq));
|
TheoraAudioInterface* ta = new TPAudioGodot(owner, nChannels, freq);
|
||||||
return ta;
|
return ta;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -267,13 +272,16 @@ static TPAudioGodotFactory* audio_factory = NULL;
|
||||||
void VideoStreamTheoraplayer::stop() {
|
void VideoStreamTheoraplayer::stop() {
|
||||||
|
|
||||||
playing = false;
|
playing = false;
|
||||||
if (clip)
|
if (clip) {
|
||||||
|
clip->stop();
|
||||||
clip->seek(0);
|
clip->seek(0);
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
void VideoStreamTheoraplayer::play() {
|
void VideoStreamTheoraplayer::play() {
|
||||||
|
|
||||||
playing = true;
|
playing = true;
|
||||||
|
started = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
bool VideoStreamTheoraplayer::is_playing() const {
|
bool VideoStreamTheoraplayer::is_playing() const {
|
||||||
|
@ -452,12 +460,14 @@ void VideoStreamTheoraplayer::set_file(const String& p_file) {
|
||||||
|
|
||||||
VideoStreamTheoraplayer::~VideoStreamTheoraplayer() {
|
VideoStreamTheoraplayer::~VideoStreamTheoraplayer() {
|
||||||
|
|
||||||
//if (mgr) {
|
stop();
|
||||||
|
//if (mgr) { // this should be a singleton or static or something
|
||||||
// memdelete(mgr);
|
// memdelete(mgr);
|
||||||
//};
|
//};
|
||||||
//mgr = NULL;
|
//mgr = NULL;
|
||||||
if (clip) {
|
if (clip) {
|
||||||
delete clip; // created by video manager with new
|
mgr->destroyVideoClip(clip);
|
||||||
|
clip = NULL;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -162,7 +162,7 @@ void Area2D::_body_inout(int p_status,const RID& p_body, int p_instance, int p_b
|
||||||
E->get().shapes.insert(ShapePair(p_body_shape,p_area_shape));
|
E->get().shapes.insert(ShapePair(p_body_shape,p_area_shape));
|
||||||
|
|
||||||
|
|
||||||
if (E->get().in_tree) {
|
if (!node || E->get().in_tree) {
|
||||||
emit_signal(SceneStringNames::get_singleton()->body_enter_shape,objid,node,p_body_shape,p_area_shape);
|
emit_signal(SceneStringNames::get_singleton()->body_enter_shape,objid,node,p_body_shape,p_area_shape);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -188,7 +188,7 @@ void Area2D::_body_inout(int p_status,const RID& p_body, int p_instance, int p_b
|
||||||
eraseit=true;
|
eraseit=true;
|
||||||
|
|
||||||
}
|
}
|
||||||
if (node && E->get().in_tree) {
|
if (!node || E->get().in_tree) {
|
||||||
emit_signal(SceneStringNames::get_singleton()->body_exit_shape,objid,obj,p_body_shape,p_area_shape);
|
emit_signal(SceneStringNames::get_singleton()->body_exit_shape,objid,obj,p_body_shape,p_area_shape);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -437,6 +437,7 @@ Physics2DDirectSpaceStateSW::Physics2DDirectSpaceStateSW() {
|
||||||
|
|
||||||
void* Space2DSW::_broadphase_pair(CollisionObject2DSW *A,int p_subindex_A,CollisionObject2DSW *B,int p_subindex_B,void *p_self) {
|
void* Space2DSW::_broadphase_pair(CollisionObject2DSW *A,int p_subindex_A,CollisionObject2DSW *B,int p_subindex_B,void *p_self) {
|
||||||
|
|
||||||
|
|
||||||
CollisionObject2DSW::Type type_A=A->get_type();
|
CollisionObject2DSW::Type type_A=A->get_type();
|
||||||
CollisionObject2DSW::Type type_B=B->get_type();
|
CollisionObject2DSW::Type type_B=B->get_type();
|
||||||
if (type_A>type_B) {
|
if (type_A>type_B) {
|
||||||
|
@ -451,7 +452,6 @@ void* Space2DSW::_broadphase_pair(CollisionObject2DSW *A,int p_subindex_A,Collis
|
||||||
|
|
||||||
if (type_A==CollisionObject2DSW::TYPE_AREA) {
|
if (type_A==CollisionObject2DSW::TYPE_AREA) {
|
||||||
|
|
||||||
|
|
||||||
ERR_FAIL_COND_V(type_B!=CollisionObject2DSW::TYPE_BODY,NULL);
|
ERR_FAIL_COND_V(type_B!=CollisionObject2DSW::TYPE_BODY,NULL);
|
||||||
Area2DSW *area=static_cast<Area2DSW*>(A);
|
Area2DSW *area=static_cast<Area2DSW*>(A);
|
||||||
Body2DSW *body=static_cast<Body2DSW*>(B);
|
Body2DSW *body=static_cast<Body2DSW*>(B);
|
||||||
|
|
Loading…
Reference in New Issue