mirror of
https://github.com/isledecomp/isle.git
synced 2024-11-29 11:06:05 -05:00
implement misc presenter functions (#695)
* implement misc presenter functions * style/spacing --------- Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
parent
fd1b371864
commit
277957f0d5
3 changed files with 41 additions and 7 deletions
|
@ -1,6 +1,8 @@
|
||||||
#include "legoloadcachesoundpresenter.h"
|
#include "legoloadcachesoundpresenter.h"
|
||||||
|
|
||||||
#include "legocachsound.h"
|
#include "legocachsound.h"
|
||||||
|
#include "legosoundmanager.h"
|
||||||
|
#include "misc.h"
|
||||||
#include "mxstreamchunk.h"
|
#include "mxstreamchunk.h"
|
||||||
#include "mxwavepresenter.h"
|
#include "mxwavepresenter.h"
|
||||||
|
|
||||||
|
@ -69,9 +71,16 @@ void LegoLoadCacheSoundPresenter::DoneTickle()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x10018700
|
// FUNCTION: LEGO1 0x10018700
|
||||||
MxResult LegoLoadCacheSoundPresenter::PutData()
|
MxResult LegoLoadCacheSoundPresenter::PutData()
|
||||||
{
|
{
|
||||||
// TODO
|
m_criticalSection.Enter();
|
||||||
|
|
||||||
|
if (m_currentTickleState == e_done) {
|
||||||
|
m_cacheSound = SoundManager()->GetUnknown0x40()->FUN_1003d290(m_cacheSound);
|
||||||
|
m_unk0x7c = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_criticalSection.Leave();
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,10 +37,22 @@ MxResult LegoPartPresenter::AddToManager()
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x1007c9d0
|
// FUNCTION: LEGO1 0x1007c9d0
|
||||||
void LegoPartPresenter::Destroy(MxBool p_fromDestructor)
|
void LegoPartPresenter::Destroy(MxBool p_fromDestructor)
|
||||||
{
|
{
|
||||||
// TODO
|
m_criticalSection.Enter();
|
||||||
|
VideoManager()->UnregisterPresenter(*this);
|
||||||
|
|
||||||
|
if (m_parts) {
|
||||||
|
delete m_parts;
|
||||||
|
m_parts = NULL;
|
||||||
|
}
|
||||||
|
m_parts = NULL;
|
||||||
|
|
||||||
|
m_criticalSection.Leave();
|
||||||
|
if (!p_fromDestructor) {
|
||||||
|
MxMediaPresenter::Destroy(FALSE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x1007ca30
|
// FUNCTION: LEGO1 0x1007ca30
|
||||||
|
|
|
@ -114,11 +114,24 @@ MxResult LegoTexturePresenter::Store()
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x1004fc60
|
// FUNCTION: LEGO1 0x1004fc60
|
||||||
MxResult LegoTexturePresenter::PutData()
|
MxResult LegoTexturePresenter::PutData()
|
||||||
{
|
{
|
||||||
// TODO
|
MxResult result = SUCCESS;
|
||||||
return FAILURE;
|
|
||||||
|
if (MxPresenter::IsEnabled() && m_currentChunk != NULL) {
|
||||||
|
result = Read(*m_currentChunk);
|
||||||
|
if (result == SUCCESS) {
|
||||||
|
Store();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_currentTickleState == e_streaming) {
|
||||||
|
m_subscriber->FreeDataChunk(m_currentChunk);
|
||||||
|
}
|
||||||
|
m_currentChunk = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x1004fcb0
|
// FUNCTION: LEGO1 0x1004fcb0
|
||||||
|
|
Loading…
Reference in a new issue