📄 winmain.h
字号:
#ifndef _WINMAIN_H_
#define _WINMAIN_H_
#include <assert.h>
#include "Global.h"
#include "Game_Chars.h"
#include "Game_Script.h"
#include <log4cpp/Category.hh>
#include <log4cpp/FileAppender.hh>
#include <log4cpp/BasicLayout.hh>
#define MSG_NORMAL 0
#define MSG_STATUS 1
#define MSG_ITEMS 2
///////////////////////////////////////////////////////////
// Application class definition
///////////////////////////////////////////////////////////
struct ScriptHandleStruct{
float last_XPos, last_YPos, last_ZPos;
BOOL Renderflag;
long EffectCounter;
long ScriptCharID;
};
class cApp : public cApplication
{
friend class cGameScript;
friend class cChars;
private:
cGraphics m_Graphics; // Graphics object
cCamera m_Camera; // Camera object
cFont m_Font; // Font object
cLight m_Light;
GUID *m_guidAdapter; // Adapter used to connect
cNetworkAdapter m_Adapters; // List of adapters
cClient m_Client; // Derived client class
char m_HostIP[16]; // Host IP Address
char m_Name[32]; // Player name
cMapICS *MapICS;
cInput m_Input; // Input object
cInputDevice m_Keyboard; // Keyboard object
cInputDevice m_Mouse; // Mouse object
cMesh m_TerrainMesh; // Terrain object mesh
cNodeTreeMesh m_NodeTreeMesh; // NodeTree object
cTexture m_Options; // Buttons and more pics.
float m_CamAngle; // Viewing camera angle
float m_YCamAngle;
float m_CamXPos, m_CamYPos, m_CamZPos;
long m_Status;
// long m_LastStatus;
long m_Count;
ScriptHandleStruct ScripteHandle;
sItem m_MIL[MAX_MIL];
cChars m_CharController;
cSpellController m_SpellController;
cGameScript m_Script;
long MoveAction;
BOOL CamMoved;
BOOL SelectAdapter(); // Select network adapter
BOOL InitializeGame(); // Initialize game
BOOL JoinGame(); // Join network session
// Get player's number in list
sCharacter* GetCharacterPoint(DPNID dpnidPlayer);
void UpdateCamera(); // Update all players
void RenderScene(); // Render the scene
// Send a client network message to server
BOOL SendNetworkMessage(void *Msg, long SendFlags);
// Functions to process incoming messages
void AssignID(sMessage *Msg);
void CreatePlayer(sMessage *Msg);
void DestroyPlayer(sMessage *Msg);
void ChangeState(sMessage *Msg);
void RoutineChange(sMessage *Msg);
void ChangeSpell(sMessage *Msg);
void ChangeAttack(sMessage *Msg);
void AlterEffect(sMessage *Msg);
void FileHandle(sMessage *Msg);
void ReliveChange(sMessage *Msg);
public:
// Overloaded class functions
cApp();
BOOL Init();
BOOL Shutdown();
BOOL Frame();
// Siphon a network receive message to application
BOOL Receive(DPNMSG_RECEIVE *Msg);
// Set adapter to use, IP to connect to, and name to use
void SetInfo(GUID *Adapter, char *IP, char *Name);
// Retrieve bit flag encoded keyboard input
long GetInput();
void UpdateLatency();
// Check if player collides with level mesh
BOOL CheckIntersect( \
float XStart, float YStart, float ZStart, \
float XEnd, float YEnd, float ZEnd);
};
int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrev, \
LPSTR szCmdLine, int nCmdShow);
BOOL CALLBACK ConnectDialogProc(HWND hWnd, UINT uMsg, \
WPARAM wParam, LPARAM lParam);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -