「パッチ/ファイル拡張」の編集履歴(バックアップ)一覧に戻る

パッチ/ファイル拡張 - (2005/06/29 (水) 17:39:49) のソース

**ファイル拡張 (by 2-658)

**概要
このパッチでは以下の変更を行います。

・ファイルのサイズを4Mから6Mに拡張します。
 0x400000~5FFFFFを使用可能にします。
 ただし、0x408000~40FFFFは使用できません。

・1ターンに2回攻撃できる敵を30体から最大127体に拡張します。(Version2.0から、Version4.0で仕様変更)
 2回攻撃する敵を指定している場所はもともと0x3E66CB~ですが、0x59FF00~に変更しています。
 このパッチを当てただけでは2回攻撃する敵は増えません。
 0xFEFFになっている部分を敵番号に書き換えるとその敵が2回攻撃するようになります。
 データの終端は必ず0xFFFFになるようにしないとバグります。

・戦闘時のリーダーモンスターによって音楽を変えることができるようになります。(Version3.0から)
 0x5FFDC0~0x5FFEFFにリーダーモンスターごとの音楽を指定する部分を作りました。
 敵番号順に1バイト単位で曲番号が並んでいます。0xFFでデフォルトのままです。
 もともとバトル1が流れている戦闘のみ変更できます。(四魔貴族などは変更できません)
 その他の曲が流れている戦闘は、イベントフラグを書き換える必要があります。
 曲番号の例を挙げておきます。
	【1A】四魔貴族(真)
	【1E】四魔貴族(影)
	【41】バトル2
	【56】ラストバトル
	など
 ※0x062A77を01から別の値に変更すると、この機能は上手く動作しません。
 Version4.0で、713さんによりバグ修正。

・音楽を32曲追加できるようになります。(Version3.0から)
 もともとゲーム中で使用されている曲は0x00~0x5Bの92曲ですが、0x5C~0x7Bの32曲を追加できます。
 過去の音楽変更パッチはそのまま使用できます。(当然元の曲を上書きしますが。)
 Version3.1からドラムセットに正式に対応しました。Version3.0用のパッチはそのまま使えます。
 追加曲の各データのアドレスは以下のようになります。
 シーケンスデータのヘッダの先頭2バイトはデータ長ですが、実データが短くても書き換える必要はありません。
	曲番号	シーケンスデータ	波形指定	ドラムセット
	0x5C	0x5E1DC0 - 0x5E2CBF	0x5E19C0	0x5E1440
	0x5D	0x5E2CC0 - 0x5E3BBF	0x5E19E0	0x5E1464
	0x5E	0x5E3BC0 - 0x5E4ABF	0x5E1A00	0x5E1488
	0x5F	0x5E4AC0 - 0x5E59BF	0x5E1A20	0x5E14AC
	0x60	0x5E59C0 - 0x5E68BF	0x5E1A40	0x5E14D0
	0x61	0x5E68C0 - 0x5E77BF	0x5E1A60	0x5E14F4
	0x62	0x5E77C0 - 0x5E86BF	0x5E1A80	0x5E1518
	0x63	0x5E86C0 - 0x5E95BF	0x5E1AA0	0x5E153C
	0x64	0x5E95C0 - 0x5EA4BF	0x5E1AC0	0x5E1560
	0x65	0x5EA4C0 - 0x5EB3BF	0x5E1AE0	0x5E1584
	0x66	0x5EB3C0 - 0x5EC2BF	0x5E1B00	0x5E15A8
	0x67	0x5EC2C0 - 0x5ED1BF	0x5E1B20	0x5E15CC
	0x68	0x5ED1C0 - 0x5EE0BF	0x5E1B40	0x5E15F0
	0x69	0x5EE0C0 - 0x5EEFBF	0x5E1B60	0x5E1614
	0x6A	0x5EEFC0 - 0x5EFEBF	0x5E1B80	0x5E1638
	0x6B	0x5EFEC0 - 0x5F0DBF	0x5E1BA0	0x5E165C
	0x6C	0x5F0DC0 - 0x5F1CBF	0x5E1BC0	0x5E1680
	0x6D	0x5F1CC0 - 0x5F2BBF	0x5E1BE0	0x5E16A4
	0x6E	0x5F2BC0 - 0x5F3ABF	0x5E1C00	0x5E16C8
	0x6F	0x5F3AC0 - 0x5F49BF	0x5E1C20	0x5E16EC
	0x70	0x5F49C0 - 0x5F58BF	0x5E1C40	0x5E1710
	0x71	0x5F58C0 - 0x5F67BF	0x5E1C60	0x5E1734
	0x72	0x5F67C0 - 0x5F76BF	0x5E1C80	0x5E1758
	0x73	0x5F76C0 - 0x5F85BF	0x5E1CA0	0x5E177C
	0x74	0x5F85C0 - 0x5F94BF	0x5E1CC0	0x5E17A0
	0x75	0x5F94C0 - 0x5FA3BF	0x5E1CE0	0x5E17C4
	0x76	0x5FA3C0 - 0x5FB2BF	0x5E1D00	0x5E17E8
	0x77	0x5FB2C0 - 0x5FC1BF	0x5E1D20	0x5E180C
	0x78	0x5FC1C0 - 0x5FD0BF	0x5E1D40	0x5E1830
	0x79	0x5FD0C0 - 0x5FDFBF	0x5E1D60	0x5E1854
	0x7A	0x5FDFC0 - 0x5FEEBF	0x5E1D80	0x5E1878
	0x7B	0x5FEEC0 - 0x5FFDBF	0x5E1DA0	0x5E189C

