飞飞世界论坛
标题: 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
" M5 i( @: P( a4 R# Z, n, q& w" [
: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.) b' e/ y4 d. \0 n- s
7 P9 x m" e( F2 U5 B* DFeel 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
0 Y3 `0 Z. g* b. a/ M- ]8 e% ?
+ q5 R/ C$ Q8 G' G4 d# l
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/) |
Powered by Discuz! X3.2 |