- 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.
82 lines
2.1 KiB
C++
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
|