盟军敢死队2及3 SEC文件格式表
盟军敢死队2及3 SEC文件格式表
地狱门神(F.R.C.)整理
数据区 |
数据块 |
数据节 |
数据 |
数据类型 |
长度 |
描述 |
样例数据 |
Head DA |
Identifying DB |
DS 0 |
Version Sign |
Int64 |
8 |
固定 |
01000000 01000000 / 02000000 01000000 |
DS 1 |
|
|
|
不固定,有时有有时没有,可以删除 |
...POSTE... |
||
DS 2 |
Identifying Sign |
|
36 |
固定 |
...MAP1... |
||
Basic Info DB |
|
Number of Points |
Int32 |
4 |
这里定义了点的数量 |
15010000 |
|
Number of Borders |
Int32 |
4 |
这里定义了边的数量 |
47030000 |
|||
Number of Districts |
Int32 |
4 |
这里定义了区域面的数量,包括特殊面的数量 |
A4000000 |
|||
Number of Special Districts |
Int32 |
4 |
这里定义了特殊面的数量 |
00000000 |
|||
Main DA |
Point DB |
Point DS |
x |
Single |
4 |
横坐标 |
EE |
y |
Single |
4 |
纵坐标 |
42E04543 |
|||
... Point DSs: 总数由Number of Points定义 点的数据字节总数为: Number of Points * 8 |
|||||||
Border DB |
Border DS |
Start Point Index |
Int32 |
4 |
起始点索引 |
00000000 |
|
End Point Index |
Int32 |
4 |
结束点索引 |
01000000 |
|||
Parent District Index |
Int32 |
4 |
隶属于的区域面索引 |
00000000 |
|||
Neighbor District Index |
Int32 |
4 |
临界的区域面索引,0xFFFFFFFF表示该线在地图边上,外部不再有区域 |
11000000 |
|||
Unknown |
Int32 |
4 |
未知数据 |
00000000 |
|||
... Border DSs: 总数由Number of Borders定义,区域面 的线数据的描述顺序为逆时针。 线数据占字节总数为:Number of Borders * 20 |
|||||||
District DB |
District DS |
n |
Int32 |
4 |
|
05000000 |
|
Terrain |
TerrainInfo |
8 |
|
00000000 14000000 |
|||
kx |
Single |
4 |
与X轴夹角正切 |
00000080 |
|||
ky |
Single |
4 |
与Y轴夹角正切 |
00000080 |
|||
bz |
Single |
4 |
Z轴的截距 |
|
|||
Unknown Data |
|
24/16 |
|
00000000 00000000 00000000 00000000 00000000 00000000 |
|||
MinPx |
Single |
4 |
所有点的X坐标的最小值 |
21300FC3 |
|||
MinPy |
Single |
4 |
所有点的Y坐标的最小值 |
87564243 |
|||
MinPz |
Single |
4 |
所有点的Z坐标的最小值 |
|
|||
MaxPx |
Single |
4 |
所有点的X坐标的最大值 |
8115D |
|||
MaxPy |
Single |
4 |
所有点的Y坐标的最大值 |
04B65B43 |
|||
MaxPz |
Single |
4 |
所有点的Z坐标的最大值 |
|
|||
Border 0 |
Int32 |
4 |
区域的边 |
00000000 |
|||
Border 1 |
Int32 |
4 |
区域的边 |
01000000 |
|||
... Borders: 总数由n定义 |
|||||||
... District DSs: 总数由Number of Districts定义 |
|||||||
Tail DA |
Symbol DB |
|
Symbol |
Int32 |
4 |
尾部数据的开始 |
32534148 |
Basic info DB |
|
Total Number of Districts |
Int32 |
4 |
网格包含区域的数量的总和 |
6E050000 |
|
Unknown |
Int32 |
4 |
未知数据 |
06000000 |
|||
Number of Reseaus in X |
Int32 |
4 |
X轴方向的网格数量 |
17000000 |
|||
Number of Reseaus in Y |
Int32 |
4 |
Y轴方向的网格数量 |
18000000 |
|||
Reseau DB |
Reseau DS |
Number of Districts in the Reseau |
Int32 |
4 |
此网格包含区域的数量 |
03000000 |
|
District Index |
Int32 |
4 |
区域索引 |
DC000000 |
|||
... District Index: 总数由Number of Districts in the Reseau确定 |
|||||||
Reseau DSs: 总数由Number of Reseaus in X * Number of Reseaus in Y确定 |
Terrain
字节(位数) |
名称 |
描述 |
00 |
01 |
02 |
03 |
04 |
05 |
06 |
07 |
08 |
09 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
0 |
MajorType |
|
陆地 |
雪地 |
深水 |
不透明的水 |
透明的水 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
MinorType |
控制音效 |
土壤或沙 |
草地 |
路或甲板 |
KWEX 294 SBEX 1400 |
3TE 627 |
木板桥 |
CZEX 1172 KWEX 174 |
雪地 |
CZEX 1565 |
3TV 12 |
金属网格 |
|
连接水的斜坡 |
水 |
石子地 |
|
|
|
|
|
|
|
|
2 |
Unknown |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
Unknown |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4(1) | MustCreep | 必须爬行 | - | ||||||||||||||||||||||
4(3) | NoView | 区域中不显示视野 | - | ||||||||||||||||||||||
4(4) | |||||||||||||||||||||||||
4(5) | IsBarrier | 可以阻挡视野 | - | ||||||||||||||||||||||
4(7) | IsEnterable | 是否可进入 | - | ||||||||||||||||||||||
5 | Darkness | 0-255 | |||||||||||||||||||||||
5(1) |
IsShadow |
是否是阴影区 |
- | ||||||||||||||||||||||
5(7) |
IsDiggable |
可挖性(1#,5#) |
- |
||||||||||||||||||||||
6 |
IsBound |
|
否 |
|
是 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
Unknown |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
注:
1、所有的整数数据类型都是little-endian的。
2、有“/”的项,盟军2的在左边,盟军3的在右边。
3、对盟军2模型的进一步理解表明,
Point实际上是指方程为
x = x0
y = y0
的铅直线,Border实际上是指两条铅直线的连线的面。
District实际上是指一个直柱(侧面为直角梯形),它的上底面方程为
z = kx * x + ky *y + bz
下底面为水平面,其余各面均与水平面垂直。
Special District是指一个District,它的一个或几个侧面是可通过的,用相应的Border的Neighbor District Index = -1表示,所以Special District和其他District的数据结构并没有分开。
以上名称很不准确,但是为了避免改动,姑且沿用旧称。
参考:
[1]invox