还不是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 5 R5 M6 r s4 F! m: a
: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.+ \7 d# r: Q7 y) ~
* z* ^" l% Z9 c# J; z( m9 \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
/ k; J; h4 P# V! x6 }/ u
7 ] f4 V& l9 Y; I0 H; P |