Area指的是很多个小地图拼凑成一块的大地图(四代开始的设定)
数据文件编号:
究极之日:a083
究极之月:a084
文件数量为AreaId * 11(暂时未知这个AreaId的最大值,文件里一共3696 / 11 = 336个)
一个Area有11个文件,他们的具体用途可以在泄露源码里找到
enum DataIdx { AREA_DATA_IDX_PLACEMENTDATA = 0, //! 配置情報 AREA_DATA_IDX_TERRAIN_RESOURCE, //! 地形资源 AREA_DATA_IDX_TERRAIN_LAYOUT_RESOURCE, //! 地形配置资源 AREA_DATA_IDX_CHARACTOR_RESOURCE, //! 人物资源,可能是指行走图分布数据 AREA_DATA_IDX_STATICMODEL_RESOURCE, //! 建模资源,可能是指建筑之类的建模配置 AREA_DATA_IDX_EFFECT_RESOURCE, //! 效果 AREA_DATA_IDX_ENVIRONMENT_RESOURCE, //! 环境数据资源 AREA_DATA_IDX_ZONE_SCRIPT_RESOURCE, //! 地图脚本数据资源 AREA_DATA_IDX_INIT_SCRIPT_RESOURCE, //! 初始化脚本资源 AREA_DATA_IDX_ENCOUNT_DATA, //! 遭遇信息 AREA_DATA_IDX_CAMERA_AREA_DATA, //! 摄像机数据 AREA_DATA_IDX_NUM, };
0:AREA_DATA_IDX_PLACEMENTDATA 配置文件
文件编号 = AreaId * 11 + 0
文件头数据格式,通用:
struct BinLinkerHeader { u16 signature; // 2字节 签名 u16 filenum; // 2字节 文件数量 u32 offset[1]; // 文件地址表格,具体大小为filenum * 4 };
配置文件一共有17个,分别是
enum { PACK_IDX_POS,//<位置配置信息 PACK_IDX_MOVEMODEL,//<行走图信息 PACK_IDX_MAPJUMP,//<地图跳跃配置信息 PACK_IDX_BG,//< BG配置信息 PACK_IDX_STATICMODEL,//<配置模型配置信息 PACK_IDX_ACTION,//<动作事件配置信息 PACK_IDX_ENCOUNT,//<计数配置信息 PACK_IDX_TRAINER,//<训练师配置信息 PACK_IDX_GIMMICK_ENCOUNT,//基准计数配置信息 PACK_IDX_TRAFFIC,//<往来配置信息 PACK_IDX_PLACEMENT_ITEM,//<道具配置信息 PACK_IDX_BERRY_POINT,//<仅限配置信息 PACK_IDX_FISHING_SPOT,//<钓鱼点配置信息 PACK_IDX_FINDER_SPOT,//<取景器点配置信息 PACK_IDX_CONTACT_POKEMON,//<口袋妖怪接触表现用配置信息 PACK_IDX_PUSHROCK,//<岩石挤压信息 //按区域配置的数据 PACK_IDX_ENVSOUND,//<环境声音配置信息 PACK_IDX_MAX, };
函数GetZonePlacementData
行走图信息
最大数量:32
结构:
// 待机运动数据条件运动数据,当var的值成立时运行的动画 struct DefaultWaitAnimeDataIf { u32 motionId; // モーションID u32 flagwork; // フラグワークID u32 flagwork_num; // ワーク値 }; // 待机运动数据 struct DefaultWaitAnimeData { u32 defaultMotionID; u32 defaultMotionIDNum; DefaultWaitAnimeDataIf anime_if[3]; }; // 行走图数据 struct MoveModelData { u32 type; // 类型 f32 position[3]; // 坐标 f32 quaternion[4]; // 姿势 u32 romVersion; // ROM版本 u32 flagwork; // flag或者变量,当这个值超过0x4000时判定为var u32 flagwork_num; // 值 u32 eventID; // 事件Id u32 moveCode; // 动作类型 u32 characterId; // 人物模型ID u32 scriptID; // 脚本ID DefaultWaitAnimeData defaultAnimeData; // 默认动画数据 u32 alias; // 别名标志,外星人? u32 reversetime_type; // 反转世界? u32 talkCollisionOffset;// 对话碰撞? u32 collisionOffset; // 移动碰撞? }; // 数据大小 120 // 头数据参考struct BinLinkerHeader // 具体结构 struct MoveModelDataHeader { u32 num; MoveModelData data[]; };
FIELD_PLACEMENT_DATA_TYPE_POSEVENT, // 地点事件? FIELD_PLACEMENT_DATA_TYPE_MVMODEL, // 人物行走图,也可以指移动模型 FIELD_PLACEMENT_DATA_TYPE_BGEVENT, // bg事件
当前仅支持登录后发布评论