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

***.dgp [#z07eed5e]
?
	
***.eef [#d952b763]
マップに配置するエフェクト(ワープポータル・ランプ等)
	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 [#s9d6af53]
マップに適応させる気候(レンズフレア・空等)~

	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("無題.JPG");


--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 [#z54182ec]
機関車とか

***.map [#m98b0daa]
	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 [#c720b673]
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 [#p250cbe8]
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 [#n67aa861]
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位置のオフセット 高さ、奥行、幅?
		dword? unknwon:// 0? 0x40? 0x42 (0x40だと被さると半透明に?
		byte x,y ;// 2D用オフセット位置(-1をして使用)
		dword flag; // ビットフラグ、0x00(オフセット→回転→移動)0x10(回転→移動→オフセット) 0x40(0x40だと被さると半透明)
		dword objname_address; //mapobjnameのファイルポインタの位置?
		dword objname_address; //
		dword flag_address;    // 侵入可・不可等の値の位置( 0:侵入不可 1:侵入不可
	}

***.wcd [#w7605831]
雪とか

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS