Project1
标题:
Table的Marshal格式解析
[打印本页]
作者:
IamI
时间:
2010-7-30 13:52
标题:
Table的Marshal格式解析
本帖最后由 IamI 于 2010-7-30 16:55 编辑
因为要读取RM data所以不得不对Table数据研究了大半天= =||
恩,先做说明。这是一篇关于数据结构的说明(雾),作为对
此帖
的补充。
Table类型。
数据标识符为'u',然后跟有一个字符串'Table'(0A 54 61 62 6A 6C 65,其中0A是Table这个字符串的长度)
紧接着是一个标准整数,数值为:Table#x * Table#y * Table#z * 2 + 25(即是接下来的数据总长度)
(前面这句话有更改注意!)
,如果大小超过255(FF)就先是一个数值长度,然后以
小端序
写入数字。
接着后面是1个字节,是Table的维度(声明的时候的参数数量),为01 02 或 03
然后是三个不明就里的空格 00 00 00
接下来是3组4个字节的的数据,保存了Table的x、y、z值。
举例容易说明~
10 * 10 * 10的数组是:0A 00 00 00 0A 00 00 00 0A 00 00 00
258 * 258(0x102 * 0x102)的数组是:02 01 00 00 02 01 00 00 01 00 00 00
00属于前面的长度数据,另外,小端序注意
最后又是4个字节的数据,大小为Table#x * Table#y * Table#z
接下来就是真正的数据部分,z值优先,y值其次,x值最低。
也就是说对于Table来说,先写z = 0的数据,z = 0的数据里面又先写 y = 0的数据,然后写入x数据,再到y = 1写入。
大概就是这样……举例懒得写了,太长……= =||
作者:
DeathKing
时间:
2010-7-30 13:54
前排强势留爪。
作者:
八云紫
时间:
2010-7-30 14:46
其实真里亚要知道 II大大 的推理过程的说~~~
作者:
紫苏
时间:
2010-8-1 00:25
对啵,忘了 RGSS 里也有自定义 marshal 的类型……貌似还有 Rect 可序列化?
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1