diff options
author | Sven Hesse | 2012-01-26 19:44:17 +0100 |
---|---|---|
committer | Sven Hesse | 2012-01-26 19:47:03 +0100 |
commit | a19eb264855b236b8d68dfaeb7e0f7a8dd6579a2 (patch) | |
tree | acb7ac61ca978a6aa66efd55b971e8e75356b18c /engines/gob/minigames/geisha/diving.h | |
parent | d1de75a6ca828ab2fcdbce6352a12337f93fc21c (diff) | |
download | scummvm-rg350-a19eb264855b236b8d68dfaeb7e0f7a8dd6579a2.tar.gz scummvm-rg350-a19eb264855b236b8d68dfaeb7e0f7a8dd6579a2.tar.bz2 scummvm-rg350-a19eb264855b236b8d68dfaeb7e0f7a8dd6579a2.zip |
GOB: Add the background plants in Geisha's Diving minigame
Diffstat (limited to 'engines/gob/minigames/geisha/diving.h')
-rw-r--r-- | engines/gob/minigames/geisha/diving.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/engines/gob/minigames/geisha/diving.h b/engines/gob/minigames/geisha/diving.h index e386d783d7..af224401e3 100644 --- a/engines/gob/minigames/geisha/diving.h +++ b/engines/gob/minigames/geisha/diving.h @@ -54,6 +54,26 @@ private: static const uint kDecorFishCount = 3; static const uint kMaxShotCount = 10; + static const uint kEvilFishTypeCount = 3; + static const uint16 kEvilFishTypes[kEvilFishTypeCount][5]; + + struct PlantLevel { + int16 y; + uint plantCount; + const uint16 *plants; + }; + + static const uint kPlantLevelCount = 3; + static const uint kPlantPerLevelCount = 5; + + static const uint16 kPlantLevel1[]; + static const uint16 kPlantLevel2[]; + static const uint16 kPlantLevel3[]; + + static const PlantLevel kPlantLevels[kPlantLevelCount]; + + static const uint kPlantCount = kPlantLevelCount * kPlantPerLevelCount; + struct ManagedEvilFish { EvilFish *evilFish; @@ -68,6 +88,14 @@ private: int8 deltaX; }; + struct ManagedPlant { + ANIObject *plant; + + uint level; + int8 deltaX; + int16 x, y; + }; + GobEngine *_vm; DECFile *_background; @@ -81,6 +109,7 @@ private: ManagedEvilFish _evilFish[kEvilFishCount]; ManagedDecorFish _decorFish[kDecorFishCount]; + ManagedPlant _plant[kPlantCount]; ANIObject *_shot[kMaxShotCount]; @@ -106,12 +135,16 @@ private: void initScreen(); void initCursor(); + void initPlants(); + + void enterPlant(ManagedPlant &plant, int16 prevPlantX); void foundBlackPearl(); void foundWhitePearl(); void updateEvilFish(); void updateDecorFish(); + void updatePlants(); void updateAnims(); int16 checkInput(int16 &mouseX, int16 &mouseY, MouseButtons &mouseButtons); |