void FullpipeEngine::initMap() { memset(_mapTable, 0, sizeof(_mapTable)); updateMapPiece(PIC_MAP_S01, 1); updateMapPiece(PIC_MAP_A13, 1u); }
void FullpipeEngine::updateMap(PreloadItem *pre) { switch (pre->sceneId) { case SC_1: updateMapPiece(PIC_MAP_S01, 1); if (pre->param == TrubaUp) updateMapPiece(PIC_MAP_P01, 1); if (pre->param == TrubaLeft) updateMapPiece(PIC_MAP_A13, 1); break; case SC_2: updateMapPiece(PIC_MAP_S02, 1); if (pre->param == TrubaLeft) updateMapPiece(PIC_MAP_P01, 1); break; case SC_3: updateMapPiece(PIC_MAP_S03, 1); break; case SC_4: updateMapPiece(PIC_MAP_S04, 1); if (pre->param == TrubaRight) updateMapPiece(PIC_MAP_P04, 1); break; case SC_5: updateMapPiece(PIC_MAP_S05, 1); if (pre->param == TrubaLeft) { updateMapPiece(PIC_MAP_P04, 1); } if (pre->param == TrubaUp) { updateMapPiece(PIC_MAP_P05, 1); updateMapPiece(PIC_MAP_A11, 1); } break; case SC_6: updateMapPiece(PIC_MAP_S06, 1); if (pre->param == TrubaUp) updateMapPiece(PIC_MAP_A12, 1); break; case SC_7: updateMapPiece(PIC_MAP_S07, 1); if (pre->param == TrubaLeft) updateMapPiece(PIC_MAP_P18, 1); break; case SC_8: updateMapPiece(PIC_MAP_S08, 1); if (pre->param == TrubaUp) updateMapPiece(PIC_MAP_P11, 1); if (pre->param == TrubaRight) updateMapPiece(PIC_MAP_P18, 1); return; case SC_9: updateMapPiece(PIC_MAP_S09, 1); if (pre->param == TrubaDown) updateMapPiece(PIC_MAP_P11, 1); return; case SC_10: updateMapPiece(PIC_MAP_S10, 1); if (pre->param == TrubaRight) updateMapPiece(PIC_MAP_P02, 1); break; case SC_11: updateMapPiece(PIC_MAP_S11, 1); if (pre->param == TrubaLeft) updateMapPiece(PIC_MAP_P02, 1); break; case SC_12: updateMapPiece(PIC_MAP_S12, 1); break; case SC_13: updateMapPiece(PIC_MAP_S13, 1); if (pre->param == TrubaUp) { updateMapPiece(PIC_MAP_P06, 1); updateMapPiece(PIC_MAP_A10, 1); } break; case SC_14: updateMapPiece(PIC_MAP_S14, 1); break; case SC_15: updateMapPiece(PIC_MAP_S15, 1); if (pre->param == TrubaUp) { updateMapPiece(PIC_MAP_P08, 1); updateMapPiece(PIC_MAP_A14, 1); } break; case SC_16: updateMapPiece(PIC_MAP_S16, 1); break; case SC_17: updateMapPiece(PIC_MAP_S17, 1); break; case SC_18: updateMapPiece(PIC_MAP_S1819, 1); if (pre->param == PIC_SC18_RTRUBA) updateMapPiece(PIC_MAP_P14, 1); break; case SC_19: updateMapPiece(PIC_MAP_S1819, 1); if (pre->param == PIC_SC19_RTRUBA3) { updateMapPiece(PIC_MAP_P15, 1); updateMapPiece(PIC_MAP_A09, 1); } break; case SC_20: updateMapPiece(PIC_MAP_S20, 1); break; case SC_21: updateMapPiece(PIC_MAP_S21, 1); if (pre->param == TrubaLeft) { updateMapPiece(PIC_MAP_P15, 1); updateMapPiece(PIC_MAP_A09, 1); } if (pre->param == TrubaDown) updateMapPiece(PIC_MAP_A08, 1); break; case SC_22: updateMapPiece(PIC_MAP_S22, 1); break; case SC_23: if (getObjectState(sO_UpperHatch_23) == getObjectEnumState(sO_UpperHatch_23, sO_Opened)) { updateMapPiece(PIC_MAP_S23_1, 0); updateMapPiece(PIC_MAP_S23_2, 1); updateMapPiece(PIC_MAP_P07, 1); } else { updateMapPiece(PIC_MAP_S23_1, 1); updateMapPiece(PIC_MAP_S23_2, 0); } break; case SC_24: updateMapPiece(PIC_MAP_S24, 1); if (pre->param == TrubaUp) updateMapPiece(PIC_MAP_A08, 1); if (pre->param == TrubaDown) { updateMapPiece(PIC_MAP_P13, 1); updateMapPiece(PIC_MAP_A07, 1); } break; case SC_25: updateMapPiece(PIC_MAP_S25, 1); break; case SC_26: updateMapPiece(PIC_MAP_S26, 1); if (pre->param == TrubaLeft) updateMapPiece(PIC_MAP_A06, 1); if (pre->param == TrubaUp) { updateMapPiece(PIC_MAP_P13, 1); updateMapPiece(PIC_MAP_A07, 1); } break; case SC_27: updateMapPiece(PIC_MAP_S27, 1); break; case SC_28: updateMapPiece(PIC_MAP_S28, 1); if (pre->param == TrubaRight) updateMapPiece(PIC_MAP_A06, 1); break; case SC_29: updateMapPiece(PIC_MAP_S29, 1); if (pre->param == TrubaUp) updateMapPiece(PIC_MAP_A05, 1); break; case SC_30: updateMapPiece(PIC_MAP_S30, 1); if (pre->param == TrubaLeft) updateMapPiece(PIC_MAP_P09, 1); if (pre->param == TrubaRight) updateMapPiece(PIC_MAP_A04, 1); break; case SC_31: updateMapPiece(PIC_MAP_S31_2, 1); if (getObjectState(sO_Cactus) == getObjectEnumState(sO_Cactus, sO_HasGrown)) updateMapPiece(PIC_MAP_S31_1, 1); if (pre->param == TrubaRight) updateMapPiece(PIC_MAP_P09, 1); break; case SC_32: updateMapPiece(PIC_MAP_S32_2, 1); if (getObjectState(sO_Cactus) == getObjectEnumState(sO_Cactus, sO_HasGrown)) updateMapPiece(PIC_MAP_S32_1, 1); break; case SC_33: updateMapPiece(PIC_MAP_S33, 1); break; case SC_34: updateMapPiece(PIC_MAP_S34, 1); if (pre->param == TrubaUp) updateMapPiece(PIC_MAP_A03, 1); break; case SC_35: updateMapPiece(PIC_MAP_S35, 1); if (pre->param == TrubaLeft) updateMapPiece(PIC_MAP_A02, 1); if (pre->param == TrubaDown) updateMapPiece(PIC_MAP_A03, 1); break; case SC_36: updateMapPiece(PIC_MAP_S36, 1); break; case SC_37: updateMapPiece(PIC_MAP_S37, 1); updateMapPiece(PIC_MAP_A01, 1); break; case SC_38: updateMapPiece(PIC_MAP_S38, 1); switch (pre->preloadId1) { case SC_15: updateMapPiece(PIC_MAP_P16, 1); break; case SC_1: updateMapPiece(PIC_MAP_P10, 1); break; case SC_10: updateMapPiece(PIC_MAP_P17, 1); break; case SC_19: updateMapPiece(PIC_MAP_P12, 1); break; } break; } }