Skip to content

Commit

Permalink
FULLPIPE: More work on scene04
Browse files Browse the repository at this point in the history
  • Loading branch information
sev- committed Nov 21, 2013
1 parent 39efe39 commit 91713e6
Show file tree
Hide file tree
Showing 9 changed files with 158 additions and 41 deletions.
15 changes: 15 additions & 0 deletions engines/fullpipe/constants.h
Expand Up @@ -26,9 +26,11 @@
namespace Fullpipe {

#define ANI_BOOT_1 4231
#define ANI_CLOCK 588
#define ANI_DOMINO_3 2732
#define ANI_DADAYASHIK 306
#define ANI_EGGEATER 334
#define ANI_HAND 601
#define ANI_IN1MAN 5110
#define ANI_INV_COIN 875
#define ANI_INV_EGGAPL 1564
Expand All @@ -37,9 +39,15 @@ namespace Fullpipe {
#define ANI_INV_EGGDOM 1561
#define ANI_INV_EGGGLS 1573
#define ANI_INV_MAP 5321
#define ANI_KOZAWKA 495
#define ANI_LIFTBUTTON 2751
#define ANI_MAMASHA_4 660
#define ANI_MAN 322
#define ANI_PLANK 501
#define ANI_SC2_BOX 1020
#define ANI_SC4_BOOT 1035
#define ANI_SPEAKER_4 3275
#define ANI_SPRING 542
#define MSG_CMN_WINARCADE 4778
#define MSG_DISABLESAVES 5201
#define MSG_ENABLESAVES 5202
Expand Down Expand Up @@ -72,6 +80,8 @@ namespace Fullpipe {
#define MSG_SC3_UTRUBACLICK 1103
#define MV_EGTR_FATASK 5332
#define MV_IN1MAN_SLEEP 5111
#define MV_KZW_JUMP 558
#define MV_KZW_JUMPROTATE 561
#define MV_MAN_GOLADDER 451
#define MV_MAN_GOLADDER2 2844
#define MV_MAN_LOOKUP 4773
Expand All @@ -82,6 +92,7 @@ namespace Fullpipe {
#define MV_MAN_TOLADDER 448
#define MV_MAN_TOLADDER2 2841
#define MV_MAN_TURN_LU 486
#define MV_SPK4_PLAY 3276
#define PIC_CMN_EVAL 3468
#define PIC_CSR_DEFAULT 4891
#define PIC_CSR_DEFAULT_INV 4892
Expand Down Expand Up @@ -128,6 +139,9 @@ namespace Fullpipe {
#define PIC_SC2_LADDER 412
#define PIC_SC3_DOMIN 5182
#define PIC_SC3_LADDER 1102
#define PIC_SC4_BOTTLE 568
#define PIC_SC4_BOTTLE2 2936
#define PIC_SC4_MASK 585
#define PIC_SCD_SEL 734
#define QU_EGTR_MD2_SHOW 4698
#define QU_EGTR_MD1_SHOW 4697
Expand Down Expand Up @@ -198,6 +212,7 @@ namespace Fullpipe {
#define ST_EGTR_MID2 2869
#define ST_EGTR_SLIM 336
#define ST_IN1MAN_SLEEP 5112
#define ST_KZW_EMPTY 498
#define ST_LBN_0N 2832
#define ST_LBN_0P 2833
#define ST_LBN_1N 2753
Expand Down
1 change: 1 addition & 0 deletions engines/fullpipe/fullpipe.h
Expand Up @@ -230,6 +230,7 @@ class FullpipeEngine : public ::Engine {
void openHelp();
void openMainMenu();

void initArcadeKeys(const char *varname);
void winArcade();
void getAllInventory();

Expand Down
12 changes: 6 additions & 6 deletions engines/fullpipe/init.cpp
Expand Up @@ -56,7 +56,7 @@ void FullpipeEngine::initObjectStates() {
setObjectState(sO_CoinSlot_1, getObjectEnumState(sO_CoinSlot_1, sO_Empty));
setObjectState(sO_FriesPit, getObjectEnumState(sO_FriesPit, sO_WithApple));
setObjectState(sO_Jug, getObjectEnumState(sO_Jug, sO_Blocked));
setObjectState(sO_RightStairs_9, getObjectEnumState(sO_RightStairs_9, sO_ClosedShe));
setObjectState(sO_RightStairs_9, getObjectEnumState(sO_RightStairs_9, sO_IsClosed));
setObjectState(sO_Pipe_9, getObjectEnumState(sO_Pipe_9, sO_WithJug));
setObjectState(sO_Inflater, getObjectEnumState(sO_Inflater, sO_WithGum));
setObjectState(sO_Swingie, getObjectEnumState(sO_Swingie, sO_Swinging));
Expand All @@ -70,7 +70,7 @@ void FullpipeEngine::initObjectStates() {
setObjectState(sO_Cup, getObjectEnumState(sO_Cup, sO_InSmokeRoom));
setObjectState(sO_Pedestal_17, getObjectEnumState(sO_Pedestal_17, sO_IsFree));
setObjectState(sO_UsherHand, getObjectEnumState(sO_UsherHand, sO_WithoutCoin));
setObjectState(sO_RightPipe_17, getObjectEnumState(sO_RightPipe_17, sO_ClosedShe));
setObjectState(sO_RightPipe_17, getObjectEnumState(sO_RightPipe_17, sO_IsClosed));
setObjectState(sO_Fly_17, 1);
setObjectState(sO_DudeSwinged, 0);
setObjectState(sO_Girl, getObjectEnumState(sO_Girl, sO_Swinging));
Expand All @@ -83,11 +83,11 @@ void FullpipeEngine::initObjectStates() {
setObjectState(sO_LowerHatch_23, getObjectEnumState(sO_LowerHatch_23, sO_Closed));
setObjectState(sO_Lever_23, getObjectEnumState(sO_Lever_23, sO_NotTaken));
setObjectState(sO_LeverHandle_23, getObjectEnumState(sO_LeverHandle_23, sO_WithoutStool));
setObjectState(sO_LowerPipe_21, getObjectEnumState(sO_LowerPipe_21, sO_ClosedShe));
setObjectState(sO_LowerPipe_21, getObjectEnumState(sO_LowerPipe_21, sO_IsClosed));
setObjectState(sO_StarsDown_24, getObjectEnumState(sO_StarsDown_24, sO_OpenedShe));
setObjectState(sO_Hatch_26, getObjectEnumState(sO_Hatch_26, sO_Closed));
setObjectState(sO_Sock_26, getObjectEnumState(sO_Sock_26, sO_NotHanging));
setObjectState(sO_LeftPipe_26, getObjectEnumState(sO_LeftPipe_26, sO_ClosedShe));
setObjectState(sO_LeftPipe_26, getObjectEnumState(sO_LeftPipe_26, sO_IsClosed));
setObjectState(sO_Valve1_26, getObjectEnumState(sO_Valve1_26, sO_Opened));
setObjectState(sO_Valve2_26, getObjectEnumState(sO_Valve2_26, sO_Closed));
setObjectState(sO_Valve3_26, getObjectEnumState(sO_Valve3_26, sO_Closed));
Expand All @@ -97,8 +97,8 @@ void FullpipeEngine::initObjectStates() {
setObjectState(sO_Plank_25, getObjectEnumState(sO_Plank_25, sO_NearDudesStairs));
setObjectState(sO_Driver, getObjectEnumState(sO_Driver, sO_WithSteering));
setObjectState(sO_Janitress, getObjectEnumState(sO_Janitress, sO_WithMop));
setObjectState(sO_LeftPipe_29, getObjectEnumState(sO_LeftPipe_29, sO_ClosedShe));
setObjectState(sO_LeftPipe_30, getObjectEnumState(sO_LeftPipe_30, sO_ClosedShe));
setObjectState(sO_LeftPipe_29, getObjectEnumState(sO_LeftPipe_29, sO_IsClosed));
setObjectState(sO_LeftPipe_30, getObjectEnumState(sO_LeftPipe_30, sO_IsClosed));
setObjectState(sO_Leg, getObjectEnumState(sO_Leg, sO_ShowingHeel));
setObjectState(sO_Tub, getObjectEnumState(sO_Tub, sO_EmptyShe));
setObjectState(sO_Cactus, getObjectEnumState(sO_Cactus, sO_NotGrown));
Expand Down
11 changes: 11 additions & 0 deletions engines/fullpipe/interaction.cpp
Expand Up @@ -394,6 +394,17 @@ bool InteractionController::handleInteraction(StaticANIObject *subj, GameObject
return true;
}

Interaction *InteractionController::getInteractionByObjectIds(int obId, int obId2, int obId3) {
for (ObList::iterator i = _interactions.begin(); i != _interactions.end(); ++i) {
Interaction *intr = (Interaction *)*i;

if (intr->_objectId1 == obId && intr->_objectId2 == obId2 && intr->_objectId3 == obId3)
return intr;
}

return 0;
}

Interaction::Interaction() {
_objectId1 = 0;
_objectId2 = 0;
Expand Down
2 changes: 2 additions & 0 deletions engines/fullpipe/interaction.h
Expand Up @@ -79,6 +79,8 @@ class InteractionController : public CObject {
void sortInteractions(int sceneId);

bool handleInteraction(StaticANIObject *subj, GameObject *obj, int invId);

Interaction *getInteractionByObjectIds(int obId, int obId2, int obId3);
};

struct EntranceInfo {
Expand Down
2 changes: 1 addition & 1 deletion engines/fullpipe/objectnames.h
Expand Up @@ -90,7 +90,7 @@ namespace Fullpipe {
#define sO_CloseThing "\xc7\xe0\xea\xf0\xfb\xe2\xe0\xe5\xec\xee\xe5" // "Закрываемое"
#define sO_Closed "\xc7\xe0\xea\xf0\xfb\xf2" // "Закрыт"
#define sO_ClosedWithBoot "\xc7\xe0\xea\xf0\xfb\xf2\xe0 \xf1 \xe1\xee\xf2\xe8\xed\xea\xee\xec" // "Закрыта с ботинком"
#define sO_ClosedShe "\xc7\xe0\xea\xf0\xfb\xf2\xe0" // "Закрыта"
#define sO_IsClosed "\xc7\xe0\xea\xf0\xfb\xf2\xe0" // "Закрыта"
#define sO_HalfFull "\xc7\xe0\xef\xee\xeb\xed\xe5\xed \xed\xe0\xef\xee\xeb\xee\xe2\xe8\xed\xf3" // "Заполнен наполовину"
#define sO_Full "\xc7\xe0\xef\xee\xeb\xed\xe5\xed \xf6\xe5\xeb\xe8\xea\xee\xec" // "Заполнен целиком"
#define sO_MirroredTo "\xc7\xe5\xf0\xea\xe0\xeb\xfc\xed\xe0\xff \xea" // "Зеркальная к"
Expand Down
38 changes: 38 additions & 0 deletions engines/fullpipe/scenes.cpp
Expand Up @@ -58,6 +58,40 @@ Vars::Vars() {
scene03_eggeater = 0;
scene03_domino = 0;

scene04_bottle = 0;
scene04_hand = 0;
scene04_plank = 0;
scene04_clock = 0;
scene04_hand = 0;
scene04_spring = 0;
scene04_mamasha = 0;
scene04_boot = 0;
scene04_speaker = 0;

scene04_ladder = 0;
scene04_coinPut = false;
scene04_soundPlaying = false;
scene04_dynamicPhaseIndex = 0;

scene04_var01 = 0;
scene04_var02 = 0;
scene04_var04 = 0;
scene04_var05 = 0;
scene04_var06 = 0;
scene04_var07 = 0;
scene04_var08 = 0;
scene04_var09 = 0;
scene04_var10 = 0;
scene04_var11 = 0;
scene04_var12 = 0;
scene04_var13 = 0;
scene04_var14 = 0;
scene04_var15 = 0;
scene04_var16 = 0;
scene04_var17 = 0;
scene04_var18 = 0;
scene04_var19 = 0;

selector = 0;
}

Expand Down Expand Up @@ -662,4 +696,8 @@ int defaultUpdateCursor() {
return g_fullpipe->_cursorId;
}

void FullpipeEngine::initArcadeKeys(const char *varname) {
warning("STUB: FullpipeEngine::initArcadeKeys(\"%s\")", varname);
}

} // End of namespace Fullpipe
40 changes: 40 additions & 0 deletions engines/fullpipe/scenes.h
Expand Up @@ -73,6 +73,46 @@ class Vars {
StaticANIObject *scene03_eggeater;
StaticANIObject *scene03_domino;

PictureObject *scene04_bottle;
StaticANIObject *scene04_hand;
StaticANIObject *scene04_plank;
StaticANIObject *scene04_clock;
StaticANIObject *scene04_spring;
StaticANIObject *scene04_mamasha;
StaticANIObject *scene04_boot;
StaticANIObject *scene04_speaker;

Common::Point scene04_jumpingKozyawki[20];
Common::Point scene04_jumpRotateKozyawki[20];

Common::Array<StaticANIObject *> scene04_kozyawkiObjList;
Common::Array<PictureObject *> scene04_bottleObjList;
Common::Array<StaticANIObject *> scene04_kozyawkiAni;

int scene04_ladder;
bool scene04_coinPut;
bool scene04_soundPlaying;
int scene04_dynamicPhaseIndex;

int scene04_var01;
int scene04_var02;
int scene04_var04;
int scene04_var05;
int scene04_var06;
int scene04_var07;
int scene04_var08;
int scene04_var09;
int scene04_var10;
int scene04_var11;
int scene04_var12;
int scene04_var13;
int scene04_var14;
int scene04_var15;
int scene04_var16;
int scene04_var17;
int scene04_var18;
int scene04_var19;

PictureObject *selector;
};

Expand Down

0 comments on commit 91713e6

Please sign in to comment.