📄 znscore.h
字号:
/*=================================================*\
| BREW Net Score Lib |
|---------------------------------------------------|
| 作者 : Zane |
| 最初版本日期 : 2005 - 3 - 31 |
| 更新日期 : 2005 - 7 - 13 |
| 版本 : 0.01 build 0006 |
|---------------------------------------------------|
| 用法 : |
| 先用ZnScore_Init初始化。 |
| 然后用ZnScore_UploadScore上传分数或 |
| 用ZnScore_QueryList查询高分榜。 |
| 最终用ZnScore_Release释放。 |
| 须将ZnScore_HandleEvent放在主事件处理函数中。 |
\*=================================================*/
#ifndef _ZN_SCORE_HEADER_
#define _ZN_SCORE_HEADER_
#include "NetData.h"
#include "AEEAppGen.h"
#include "AEEMenu.h"
#include "AEEText.h"
#include "AEEHtmlViewer.h"
#include "../ZnNet/ZnNet.h" // Net Lib
#define _ZS_MAJOR_VERSION_ 0 // Major Version
#define _ZS_MINOR_VERSION_ 01 // Minor Version
#define _ZS_MODIFY_VERSION_ 0006 // Modify Version
#define _SCORE_SVR_ADDR_ "server2.starhitel.uniwise" // Server Address"210.51.14.186"
// Should be "server2.starhitel.uniwise"
#define _SCORE_SVR_PORT_ 50105 // Server Port
// Menu Style
#define _MENU_FT_ AEE_FT_NONE
#define _MENU_SELECT_FT_ AEE_FT_BOX
#define _MENU_RO_ AEE_RO_TRANSPARENT
#define _MENU_SELECT_RO_ AEE_RO_TRANSPARENT
#define _MENU_COLOR_MASK_ (MC_BACK | MC_SEL_BACK | MC_SEL_TEXT)
#define _MENU_BACKGROUND_ MAKE_RGB(192, 243, 255)
#define _MENU_SELECT_BACKGROUND_ MAKE_RGB(3, 121, 253)
#define _MENU_SELECT_TEXT_ RGB_WHITE
#define _MENU_ITEM_BASE_ 1000
#define _CONFIG_FILE_ "scoreconfig.dat"
typedef boolean (* PFNINITGUI)(void *);
typedef boolean (* PFNHANDLEEVENTGUI)(void *, AEEEvent eCode, uint16 wParam, uint32 dwParam);
typedef void (* PFNRELEASEGUI)(void *);
typedef enum _GUISTATE
{
GS_NONE,
GS_IFUPLOAD,
GS_INPUTNUM,
GS_IFQUERY,
GS_QUERY,
GS_QUERYRESULT,
GS_ERROR,
GS_LAST,
} GUISTATE, * PGUISTATE;
typedef enum _ERRORTYPE
{
ET_NETERROR,
ET_NOSPACE,
ET_INPUT,
ET_LAST,
} ERRORTYPE, * PERRORTYPE;
typedef struct _GUIFUNC
{
PFNINITGUI pFnInitGui;
PFNHANDLEEVENTGUI pFnHandleEventGui;
PFNRELEASEGUI pFnReleaseGui;
} GUIFUNC, * PGUIFUNC;
typedef struct _ZNSCORE
{
AEEApplet m_App; // Applet
uint16 m_unScrWidth; // Screen Width
uint16 m_unScrHeight; // Screen Height
int m_nFontSize; // Font Size
DWORD m_dwGameID; // Game ID
DWORD m_dwScore; // Game Score
GUISTATE m_GuiState; // Current GUI
GUISTATE m_LastGuiState; // Last GUI
GUISTATE m_SuspendState; // GUI when suspend
IStatic * m_pStatic; // Static Control
IMenuCtl * m_pMenu; // Menu Control
ITextCtl * m_pText; // Text Control
IHtmlViewer * m_pViewer; // HTML Viewer Control
byte * m_pHTMLBuffer; // Buffer To Hold HTML Data
ZNNET m_ZnNet; // Net Lib Structure
NETDATA m_NetData; // Net Lib Data
byte * m_pBuf; // Net Lib Buffer
double m_dbPhoneNum; // Phone Number
boolean m_bUploaded; // Uploaded or not
boolean m_bUpdated; // Updated or not
ERRORTYPE m_ErrorType; // Error Type
RGBVAL m_OldTextColor; // Old Text Color
RGBVAL m_OldBgColor; // Old Background Color
// Gui state functions' pointer
PFNINITGUI m_pFnInitGui; // Function Pointer For GUI Initialization
PFNHANDLEEVENTGUI m_pFnHandleEventGui; // Function Pointer For GUI Handling Event
PFNRELEASEGUI m_pFnReleaseGui; // Function Pointer For GUI Releasing
// Host function called when exit
PFNNOTIFY m_pFnExit; // Function Pointer For Exiting Score Module
void * m_pData; // Data For Exiting Function
} ZNSCORE, * PZNSCORE;
void ZnScore_Init(PZNSCORE pZnScore, AEEApplet * pApp, DWORD dwGameID);
boolean ZnScore_HandleEvent(PZNSCORE pZnScore, AEEEvent eCode, uint16 wParam, uint32 dwParam);
void ZnScore_Release(PZNSCORE pZnScore);
void ZnScore_UploadScore(PZNSCORE pZnScore, DWORD dwScore, PFNNOTIFY pFnExit, void * pData);
void ZnScore_QueryList(PZNSCORE pZnScore, PFNNOTIFY pFnExit, void * pData);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -