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); }
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); }
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; }
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); }
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); }
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); }