・音楽で使用できる波形(楽器)の数を増やします。(Version4.0から)
 元は0x01~0x52までが使用できますが、0x53~0x80までを使用可能にします。
 以下のデータを拡張領域に移動しています。
	元の場所	拡張後の場所	サイズ	内容
	0x060DDA	0x5E0FC0	2byte	ループ開始位置(ループしない波形は0000)
	0x060E7E	0x5E10C0	2byte	サンプリング時との音程ずれ補正
	0x060F22	0x5E11C0	2byte	詳細不明(エフェクトかけた時のフラグっぽい?)
	0x060CE4	0x5E12C0	3byte	波形データオフセット
 波形データは空き領域ならどこに置いてもかまいませんが、出来るだけ0x560000-0x59DFFFに置くようにして下さい。
 波形データは先頭2バイトがデータ長(この2バイトを含まない)で、以降が実データです。
 ループ開始位置は必ず9の倍数を指定してください。

・使用できる文字を増やすことが出来るようになります。(Version4.0から)
 シナリオコード18xxの引数は00~0Fまでしか使われていないようなので、1810~18FFを文字として使用します。
 文字のグラフィックデータは59E100以降に置きます。59E100に書いた文字が文字コード1810になります。
 yy-chrでファイルを開いて1BPP表示にして文字を書いてください。


●Struct.def追記用.txt

ファイル拡張パッチの拡張部分に関する構造体定義です。
このテキストの中身をオリジナルのStruct.defファイルに追記して使用してください。
※追記すると拡張していないファイルの編集が正常に行えなくなるので注意してください。



**新規作成パッチ用空き領域一覧

敵変更パッチなどで使用している空き領域の一覧です。
新たにパッチを作る場合はこの領域を避けておくと、同時に使用できます。


●拡張領域
0x400000 - 0x400E52	七英雄+1(ロックブーケ)
0x400E53 - 0x401DF8	七英雄+1(ノエル)
0x401DF9 - 0x4028BF	七英雄+1(クジンシー)
0x4028C0 - 0x403B3D	七英雄+1(ダンターグ)
0x403B3E - 0x404D0C	七英雄+1(スービエ)
0x404D0D - 0x4060AC	七英雄+1(ワグナス)
0x4060AD - 0x406F0C	七英雄+1(ボクオーン)
0x406F0D - 0x407C7E	七英雄+1(リアルクィーン)

0x408000 - 0x40FFFF	使用不可
0x410000 - 0x41059F	miniロックブーケ(2-328さん作)
0x4105A0 - 0x413715	三柱神パッチ(2-328さん作)
0x413716 - 0x4138AA	エッグマン
0x4138AB - 0x413F08	上を下への大騒動

0x450000 - 0x4508C1	風花→雪女(ストレイ坊さん作)

