mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 05:31:01 +00:00 
			
		
		
		
	missing files with fixes for shower of bullets
This commit is contained in:
		
							parent
							
								
									0dbedd18fc
								
							
						
					
					
						commit
						fc676fa6f8
					
				
					 4 changed files with 18 additions and 8 deletions
				
			
		|  | @ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Juan Linietsky
						Juan Linietsky