HDNes/Rewrite/gameManager.h
mkwong98 0d16e29669
2017-06-17 12:30:55 +08:00

77 lines
1.7 KiB
C++

#ifndef GAME_MANAGER_H
#define GAME_MANAGER_H
#include <wx\wx.h>
#include "common.h"
#include "classList.h"
#define GAME_STATE_STOPPED 0
#define GAME_STATE_RUNNING 1
#define GAME_STATE_PAUSED 2
#define GAME_STATE_ADVANCE_BY_FRAME 3
#define EMU_PART_COUNT 4
#define CORE_PART_COUNT 6
using namespace std;
class gameManager
{
public:
static gameManager* gm;
mainFrameImp* ui;
video* vid;
gameFile* romF;
input* inp;
audio* aud;
emuPart* emu[EMU_PART_COUNT];
cart* rom;
cpu* cp;
ppu* pp;
apu* ap;
memBus* mb;
gamepad* gp;
corePart* core[CORE_PART_COUNT];
int gameState;
gameManager();
~gameManager();
void showUI();
void runGame();
void runSingleCycle();
void changeSaveStateSlot(int slot);
void changeUseRotateState(bool use);
void changeOverwriteBat(bool overwrite);
void romSelected(const string& romName);
void setInputForKey(int idx);
void waitForInput(int idx);
void functionKeyPressed(Uint8 keyIdx);
void setScreenSize(Uint8 sizeIdx);
void setconCapRate(Uint16 rate);
void setUseHDPack(bool use);
void setGenHDData(bool use);
void setIgnoreEdge(bool use);
void setUseMusicHDPack(bool use);
void setVolume(int vol);
protected:
private:
void loadConfig();
void saveConfig();
void loadGameConfig();
void saveGameConfig();
};
#endif // GAME_MANAGER_H