Exemplo n.º 1
0
void sceneHandler28_startWork1() {
	debugC(2, kDebugSceneLogic, "scene28: startWork");

	g_fp->_aniMan->hide();

	StaticANIObject *man = g_fp->_currentScene->getStaticANIObject1ById(ANI_MAN_28, -1);

	man->_statics = man->getStaticsById(ST_MAN28_RIGHT);
	man->setOXY(g_fp->_aniMan->_ox, g_fp->_aniMan->_oy);
	man->_priority = g_fp->_aniMan->_priority;
	man->show1(-1, -1, -1, 0);

	chainQueue(QU_SC28_LIFT1_WORK, 1);
}
Exemplo n.º 2
0
void scene06_initScene(Scene *sc) {
	g_vars->scene06_mumsy = sc->getStaticANIObject1ById(ANI_MAMASHA, -1);
	g_vars->scene06_someBall = 0;
	g_vars->scene06_invHandle = sc->getStaticANIObject1ById(ANI_INV_HANDLE, -1);
	g_vars->scene06_liftButton = sc->getStaticANIObject1ById(ANI_BUTTON_6, -1);
	g_vars->scene06_ballDrop = sc->getStaticANIObject1ById(ANI_BALLDROP, -1);
	g_vars->scene06_arcadeEnabled = false;
	g_vars->scene06_aimingBall = false;
	g_vars->scene06_currentBall = 0;
	g_vars->scene06_ballInHands = 0;
	g_vars->scene06_flyingBall = 0;
	g_vars->scene06_balls.clear();
	g_vars->scene06_numBallsGiven = 0;
	g_vars->scene06_mumsyNumBalls = 0;
	g_vars->scene06_eggieTimeout = 0;
	g_vars->scene06_eggieDirection = true;

	StaticANIObject *ball = sc->getStaticANIObject1ById(ANI_NEWBALL, -1);

	ball->hide();
	ball->_statics = ball->getStaticsById(ST_NBL_NORM);
	g_vars->scene06_balls.push_back(ball);

	for (int i = 0; i < 3; i++) {
		StaticANIObject *ball2 = new StaticANIObject(ball);

		ball2->hide();
		ball2->_statics = ball2->getStaticsById(ST_NBL_NORM);

		sc->addStaticANIObject(ball2, 1);

		g_vars->scene06_balls.push_back(ball2);
	}

	if (g_fp->getObjectState(sO_BigMumsy) == g_fp->getObjectEnumState(sO_BigMumsy, sO_IsPlaying))
		g_fp->setObjectState(sO_BigMumsy, g_fp->getObjectEnumState(sO_BigMumsy, sO_IsSleeping));

	if (g_fp->getObjectState(sO_BigMumsy) != g_fp->getObjectEnumState(sO_BigMumsy, sO_IsSleeping))
		g_vars->scene06_mumsy->hide();

	g_fp->lift_setButton(sO_Level3, ST_LBN_3N);
	g_fp->lift_init(sc, QU_SC6_ENTERLIFT, QU_SC6_EXITLIFT);
	g_fp->initArcadeKeys("SC_6");

	sceneHandler06_setExits(sc);

	g_fp->setArcadeOverlay(PIC_CSR_ARCADE2);
}
Exemplo n.º 3
0
void sceneHandler25_startBearders() {
	g_vars->scene25_bearders.clear();
	g_vars->scene25_beardersCounter = 0;

	StaticANIObject *bearded = g_fp->accessScene(SC_COMMON)->getStaticANIObject1ById(ANI_BEARDED_CMN, -1);

	for (int i = 0; i < 3; i++) {
		StaticANIObject *ani = new StaticANIObject(bearded);

		g_vars->scene25_bearders.push_back(ani);

		ani->_statics = ani->getStaticsById(ST_BRDCMN_EMPTY);

		g_fp->_currentScene->addStaticANIObject(ani, 1);
	}

	g_vars->scene25_beardersAreThere = true;
}
Exemplo n.º 4
0
bool GameObject::setPicAniInfo(PicAniInfo *picAniInfo) {
	if (!(picAniInfo->type & 3)) {
		warning("StaticANIObject::setPicAniInfo(): Wrong type: %d", picAniInfo->type);

		return false;
	}

	if (picAniInfo->type & 3) {
		setOXY(picAniInfo->ox, picAniInfo->oy);
		_priority = picAniInfo->priority;
		_okeyCode = picAniInfo->field_8;
		setFlags(picAniInfo->flags);
		_field_8 = picAniInfo->field_24;
	}

	if (picAniInfo->type & 1) {
		StaticANIObject *ani = (StaticANIObject *)this;

		ani->_messageQueueId = (picAniInfo->type >> 16) & 0xffff;

		if (picAniInfo->staticsId) {
			ani->_statics = ani->getStaticsById(picAniInfo->staticsId);
		} else {
			ani->_statics = 0;
		}

		if (picAniInfo->movementId) {
			ani->_movement = ani->getMovementById(picAniInfo->movementId);
			if (ani->_movement)
				ani->_movement->setDynamicPhaseIndex(picAniInfo->dynamicPhaseIndex);
		} else {
			ani->_movement = 0;
		}

		ani->setSomeDynamicPhaseIndex(picAniInfo->someDynamicPhaseIndex);
	}
Exemplo n.º 5
0
void scene29_initScene(Scene *sc) {
	g_vars->scene29_porter = sc->getStaticANIObject1ById(ANI_PORTER, -1);
	g_vars->scene29_shooter1 = sc->getStaticANIObject1ById(ANI_SHOOTER1, -1);
	g_vars->scene29_shooter2 = sc->getStaticANIObject1ById(ANI_SHOOTER2, -1);
	g_vars->scene29_ass = sc->getStaticANIObject1ById(ANI_ASS, -1);

	g_vars->scene29_balls.numBalls = 0;
	g_vars->scene29_balls.pTail = 0;
	g_vars->scene29_balls.field_8 = 0;
	g_vars->scene29_balls.pHead = 0;

	free(g_vars->scene29_balls.cPlex);
	g_vars->scene29_balls.cPlex = 0;

	StaticANIObject *ani;

	g_vars->scene29_greenBalls.numBalls = 0;
	g_vars->scene29_greenBalls.pTail = 0;
	g_vars->scene29_greenBalls.field_8 = 0;
	g_vars->scene29_greenBalls.pHead = 0;

	free(g_vars->scene29_greenBalls.cPlex);
	g_vars->scene29_greenBalls.cPlex = 0;

	ani = sc->getStaticANIObject1ById(ANI_SHELL_GREEN, -1);
	Ball *b = g_vars->scene29_balls.sub04(g_vars->scene29_balls.field_8, 0);
	b->ani = ani;

	if (g_vars->scene29_balls.field_8)
		g_vars->scene29_balls.field_8->p0 = b;
	else
		g_vars->scene29_balls.pHead = b;

	g_vars->scene29_balls.field_8 = b;

	for (int i = 0; i < 2; i++) {
		StaticANIObject *newani = new StaticANIObject(ani);

		sc->addStaticANIObject(newani, 1);

		b = g_vars->scene29_balls.sub04(g_vars->scene29_balls.field_8, 0);
		b->ani = ani;

		if (g_vars->scene29_balls.field_8)
			g_vars->scene29_balls.field_8->p0 = b;
		else
			g_vars->scene29_balls.pHead = b;

		g_vars->scene29_balls.field_8 = b;
	}

	g_vars->scene29_redBalls.numBalls = 0;
	g_vars->scene29_redBalls.pTail = 0;
	g_vars->scene29_redBalls.field_8 = 0;
	g_vars->scene29_redBalls.pHead = 0;

	free(g_vars->scene29_redBalls.cPlex);
	g_vars->scene29_redBalls.cPlex = 0;

	g_vars->scene29_flyingRedBalls.numBalls = 0;
	g_vars->scene29_flyingRedBalls.pTail = 0;
	g_vars->scene29_flyingRedBalls.field_8 = 0;
	g_vars->scene29_flyingRedBalls.pHead = 0;

	free(g_vars->scene29_flyingRedBalls.cPlex);
	g_vars->scene29_flyingRedBalls.cPlex = 0;

	ani = sc->getStaticANIObject1ById(ANI_SHELL_RED, -1);

	b = g_vars->scene29_redBalls.sub04(g_vars->scene29_redBalls.field_8, 0);
	b->ani = ani;

	if (g_vars->scene29_redBalls.field_8)
		g_vars->scene29_redBalls.field_8->p0 = b;
	else
		g_vars->scene29_redBalls.pHead = b;

	g_vars->scene29_redBalls.field_8 = b;

	for (int i = 0; i < 2; i++) {
		StaticANIObject *newani = new StaticANIObject(ani);

		sc->addStaticANIObject(newani, 1);

		b = g_vars->scene29_redBalls.sub04(g_vars->scene29_redBalls.field_8, 0);
		b->ani = ani;

		if (g_vars->scene29_redBalls.field_8)
			g_vars->scene29_redBalls.field_8->p0 = b;
		else
			g_vars->scene29_redBalls.pHead = b;

		g_vars->scene29_redBalls.field_8 = b;
	}

	g_vars->scene29_bearders.clear();

	ani = new StaticANIObject(g_fp->accessScene(SC_COMMON)->getStaticANIObject1ById(ANI_BEARDED_CMN, -1));

	ani->_statics = ani->getStaticsById(ST_BRDCMN_EMPTY);

	sc->addStaticANIObject(ani, 1);

	WalkingBearder *wb = new WalkingBearder;

	wb->ani = ani;
	wb->wbflag = 0;
	wb->wbcounter = 0;

	g_vars->scene29_bearders.push_back(wb);

	g_vars->scene29_manIsRiding = false;
	g_vars->scene29_arcadeIsOn = false;
	g_vars->scene29_reachedFarRight = false;
	g_vars->scene29_rideBackEnabled = false;
	g_vars->scene29_shootCountdown = 0;
	g_vars->scene29_shootDistance = 75;
	g_vars->scene29_manIsHit = false;
	g_vars->scene29_scrollSpeed = 0;
	g_vars->scene29_scrollingDisabled = false;
	g_vars->scene29_hitBall = 0;

	g_fp->setArcadeOverlay(PIC_CSR_ARCADE8);
}
Exemplo n.º 6
0
void scene29_initScene(Scene *sc) {
	g_vars->scene29_var01 = 300;
	g_vars->scene29_var02 = 200;
	g_vars->scene29_var03 = 400;
	g_vars->scene29_var04 = 300;
	g_vars->scene29_porter = sc->getStaticANIObject1ById(ANI_PORTER, -1);
	g_vars->scene29_shooter1 = sc->getStaticANIObject1ById(ANI_SHOOTER1, -1);
	g_vars->scene29_shooter2 = sc->getStaticANIObject1ById(ANI_SHOOTER2, -1);
	g_vars->scene29_ass = sc->getStaticANIObject1ById(ANI_ASS, -1);

	g_vars->scene29_var05.numBalls = 0;
	g_vars->scene29_var05.pTail = 0;
	g_vars->scene29_var05.field_8 = 0;
	g_vars->scene29_var05.pHead = 0;

	free(g_vars->scene29_var05.cPlex);
	g_vars->scene29_var05.cPlex = 0;

	StaticANIObject *ani;

	g_vars->scene29_var08.numBalls = 0;
	g_vars->scene29_var08.pTail = 0;
	g_vars->scene29_var08.field_8 = 0;
	g_vars->scene29_var08.pHead = 0;

	free(g_vars->scene29_var08.cPlex);
	g_vars->scene29_var08.cPlex = 0;

	ani = sc->getStaticANIObject1ById(ANI_SHELL_GREEN, -1);
	Ball *b = g_vars->scene29_var05.sub04(g_vars->scene29_var05.field_8, 0);
	b->ani = ani;

	if (g_vars->scene29_var05.field_8)
		g_vars->scene29_var05.field_8->p0 = b;
	else
		g_vars->scene29_var05.pHead = b;

	g_vars->scene29_var05.field_8 = b;

	for (int i = 0; i < 2; i++) {
		StaticANIObject *newani = new StaticANIObject(ani);

		sc->addStaticANIObject(newani, 1);

		b = g_vars->scene29_var05.sub04(g_vars->scene29_var05.field_8, 0);
		b->ani = ani;

		if (g_vars->scene29_var05.field_8)
			g_vars->scene29_var05.field_8->p0 = b;
		else
			g_vars->scene29_var05.pHead = b;

		g_vars->scene29_var05.field_8 = b;
	}

	g_vars->scene29_var06.numBalls = 0;
	g_vars->scene29_var06.pTail = 0;
	g_vars->scene29_var06.field_8 = 0;
	g_vars->scene29_var06.pHead = 0;

	free(g_vars->scene29_var06.cPlex);
	g_vars->scene29_var06.cPlex = 0;

	g_vars->scene29_var07.numBalls = 0;
	g_vars->scene29_var07.pTail = 0;
	g_vars->scene29_var07.field_8 = 0;
	g_vars->scene29_var07.pHead = 0;

	free(g_vars->scene29_var07.cPlex);
	g_vars->scene29_var07.cPlex = 0;

	ani = sc->getStaticANIObject1ById(ANI_SHELL_RED, -1);

	b = g_vars->scene29_var06.sub04(g_vars->scene29_var06.field_8, 0);
	b->ani = ani;

	if (g_vars->scene29_var06.field_8)
		g_vars->scene29_var06.field_8->p0 = b;
	else
		g_vars->scene29_var06.pHead = b;

	g_vars->scene29_var06.field_8 = b;

	for (int i = 0; i < 2; i++) {
		StaticANIObject *newani = new StaticANIObject(ani);

		sc->addStaticANIObject(newani, 1);

		b = g_vars->scene29_var06.sub04(g_vars->scene29_var06.field_8, 0);
		b->ani = ani;

		if (g_vars->scene29_var06.field_8)
			g_vars->scene29_var06.field_8->p0 = b;
		else
			g_vars->scene29_var06.pHead = b;

		g_vars->scene29_var06.field_8 = b;
	}

	g_vars->scene29_var19.clear();

	ani = new StaticANIObject(g_fp->accessScene(SC_COMMON)->getStaticANIObject1ById(ANI_BEARDED_CMN, -1));

	ani->_statics = ani->getStaticsById(ST_BRDCMN_EMPTY);

	sc->addStaticANIObject(ani, 1);

	WalkingBearder *wb = new WalkingBearder;

	wb->ani = ani;
	wb->wbflag = 0;
	wb->wbcounter = 0;

	g_vars->scene29_var19.push_back(wb);

	g_vars->scene29_var09 = 0;
	g_vars->scene29_var10 = 0;
	g_vars->scene29_var11 = 0;
	g_vars->scene29_var12 = 0;
	g_vars->scene29_var13 = 0;
	g_vars->scene29_var14 = 75;
	g_vars->scene29_var15 = 0;
	g_vars->scene29_var16 = 0;
	g_vars->scene29_var17 = 0;
	g_vars->scene29_var18 = 0;

	g_fp->setArcadeOverlay(PIC_CSR_ARCADE8);
}