mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-22 15:37:55 -05:00
f8b1995a83
* MxPalette - add missing member variables, Detach function * mb * MxPalette: give bob the builder his constructor * push progress, gn * avoid hexadecimal Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com> * fix MxPalette::GetDefaultPalette Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com> * aaaaaaaaaaaaaa * Revert "fix MxPalette::GetDefaultPalette" This reverts commit 63f2215737d3bcd286f67dcf1a04fdf8a234d41b. * Implement MxPalette::Clone (doesn't match) * fix MxPalette structure and match ctor/dtor * Matching progress for MxPalette::GetDefaultPalette * Implement ApplySystemEntriesToPalette except the memcpy calls * implement SetSkyColor (doesn't match) * Use MxTypes instead of generics * prefer decimal values than hex for m_entries * Update mxpalette.cpp * Push MxPalette progress - read comments in code. * improved MxPalette::operator==, will be 100% when MSVC feels like making it so * improved MxPalette::SetSkyColor, will be 100% when MSVC feels like making it so * improved MxPalette::Clone, will be 100% when MSVC feels like making it so * Fixes - reordered the functions in order of where they are in the hex because recmp.py sometimes kept saying it couldn't find the symbol (??) - clone returns a pointer, not a ref - worked a bit on setpalette/applysysentriestopalette * Match GetDefaultPalette a bit more * fix: MxPalette::GetDefaultPalette is now 100% matching * fix: MxPalette::ApplySystemEntriesToPalette is now 100% matching * tidy: rename `DC` var in GetDefaultPalette to `hdc` * fix: MxPalette::SetPalette is now functionally matching Not assembly matching yet because of MSVC weirdness. At some point it will probably start matching, because the structure seems to be accurate. * fix: MxPalette rgbquad ctor functionally matches Not quite ASM matching yet because of weird register allocation mismatches. * fix: I forgot to commit mxpalette.h... * tidy: use Mx* primitives instead of builtins * refactor: remove MxPalette::FromBitmapPalette * fix: call ApplySystemEntriesToPalette from MxPalette(const RGBQUAD *) * rename MxPalette::SetPalette to MxPalette::SetEntries * fix: I once again forgot to commit mxpalette.h... * feat: add/match MxPalette::Reset [0x100BF490] * fix: add MVideoManager() to mxomni header * refactor: change unk50 in MxVideoManager to LPDIRECTDRAW * feat: add/match MxPalette::CreateNativePalette [0x100BF000] * fix: MxPalette::SetSkyColor is 100% matching * Annotate MxPalette members' offsets * Annotate the global default aplette * use hex size * remove unnecessary variable offset listing * Update LEGO1/mxpalette.cpp --------- Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com> Co-authored-by: Christian Semmler <mail@csemmler.com> Co-authored-by: ktkaufman03 <ktkaufman@wpi.edu> Co-authored-by: MattKC <34096995+itsmattkc@users.noreply.github.com>
56 lines
947 B
C++
56 lines
947 B
C++
#include "mxvideomanager.h"
|
|
|
|
// OFFSET: LEGO1 0x100be2a0 STUB
|
|
MxVideoManager::~MxVideoManager()
|
|
{
|
|
// TODO
|
|
}
|
|
|
|
// OFFSET: LEGO1 0x100bea90 STUB
|
|
MxLong MxVideoManager::Tickle()
|
|
{
|
|
// TODO
|
|
|
|
return 0;
|
|
}
|
|
|
|
// OFFSET: LEGO1 0x100be1f0
|
|
MxVideoManager::MxVideoManager()
|
|
{
|
|
Init();
|
|
}
|
|
|
|
// OFFSET: LEGO1 0x100be320
|
|
int MxVideoManager::Init()
|
|
{
|
|
this->m_pDirectDraw = NULL;
|
|
this->m_unk54 = NULL;
|
|
this->m_unk58 = NULL;
|
|
this->m_unk5c = 0;
|
|
this->m_videoParam.SetPalette(NULL);
|
|
this->m_unk60 = FALSE;
|
|
return 0;
|
|
}
|
|
|
|
// OFFSET: LEGO1 0x100bea60 STUB
|
|
void MxVideoManager::InvalidateRect(MxRect32 &p_rect)
|
|
{
|
|
// TODO
|
|
}
|
|
|
|
// OFFSET: LEGO1 0x100bebe0
|
|
MxLong MxVideoManager::RealizePalette(MxPalette *p_palette)
|
|
{
|
|
PALETTEENTRY paletteEntries[256];
|
|
|
|
this->m_criticalSection.Enter();
|
|
|
|
if (p_palette && this->m_videoParam.GetPalette())
|
|
{
|
|
p_palette->GetEntries(paletteEntries);
|
|
// TODO
|
|
}
|
|
|
|
this->m_criticalSection.Leave();
|
|
return 0;
|
|
}
|