map.datファイル

  • &color(red):※編集者に注意:基本的にリトルエンディアンで書き込まれてます
    • 例: dword ver = 0x01234567 を情報をファイルに書き込むと 67 45 23 01

.dgp

?

	

.eef

マップに配置するエフェクト(ワープポータル・ランプ等)

	struct hed{
		dowrd ver?; //02固定?
		dword effect_num; //下記のデータ数
	}
	struct data{
		short effet_id; //effect.sppのデータを参照?
		byte[0x10] name; //使用されない
		byte x; //マップのどのマスに設定するか
		byte y; //
		short offx; //上のマスからのオフセットをピクセル単位で指定(1マスは100ピクセル。
		short offy; //(この場合のY座標は高さなので注意
		short offz; //(奥行き(y=-100offzなので注意
		dword unkwnon; //0固定?
	}

.ese

マップに適応させる気候(レンズフレア・空等)

	struct file_hed{
		sbyte ver; //新しい物は02が多い 古いと01
		dword kikou_num; //下記のdata数
	}
	struct kikou[kikou_num]{
		struct hed;
		struct data;
	}
  • ヘッダ
    • ver1
      	struct kikou.hed{
      		dword type; //データのタイプ
      		dword length; //データのサイズ
      	}
    • ver2
      	struct kikou.hed{
      		dword type; //データのタイプ
      		dword unkwnon;  //ほぼ1 (データの個数←じゃなかった
      		dword length; //データのサイズ
      	}
  • data
    • マップの基本データ(type = 1)
      • 備考:必ずあるような感じ
      • Type=1 Unknown=1 Length = 0x14
        	struct kikou.data{
        		dword unkwnon1; //1固定?
        		dword unkwnon2; //0固定?
        		dword bgm; //BGM番号
        		dword unkwnon3; //0固定?
        		dword unkwnon4; //0固定?
        	}
  • カメラデータ(type = 2)
    • Type=2 Unknown=1 Length = 0x0E
      	struct kikou.data{
      		byte unknown;//
      		byte hosei;  //これが00以外だと景色が遠くにあるほど設定した色に近づく(Fog・霧
      		byte blue; //設定する色
      		byte green;//設定する色
      		byte red;  //設定する色
      		byte alpha?;//不明
      		
      		float fNearView;//前方投影面までの距離(これが遠いと近付きすぎると見えなかったり
      		float fFarView;//後方投影面までの距離(これをちゃんと設定しないと空が見えなかったり
      	}
    • 例:00 00 00 00 00 FF 00 00 00 00 00 00 00 00(10001000.ese)
    • 例:00 00 00 00 00 FF 00 40 1C 46 00 A0 8C 46(10063100.ese)
    • 例:00 00 FF FF FF FF 00 40 9C 45 00 60 6A 46(30001001.ese等 30000000台はほぼこれ?)
    • hosei辺りのデータが分かりにくいので赤く設定してみた例
      &ref(): File not found: "無題.JPG" at page "Map File";
  • Unknownデータ(type = 3)
    • Type=3 Unknown=1 Length = 0x5A
      	struct kikou.data{
      	}
    • 10063100.eseとかに入ってる
  • Unknownデータ(type = 4)
    • Type=4 Unknown=1 Length = 0x66
      	struct kikou.data{
      	}
    • 10001000.eseとかに入ってる
  • 視点設定?データ(type = 5)
    • Type=5 Unknown=1 Length = 0x10
    • 多分最初の1byteが1だとマップに霧がかかる
    • 視点開放マップの設定?最初のdwordが1だと視点開放マップ?視点開放マップだと視点の角度や気候の設定(パケットでの変更も可)が出来るようになる
      	struct kikou.data{
      	}
    • 例:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00(10001000.ese)
    • 例:01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00(50032000.ese)
  • 気候?データ(type = 6)
    • Type=6 Unknown=2 Length = 0x10
    • 備考:空やレンズフレアがない時もこのデータが入ってることがある
      	struct kikou.data{
      		byte[0x40] cloud1;//dome_sky03等の other内のobj name 以下同
      		byte[0x40] cloud2;//ただ全部文字列なのかどうかは自信ない
      		byte[0x40] cloud3;//もしかしたら他のデータも入ってるのかも?
      		byte[0x40] cloud4?;//何もない場合 00で埋められてる
      		
      		float cloud_speed[3]; //雲の回転速度 何で三つまでしかないの?
      		byte[0x40];//"lensflare"か"lensflare2"って文字列が入ってる(多分読み込むcsvファイル?
      		dword unknown;//なんかのフラグ? 1:空&雲表示? 2:太陽表示?
      		dword unknown;//0固定?
      		dword unknown;//0固定?
	}

