盟重土城新格式说明...
今天对土城新地图研究了一下,原来只是增加了Tiles2和SmTiles2的支持..
新版地图格式的每格信息由原来的12Byte改成14Byte了,
多增加的2个Byte信息如下
TilesOffset: Byte;
SmTilesOffset: Byte;
因此,地砖绘制那里应该这样识别,和物件绘制的意思一样,即大于0的使用2开始的文件(记得加载Tiles?.wil和SmTiles?.wil)
sResName := 'Tiles';
if (FRecordSize = SizeOf(TScenePoint)) and (pScenePoint.TilesOffset > 0) then
sResName := sResName + IntToStr(pScenePoint.TilesOffset + 1);
小地砖
sResName := 'SmTiles';
if (FRecordSize = SizeOf(TScenePoint)) and (pScenePoint.SmTilesOffset > 0) then
sResName := sResName + IntToStr(pScenePoint.SmTilesOffset + 1);
FRecordSize = SizeOf(TScenePoint)) 是我的判断,没找到更合适的新地图判断方式
FRecordSize := (nFileFize - SizeOf(TSceneHeader)) div (FSceneHeader.Width * FSceneHeader.Height);
if FRecordSize <> SizeOf(TScenePoint) then
FRecordSize := 12;
|