From 69f38d3524fbb0b428b877e4c3d6136393ed9244 Mon Sep 17 00:00:00 2001 From: jummy Date: Sat, 7 Sep 2024 14:32:38 -0500 Subject: [PATCH] IT COMPILED clap emoji clap emoji clap emoji clap emoji clap emoji clap emoji clap emoji clap emoji clap emoji clap emoji clap emoji clap emoji clap emoji clap emoji clap emoji clap emoji clap emoji clap emoji clap emoji clap emoji clap emoji clap emoji clap emoji clap emoji clap emoji clap emoji clap emoji --- Speedy Eggbert 2 Source.vcxproj | 22 +- src/decdesign.cpp | 4 + src/decmove.cpp | 166 +++++---- src/decor.cpp | 5 + src/decor.h | 4 +- src/dectables.h | 610 ++++---------------------------- 6 files changed, 195 insertions(+), 616 deletions(-) diff --git a/Speedy Eggbert 2 Source.vcxproj b/Speedy Eggbert 2 Source.vcxproj index 8c66b5a..e389686 100644 --- a/Speedy Eggbert 2 Source.vcxproj +++ b/Speedy Eggbert 2 Source.vcxproj @@ -30,27 +30,27 @@ Application true v140_xp - Unicode + NotSet Application false v140_xp true - Unicode + NotSet Application true v140_xp - Unicode + NotSet Application false v140_xp true - Unicode + NotSet @@ -87,6 +87,9 @@ dxsdk3\sdk\lib;%(AdditionalLibraryDirectories) false kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + UseFastLinkTimeCodeGeneration + true + UndefinedSymbolOnly @@ -101,11 +104,12 @@ UNICODE;_UNICODE - Console + Windows true true true dxsdk3\sdk\lib;%(AdditionalLibraryDirectories) + UndefinedSymbolOnly @@ -118,9 +122,12 @@ UNICODE;_UNICODE - Console + Windows true dxsdk3\sdk\lib;%(AdditionalLibraryDirectories) + UseFastLinkTimeCodeGeneration + true + UndefinedSymbolOnly @@ -135,11 +142,12 @@ UNICODE;_UNICODE - Console + Windows true true true dxsdk3\sdk\lib;%(AdditionalLibraryDirectories) + UndefinedSymbolOnly diff --git a/src/decdesign.cpp b/src/decdesign.cpp index 1a9f441..a524756 100644 --- a/src/decdesign.cpp +++ b/src/decdesign.cpp @@ -370,6 +370,7 @@ void CDecor::PlaceItemFromMenu6(POINT cel, int index, BYTE flags, int currentIco case 10: // Moving bomb case 11: // Heliported ennemy case 12: // Motorized ennemy + break; } } @@ -604,6 +605,7 @@ void CDecor::PlaceItemFromMenu8(POINT cel, int index, BYTE flags, int currentIco case 7: // Fragile bridge case 8: // Wooden case case 9: // Secret wooden case + break; } } @@ -621,6 +623,7 @@ void CDecor::PlaceItemFromMenu9(POINT cel, int index, BYTE flags, int currentIco case 2: // Skateboard case 3: // Jeep case 4: // Glue tank + break; } } @@ -641,6 +644,7 @@ void CDecor::PlaceItemFromMenu10(POINT cel, int index, BYTE flags, int currentIc case 5: // Door case 6: // Level start case 7: // Key + break; } } diff --git a/src/decmove.cpp b/src/decmove.cpp index 26707a0..3e6dea4 100644 --- a/src/decmove.cpp +++ b/src/decmove.cpp @@ -145,13 +145,13 @@ void CDecor::MoveObjectBlup(POINT pos) POINT tinyPoint = pos; while (tinyPoint.y > 0) { - int icon = m_decor[(tinyPoint.x + 16) / 64, tinyPoint.y / 64].icon; + int icon = m_decor[(tinyPoint.x + 16) / DIMOBJX][tinyPoint.y / DIMOBJY].icon; if (icon != 91 && icon != 92) { break; } num++; - tinyPoint.y -= 64; + tinyPoint.y -= DIMOBJY; } num--; if (num <= 0) @@ -169,7 +169,7 @@ void CDecor::MoveObjectBlup(POINT pos) m_moveObject[num2].posCurrent.y = pos.y; m_moveObject[num2].posStart = m_moveObject[num2].posCurrent; m_moveObject[num2].posEnd.x = pos.x; - m_moveObject[num2].posEnd.y = pos.y - num * 64; + m_moveObject[num2].posEnd.y = pos.y - num * DIMOBJY; m_moveObject[num2].timeStopStart = 0; m_moveObject[num2].stepAdvance = num * 10; m_moveObject[num2].step = 2; @@ -200,12 +200,9 @@ void CDecor::SetBalleTraj(POINT pos) BOOL CDecor::IsBalleTraj(POINT pos) { - pos.x = (pos.x + 32) / 64; - pos.y = (pos.y + 32) / 64; - if (pos.x < 0 || pos.x >= 100 || pos.y < 0 || pos.y >= 100) - { - return FALSE; - } + pos.x = (pos.x + DIMOBJX / 2) / DIMOBJX; + pos.y = (pos.y + DIMOBJY / 2) / DIMOBJY; + if (!IsValidCel(pos)) return FALSE; int num = pos.y * 13; num += pos.x / 8; int num2 = pos.x & 7; @@ -309,19 +306,24 @@ void CDecor::StartSploutchGlu(POINT pos) PlaySound(51, pos); } -int CDecor::ObjectStart(POINT pos, int type, int speed) +BOOL CDecor::ObjectStart(POINT pos, int type, int speed) +{ + return ObjectStart(pos, type, speed, FALSE); +} + +BOOL CDecor::ObjectStart(POINT pos, int type, int speed, BOOL bMulti) { int num = MoveObjectFree(); if (num == -1) { - return -1; + return FALSE; } m_moveObject[num].type = type; m_moveObject[num].phase = 0; m_moveObject[num].posCurrent = pos; m_moveObject[num].posStart = pos; m_moveObject[num].posEnd = pos; - MoveObjectStopIcon(num); + MoveObjectStepIcon(num); if (speed != 0) { POINT tinyPoint = pos; @@ -363,10 +365,10 @@ int CDecor::ObjectStart(POINT pos, int type, int speed) } if (num3 == 0) { - if (type == 23) + if (type == TYPE_BALLE) { m_moveObject[num].type = 0; - return num; + return TRUE; } } else @@ -374,12 +376,22 @@ int CDecor::ObjectStart(POINT pos, int type, int speed) m_moveObject[num].posEnd = tinyPoint; m_moveObject[num].timeStopStart = 0; m_moveObject[num].stepAdvance = abs(num2 * num3 / 64); - m_moveObject[num].step = 2; + m_moveObject[num].step = STEP_ADVANCE; m_moveObject[num].time = 0; } } MoveObjectPriority(num); - return num; + if (bMulti) + { + NetMessage msg; + msg.data1 = speed; + msg.type = MESS_OBJECTSTART; + msg.x = pos.x; + msg.y = pos.y; + msg.channel = type; + NetMessagePush(&msg); + } + return TRUE; } BOOL CDecor::ObjectDelete(POINT pos, int type) @@ -420,8 +432,7 @@ BOOL CDecor::ObjectDelete(POINT pos, int type) void CDecor::MoveObjectStep() { - m_blupiVector.x = 0; - m_blupiVector.y = 0; + m_blupiVector = { 0, 0 }; m_blupiTransport = -1; for (int i = 0; i < MAXMOVEOBJECT; i++) { @@ -429,34 +440,36 @@ void CDecor::MoveObjectStep() { MoveObjectStepLine(i); MoveObjectStepIcon(i); - if (m_moveObject[i].type == 4 || - m_moveObject[i].type == 33 || - m_moveObject[i].type == 32) + if (m_moveObject[i].type == TYPE_BULLDOZER || + m_moveObject[i].type == TYPE_BLUPITANK || + m_moveObject[i].type == TYPE_BLUPIHELICO) + { int num = MovePersoDetect(m_moveObject[i].posCurrent); - if (num != -1) - { - POINT posCurrent = m_moveObject[i].posCurrent; - posCurrent.x -= 34; - posCurrent.y -= 34; - ObjectStart(posCurrent, 8, 0); - PlaySound(10, m_moveObject[i].posCurrent); - m_decorAction = 1; - m_decorPhase = 0; - posCurrent = m_moveObject[i].posCurrent; - posCurrent.x += 2; - posCurrent.y += BLUPIOFFY; - ObjectDelete(m_moveObject[i].posCurrent, m_moveObject[i].type); - ObjectStart(posCurrent, 37, 0); - ObjectDelete(m_moveObject[num].posCurrent, m_moveObject[num].type); - } - if (BlupiElectro(m_moveObject[i].posCurrent)) - { - POINT posCurrent = m_moveObject[i].posCurrent; - posCurrent.x += 2; - posCurrent.y += BLUPIOFFY; - ObjectDelete(m_moveObject[i].posCurrent, m_moveObject[i].type); - ObjectStart(posCurrent, 38, 55); - PlaySound(59, posCurrent); + if (num != -1) + { + POINT posCurrent = m_moveObject[i].posCurrent; + posCurrent.x -= 34; + posCurrent.y -= 34; + ObjectStart(posCurrent, TYPE_EXPLO1, 0, TRUE); + PlaySound(10, m_moveObject[i].posCurrent); + m_decorAction = 1; + m_decorPhase = 0; + posCurrent = m_moveObject[i].posCurrent; + posCurrent.x += 2; + posCurrent.y += BLUPIOFFY; + ObjectDelete(m_moveObject[i].posCurrent, m_moveObject[i].type); + ObjectStart(posCurrent, 37, 0); + ObjectDelete(m_moveObject[num].posCurrent, m_moveObject[num].type); + } + if (BlupiElectro(m_moveObject[i].posCurrent)) + { + POINT posCurrent = m_moveObject[i].posCurrent; + posCurrent.x += 2; + posCurrent.y += BLUPIOFFY; + ObjectDelete(m_moveObject[i].posCurrent, m_moveObject[i].type); + ObjectStart(posCurrent, 38, 55); + PlaySound(59, posCurrent); + } } } } @@ -542,7 +555,7 @@ void CDecor::MoveObjectStepLine(int i) { if (m_moveObject[i].posCurrent.x != m_moveObject[i].posEnd.x || m_moveObject[i].posCurrent.x != m_moveObject[i].posEnd.y) { - m_moveObject[i].time = moveOm_moveObjectbject2[i].time + 1; + m_moveObject[i].time ++; if (m_moveObject[i].stepAdvance != 0) { m_moveObject[i].posCurrent.x = (m_moveObject[i].posEnd.x - m_moveObject[i].posStart.x) * m_moveObject[i].time / m_moveObject[i].stepAdvance + m_moveObject[i].posStart.x; @@ -571,7 +584,7 @@ void CDecor::MoveObjectStepLine(int i) { if (m_moveObject[i].time < m_moveObject[i].timeStopEnd) { - m_moveObject[i].time = moveObject3[i].time + 1; + m_moveObject[i].time ++; } else { @@ -583,7 +596,7 @@ void CDecor::MoveObjectStepLine(int i) { if (m_moveObject[i].posCurrent.x != m_moveObject[i].posStart.x || m_moveObject[i].posCurrent.y != m_moveObject[i].posStart.y) { - m_moveObject[i].time = moveObject4[i].time + 1; + m_moveObject[i].time ++; if (m_moveObject[i].stepRecede != 0) { m_moveObject[i].posCurrent.x = (m_moveObject[i].posStart.x - m_moveObject[i].posEnd.x) * @@ -836,7 +849,7 @@ void CDecor::MoveObjectStepIcon(int i) } if (m_moveObject[i].type == 8) { - if (m_moveObject[i].phase >= table_explo1->length) + if (m_moveObject[i].phase >= table_explo1[0]) { m_moveObject[i].type = 0; } @@ -978,7 +991,6 @@ void CDecor::MoveObjectStepIcon(int i) m_moveObject[i].channel = 9; } } - TinyPoint pos; if (m_moveObject[i].type == 52) { if (m_moveObject[i].phase == 0) @@ -1479,8 +1491,7 @@ void CDecor::MoveObjectStepIcon(int i) m_moveObject[i].icon = 178; m_moveObject[i].channel = 10; } - MoveObject[] moveObject = m_moveObject; - moveObject[i].phase = moveObject[i].phase + 1; + m_moveObject[i].phase ++; if (m_moveObject[i].phase > 32700) { m_moveObject[i].phase = 0; @@ -1514,7 +1525,7 @@ void CDecor::DynamiteStart(int i, int dx, int dy) { if (tinyPoint.x >= 0 && tinyPoint.x < 100 && tinyPoint.y >= 0 && tinyPoint.y < 100) { - int icon = m_decor[tinyPoint.x, tinyPoint.y].icon; + int icon = m_decor[tinyPoint.x][tinyPoint.y].icon; if (icon == 378 || icon == 379 || icon == 404 || icon == 410) { POINT pos; @@ -1553,11 +1564,10 @@ void CDecor::DynamiteStart(int i, int dx, int dy) int icon2 = m_moveObject[m_linkCaisse[l]].icon; POINT posCurrent = m_moveObject[m_linkCaisse[l]].posCurrent; double num = (double)Random(7, 23); - if (m_random->next(0, 100) % 2 == 0) + if (rand() % 2 == 0) { num = -num; } - ByeByeAdd(channel, icon2, posCurrent, num, 1.0); m_moveObject[m_linkCaisse[l]].type = 0; } ObjectDelete(m_moveObject[i].posCurrent, m_moveObject[i].type); @@ -1636,29 +1646,30 @@ int CDecor::AscenseurDetect(RECT rect, POINT oldpos, POINT newpos) void CDecor::AscenseurVertigo(int i, BOOL* pbVertigoLeft, BOOL* pbVertigoRight) { - pbVertigoLeft = FALSE; - pbVertigoRight = FALSE; + *pbVertigoLeft = FALSE; + + *pbVertigoRight = FALSE; if (m_blupiPos.x + 20 + 4 < m_moveObject[i].posCurrent.x) { - pbVertigoLeft = TRUE; + *pbVertigoLeft = TRUE; } if (m_blupiPos.x + 60 - 20 - 4 > m_moveObject[i].posCurrent.x + 64) { - pbVertigoRight = TRUE; + *pbVertigoRight = TRUE; } if (AscenseurShift(i)) { - if (pbVertigoLeft) + if (*pbVertigoLeft) { - pbVertigoLeft = FALSE; - pbVertigoRight = TRUE; + *pbVertigoLeft = FALSE; + *pbVertigoRight = TRUE; m_blupiTimeNoAsc = 10; return; } - if (pbVertigoRight) + if (*pbVertigoRight) { - pbVertigoRight = FALSE; - pbVertigoLeft = TRUE; + *pbVertigoRight = FALSE; + *pbVertigoLeft = TRUE; m_blupiTimeNoAsc = 10; } } @@ -1722,14 +1733,15 @@ BOOL CDecor::TestPushCaisse(int i, POINT pos, BOOL bPop) BOOL CDecor::TestPushOneCaisse(int i, POINT move, int b) { - + // TODO + return FALSE; } void CDecor::SearchLinkCaisse(int rank, BOOL bPop) { m_nbLinkCaisse = 0; AddLinkCaisse(rank); - POINT posCurrent = m_moveObject; + POINT posCurrent = m_moveObject[rank].posCurrent; BOOL flag; do @@ -1740,15 +1752,15 @@ void CDecor::SearchLinkCaisse(int rank, BOOL bPop) int num = m_linkCaisse[i]; if (m_moveObject[num].posCurrent.y <= posCurrent.y && (!bPop || (m_moveObject - [num].posCurrent.x >= posCurrent.x - 32 && + [num].posCurrent.x >= posCurrent.x - DIMOBJX / 2 && m_moveObject[num].posCurrent.x <= - posCurrent.x + 32))) + posCurrent.x + DIMOBJX / 2))) { RECT src; src.left = m_moveObject[num].posCurrent.x - 1; src.top = m_moveObject[num].posCurrent.y - 1; - src.right = src.left + 64 + 1; - src.bottom = src.top + 64 + 1; + src.right = src.left + DIMOBJX + 1; + src.bottom = src.top + DIMOBJY + 1; for (int j = 0; j < m_nbRankCaisse; j++) { int num2 = m_rankCaisse[j]; @@ -1845,9 +1857,9 @@ int CDecor::MockeryDetect(POINT pos) POINT tinyPoint; tinyPoint.x = pos.x + 30; tinyPoint.y = pos.y + 30 + 64; - if (tinyPoint.x >= 0 && tinyPoint.x < 6400 && tinyPoint.y >= 0 && tinyPoint.y < 6400) + if (tinyPoint.x >= 0 && tinyPoint.x < DIMOBJX*MAXCELX && tinyPoint.y >= 0 && tinyPoint.y < DIMOBJY*MAXCELY) { - int icon = m_decor[tinyPoint.x / 64, tinyPoint.y / 64].icon; + int icon = m_decor[tinyPoint.x / DIMOBJX][tinyPoint.y / DIMOBJY].icon; if (icon == 68 || icon == 317) { return 64; @@ -1992,9 +2004,10 @@ int CDecor::MoveObjectDetect(POINT pos, BOOL* pbNear) m_moveObject[i].type != 12) { RECT src3; - + // TODO } } + return -1; } int CDecor::MoveAscenseurDetect(POINT pos, int height) @@ -2081,7 +2094,8 @@ int CDecor::MovePersoDetect(POINT pos) int CDecor::MoveBalleDetect(POINT pos) { - + // TODO + return -1; } int CDecor::MoveObjectDelete(POINT cel) @@ -2134,7 +2148,7 @@ int CDecor::SortGetType(int type) void CDecor::MoveObjectSort() { - MoveObject src = default(MoveObject); + MoveObject src; int num = 0; for (int i = 0; i < MAXMOVEOBJECT; i++) { diff --git a/src/decor.cpp b/src/decor.cpp index 3ae879e..028d5f3 100644 --- a/src/decor.cpp +++ b/src/decor.cpp @@ -27,6 +27,11 @@ inline BOOL IsValidCel(POINT cel) return cel.x >= 0 && cel.x < MAXCELX && cel.y >= 0 && cel.y < MAXCELY; } +inline void MoveObjectCopy(MoveObject src, MoveObject dest) +{ + memcpy(&dest, &src, sizeof(dest)); +} + inline void CDecor::StopVehicleSound() { StopSound(SOUND_HELICOHIGH); diff --git a/src/decor.h b/src/decor.h index 7b13bfa..9a38fd2 100644 --- a/src/decor.h +++ b/src/decor.h @@ -213,10 +213,11 @@ public: int SearchDistRight(POINT pos, POINT dir, int type); void StartSploutchGlu(POINT pos); BOOL ObjectStart(POINT pos, int type, int speed); + BOOL ObjectStart(POINT pos, int type, int speed, BOOL bMulti); BOOL ObjectDelete(POINT pos, int type); void MoveObjectStep(); void MoveObjectStepLine(int i); - void* MoveObjectStepIcon(int i); + void MoveObjectStepIcon(int i); void DynamiteStart(int i, int dx, int dy); int AscenseurDetect(RECT rect, POINT oldpos, POINT newpos); void AscenseurVertigo(int i, BOOL *pbVertigoLeft, BOOL *pbVertigoRight); @@ -430,4 +431,5 @@ protected: POINT GetCel(int x, int y); POINT GetCel(POINT cel, int x, int y); inline BOOL IsValidCel(POINT cel); +inline void MoveObjectCopy(MoveObject src, MoveObject dest); POINT GetVector(int direct); \ No newline at end of file diff --git a/src/dectables.h b/src/dectables.h index d83d9fb..9990daa 100644 --- a/src/dectables.h +++ b/src/dectables.h @@ -266,536 +266,52 @@ extern int table_cle[12] extern int table_cle1[12] { - 209, 210, 211, 212, 213, 214, 215, 214, 213, 212, - 211, 210 + 209, 210, 211, 212, 213, 214, 215, 214, 213, 212, 211, 210 }; extern int table_cle2[12] { - 220, 221, 222, 221, 220, 219, 218, 217, 216, 217, - 218, 219 + 220, 221, 222, 221, 220, 219, 218, 217, 216, 217, 218, 219 +}; + +extern int table_cle3[12] +{ + 229, 228, 227, 226, 225, 224, 223, 224, 225, 226, 227, 228 }; extern int table_decor_action[] { - 1, - 32, - -4, - 4, - 4, - -3, - -4, - 2, - 4, - 5, - -4, - -1, - 4, - 2, - -4, - -4, - 4, - -3, - -3, - 2, - 3, - 2, - -3, - -5, - 3, - 4, - -3, - 5, - 3, - -2, - -3, - 5, - 3, - 4, - -2, - -2, - 2, - 4, - -2, - -2, - 2, - -2, - -2, - -4, - 2, - 2, - -2, - -2, - 2, - -3, - -1, - -3, - 1, - -2, - -1, - -1, - 1, - 2, - -1, - -2, - 1, - -1, - -1, - 1, - 1, - 2, - 2, - 32, - -4, - 0, - 4, - 0, - -4, - 0, - 4, - 0, - -4, - 0, - 4, - 0, - -4, - 0, - 4, - 0, - -3, - 0, - 3, - 0, - -3, - 0, - 3, - 0, - -3, - 0, - 3, - 0, - -3, - 0, - 3, - 0, - -2, - 0, - 2, - 0, - -2, - 0, - 2, - 0, - -2, - 0, - 2, - 0, - -2, - 0, - 2, - 0, - -1, - 0, - 1, - 0, - -1, - 0, - 1, - 0, - -1, - 0, - 1, - 0, - -1, - 0, - 1, - 0, - 5, - 192, - 0, - -32, - 0, - 32, - 0, - -16, - 0, - 6, - 0, - -8, - 0, - 8, - 0, - -4, - 0, - 4, - 0, - -2, - 0, - 2, - -7, - 0, - -6, - 0, - -5, - 0, - -4, - 0, - -2, - 0, - 0, - 0, - 2, - 0, - 4, - 0, - 5, - 0, - 6, - 0, - 7, - 0, - 7, - 0, - 6, - 0, - 5, - 0, - 4, - 0, - 2, - 0, - 0, - 0, - -2, - 0, - -4, - 0, - -5, - 0, - -6, - 0, - -7, - 0, - -7, - 0, - -6, - 0, - -5, - 0, - -4, - 0, - -2, - 0, - 0, - 0, - 2, - 0, - 4, - 0, - 5, - 0, - 6, - 0, - 7, - 0, - 7, - 0, - 6, - 0, - 5, - 0, - 4, - 0, - 2, - 0, - 0, - 0, - -2, - 0, - -4, - 0, - -5, - 0, - -6, - 0, - -7, - 0, - -7, - 0, - -6, - 0, - -5, - 0, - -4, - 0, - -2, - 0, - 0, - 0, - 2, - 0, - 4, - 0, - 5, - 0, - 6, - 0, - 7, - 0, - 7, - 0, - 6, - 0, - 5, - 0, - 4, - 0, - 2, - 0, - 0, - 0, - -2, - 0, - -4, - 0, - -5, - 0, - -6, - 0, - -7, - 0, - -7, - 0, - -6, - 0, - -5, - 0, - -4, - 0, - -2, - 0, - 0, - 0, - 2, - 0, - 4, - 0, - 5, - 0, - 6, - 0, - 7, - 0, - 7, - 0, - 6, - 0, - 5, - 0, - 4, - 0, - 2, - 0, - 0, - 0, - -2, - 0, - -4, - 0, - -5, - 0, - -6, - 0, - -7, - 0, - -7, - 0, - -6, - 0, - -5, - 0, - -4, - 0, - -2, - 0, - 0, - 0, - 2, - 0, - 4, - 0, - 5, - 0, - 6, - 0, - 7, - 0, - 7, - 0, - 6, - 0, - 5, - 0, - 4, - 0, - 2, - 0, - 0, - 0, - -2, - 0, - -4, - 0, - -5, - 0, - -6, - 0, - -7, - 0, - -7, - 0, - -6, - 0, - -5, - 0, - -4, - 0, - -2, - 0, - 0, - 0, - 2, - 0, - 4, - 0, - 5, - 0, - 6, - 0, - 7, - 0, - 7, - 0, - 6, - 0, - 5, - 0, - 4, - 0, - 2, - 0, - 0, - 0, - -2, - 0, - -4, - 0, - -5, - 0, - -6, - 0, - -7, - 0, - -7, - 0, - -6, - 0, - -5, - 0, - -4, - 0, - -2, - 0, - 0, - 0, - 2, - 0, - 4, - 0, - 5, - 0, - 6, - 0, - 7, - 0, - 7, - 0, - 6, - 0, - 5, - 0, - 4, - 0, - 2, - 0, - 0, - 0, - -2, - 0, - -4, - 0, - -5, - 0, - -6, - 0, - -7, - 0, - -7, - 0, - -6, - 0, - -5, - 0, - -4, - 0, - -2, - 0, - 0, - 0, - 2, - 0, - 4, - 0, - 5, - 0, - 6, - 0, - 7, - 0, - 7, - 0, - 6, - 0, - 5, - 0, - 4, - 0, - 2, - 0, - 0, - 0, - -2, - 0, - -4, - 0, - -5, - 0, - -6, - 0, - -7, - 0, - -7, - 0, - -6, - 0, - -5, - 0, - -4, - 0, - -2, - 0, - -1, - 0, + 1,32, + -4,4, 4,-3, -4,2, 4,5, -4,-1, 4,2, -4,-4, 4,-3, -3,2, 3,2, + -3,-5, 3,4, -3,5, 3,-2, -3,5, 3,4, -2,-2, 2,4, -2,-2, 2,-2, + -2,-4, 2,2, -2,-2, 2,-3, -1,-3, 1,-2, -1,-1, 1,2, -1,-2, 1,-1, + -1,1, 1,2, + 2,32, + -4,0, 4,0, -4,0, 4,0, -4,0, 4,0, -4,0, 4,0, -3,0, 3,0, + -3,0, 3,0, -3,0, 3,0, -3,0, 3,0, -2,0, 2,0, -2,0, 2,0, + -2,0, 2,0, -2,0, 2,0, -1,0, 1,0, -1,0, 1,0, -1,0, 1,0, + -1,0, 1,0, + 5,192, + 0,-32, 0,32, 0,-16, 0,6, 0,-8, 0,8, 0,-4, 0,4, 0,-2, 0,2, + -7,0, -6,0, -5,0, -4,0, -2,0, 0,0, 2,0, 4,0, 5,0, 6,0, + 7,0, 7,0, 6,0, 5,0, 4,0, 2,0, 0,0, -2,0, -4,0, -5,0, + -6,0, -7,0, -7,0, -6,0, -5,0, -4,0, -2,0, 0,0, 2,0, 4,0, + 5,0, 6,0, 7,0, 7,0, 6,0, 5,0, 4,0, 2,0, 0,0, -2,0, -4,0, + -5,0, -6,0, -7,0, -7,0, -6,0, -5,0, -4,0, -2,0, 0,0, 2,0, + 4,0, 5,0, 6,0, 7,0, 7,0, 6,0, 5,0, 4,0, 2,0, 0,0, + -2,0, -4,0, -5,0, -6,0, -7,0, -7,0, -6,0, -5,0, -4,0, -2,0, + 0,0, 2,0, 4,0, 5,0, 6,0, 7,0, 7,0, 6,0, 5,0, 4,0, + 2,0, 0,0, -2,0, -4,0, -5,0, -6,0, -7,0, -7,0, -6,0, -5,0, + -4,0, -2,0, 0,0, 2,0, 4,0, 5,0, 6,0, 7,0, 7,0, 6,0, + 5,0, 4,0, 2,0, 0,0, -2,0, -4,0, -5,0, -6,0, -7,0, -7,0, + -6,0, -5,0, -4,0, -2,0, 0,0, 2,0, 4,0, 5,0, 6,0, 7,0, + 7,0, 6,0, 5,0, 4,0, 2,0, 0,0, -2,0, -4,0, -5,0, -6,0, + -7,0, -7,0, -6,0, -5,0, -4,0, -2,0, 0,0, 2,0, 4,0, 5,0, + 6,0, 7,0, 7,0, 6,0, 5,0, 4,0, 2,0, 0,0, -2,0, -4,0, + -5,0, -6,0, -7,0, -7,0, -6,0, -5,0, -4,0, -2,0, 0,0, 2,0, + 4,0, 5,0, 6,0, 7,0, 7,0, 6,0, 5,0, 4,0, 2,0, 0,0, + -2,0, -4,0, -5,0, -6,0, -7,0, -7,0, -6,0, -5,0, -4,0, -2,0, + -1,0, 0 }; @@ -938,8 +454,6 @@ extern int table_tresortrack[] 166 }; -extern int table_decor_lave[]{ 8, 68, 69, 70, 71, 72, 71, 70, 69 }; - extern int table_decor_piege1[] { 16, @@ -974,7 +488,7 @@ extern int table_decor_eau1[]{ 6, 92, 93, 94, 95, 94, 93 }; extern int table_decor_eau2[]{ 6, 91, 96, 97, 98, 97, 96 }; -extern int table_decor_ventillog[]{ 3, 126, 127, 128 }; + extern int table_decor_ventillod[]{ 3, 129, 130, 131 }; @@ -982,7 +496,7 @@ extern int table_decor_ventilloh[]{ 3, 132, 133, 134 }; extern int table_decor_ventillob[]{ 3, 135, 136, 137 }; -extern int table_decor_ventg[]{ 4, 110, 111, 112, 113 }; + extern int table_decor_ventd[]{ 4, 114, 115, 116, 117 }; @@ -992,14 +506,46 @@ extern int table_decor_ventb[]{ 4, 122, 123, 124, 125 }; extern int table_marine[] { - 0, - 2, - 5, - 8, - 3, - 0 + 0, 2, 5, 8, 3, 0 }; +extern int table_36418[]{ 14, 10, 2, 3, 4, 5, 6, 7, 8, 9, 1, 11, 12, 13, 14 }; +extern int table_36458[]{ 10, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29 }; +extern int table_36488[]{ 4, 15, 16, 17, 18 }; +extern int table_364a0[]{ 2, 73, 22 }; +extern int table_364b0[]{ 7, 78, 79, 80, 81, 82, 83, 84 }; +extern int table_364d0[]{ 4, 87, 88, 89, 90 }; +extern int table_364e8[]{ 2, 85, 86 }; +extern int table_364f8[]{ 5, 396, 388, 389, 390, 391 }; +extern int table_36510[]{ 3, 398, 399, 400 }; +extern int table_36520[]{ 3, 87, 88, 89 }; +extern int table_36530[]{ 1, 0x99 }; +extern int table_36538[]{ 2, 0x9a, 0x9b }; +extern int table_36548[]{ 1, 0xb9 }; +extern int table_36550[]{ 7, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f }; +extern int table_36570[]{ 12, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xe6, 0xe7, 0xe9, 0xea }; +extern int table_365a8[]{ 8, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe8 }; +extern int table_365d0[]{ 1, 0x9d }; +extern int table_365d8[]{ 5, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f }; +extern int table_365f0[]{ 7, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0 }; +extern int table_36610[]{ 5, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5 }; +extern int table_decor_lave[]{ 8, 68, 69, 70, 71, 72, 71, 70, 69 }; +extern int table_36630[]{ 2, 0x5b, 0x5c }; +extern int table_decor_ventillog[]{ 3, 126, 127, 128 }; +extern int table_decor_ventg[]{ 4, 110, 111, 112, 113 }; +extern int table_36670[]{ 11, 0x4c, 0x4d, 0xc7, 0xc6, 0xc8, 0xc9, 0xeb, 0xec, 0x177, 0x178, 0x179 }; +extern int table_366a0[]{ 3, 0x193, 0x191, 0x192 }; +extern int table_366b0[]{ 3, 20, 21, 22 }; +extern int table_366c0[]{ 4, 16, 17, 18, 19 }; +extern int table_366d8[]{ 3, 23, 24, 25 }; +extern int table_366e8[]{ 2, 0x1a, 0x1b }; +extern int table_366f8[]{ 4, 0x1c, 0x1d, 0x1e, 0x1f }; +extern int table_36710[]{ 12, 0x2d, 0x2e, 0x2f, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c}; +extern int table_36748[]{ 4, 0x42, 0x43, 0x44, 0x45 }; + + + + extern int table_ressort[] // i dont really care to look this up right now so heres some bs { 8,1,2,3,4,5,5,6,7,7