0x560000 - 0x59DFFF	追加波形データ用予約領域
0x59E000 - 0x59E0FF	文字追加関連プログラム
0x59E100 - 0x59FEFF	追加文字用グラフィック領域
0x59FF00 - 0x59FFFF	2回攻撃する敵

0x5B9100 - 0x5D379F	仲間追加パッチ(713さん作)

0x5E0FC0 - 0x5E10BF	波形ループ開始位置
0x5E10C0 - 0x5E11BF	波形サンプリング時との音程ずれ補正
0x5E11C0 - 0x5E12BF	波形詳細不明
0x5E12C0 - 0x5E143F	波形データオフセット
0x5E1440 - 0x5E18BF	ドラムセット
0x5E18C0 - 0x5E195F	音楽関連プログラム
0x5E1960 - 0x5E19BF	シーケンスオフセット
0x5E19C0 - 0x5E1DBF	波形指定
0x5E1DC0 - 0x5FFDBF	シーケンスデータ
0x5FFDC0 - 0x5FFEFF	敵ごとの曲番号
0x5FFF00 - 0x5FFFFF	使用予定


●追加音楽
【5C】
【5D】聖剣伝説3 Nuclear Fusion  植物系モンスター

以下全部713さん作
【6F】シャドウのテーマ――――(FF6)
【70】High Tension Wire ―(聖剣伝説3)有翼モンスター・ガルダウィング・ビューネイ(空中)
【71】疾風―――――――(クロノクロス)【予定】
【72】疾風―――(ラジカルドリーマーズ)爬虫類モンスター・蛇モンスター
【73】風の憧憬――――(クロノトリガー)
【74】マノリア修道院―(クロノトリガー)
【75】バイクチェイス―(クロノトリガー)【調整中】
【76】戦い――――――(クロノトリガー)妖精モンスター・野盗・大野盗
【77】戦い2―――――(クロノトリガー)精霊モンスター・霊体モンスター
【78】涙を拭いて―――――(ロマサガ2)
【79】クジンシーとの戦い―(ロマサガ2)クジンシー・リアルクィーン・悪鬼(ロアーヌ)
【7A】七英雄バトル――――(ロマサガ2)クジンシー以外の七英雄
【7B】通常戦闘――――――(ロマサガ2)獣人モンスター・無機質モンスター


●追加波形
0x560000 - 0x560F5E	【53】オーケストラヒット(拡張パッチv4.1~)
0x560F5F - 0x563051	【54】ドラム(拡張パッチv4.1~)
0x563052 - 0x563914	【55】マリンバ(713さん作、拡張パッチv4.2~)


●2回攻撃する敵
【00】	ヤマ
【01】	ヤミ一
【02】	アスラ
【03】	ドラゴンル一ラ一(白)前半
【04】	ドラゴンル一ラ一(白)後半
【05】	ドラゴンル一ラ一(赤)後半
【06】	ドラゴンル一ラ一(黒)後半
【07】	ドラゴンル一ラ一(緑)後半
【08】	ドラゴンル一ラ一(青)後半
【09】	ドラゴンル一ラ一(赤)前半
【0A】	ドラゴンル一ラ一(黒)前半
【0B】	ドラゴンル一ラ一(緑)前半
【0C】	ドラゴンル一ラ一(青)前半
【0D】	ザッハ一ク
【0E】	アビスナ一ガ
【0F】	ビュ一ネイ(幻影1)
【10】	ビュ一ネイ(幻影2)
【11】	ビュ一ネイ(幻影3)
【12】	ビュ一ネイ(幻影4)
【13】	ビュ一ネイ(幻影1・空中戦)
【14】	ビュ一ネイ(幻影2・空中戦)
【15】	ビュ一ネイ(幻影3・空中戦)
【16】	ビュ一ネイ(幻影4・空中戦)
【17】	アラケス(幻影)
【18】	アウナス(幻影)
【19】	フォルネウス(幻影)
【1A】	アラケス(本体)
【1B】	ビュ一ネイ(本体)
【1C】	アウナス(本体)
【1D】	フォルネウス(本体)
【1E】	七英雄+1(ロックブーケ)
【1F】	七英雄+1(ノエル)
【20】	七英雄+1(クジンシー)
【21】	七英雄+1(ダンターグ)
【22】	七英雄+1(スービエ)
【23】	七英雄+1(ワグナス)


