📄 mapics.h
字号:
#ifndef _MAPICS_H_
#define _MAPICS_H_
#include "Global.h"
// A mesh list
typedef struct sMapItemMeshList {
char Filename[MAX_PATH]; // Filename of mesh/anim
long Count; // # characters using mesh
cMesh Mesh; // Mesh object
sMapItemMeshList() { Count = 0; }
~sMapItemMeshList() { Mesh.Free(); }
} sMapItemMeshList;
typedef struct sMapItem
{
long ItemNum; // MIL item number
long Quantity; // Quantity of item (ie coins)
float XPos, YPos, ZPos; // Map coordinates
sMapItem *Prev, *Next; // linked list pointers
long Index; // This items index #
long Owner; // Owner index #
sMapItem *Parent; // Parent of a contained item
cObject Object; // Character object class
sMapItem()
{
Prev = Next = Parent = NULL;
Index = 0; Owner = -1;
}
~sMapItem() { delete Next; }
} sMapItem;
class cMapICS
{
private:
long m_NumItems; // # items in map
sMapItem *m_ItemParent; // Linked list parent map item
cGraphics *m_Graphics; // Parent graphics object
// Functions to read in next long or float # in file
long GetNextLong(FILE *fp);
float GetNextFloat(FILE *fp);
cFrustum *m_Frustum; // Viewing frustum
public:
sItem *m_MIL; // Master item list
sMapItemMeshList m_Meshes[MAX_MIL];
cMapICS(); // Constructor
~cMapICS(); // Destructor
BOOL Init( cGraphics *Graphics, sItem *MIL);
// Load, save, and free a list of map items
BOOL Load(char *Filename);
BOOL Save(char *Filename);
BOOL Free();
// Add and remove an item on map
BOOL Add(long ItemNum, long Quantity, \
float XPos, float YPos, float ZPos, \
sMapItem *OwnerItem = NULL);
BOOL Remove(sMapItem *Item);
// Retrieve # items or parent linked list object
long GetNumItems();
sMapItem *GetParentItem();
sMapItem *GetItem(long Num);
void Render(cFrustum *Frustum=NULL, float ZDistance = 0.0f);
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -