mirror of
				https://github.com/isledecomp/isle.git
				synced 2025-10-26 01:44:19 +00:00 
			
		
		
		
	 828b35e9d2
			
		
	
	828b35e9d2
	
	
	
		
			
			* Implement/match LegoCacheSound::Play and Lego3DSound::FUN_10011a60 * Update names * Update
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef LEGO3DSOUND_H
 | |
| #define LEGO3DSOUND_H
 | |
| 
 | |
| #include "decomp.h"
 | |
| #include "mxtypes.h"
 | |
| 
 | |
| #include <dsound.h>
 | |
| 
 | |
| class LegoActor;
 | |
| class LegoROI;
 | |
| 
 | |
| // VTABLE: LEGO1 0x100d5778
 | |
| // SIZE 0x30
 | |
| class Lego3DSound {
 | |
| public:
 | |
| 	Lego3DSound();
 | |
| 	virtual ~Lego3DSound();
 | |
| 
 | |
| 	void Init();
 | |
| 	MxResult Create(LPDIRECTSOUNDBUFFER p_directSoundBuffer, const char* p_name, MxS32 p_volume);
 | |
| 	void Destroy();
 | |
| 	MxU32 UpdatePosition(LPDIRECTSOUNDBUFFER p_directSoundBuffer);
 | |
| 	void FUN_10011a60(LPDIRECTSOUNDBUFFER p_directSoundBuffer, const char* p_name);
 | |
| 	void Reset();
 | |
| 	MxS32 SetDistance(MxS32 p_min, MxS32 p_max);
 | |
| 
 | |
| 	// SYNTHETIC: LEGO1 0x10011650
 | |
| 	// Lego3DSound::`scalar deleting destructor'
 | |
| 
 | |
| private:
 | |
| 	LPDIRECTSOUND3DBUFFER m_ds3dBuffer; // 0x08
 | |
| 	LegoROI* m_roi;                     // 0x0c
 | |
| 	LegoROI* m_positionROI;             // 0x10
 | |
| 	MxBool m_enabled;                   // 0x14
 | |
| 	MxBool m_isActor;                   // 0x15
 | |
| 	LegoActor* m_actor;                 // 0x18
 | |
| 	double m_frequencyFactor;           // 0x20
 | |
| 	DWORD m_dwFrequency;                // 0x28
 | |
| 	MxS32 m_volume;                     // 0x2c
 | |
| };
 | |
| 
 | |
| // GLOBAL: LEGO1 0x100db6c0
 | |
| // IID_IDirectSound3DBuffer
 | |
| 
 | |
| #endif // LEGO3DSOUND_H
 |