「未分類」の編集履歴(バックアップ)一覧はこちら
「未分類」(2012/03/12 (月) 00:04:36) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
ペイルウィング、死んでも動ける
_L 0x201C2DE0 0x08995948
死んだあとスタートボタン押しっぱなしにするとなぜか倍速になる
ペイルウィング、下半身のモーションが止まる
_L 0x201C2DC0 0x08995948
ペイルウィング、魂が抜ける
_L 0x201C2DB0 0x08995948
移動したり飛んだりするとカメラだけ移動します。体は動きません
攻撃するとカメラの位置からではなく体のある位置から発射されます
ペイルウィング、移動できなくなる
_L 0x201C2DA0 0x08995948
飛ぶことはできる
陸子ペリ夫
_L 0x2011E120 0x0A200400
_L 0x20001000 0x34040043
_L 0x20001004 0x50E4000A
_L 0x20001008 0x20E70021
_L 0x2000100C 0x34040044
_L 0x20001010 0x50E40007
_L 0x20001014 0x20E70021
_L 0x20001018 0x34040064
_L 0x2000101C 0x50E40004
_L 0x20001020 0x20E7FFDF
_L 0x20001024 0x34040065
_L 0x20001028 0x50E40001
_L 0x2000102C 0x20E7FFDF
_L 0x20001030 0x0A24784A
_L 0x20001034 0x00E09025
プレイヤーが着地できなくなる
_L 0x10051688 0x00000000
ペイルの場合、飛んだあと地面に接触すると滑るように移動できます
プレイヤーがムーンウォーク
_L 0x2004C4C4 0x45000020
ミサイルの射程を変更
_L 0x2000E1BC 0x3404xxxx
xxxx = 消滅までの時間(1/60秒単位)
0000: 即消滅
003C: 1秒
012C: 5秒
0258: 10秒
ミサイルの誘導開始時間を変更
_L 0x2000E33C 0x3404xxxx
xxxx = 誘導開始時間(1/60秒単位)
0000: 即誘導
003C: 1秒
012C: 5秒
0258: 10秒
ミサイルの爆破範囲を変更
_L 0x2000E1E8 0x3C05xxxx
_L 0x2000E1F0 0xAE0501B4
xxxx = 爆破半径
0000: 0m
3F80: 1m
4120: 10m
42C8: 100m
447A: 1km
ミサイルのダメージを変更
_L 0x2000E3D0 0x3C05xxxx
_L 0x2000E3D8 0xAE05013C
xxxx = ダメージ
0000: 0
3F80: 1
4120: 10
42C8: 100
447A: 1000
ロケット弾の射程を変更
_L 0x2000BE64 0x3404xxxx
xxxx = 消滅までの時間(1/60秒単位)
0000: 即消滅
003C: 1秒
0258: 10秒
ロケット弾の爆破範囲を変更
_L 0x2000BE94 0x3C05xxxx
_L 0x2000BE9C 0xAE0501D4
xxxx = 爆破半径
3F80: 1m
4120: 10m
42C8: 100m
ロケット弾のダメージを変更
_L 0x2000C004 0x3C05xxxx
_L 0x2000C00C 0xAE05015C
xxxx = ダメージ
3F80: 1
447A: 1000
ロケット弾のサイズを変更
_L 0x2000C030 0x3C04xxxx
_L 0x2000C034 0xAE0401B0
xxxx = サイズ
3DCC: 0.1
3F80: 1
4120: 10
ロケット弾の色を変更
_L 0x2000C038 0x3C06xxxx
_L 0x2000C040 0x3C06yyyy
_L 0x2000C04C 0x3C06zzzz
_L 0x2000C058 0x3C06wwww
_L 0x2000C03C 0xAE0601C0
_L 0x2000C048 0xAE0601C4
_L 0x2000C054 0xAE0601C8
_L 0x2000C060 0xAE0601CC
xxxx = 赤 0~255
yyyy = 緑 0~255
zzzz = 青 0~255
wwww = 不透明度 0~255
4280: 64
4300: 128
4340: 192
437F: 255
武器の弾をカスタマイズ
_L 0x200E2E80 0x3C04xxxx # 弾クラス名のアドレス上位16bit
_L 0x200E2E8C 0x3484xxxx # 弾クラス名のアドレス下位16bit
_L 0x200E2AF4 0x3C05xxxx # float 弾速
_L 0x200E2B04 0x3405xxxx # int 射程(消滅までの時間。1/60秒単位)
_L 0x200E2B14 0x3C05xxxx # float ダメージ
_L 0x200E2B28 0x3C05xxxx # float 爆破半径
_L 0x200E2B38 0x3C05xxxx # float サイズ
_L 0x200E2B48 0x3C05xxxx # float 赤色 0~255
_L 0x200E2B58 0x3C05xxxx # float 緑色 0~255
_L 0x200E2B68 0x3C05xxxx # float 青色 0~255
_L 0x200E2B78 0x3C05xxxx # float 不透明度 0~255
_L 0x200E2AF8 0xAFA500C0
_L 0x200E2B1C 0xAFA500C8
_L 0x200E2B2C 0xAFA500CC
_L 0x200E2B3C 0xAFA500D0
_L 0x200E2B4C 0xAFA500D4
_L 0x200E2B5C 0xAFA500D8
_L 0x200E2B6C 0xAFA500DC
_L 0x200E2B7C 0xAFA500E0
弾の種類によってはパラメータの位置や内容が変わるかも
ミサイルの煙少ししか出ない
_L 0x2000E5EC 0x3C046000
カメラの座標を調節
_L 0x2012E058 0xC48D0000
_L 0x2012E05C 0xC48E0004
_L 0x2012E064 0xC48F0008
_L 0x2012E078 0x0A200400
_L 0x2012E080 0xE4AF0008
_L 0x20001000 0x3C06xxxx
_L 0x20001004 0x3C07yyyy
_L 0x20001008 0x3C08zzzz
_L 0x2000100C 0x44868000
_L 0x20001010 0x46106B40
_L 0x20001014 0xE4AD0000
_L 0x20001018 0x44878000
_L 0x2000101C 0x46107380
_L 0x20001020 0xE4AE0004
_L 0x20001024 0x44888000
_L 0x20001028 0x0A24B820
_L 0x2000102C 0x46107BC0
xxxx = X軸相対値
yyyy = Y軸相対値
zzzz = Z軸相対値
0000: +0 (デフォルト)
C000: -2
C120: -10
C2C8: -100
最大ミッション数を変更
_L 0x100F0800 0x0000xxxx
_L 0x100F0D24 0x0000xxxx
_L 0x100F0E8C 0x0000xxxx
xxxx = ミッション数
004E: 78 (デフォルト)
0063: 99
※100以上の値は動作不安定
_L 0x20005504 0x3C08xxxx # float 弾速
_L 0x200054E8 0x3404xxxx # int 射程(消滅までの時間。1/60秒単位)
_L 0x200055B4 0x3C08xxxx # float ダメージ
_L 0x200055BC 0x3C08xxxx # float 吹き飛びの大きさ
_L 0x200055D8 0x3C08xxxx # float サイズ
_L 0x200055E0 0x3C08xxxx # float 赤色 0~255
_L 0x200055E8 0x3C08xxxx # float 緑色 0~255
_L 0x200055F0 0x3C08xxxx # float 青色 0~255
_L 0x200055FC 0x3C08xxxx # float 不透明度 0~255
_L 0x20005510 0xE634000C
_L 0x20005524 0x44886000
_L 0x200055B8 0xAE0800DC
_L 0x200055C4 0xAE0800F4
_L 0x200055DC 0xAE080130
_L 0x200055E4 0xAE080140
_L 0x200055EC 0xAE080144
_L 0x200055F8 0xAE080148
_L 0x20005604 0xAE08014C
エフェクトカット
_L 0x20005938 0x00000000 # 実弾系着弾時ヒットエフェクト
_L 0x20005D1C 0x00000000 # 実弾系着弾時スパーク
_L 0x20005F98 0x00000000 # 実弾系着弾時スモーク
_L 0x2000604C 0x1000000B # 実弾系着弾時破片
_L 0x20007DE8 0x00000000 # 未確認 Beam00:Spark00
_L 0x2001A008 0x00000000 # 酸着弾時ヒットエフェクト
_L 0x20011AC4 0x00000000 # 未確認 PCANON01:Smoke01N
_L 0x2001390C 0x00000000 # 未確認 Laser01:LIGHT
_L 0x20013A5C 0x10000021 # レーザー着弾時ヒットエフェクト
_L 0x20013D98 0x00000000 # 未確認 Laser01:Spray00
_L 0x20013E98 0x00000000 # 未確認 Laser01:LIGHT
_L 0x20014C30 0x00000000 # 未確認 Laser02:Spray00
_L 0x200CB52C 0x03E00008 # 未確認 煙エフェクト
_L 0x200CB530 0x00000000
_L 0x200CC0B4 0x03E00008 # 爆発エフェクト+煙エフェクト(ロケット弾など)
_L 0x200CC0B8 0x00000000
_L 0x200CCC44 0x03E00008 # 未確認 煙エフェクト
_L 0x200CD188 0x03E00008 # 未確認 煙エフェクト
_L 0x200CD518 0x03E00008 # 爆発エフェクト+煙エフェクト(住宅街のガスタンクなど)
_L 0x200CD51C 0x00000000
敵の攻撃パラメータの調べ方 ※行末の>以降はPSPLINKでのコマンド例
PSPLINKを使って0x001651ACにブレークポイントをセット > bp 0x08800000+0x001651AC 1
煙や弾などのオブジェクトが生成されるとここで処理が止まる
レジスタ$a2が示すアドレスに弾クラス名が文字列として格納されている > dm $a2
レジスタ$a3が示すアドレスに弾のパラメータが構造体として格納されている > dm $a3
下記の表を参考に弾速や射程などを調べる
$a3+0x30: float 弾速 > dm $a3+0x30
$a3+0x34: int 射程 > dm $a3+0x34
$a3+0x38: float ダメージ > dm $a3+0x38
$a3+0x3C: float 爆破半径 > dm $a3+0x3C
$a3+0x40: float サイズ > dm $a3+0x40
$a3+0x44: float 赤色 > dm $a3+0x44
$a3+0x48: float 緑色 > dm $a3+0x48
$a3+0x4C: float 青色 > dm $a3+0x4C
$a3+0x50: float 不透明度 > dm $a3+0x50
$a3+0x54: int ? > dm $a3+0x54
ここまではどの弾でも一緒の内容だと思う
追尾開始時間などはクラス名によって位置が変わるらしい
レジスタ$a2が示すアドレスは変化するので「武器の弾をカスタマイズ」のコードでこの値を使ってはいけない
$a2が示すアドレスをたどり、書かれている弾クラス名と同じ文字列をプログラムコード部分(0x4000~0x1C8914くらいまで)から検索
ヒットした文字列のアドレスを使うようにする
弾より先に煙の生成で処理が止まることがある
その場合はブレークポイントのセット方法を工夫すると良い
ペイル免許取得
_L 0x2004E174 0x00000000
敵・味方識別 皇帝都市の砲台(中央ハッチ以外全て)
_L 0x20085BB4 0x2405000x
x = 0: 味方("敵"に対して攻撃)
1: 敵("味方"に対して攻撃) (デフォルト)
2: ステルス(向いてる方向に攻撃)
&link_up(上へ)
ミサイルの射程を変更
_L 0x2000E1BC 0x3404xxxx
xxxx = 消滅までの時間(1/60秒単位)
0000: 即消滅
003C: 1秒
012C: 5秒
0258: 10秒
ミサイルの誘導開始時間を変更
_L 0x2000E33C 0x3404xxxx
xxxx = 誘導開始時間(1/60秒単位)
0000: 即誘導
003C: 1秒
012C: 5秒
0258: 10秒
ミサイルの爆破範囲を変更
_L 0x2000E1E8 0x3C05xxxx
_L 0x2000E1F0 0xAE0501B4
xxxx = 爆破半径
0000: 0m
3F80: 1m
4120: 10m
42C8: 100m
447A: 1km
ミサイルのダメージを変更
_L 0x2000E3D0 0x3C05xxxx
_L 0x2000E3D8 0xAE05013C
xxxx = ダメージ
0000: 0
3F80: 1
4120: 10
42C8: 100
447A: 1000
ロケット弾の射程を変更
_L 0x2000BE64 0x3404xxxx
xxxx = 消滅までの時間(1/60秒単位)
0000: 即消滅
003C: 1秒
0258: 10秒
ロケット弾の爆破範囲を変更
_L 0x2000BE94 0x3C05xxxx
_L 0x2000BE9C 0xAE0501D4
xxxx = 爆破半径
3F80: 1m
4120: 10m
42C8: 100m
ロケット弾のダメージを変更
_L 0x2000C004 0x3C05xxxx
_L 0x2000C00C 0xAE05015C
xxxx = ダメージ
3F80: 1
447A: 1000
ロケット弾のサイズを変更
_L 0x2000C030 0x3C04xxxx
_L 0x2000C034 0xAE0401B0
xxxx = サイズ
3DCC: 0.1
3F80: 1
4120: 10
ロケット弾の色を変更
_L 0x2000C038 0x3C06xxxx
_L 0x2000C040 0x3C06yyyy
_L 0x2000C04C 0x3C06zzzz
_L 0x2000C058 0x3C06wwww
_L 0x2000C03C 0xAE0601C0
_L 0x2000C048 0xAE0601C4
_L 0x2000C054 0xAE0601C8
_L 0x2000C060 0xAE0601CC
xxxx = 赤 0~255
yyyy = 緑 0~255
zzzz = 青 0~255
wwww = 不透明度 0~255
4280: 64
4300: 128
4340: 192
437F: 255
敵の攻撃パラメータの調べ方 ※行末の>以降はPSPLINKでのコマンド例
PSPLINKを使って0x001651ACにブレークポイントをセット > bp 0x08800000+0x001651AC 1
煙や弾などのオブジェクトが生成されるとここで処理が止まる
レジスタ$a2が示すアドレスに弾クラス名が文字列として格納されている > dm $a2
レジスタ$a3が示すアドレスに弾のパラメータが構造体として格納されている > dm $a3
下記の表を参考に弾速や射程などを調べる
$a3+0x30: float 弾速 > dm $a3+0x30
$a3+0x34: int 射程 > dm $a3+0x34
$a3+0x38: float ダメージ > dm $a3+0x38
$a3+0x3C: float 爆破半径 > dm $a3+0x3C
$a3+0x40: float サイズ > dm $a3+0x40
$a3+0x44: float 赤色 > dm $a3+0x44
$a3+0x48: float 緑色 > dm $a3+0x48
$a3+0x4C: float 青色 > dm $a3+0x4C
$a3+0x50: float 不透明度 > dm $a3+0x50
$a3+0x54: int ? > dm $a3+0x54
ここまではどの弾でも一緒の内容だと思う
追尾開始時間などはクラス名によって位置が変わるらしい
レジスタ$a2が示すアドレスは変化するので「武器の弾をカスタマイズ」のコードでこの値を使ってはいけない
$a2が示すアドレスをたどり、書かれている弾クラス名と同じ文字列をプログラムコード部分(0x4000~0x1C8914くらいまで)から検索
ヒットした文字列のアドレスを使うようにする
弾より先に煙の生成で処理が止まることがある
その場合はブレークポイントのセット方法を工夫すると良い
ペイル免許取得
_L 0x2004E174 0x00000000
敵・味方識別 皇帝都市の砲台(中央ハッチ以外全て)
_L 0x20085BB4 0x2405000x
x = 0: 味方("敵"に対して攻撃)
1: 敵("味方"に対して攻撃) (デフォルト)
2: ステルス(向いてる方向に攻撃)
&link_up(上へ)