.hsc

機関車とか

.map

	struct hed{
		dword mapid//まっぷid 
		char mapname[0x20]//まっぷname
		word width
		word height
		byte holy; マップ全体の光属性
		byte dark; 闇属性
		byte ?; 無属性?
		byte fire; 火属性
		byte wind; 風属性
		byte water; 水属性
		byte earth; 土属性
		byte unknown1; // 主に0でたまに2とか4とか8とか0x10とか 自然ダメージフラグ? wordかもしれない
		byte unknown2; // 同上。永遠への北限 大陸5F ノーザンD ビーの巣穴 イグルー(event) 飛空庭の部屋(event)等で値が設定
	}
	struct dat{
		dword id //eventIDっぽい。ワープもeventの内。
		byte holy; その座標の光属性(全体の属性にaddかどうかは不明)
		byte dark; 闇属性
		byte ?; 無属性?
		byte fire; 火属性
		byte wind; 風属性
		byte water; 水属性
		byte earth; 土属性
		short unknown; // Z値?マイナスの場合もあり
		byte? flag //進入可不可フラグ
		           //(0=進入不可 2=進入可 4=向こう側が見えない 8=? 10=?
		byte unknown14; // hedのunknown1,2と関係有り? wordかもしれない
		byte unknown15; // 自然ダメージの設定っぽいけれど・・・
		byte unknown16; //現在全て0。
	} hed.y * hed.x

.mod

mapobj配置?

	head + data * head.data_num + obj_names
	struct head {
		dword data_num;
		dword ver?; //2or3
	}
  • Ver2.0
    	struct data {
    		dword id?; 50000〜?
    		dword unkwnon; 0?
    		byte x;
    		byte y;
    		byte dir;
    		dword unkwnon; 0?
    		dword unkwnon; 0?
    		dword objname_address; //mapobjnameのファイルポインタの位置
    	}
    	struct objname {
    		"mapobjのname\0" * data_num
    	}
  • Ver3.0
    	struct data {
    		dword id?; 50000〜?
    		dword unKwnon;     //0x01?
    		dword unkwnon[10]; //0埋め?
    		dword unKwnon[10]; //連番?
    		dword unKwnon;     //0?
    		byte x;
    		byte y;
    		byte dir;
    		dword unkwnon; 0?
    		dword objname_address; //mapobjnameのファイルポインタの位置
    	}
    	struct objname {
    		"mapobjのname\0" * data_num
    	}

.mof

mapobj配置?

  • Ver2.0
    	filehead + data * datahed[filehead.datahead_num].data_num
	struct filehead {
		char ver[9]; // "MOFver2.0\0"
		dword datahead_num;
	}
	struct datahead {
		char objname[]; // "27_FE_undeadlamp01\0" "03_hana04_08\0"
		dword data_num;
	}
	struct data {
		float x, y, z;    //移動
		float x, y, z, w; //クオータニオン
		float x, y, z;    //拡大率
	}
  • Ver3.0
	filehead + data * datahed[filehead.datahead_num].data_num
	struct filehead {
		dword ver; //0x03
		dword datahead_num;
	}
	struct datahead {
		char objname[]; // "27_FE_undeadlamp01\0" "03_hana04_08\0"
		dword data_num;
	}
	struct data {
		float x, y, z;    //移動
		float x, y, z, w; //クオータニオン
		float x, y, z;    //拡大率
		float a;          //透明度?
	}

.otl

mapobjの属性?

	head + data * head.data_num
	struct head {
		dword data_num;
		dword ver?; // 3
	}
	struct data {
		byte width,height; //mapobjの大きさ? 2D用の当たり判定にも使われる
		dword? unknwon:// 0?
		short yoffset, zoffset, xoffset; //3D位置のオフセット 高さ、奥行、幅?
		byte x,y ;// 2D用オフセット位置(-1をして使用)
		dword flag; // ビットフラグ、0x00(オフセット→回転→移動)0x10(回転→移動→オフセット) 0x40(0x40だと被さると半透明)
		dword objname_address; //mapobjnameのファイルポインタの位置?
		dword objname_address; //
		dword flag_address;    // 侵入可・不可等の値の位置( 0:侵入不可 1:侵入不可
	}

.wcd

雪とか


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-02-12 (月) 14:24:30 (67d)