飞飞世界论坛
标题: 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
2 r6 u6 H1 c* [4 n" k) b% i
: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.
- E# L8 Q) M) l) w! d% f1 K S8 M9 q
Feel 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
4 h( ?; h; a" S/ p O4 k
& ^+ a, z1 `% e+ ]
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/) |
Powered by Discuz! X3.2 |