#pragma once
#include "ByteArray.h"

class CW3Info  
{
	class C4Points  
	{
	public:
		float fX1;
		float fY1;
		float fX2;
		float fY2;
		float fX3;
		float fY3;
		float fX4;
		float fY4;
		C4Points();
		virtual ~C4Points();

	};

	class CPlayer  
	{
	public:
		int allyHighPrio;
		int allyLowPrio;
		float startY;
		float startX;
		int trigID;
		int fixedstart;
		int race;
		int type;
		int iUnknown00;
		CPlayer();
		virtual ~CPlayer();
	};

	class CForce  
	{
	public:
		int iUnknown01;
		int iUnknown00;
		int trigID;
		int number;
		CForce();
		virtual ~CForce();
	};


public:
	CByteArray m_baUnsupportedBuffer;

	int mapUnknownInts0[10];

	float mapUnknownFloat0;
	float mapUnknownFloat1;
	float mapUnknownFloat2;
	float mapUnknownFloat3;

	int mapiUnknown00;
	int mapiUnknown01;
	CForce mapForces[12];
	int mapForcesFlag;
	int mapNbMaxForces;
	CPlayer mapPlayers[12];
	int mapNbMaxPlayers;

	int mapProlSubtitleTID;
	int mapProlTitleTID;
	int mapProlTextTID;
	int mapProlUnknownTID;

	int mapLoadGlue;
	int mapLoadSubtitleTID;
	int mapLoadTitleTID;
	int mapLoadTextTID;
	int mapLoadUnknownTID;
	int mapLoadBackgrnd;

	int mapCampBackgrnd;
	char mapMainTileset;
	int mapFlags;
	int mapPlayableHeight;
	int mapPlayableWidth;
	int mapTopBoundHeight;
	int mapBottomBoundHeight;
	int mapRightBoundWidth;
	int mapLeftBoundWidth;
	C4Points mapCameraBounds;
	int mapSugPlyrTID;
	int mapDescTID;
	int mapAuthorTID;
	int mapNameTID;
	int mapEditVer;
	int mapNbSaves;
	CW3Info();
	virtual ~CW3Info();

protected:
};