
typedef struct                                                                                     
{
	VECTOR pos;
	int   vertex_id;                                                                                
	var   random_dt;                                                                               
	var   normalize;                                                                                
	BOOL  active;
	BOOL  isactive;	
	var dist;                                                                                     
} DT_MARKER;

typedef struct{
	int obj_type;
	int obj_id;
	STRING* obj_file_name;

	} OBJDataBase;


typedef struct{
	char header[20];
} SMA_STRUC_HEADER;

//typedef struct{
//	char test[8];
//}SMA_UNSIN1;

//typedef struct{
//	char test[7];
//}SMA_UNSIN2;

typedef struct{
	int keineAhnung;
	D3DXVECTOR3 position;
	int moveType;
	int EnableLand;
	byte eventType;
	byte nix;
	short EventP1;
	short EventP2;
	short EvnetP3;
	char evnetSTP[40];
	int waterType;
} SMA_STRUC_DATEN;

typedef struct{
	int monster_block_count;
}SMA_MONSTER_BLOCK_COUNT;

typedef struct{
	char monster_name[40];
	int monster_uid;
	short spawn_min_x;
	short spawn_min_y;
	short spawn_max_x;
	short spawn_max_y;
	short monster_max_count;
	short monster_respawn_count;
	short monster_respawn_time;
	short monster_type;
}SMA_MONSTER_DATEN;

typedef struct{
	int EncodeNum;
	int Identification;
	int FileSize;
	int DataNumber;
	int Parity_t;
	int EncodeNum;
	int DataSize;
	int Parity_d;
	char FileName[10];
	char pData[22];
	float SIZE_MAP;
	int hmap_block_count;
	int wmap_block_count;
	int object_block_count;	
} DAT_STRUC_HEADER;

typedef struct{
	float coord_x; //AdjacentToPositionHalfDistance
	float vertex_high; //AdjacentToPositionHalfDistance
	float coord_y; //AdjacentToPositionHalfDistance
	float unknown_200; //AdjacentToPosition
	float unknown_201; //AdjacentToPosition
	float unknown_202; //AdjacentToPosition
} DAT_STRUC_HIGHMAP;

typedef struct{
	int unknown_15;
	int unknown_16;
	int water_marker; // wasser type
	int unknown_19;
	byte unbekannt102;
	byte unbekannt101;
	byte unbekannt100;
	byte is_Landing;
	byte ped_map_event;
	byte unbekannt12345;
	byte unbekannt1234; 
	byte unbekannt123;	
} DAT_STRUC_WATERMAP;

typedef struct{
	int map_object_id;
	int obj_counter; //0 - ...
	float vec_pos_x; //x
	float vec_pos_y; //z
	float vec_pos_z; //y
	float vec_vel_x; //pan  //x achse
	float vec_vel_y; //roll //Z achse
	float vec_vel_z; //tilt //Y achse
	float vec_up_x;  //pan	//X achse
	float vec_up_y;  //roll //Z achse
	float vec_up_z;  //tilt //Y achse
	int ObjectMonsterUnique;
	int ObjectTexIndex;
	int ObjectScrIndex;
	int BodyCondition;
	int IsEvent;
	short EventType;
	short EventIndexFrom;
	short EventIndexTo;
	short EventIndex3;
	char info_text[40];
} DAT_STRUC_MAPOBJECTS;

typedef struct{
	int unknown_33;
	int unknown_34;
	int unknown_35;
	char effect_type[10];
	char unknown[26];
}DAT_STRUC_EFFECT_1;

typedef struct{
	char unknown[16];
	int unknown_37;
	int map_objects_count;
	float unknown_39;
	float unknown_40;
	float unknown_41;
	float unknown_42;
	int unknown_43;
	int unknown_44;
	int unknown_45;
	float unknown_46;
	int unknown_47;
	int unknown_48;
	int unknown_49;
	int unknown_50;
	int unknown_51;
	int unknown_52;
	char unknown_53[48];
}DAT_STRUC_UNBEKANNT;

typedef struct{
	int unknown_60;
	int unknown_61;
	int unknown_62;
	char effect_type[10];
	char unknown_123[26];
}DAT_STRUC_EFFECT_2;

typedef struct{
	int EncodeNum;
	int Identification;
	int FileSize;
	int DataNumber;
	int Parity_t;
} OBJ_TOTAL_HEADER;

typedef struct{
	int EncodeNum;
	int FileSize;
	int Parity_t;
	char filename[10];
	short trenner;
	
} OBJ_DATA_HEADER;

typedef struct{
	char datablock;
} OBJ_DATA_BLOCK;

typedef struct{
	int EncodeNum;
	int Identification;
	int FileSize;
	int DataNumber;
	int Parity_t;
} MAP_TOTAL_HEADER;

typedef struct{
	int EncodeNum;
	int FileSize;
	int Parity_t;
	char filename[10];
	short trenner;
} MAP_DATA_HEADER;

typedef struct{
	char datablock;
} MAP_DATA_BLOCK;
