还不是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
/ J5 W4 @& U) [( T& s% Q1 L: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.
# W: ~0 s+ t0 {8 m- n6 v; Z" l
$ o# f( {( v# k [$ ?& `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
5 F' [ Q- {% @! W |9 d3 p# \% A5 A 7 \/ ]+ q7 w5 o5 j% _9 C
|