1
0
mirror of https://github.com/jummy0/sb2-decomp synced 2025-03-14 20:23:30 +01:00
This commit is contained in:
jummy 2024-09-12 12:48:11 -05:00
parent e08b2248ad
commit 52f2b79b44
9 changed files with 614 additions and 424 deletions

View File

@ -310,7 +310,7 @@ void CDecor::BlupiStep()
int m_blupiSpeedX = 0; //
int m_blupiSpeedY = 0; // lol. lmao even
POINT tinyPoint;
POINT tinyPoint2;
POINT tinyPoint2 = m_blupiPos; // = m_blupiPos ?
BlupiAdjust();
//m_blupiLastPos = m_blupiPos;
POINT tinyPoint3 = m_blupiPos;
@ -386,7 +386,7 @@ void CDecor::BlupiStep()
rect.bottom = tinyPoint3.y + 20;
BOOL flag5 = DecorDetect(rect);
int detectIcon = m_detectIcon;
if (!m_blupiAir && !m_blupiHelico && !m_blupiOver && !m_blupiBalloon && !m_blupiEcrase && !m_blupiJeep && !m_blupiTank && !m_blupiNage && !m_blupiSurf && !m_blupiSuspend && flag4 && m_blupiFocus)
if (!m_blupiAir && !m_blupiHelico && !m_blupiOver && !m_blupiBalloon && !m_blupiEcrase && !m_blupiJeep && !m_blupiTank && !m_blupiNage && !m_blupiSurf && !m_blupiSuspend && flag5 && m_blupiFocus)
{
if (m_blupiFocus)
{
@ -2220,7 +2220,7 @@ void CDecor::BlupiStep()
PlaySound(35, tinyPoint3);
}
}
if ( !m_blupiHelico && !m_blupiOver && !m_blupiBalloon && !m_blupiEcrase && !m_blupiTank && !m_blupiJeep && !m_blupiSkate && !flag4 && m_blupiTransport == -1 && m_blupiFocus)
if ( !m_blupiHelico && !m_blupiOver && !m_blupiBalloon && !m_blupiEcrase && !m_blupiTank && !m_blupiJeep && !m_blupiSkate /*&& !flag4*/ && m_blupiTransport == -1 && m_blupiFocus)
{
if (m_blupiDynamite > 0)
{
@ -4066,7 +4066,7 @@ BOOL CDecor::DecorDetect(RECT rect, BOOL bCaisse)
src.top = i * 16;
src.bottom = src.top + 16;
RECT tinyRect;
if (IntersectRect(tinyRect, src, rect))
if (IntersectRect(&tinyRect, &src, &rect))
{
m_detectIcon = icon;
return TRUE;
@ -4089,7 +4089,7 @@ BOOL CDecor::DecorDetect(RECT rect, BOOL bCaisse)
src.top = m_moveObject[num8].posCurrent.y;
src.bottom = m_moveObject[num8].posCurrent.y + 64;
RECT tinyRect;
if (IntersectRect(tinyRect, src, rect))
if (IntersectRect(&tinyRect, &src, &rect))
{
m_detectIcon = m_moveObject[num8].icon;
return TRUE;

View File

@ -493,7 +493,7 @@ void CDecor::MoveObjectStepLine(int i)
tinyRect.top = m_moveObject[i].posCurrent.y;
tinyRect.bottom = m_moveObject[i].posCurrent.y + 16;
RECT tinyRect2;
flag = IntersectRect(tinyRect2, tinyRect, src);
flag = IntersectRect(&tinyRect2, &tinyRect, &src);
tinyPoint = m_moveObject[i].posCurrent;
}
POINT posCurrent;
@ -1553,7 +1553,7 @@ void CDecor::DynamiteStart(int i, int dx, int dy)
src2.top = m_moveObject[i].posCurrent.y;
src2.bottom = m_moveObject[i].posCurrent.y + 20;
RECT tinyRect;
if (IntersectRect(tinyRect, src2, src))
if (IntersectRect(&tinyRect, &src2, &src))
{
if (m_moveObject[i].type == 12)
{
@ -1617,7 +1617,7 @@ int CDecor::AscenseurDetect(RECT rect, POINT oldpos, POINT newpos)
if (num < 30)
{
RECT tinyRect;
if (IntersectRect(tinyRect, src, rect))
if (IntersectRect(&tinyRect, &src, &rect))
{
return i;
}
@ -1630,7 +1630,7 @@ int CDecor::AscenseurDetect(RECT rect, POINT oldpos, POINT newpos)
for (int j = 0; j <= num / 30; j++)
{
RECT tinyRect;
if (IntersectRect(tinyRect, src, src2))
if (IntersectRect(&tinyRect, &src, &src2))
{
return i;
}
@ -1772,7 +1772,7 @@ void CDecor::SearchLinkCaisse(int rank, BOOL bPop)
src2.right = src2.left + 64 + 1;
src2.bottom = src2.top + 64 + 1;
RECT tinyRect;
if (IntersectRect(tinyRect, src2, src) && AddLinkCaisse(num2))
if (IntersectRect(&tinyRect, &src2, &src) && AddLinkCaisse(num2))
{
flag = TRUE;
}
@ -1895,7 +1895,7 @@ int CDecor::MockeryDetect(POINT pos)
src2.top = m_moveObject[i].posCurrent.y + 36;
src2.bottom = m_moveObject[i].posCurrent.y + 60;
RECT tinyRect;
if (IntersectRect(tinyRect, src2, src))
if (IntersectRect(&tinyRect, &src2, &src))
{
if (m_moveObject[i].type == 54)
{
@ -1948,7 +1948,7 @@ BOOL CDecor::BlupiElectro(POINT pos)
src2.top = m_blupiPos.y + 11 - 40;
src2.bottom = m_blupiPos.y + 60 - 2 + 40;
RECT tinyRect;
return IntersectRect(tinyRect, src, src2);
return IntersectRect(&tinyRect, &src, &src2);
}
void CDecor::MoveObjectFollow(POINT pos)
@ -1970,7 +1970,7 @@ void CDecor::MoveObjectFollow(POINT pos)
src2.top = m_moveObject[i].posCurrent.y - 100;
src2.bottom = m_moveObject[i].posCurrent.y + 60 + 100;
RECT tinyRect;
if (IntersectRect(tinyRect, src2, src))
if (IntersectRect(&tinyRect, &src2, &src))
{
m_moveObject[i].type = 97;
PlaySound(92, m_moveObject[i].posCurrent);
@ -2031,7 +2031,7 @@ int CDecor::MoveAscenseurDetect(POINT pos, int height)
src2.top = m_moveObject[i].posCurrent.y;
src2.bottom = m_moveObject[i].posCurrent.y + 16;
RECT tinyRect;
if (IntersectRect(tinyRect, src2, src))
if (IntersectRect(&tinyRect, &src2, &src))
{
return i;
}
@ -2057,7 +2057,7 @@ int CDecor::MoveChargeDetect(POINT pos)
src2.top = m_moveObject[i].posCurrent.y + 36;
src2.bottom = m_moveObject[i].posCurrent.y + 60;
RECT tinyRect;
if (IntersectRect(tinyRect, src2, src))
if (IntersectRect(&tinyRect, &src2, &src))
{
return i;
}
@ -2083,7 +2083,7 @@ int CDecor::MovePersoDetect(POINT pos)
src2.top = m_moveObject[i].posCurrent.y + 36;
src2.bottom = m_moveObject[i].posCurrent.y + 60;
RECT tinyRect;
if (IntersectRect(tinyRect, src2, src))
if (IntersectRect(&tinyRect, &src2, &src))
{
return i;
}

View File

@ -481,7 +481,7 @@ enum {
WM_BUTTON38,
WM_BUTTON39,
WM_DIMS1,
WM_DIMS1 = WM_USER + 241,
WM_DIMS2,
WM_DIMS3,
WM_DIMS4,
@ -522,58 +522,58 @@ enum {
WM_PHASE_PLAYMOVIE,
WM_PHASE_WINMOVIE,
WM_PHASE_1539,
WM_PHASE_DOPLAY,
WM_PHASE_DOPLAY, // do singleplayer
WM_PHASE_LASTWIN, // PB vestige
WM_PHASE_SETUPp,
WM_PHASE_REGION,
WM_PHASE_INSERT,
WM_PHASE_1544,
WM_PHASE_QUITPLAYTEST,
WM_PHASE_GAMER,
WM_PHASE_WINDESIGN,
WM_PHASE_LOSTDESIGN,
WM_PHASE_WINMOVIEDESIGN,
WM_PHASE_WINMULTI,
WM_PHASE_LOSTMULTI,
WM_PHASE_WINMULTI,
WM_PHASE_WINMOVIEMULTI,
WM_PHASE_TESTCD,
WM_PHASE_MANUEL,
WM_PHASE_PRIVATE,
WM_PHASE_UNDO,
WM_PHASE_UNDO, // PB vestige
WM_PHASE_BYE,
WM_PHASE_DEMO,
WM_PHASE_NAMEDESIGN,
WM_PHASE_WRITEDESIGN,
WM_PHASE_READDESIGN,
WM_PHASE_WRITEDESIGN, // export design to c:\user
WM_PHASE_READDESIGN, // import design from c:\user
WM_PHASE_CLEARDESIGN,
WM_PHASE_DONAMEGAMER,
WM_PHASE_DOCLEARGAMER,
WM_PHASE_DONAMEDESIGN,
WM_PHASE_1565,
WM_PHASE_1566,
WM_PHASE_DOWRITEDESIGN,
WM_PHASE_DOREADDESIGN,
WM_PHASE_DOCLEARDESIGN,
WM_PHASE_SERVICE,
WM_PHASE_DPLAY_DO_SERVICE,
WM_PHASE_DPLAY_CANCEL_SERVICE,
WM_PHASE_DP_DOSERVICE,
WM_PHASE_DP_CANCELSERVICE,
WM_PHASE_SESSION,
WM_PHASE_1572,
WM_PHASE_DPLAY_CREATE_LOBBY,
WM_PHASE_DPLAY_REFRESH,
WM_PHASE_DPLAY_CANCEL_SESSION,
WM_PHASE_DP_JOIN,
WM_PHASE_DP_CREATELOBBY,
WM_PHASE_DP_REFRESH,
WM_PHASE_DP_CANCELSESSION,
WM_PHASE_MULTI,
WM_PHASE_DPLAY_START_GAME_2,
WM_PHASE_DPLAY_CANCEL_MULTI,
WM_PHASE_DP_STARTMULTI,
WM_PHASE_DP_CANCELMULTI,
WM_PHASE_CREATE,
WM_PHASE_DPLAY_CREATE,
WM_PHASE_DPLAY_CANCEL_CREATE,
WM_PHASE_STOP,
WM_PHASE_DP_DOCREATE,
WM_PHASE_DP_CANCELCREATE,
WM_PHASE_STOP, // escape key pause menu during gameplay
WM_PHASE_HELP,
WM_PHASE_GWRITE,
WM_PHASE_GREADp,
WM_PHASE_GREAD,
WM_PHASE_DOQUIT,
WM_PHASE_QUITPLAY,
WM_PHASE_1588,
WM_PHASE_INTRO1, // PB vestige
WM_PHASE_INTRO2, // PB vestige
WM_PHASE_INTRO1,
WM_PHASE_INTRO2,
WM_PREV = WM_USER + 600,
WM_NEXT,

File diff suppressed because it is too large Load Diff

View File

@ -186,7 +186,9 @@ protected:
void MouseRelease();
void MouseCapture();
BOOL FUN_1fbd0();
void DrawMap();
BOOL CheckCDForWorld1();
void NetAdjustLobbyButtons();
protected:
@ -274,7 +276,7 @@ protected:
BOOL m_bDemoPlay;
DemoEvent* m_pDemoBuffer;
int m_demoTime;
int m_input;
int m_keyPress;
int m_demoIndex;
int m_demoEnd;
int m_demoNumber;

View File

@ -89,21 +89,6 @@ int Random(int min, int max)
return (int)n;
}
BOOL IntersectRect(RECT dst, RECT src1, RECT src2)
{
dst.left = max(src1.left, src2.left);
dst.right = min(src1.right, src2.right);
dst.top = max(src1.top, src2.top);
dst.bottom = min(src1.bottom, src2.bottom);
return IsRectEmpty(&dst);
}
BOOL IsRectEmpty(RECT rect)
{
return rect.left >= rect.right || rect.top >= rect.bottom;
}
void GetCurrentDir(char *pName, int lg)
{
int i;

View File

@ -13,8 +13,6 @@ extern POINT ConvLongToPos(LPARAM lParam);
extern void InitRandom();
extern int Random(int min, int max);
extern BOOL IntersectRect(RECT dst, RECT src1, RECT src2);
extern BOOL IsRectEmpty(RECT rect);
extern void GetCurrentDir(char *pName, int lg);
extern void AddCDPath(char *pFilename);

View File

@ -1696,7 +1696,7 @@ void CPixmap::MouseBackDraw()
}
// Dessine le lutin dans m_lpDDSBack.
BltFast(m_lpDDSBack, CHELEMENT, dst, rcRect, 1);
BltFast(m_lpDDSBack, CHELEMENT, dst, rcRect, 0);
}
// Sauve le fond sous la souris.
@ -1786,18 +1786,18 @@ void CPixmap::MouseBackRestore()
rcRect.left -= dst.x;
dst.x = 0;
}
if ( dst.x+DIMBLUPIX > LXIMAGE )
if ( dst.x+ rcRect.right - rcRect.left > LXIMAGE )
{
rcRect.right -= (dst.x+DIMBLUPIX)-LXIMAGE;
rcRect.right -= (dst.x+ rcRect.right - rcRect.left)-LXIMAGE;
}
if ( dst.y < 0 )
{
rcRect.top -= dst.y;
dst.y = 0;
}
if ( dst.y+DIMBLUPIY > LYIMAGE )
if ( dst.y+ rcRect.top - rcRect.bottom > LYIMAGE )
{
rcRect.bottom -= (dst.y+DIMBLUPIY)-LYIMAGE;
rcRect.bottom -= (dst.y+ rcRect.top - rcRect.bottom)-LYIMAGE;
}
while( TRUE )

View File

@ -579,7 +579,7 @@ BOOL CSound::PlayMusic(HWND hWnd, int music)
// MCI will attempt to choose the MIDI mapper as the output port.
mciOpenParms.dwCallback = 0;
mciOpenParms.wDeviceID = 0;
mciOpenParms.lpstrDeviceType = (LPSTR)MCI_DEVTYPE_SEQUENCER;
mciOpenParms.lpstrDeviceType = "sequencer";
mciOpenParms.lpstrElementName = string;
dwReturn = mciSendCommand(NULL,
MCI_OPEN,
@ -704,7 +704,7 @@ BOOL CSound::PlayCDAudio(HWND hWnd, int track)
mciOpenParms.dwCallback = 0;
mciOpenParms.wDeviceID = 0;
mciOpenParms.lpstrAlias = NULL;
mciOpenParms.lpstrDeviceType = (LPSTR)MCI_DEVTYPE_CD_AUDIO;
mciOpenParms.lpstrDeviceType = "cdaudio";
dwReturn = mciSendCommand(0,
MCI_OPEN,
MCI_OPEN_TYPE_ID | MCI_OPEN_TYPE,