逆向:程序研究/AT1/Gmd:修订间差异

来自歌颂之丘
跳转到导航 跳转到搜索
(文字替换 -“AT1/”替换为“程序研究/AT1/”)
(更正错误)
 
(未显示另一用户的1个中间版本)
第4行: 第4行:
== 格式 ==
== 格式 ==
<pre>
<pre>
<Cell>
    <struct name="Collision">
  <type type='u16' /> <!-- 碰撞箱类型 -->
        <field name="type" type="uint8" /> <!-- 碰撞箱类型? -->
  <unknown type='u16' /> <!-- 不明确,可能是和类型有关的参数? -->
        <field name="para1" type="uint8" />
  <height type='u8' /> <1-- 高度(Type 为1 时表示柱子) -->
        <field name="para2" type="uint8" />
</Cell>
        <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>


<Gmd>
    <struct name="Row">
  <x type='u8' /> <!-- 地图x方向大小 -->
        <field name="Cols" type="Cell[x]" />
  <y type='u8' /> <!-- 地图y方向大小 -->
    </struct>
  <cells type='Cell[x, y]' />
 
</Gmd>
    <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>
</pre>
</pre>



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。