逆向:程序研究/AT1/Gmd

来自歌颂之丘
Xiyan讨论 | 贡献2024年5月13日 (一) 20:01的版本 (更正错误)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

GMD

疑似 Game Map Data。保存地图的碰撞数据,地图的卷轴数据保存在逆向:程序研究/AT1/Qvd中。Qvd引用的图片裁切数据,保存在:逆向:AT1主程序中。

格式

    <struct name="Collision">
        <field name="type" type="uint8" /> <!-- 碰撞箱类型? -->
        <field name="para1" type="uint8" />
        <field name="para2" type="uint8" />
        <field name="height" type="uint8" /> <!-- 基础高度 -->
    </struct>
    <!-- 0,0为空气□,0,2,0,0 为一根柱子■,[{11,0,0, 0}, {12,2,0, 0}]为◣,[{12,0,0,0}{11,2,0, 0}]为◥,待分析 -->
    
    <struct name="Cell">
        <field name="length" type="uint8">
            <cache>length</cache>
        </field>
        <field name="data" type="Collision[length]" /> 
    </struct>

    <struct name="Row">
        <field name="Cols" type="Cell[x]" />
    </struct>

    <struct name="Gmd">
        <field name="x" type="uint8">
            <cache>x</cache>
        </field>
        <field name="y" type="uint8">
            <cache>y</cache>
        </field>
        <field name="Rows" type="Row[y]" />
    </struct>

范例:

01 01 01 00 00 00 02

大小1×1,格子(0,0)处有踏脚方柱,高度2。