예제 #1
0
void FullpipeEngine::initMap() {
	memset(_mapTable, 0, sizeof(_mapTable));

	updateMapPiece(PIC_MAP_S01, 1);
	updateMapPiece(PIC_MAP_A13, 1u);
}
예제 #2
0
파일: scenes.cpp 프로젝트: OmerMor/scummvm
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;
	}
}