还不是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 % G5 b& Z' s5 j7 t9 F' X, [2 Z9 c! f
: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.9 N: J) } a9 l( F' ^. h
( \6 W7 m2 {( J3 ?6 }3 {4 `' UFeel 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
; Q# d# |; X9 M e! x2 Z
$ T x6 J/ S f9 H. ~' V3 ? |