还不是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
7 h [! |9 M: l# n: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.+ s( U) h0 b! o8 z
, P$ L; l, Q- z. r( N; j
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 6 s1 O9 Q7 _# D- U3 r
) n7 j; Y; a6 _- h' \( m7 [! w |