●追加文字コード
// 0x18 // (■=使用不可、□=使用可能)
    00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F
 00, ■, ■, ■, ■, ■, ■, ■, ■, ■, ■, ■, ■, ■, ■, ■, ■
 10, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □
 20, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □
 30, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □
 40, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □
 50, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □
 60, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □
 70, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □
 80, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □
 90, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □
 A0, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □
 B0, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □
 C0, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □
 D0, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □
 E0, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □
 F0, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □, □


以下は拡張領域とは関係ありませんが、敵変更パッチなどで使用している空き領域です。

●敵画像No
0x73	七英雄+1(ロックブーケ)
0x74	七英雄+1(ノエル)
0x75	七英雄+1(クジンシー)
0x76	七英雄+1(ダンターグ)
0x77	七英雄+1(スービエ)
0x78	七英雄+1(ワグナス)
0x79	七英雄+1(ボクオーン)
0x7A	七英雄+1(リアルクィーン)
0x7B	miniロックブーケ(2-328さん作)
0x7C	三柱神パッチ(2-328さん作)
0x7D	三柱神パッチ(2-328さん作)
0x7E	三柱神パッチ(2-328さん作)
0x7F	三柱神パッチ(2-328さん作)
0x80	エッグマン
0x81	風花→雪女(ストレイ坊さん作)

●敵番号
0xBA	三柱神パッチ(2-328さん作)
0xBB	三柱神パッチ(2-328さん作)
0xBC	三柱神パッチ(2-328さん作)
0xBD	三柱神パッチ(2-328さん作)
0xBE	三柱神パッチ(2-328さん作)
0xBF	三柱神パッチ(2-328さん作)

●行動タイプ
0x65	七英雄+1(ロックブーケ)
0x66	七英雄+1(ノエル)
0x67	七英雄+1(クジンシー)
0x68	七英雄+1(クジンシー)
0x69	七英雄+1(ダンターグ)
0x6A	七英雄+1(ダンターグ)
0x6B	七英雄+1(スービエ)
0x6C	七英雄+1(スービエ)
0x6D	七英雄+1(ワグナス)
0x6E	七英雄+1(ワグナス)
0x6F	七英雄+1(ボクオーン)
0x70	七英雄+1(ボクオーン)
0x71	七英雄+1(リアルクィーン)
0x72	七英雄+1(リアルクィーン)
0x73	三柱神パッチ(2-328さん作)
0x74	三柱神パッチ(2-328さん作)
0x75	三柱神パッチ(2-328さん作)
0x76	三柱神パッチ(2-328さん作)
0x77	三柱神パッチ(2-328さん作)
0x78	三柱神パッチ(2-328さん作)
0x79	三柱神パッチ(2-328さん作)

●固定敵戦闘番号
0x91	三柱神パッチ(2-328さん作)
0x92	三柱神パッチ(2-328さん作)

●固定敵戦闘詳細の後ろの空き領域
0x3E8C3A - 0x3E8C47	三柱神パッチ(2-328さん作)

●戦闘メッセージ番号
0x14	ボクオーン戦闘開始
0x15	使用不可
0x16	ボクオーン戦闘終了
0x17	三柱神パッチ(2-328さん作)
0x18	三柱神パッチ(2-328さん作)
0x19	三柱神パッチ(2-328さん作)
0x1A	三柱神パッチ(2-328さん作)
0x1B	三柱神パッチ(2-328さん作)
0x1C	三柱神パッチ(2-328さん作)
0x1D	三柱神パッチ(2-328さん作)
0x1E	三柱神パッチ(2-328さん作)
0x1F	三柱神パッチ(2-328さん作)

●戦闘メッセージデータ
0x3D9CAD - 0x3D9CCF	ボクオーン戦
0x3D9CD0 - 0x3DA01C	三柱神パッチ(2-328さん作)

●戦闘メッセージセット
0x08	ボクオーン戦
0x09	三柱神パッチ(2-328さん作)
0x0A	三柱神パッチ(2-328さん作)
0x0B	三柱神パッチ(2-328さん作)
0x0C	三柱神パッチ(2-328さん作)
0x0D	三柱神パッチ(2-328さん作)