还不是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
9 W: L& ?8 D. D! u; b: S6 i9 _/ Z: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* n/ i+ u4 @5 I2 ?6 m" q0 g( e9 }( L
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
" ]; d6 H% Z8 z4 q1 Z! w. H* g
# i* f- s% [& O5 G# \% f. {- [ |