00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _MENUGBOTTOM_H
00021 #define _MENUGBOTTOM_H
00022
00023 #include <PA9.h>
00024 #include "spriteManager.h"
00025 #include "macros.h"
00026 #ifndef _ALLGRAPHICS_
00027 #define _ALLGRAPHICS_
00028 #include "../data/all_gfx_ed.c"
00029 #endif
00030
00031
00032 class gameManager;
00033 class menuBottom;
00034
00052 class menuGBottom : public spriteManager
00053 {
00054 public:
00055 menuGBottom(u8 newScreen = 0);
00056 virtual ~menuGBottom();
00057
00058 void loadBackground();
00059
00060 virtual void gameTick();
00061
00065 virtual void activate()
00066 {
00067 for (u8 i=0; i<3; ++i)
00068 spawnerCounters[i] = -1;
00069 pickupsActive = 0;
00070
00071 gameOver = false;
00072 gamePaused = false;
00073 continueMsg = NULL;
00074 quitMsg = NULL;
00075 spriteManager::activate();
00076 resetText();
00077
00078 spawnerSprite.palleteID = -1;
00079 loadSpawnerSpriteSet(spawnerSprite.palleteData, spawnerSprite.spriteData);
00080 loadBackground();
00081
00082 menuSprite.palleteID = -1;
00083 loadMenuSpriteSet(menuSprite.palleteData, menuSprite.spriteData);
00084 pickupSprite.palleteID = -1;
00085 loadPickupSpriteSet(pickupSprite.palleteData, pickupSprite.spriteData);
00086
00087 for (u8 i=0; i<3; ++i)
00088 resetIdleTime(i);
00089 }
00090 virtual void deactivate() {spriteManager::deactivate(); gameOver = false; unloadBackground(); for (u8 i=0; i<3; ++i) spawnerCounters[i] = -1;}
00091
00092 void loadMenuSpriteSet(const unsigned short *p, const unsigned char *s);
00093 void loadSpawnerSpriteSet(const unsigned short *p, const unsigned char *s);
00094 void loadPickupSpriteSet(const unsigned short *p, const unsigned char *s);
00095
00096 void resetIdleTime(u8 spawnerNum);
00097
00098 void spawnPickup(u8 i);
00099
00101 gameManager* gameTop;
00103 spriteManager* menuTop;
00105 menuBottom* menuBase;
00107 bool gameOver;
00109 bool gamePaused;
00110
00112 s16 spawnerCounters[3];
00114 u8 pickupsActive;
00115
00116 spriteObject *continueMsg, *quitMsg, *spawnerSpriteL, *spawnerSpriteR;
00117
00118 spriteSet menuSprite, spawnerSprite, pickupSprite;
00119
00121 static const u8 _SPAWNERSPRITEMININDEX = 64;
00122 };
00123
00124 #endif