飞飞世界论坛
标题: Lnd文件格式 [打印本页]
作者: admin 时间: 2016-1-10 03:18
标题: Lnd文件格式
还不是100%完成及零件的对象和sfx可能是错的,因为他们并不是测试,我会更新对象和sfx当我开始添加到地图编辑器。
随时张贴任何向无名烈士墓敬献了你已经准备好了。
代码:
DWORD version
:IF(version >= 1 )
DWORD offset_x
DWORD offset_y
:ENDIF
:FOREACH( 129 )
:FOREACH( 129 )
FLOAT height
:IF( height >= 4000.0f ) // Die
height -= 4000.0f
:ENDIF
:IF( height >= 3000.0f ) // NoMove
height -= 3000.0f
:ENDIF
:IF( height >= 2000.0f ) // NoFly
height -= 2000.0f
:ENDIF
:IF( height >= 1000.0f ) // NoWalk
height -= 1000.0f
:ENDIF
:ENDFOR
:ENDFOR
:FOREACH( 16 )
:FOREACH( 16 )
BYTE height
patch_type[BYTE] type
:ENDFOR
:ENDFOR
:IF(version >= 2 )
:FOREACH( 16 )
:FOREACH( 16 )
BYTE unknown
:ENDFOR
:ENDFOR
:ENDIF
BYTE layer_count
:FOREACH( layer_count )
SHORT tile_id
:FOREACH( 16 )
:FOREACH( 16 )
DWORD patch_visible
:ENDFOR
:ENDFOR
:FOREACH( 128 )
:FOREACH( 128 )
BYTE r
BYTE g
BYTE b
BYTE a
:ENDFOR
:ENDFOR
:ENDFOR
DWORD object_count
:FOREACH( object_count )
DWORD type // Must be 0
FLOAT angle
FLOAT unknown1
FLOAT unknown2
FLOAT unknown3
FLOAT position_x
FLOAT position_y
FLOAT position_z
FLOAT scale_x
FLOAT scale_y
FLOAT scale_z
DWORD unknown4
DWORD mesh_id
DWORD unknown5
DWORD unknown6
:ENDFOR
DWORD sfx_count
:FOREACH( sfx_count )
DWORD type // Must be 3
FLOAT angle
FLOAT unknown1
FLOAT unknown2
FLOAT unknown3
FLOAT position_x
FLOAT position_y
FLOAT position_z
FLOAT scale_x
FLOAT scale_y
FLOAT scale_z
DWORD unknown4
DWORD sfx_id
DWORD unknown5
DWORD unknown6
:ENDFOR
:ENUM patch_type
NONE = 0
WATER = 1
CLOUD = 2
( k' S. ]8 k% f- I9 y:ENDENUM
原文:
Stillisn't 100% complete and parts of object and sfx might be wrong as they are nottested, I'll update object and sfx as I start adding them to the map editor. @$ P$ i. W$ h$ Y k
0 y; P, j! ^0 k# U6 P# n2 j( uFeel free to post any of the unknowns you've figured out.
Code:
DWORD version
:IF(version >= 1 )
DWORD offset_x
DWORD offset_y
:ENDIF
:FOREACH( 129 )
:FOREACH( 129 )
FLOAT height
:IF( height >= 4000.0f ) // Die
height -= 4000.0f
:ENDIF
:IF( height >= 3000.0f ) // NoMove
height -= 3000.0f
:ENDIF
:IF( height >= 2000.0f ) // NoFly
height -= 2000.0f
:ENDIF
:IF( height >= 1000.0f ) // NoWalk
height -= 1000.0f
:ENDIF
:ENDFOR
:ENDFOR
:FOREACH( 16 )
:FOREACH( 16 )
BYTE height
patch_type[BYTE] type
:ENDFOR
:ENDFOR
:IF(version >= 2 )
:FOREACH( 16 )
:FOREACH( 16 )
BYTE unknown
:ENDFOR
:ENDFOR
:ENDIF
BYTE layer_count
:FOREACH( layer_count )
SHORT tile_id
:FOREACH( 16 )
:FOREACH( 16 )
DWORD patch_visible
:ENDFOR
:ENDFOR
:FOREACH( 128 )
:FOREACH( 128 )
BYTE r
BYTE g
BYTE b
BYTE a
:ENDFOR
:ENDFOR
:ENDFOR
DWORD object_count
:FOREACH( object_count )
DWORD type // Must be 0
FLOAT angle
FLOAT unknown1
FLOAT unknown2
FLOAT unknown3
FLOAT position_x
FLOAT position_y
FLOAT position_z
FLOAT scale_x
FLOAT scale_y
FLOAT scale_z
DWORD unknown4
DWORD mesh_id
DWORD unknown5
DWORD unknown6
:ENDFOR
DWORD sfx_count
:FOREACH( sfx_count )
DWORD type // Must be 3
FLOAT angle
FLOAT unknown1
FLOAT unknown2
FLOAT unknown3
FLOAT position_x
FLOAT position_y
FLOAT position_z
FLOAT scale_x
FLOAT scale_y
FLOAT scale_z
DWORD unknown4
DWORD sfx_id
DWORD unknown5
DWORD unknown6
:ENDFOR
:ENUM patch_type
NONE = 0
WATER = 1
CLOUD = 2
:ENDENUM
% X; \4 S' W+ x; L1 b5 s, y3 ~
* r; I e0 v' i: S
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/) |
Powered by Discuz! X3.2 |