15.03.2004, 01:44
В заголовочном файле куча ошибок и неточностей. Соотнося с текстовиком заголовок мр файла должен получиться следующим:
Непонятно, почему количество тайлов почти везде совпадает с размером текстуры. Может быть этот параметр отвечает вовсе не за количество тайлов?
И еще. Что за анимированные тайлы? Это как вообще? Это к воде и лаве относится что ли?
И еще, в МР файле насколько я понял нет ничего, что отвечает за воду. А то, что в заголовочном файле названно sMpWater на самом деле есть ничто иное, как параметры материала. Этот материал я бы описал следующим образом:
Код:
typedef struct sMpHead // Заголовок файла
{
DWORD dwSig; // Сигнатура, всегда 0xCE4AF672
float fScale; // Максимальная высота
long nSecX; // Количество секторов по X
long nSecY; // Количество секторов по Y
long nTexture; // Кол-во текстур
DWORD dwTextureSize // Размер Текстуры
DWORD dwnTiles; // Кол-во Тайлов
DWORD dwTileSize; // Размер Тайла
WORD wNumMaterials; // Кол-во используемых материалов.
DWORD dwNumAnimTiles; // Кол-во анимированных тайлов.
}
И еще. Что за анимированные тайлы? Это как вообще? Это к воде и лаве относится что ли?
И еще, в МР файле насколько я понял нет ничего, что отвечает за воду. А то, что в заголовочном файле названно sMpWater на самом деле есть ничто иное, как параметры материала. Этот материал я бы описал следующим образом:
Код:
typedef struct sMpWater // Заголовок файла
{
DWORD dwSecNo; // Номер секции - тут возможно идет не номер секции, а Material Power, либо просто индекс материала.
float fFaceColorR;
float fFaceColorG;
float fFaceColorB;
float fFaceColorA;
float fDiffuseColorR;
float fDiffuseColorG;
float fDiffuseColorB;
float fSpecularColorR;
float fSpecularColorG;
float fSpecularColorB;
}
Duty is everything, the greatest of joys, the deepest of sorrows.