Files
wagic/projects/mtg/include/GameStateMenu.h
wagic.the.homebrew c9fd53808f - fix compilation issue on psp
- attempt at reducing loading times on the PSP: I merged a few graphics files together, removed some unused calls from the initialization functions, and moved some other ones to have a more lazy approach. The PSP version remains fairly slow in some parts (especially loading, but also entering the shop, or starting a new game), so I will try to reduce file access as much as possible in the days to come. Not a release blocker IMO though, but I4d sure love if it were faster.
- uppercased "Track1.mp3" to be in line with the actual filename. Most likely this had been broken forever on case-sensitive OSes
- I removed costly calls from the textscroller. I believe it wasn't very useful in its previous state. Now it's only "advertising" for unlockable stuff, which I think is ok (and allows to refresh it every time the menu is loaded)
- As a counterpart, added a "% complete" progress bar in the menu, something I wanted to add a while ago.
2011-12-11 13:48:24 +00:00

82 lines
2.1 KiB
C++

#ifndef _GAME_STATE_MENU_H_
#define _GAME_STATE_MENU_H_
#include <JGui.h>
#include <dirent.h>
#include "GameState.h"
#include "SimpleMenu.h"
#include "TextScroller.h"
class GameStateMenu: public GameState, public JGuiListener
{
private:
TextScroller * scroller;
int scrollerSet;
int mPercentComplete;
JGuiController* mGuiController;
SimpleMenu* subMenuController;
SimpleMenu* gameTypeMenu;
bool hasChosenGameType;
JQuadPtr mIcons[10];
JTexture * bgTexture;
JQuadPtr mBg;
JTexture * splashTex;
float mCreditsYPos;
int currentState;
int mVolume;
char nbcardsStr[400];
vector<string> langs;
vector<string> primitives;
size_t mCurrentSetFolderIndex;
string mCurrentSetName;
string mCurrentSetFileName;
vector<string> setFolders;
string wallpaper;
int primitivesLoadCounter;
int mReadConf;
float timeIndex;
void fillScroller();
void setLang(int id);
string getLang(string s);
void loadLangMenu();
bool langChoices;
void runTest(); //!!
void listPrimitives();
void genNbCardsStr(); //computes the contents of nbCardsStr
void ensureMGuiController(); //creates the MGuiController if it doesn't exist
string loadRandomWallpaper(); //loads a list of string of textures that can be randolmy shown on the loading screen
void RenderTopMenu();
int gamePercentComplete();
public:
GameStateMenu(GameApp* parent);
virtual ~GameStateMenu();
virtual void Create();
virtual void Destroy();
virtual void Start();
virtual void End();
virtual void Update(float dt);
virtual void Render();
virtual void ButtonPressed(int controllerId, int controlId);
int nextSetFolder(const string & root, const string & file); // Retrieves the next directory to have matching file
void createUsersFirstDeck(int setId);
virtual ostream& toString(ostream& out) const;
enum
{
MENU_CARD_PURCHASE = 2,
MENU_DECK_SELECTION = 10,
MENU_DECK_BUILDER = 11,
MENU_FIRST_DUEL_SUBMENU = 102,
MENU_LANGUAGE_SELECTION = 103,
};
};
#endif