⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 goboy.h

📁 gameboy 模拟器的源代码
💻 H
字号:
// GOBOY.H


#include <e32base.h>
#include <e32std.h>
#include <e32svr.h>
#include <w32std.h>
#include <s32file.h>

#include "ServerUi.h"

#define MAX_ARGS 4


class CGoBoy : public CBase, public MServerUiObserver
	{
public:
	CGoBoy();
	~CGoBoy();
	void ConstructL(const TDesC& aCommandLine);
	void CreateScreenL();
	void Go();
	void UpdateScreen();
	void GetEvents();
	void SetVidPtr(unsigned char* aVidPtr);
	void OpenFile(char* aName);
	void CloseFile();
	void ReadL(unsigned char* aDest, TInt aSize);
	int FileSize(char* aName);
	void ShowNoteL(const TDesC& aTitle, const TDesC& aNote);
	void AppendSaveGameDirectory(TDes& aName);
	void AppendNameOfGame(TDes& aName);

	// From MServerUiObserver
	virtual void ListItemSelection(TInt aListId, TInt aIndex);
	virtual void CbaPressed(TInt aListId, TCbaLabel);
	virtual void Redraw(TBool aMenu);
	virtual void KeySelect(TInt aId, TInt aKey);

	void OptionsMenuL();
private:
	void StartWServEvents();
	TInt MapScanCode(TInt aScanCode);
	void SendKeyDown(TInt aScanCode);
	void SendKeyUp(TInt aScanCode);
	void PrepareScreen();

	void ProcessSaveL();
	void ProcessLoadL(TBool aDelete);

	void SetSoundMode();
	void LoadGameMenuL(TBool aDelete = EFalse);
	void LoadGameIndex(TInt aIndex, TBool aDelete);
	void SelectKeysL(TInt aKeyNo);

	void SetDefaultKeys();
	TFileName SettingsFileName();
	void SaveSettingsL();
	void LoadSettingsL();
private:
	RWsSession iWsSession;
	CWsScreenDevice* iWsScreen;
	RWindowGroup iWsWindowGroup;
	RWindow iWsWindow;
	CWindowGc* iWindowGc;
	TRequestStatus iWsEventStatus;
	TRequestStatus iRedrawEventStatus;
	TWsEvent iWsEvent;

	CFbsBitmap* iScreen;
	TBitmapUtil iScreenUtil;
	unsigned char* iVidPtr;

	char iArgvbuffer[120];
	int iArgc;
	char* iArgv[MAX_ARGS];

	TFileName iImageName;
	RFileReadStream iStream;
	TInt iZipOffset;
	TInt iZipUSize;
	TInt iZipCSize;
	CFbsBitmap* iCba;
	CFbsBitmap* iFrame;
	CFbsBitmap* iMenuCba;
	TBool iPaused;

	TInt iSoundMode;
	TInt iSelectKeyNo;
	TInt iKeySelect[6];
public:
	TInt iSwapButtons;
	};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -