mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-28 02:31:15 +00:00
Some WIP rect
This commit is contained in:
parent
b4b73465d0
commit
3b3f47aa0d
@ -695,6 +695,52 @@ MxResult Start(MxDSAction* p_dsAction)
|
||||
return MxOmni::GetInstance()->Start(p_dsAction);
|
||||
}
|
||||
|
||||
// Probably should be somewhere else
|
||||
// FUNCTION: LEGO1 0x100b6e10
|
||||
MxBool FUN_100b6e10(
|
||||
MxS32 p_bitmapWidth,
|
||||
MxS32 p_bitmapHeight,
|
||||
MxS32 p_videoParamWidth,
|
||||
MxS32 p_videoParamHeight,
|
||||
MxS32* p_left,
|
||||
MxS32* p_top,
|
||||
MxS32* p_right,
|
||||
MxS32* p_bottom,
|
||||
MxS32* p_width,
|
||||
MxS32* p_height
|
||||
)
|
||||
{
|
||||
MxPoint32 topLeft(*p_left, *p_top);
|
||||
MxRect32 bitmapRect(MxPoint32(0, 0), MxSize32(p_bitmapWidth, p_bitmapHeight));
|
||||
|
||||
MxPoint32 bottomRight(*p_right, *p_bottom);
|
||||
MxRect32 videoParamRect(MxPoint32(0, 0), MxSize32(p_videoParamWidth, p_videoParamHeight));
|
||||
|
||||
MxRect32 rect(0, 0, *p_width, *p_height);
|
||||
rect.AddPoint(topLeft);
|
||||
|
||||
if (!rect.IntersectsWith(bitmapRect))
|
||||
return FALSE;
|
||||
|
||||
rect.Intersect(bitmapRect);
|
||||
rect.SubtractPoint(topLeft);
|
||||
rect.AddPoint(bottomRight);
|
||||
|
||||
if (!rect.IntersectsWith(videoParamRect))
|
||||
return FALSE;
|
||||
rect.Intersect(videoParamRect);
|
||||
rect.SubtractPoint(bottomRight);
|
||||
|
||||
*p_left += rect.GetLeft();
|
||||
*p_top += rect.GetTop();
|
||||
*p_right += rect.GetLeft();
|
||||
*p_bottom += rect.GetTop();
|
||||
*p_width = rect.GetWidth();
|
||||
*p_height = rect.GetHeight();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100b6ff0
|
||||
void MakeSourceName(char* p_output, const char* p_input)
|
||||
{
|
||||
|
||||
@ -166,6 +166,19 @@ void FUN_10015820(MxU32, MxU32);
|
||||
LegoEntity* FindEntityByAtomIdOrEntityId(const MxAtomId& p_atom, MxS32 p_entityid);
|
||||
MxDSAction& GetCurrentAction();
|
||||
|
||||
MxBool FUN_100b6e10(
|
||||
MxS32 p_bitmapWidth,
|
||||
MxS32 p_bitmapHeight,
|
||||
MxS32 p_videoParamWidth,
|
||||
MxS32 p_videoParamHeight,
|
||||
MxS32* p_left,
|
||||
MxS32* p_top,
|
||||
MxS32* p_right,
|
||||
MxS32* p_bottom,
|
||||
MxS32* p_width,
|
||||
MxS32* p_height
|
||||
);
|
||||
|
||||
void PlayMusic(MxU32 p_index);
|
||||
void SetIsWorldActive(MxBool p_isWorldActive);
|
||||
void RegisterScripts();
|
||||
|
||||
@ -56,6 +56,14 @@ class MxRect32 {
|
||||
this->m_bottom += p_point.GetY();
|
||||
}
|
||||
|
||||
inline void SubtractPoint(const MxPoint32& p_point)
|
||||
{
|
||||
this->m_left -= p_point.GetX();
|
||||
this->m_top -= p_point.GetY();
|
||||
this->m_right -= p_point.GetX();
|
||||
this->m_bottom -= p_point.GetY();
|
||||
}
|
||||
|
||||
inline void SetSize(const MxSize32& p_size)
|
||||
{
|
||||
this->m_right = p_size.GetWidth();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user