From 5f544070f3b537e57ffc411720a4e059dd4caea5 Mon Sep 17 00:00:00 2001 From: showa_yojyo Date: Thu, 18 Aug 2022 23:58:01 +0900 Subject: [PATCH 01/19] Release 1.18.4 --- src/jp/book/dq5_character_traits.xml | 4 ++-- src/tools/Makefile.base-vars | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/jp/book/dq5_character_traits.xml b/src/jp/book/dq5_character_traits.xml index af494f8..5d73c44 100644 --- a/src/jp/book/dq5_character_traits.xml +++ b/src/jp/book/dq5_character_traits.xml @@ -346,8 +346,8 @@ else{ p1 = D[n] * a[index]; p2 = D[n] * b[index]; -p3 = F * a[idex]; -p4 = F * b[idex]; +p3 = F * a[index]; +p4 = F * b[index]; sum = p2 + p3 + p4; D = p1 + (sum >> 5); diff --git a/src/tools/Makefile.base-vars b/src/tools/Makefile.base-vars index b4a6d5c..b491813 100644 --- a/src/tools/Makefile.base-vars +++ b/src/tools/Makefile.base-vars @@ -32,7 +32,7 @@ MKDIR = mkdir -p RUN_HHC = ~/bin/runhhc.bat # Drop the suffix 'dev' in release. -BOOK_VERSION = 1.18.3 +BOOK_VERSION = 1.18.4 # You should not normally need to edit anything below here. SHELL = /bin/sh From 99c46c1ac7319e65dbb363b06e96031e9aa251ae Mon Sep 17 00:00:00 2001 From: showa_yojyo <2386769+showa-yojyo@users.noreply.github.com> Date: Sat, 14 Sep 2024 01:22:21 +0900 Subject: [PATCH 02/19] BOOK_VERSION: 1.18.5 --- src/tools/Makefile.base-vars | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools/Makefile.base-vars b/src/tools/Makefile.base-vars index b491813..0eb930c 100644 --- a/src/tools/Makefile.base-vars +++ b/src/tools/Makefile.base-vars @@ -32,7 +32,7 @@ MKDIR = mkdir -p RUN_HHC = ~/bin/runhhc.bat # Drop the suffix 'dev' in release. -BOOK_VERSION = 1.18.4 +BOOK_VERSION = 1.18.5 # You should not normally need to edit anything below here. SHELL = /bin/sh From f7e853553af33c0cd44e15c74aa29c9ea0678d45 Mon Sep 17 00:00:00 2001 From: showa_yojyo <2386769+showa-yojyo@users.noreply.github.com> Date: Sat, 14 Sep 2024 01:37:10 +0900 Subject: [PATCH 03/19] Correct the file lists in Appendix B. * appendix_dq{4,7}.xml: correct file lists (close #55) * preface.acknowledgments: reported and helped by yuilib --- src/jp/book/appendix_dq4.xml | 13 +++++-------- src/jp/book/appendix_dq7.xml | 13 ++++++++----- src/jp/book/preface.xml | 9 +++++++++ 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/src/jp/book/appendix_dq4.xml b/src/jp/book/appendix_dq4.xml index 4fd97a2..e0c6469 100644 --- a/src/jp/book/appendix_dq4.xml +++ b/src/jp/book/appendix_dq4.xml @@ -10,13 +10,10 @@ 放置状態。 - dq7_act.txt - dq7_ch2.txt - dq7_kiefer_talk_b.txt - dq7_rura1.txt - dq7_r.txt - dq7_imm.txt - dq7_item.txt - dq7_monster_parameter.txt + dq4_act.txt + dq4_imm.txt + dq4_item.txt + dq4_level.txt + dq4_monster.txt diff --git a/src/jp/book/appendix_dq7.xml b/src/jp/book/appendix_dq7.xml index 133bbc7..d570b7d 100644 --- a/src/jp/book/appendix_dq7.xml +++ b/src/jp/book/appendix_dq7.xml @@ -10,10 +10,13 @@ 放置状態。 - dq4_act.txt - dq4_imm.txt - dq4_item.txt - dq4_level.txt - dq4_monster.txt + dq7_act.txt + dq7_ch2.txt + dq7_kiefer_talk_b.txt + dq7_rura1.txt + dq7_r.txt + dq7_imm.txt + dq7_item.txt + dq7_monster_parameter.txt diff --git a/src/jp/book/preface.xml b/src/jp/book/preface.xml index 5f44a8a..24ade04 100644 --- a/src/jp/book/preface.xml +++ b/src/jp/book/preface.xml @@ -265,6 +265,15 @@ + + + yuilib 氏 + + + 付録 B の記述ミスを発見していただいた。 + + + 執筆陣の注意不足により、失礼ながらこの一覧から漏れている方がいるかもしれない。 From 07afd000767c9db48875b1c037a45c280fc72e32 Mon Sep 17 00:00:00 2001 From: showa_yojyo <2386769+showa-yojyo@users.noreply.github.com> Date: Sat, 14 Sep 2024 01:49:44 +0900 Subject: [PATCH 04/19] vscode/tasks: fix paths to xsltproc and xmllint [skip ci] --- .vscode/tasks.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 045d345..dc85352 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -6,7 +6,7 @@ { "label": "Build (jp)", "type": "shell", - "command": "make -C ${workspaceFolder}/src/jp html-chunk", + "command": "make -C ${workspaceFolder}/src/jp html-chunk XSLTPROC=/usr/bin/xsltproc XMLLINT=/usr/bin/xmllint", "group": { "kind": "build", "isDefault": true From 210d5fdeb4fbf64becf880c0f2aaa7e65cbb399f Mon Sep 17 00:00:00 2001 From: showa_yojyo <2386769+showa-yojyo@users.noreply.github.com> Date: Sat, 14 Sep 2024 01:53:44 +0900 Subject: [PATCH 05/19] tools/version.sh: change date format (close #85) --- src/tools/version.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/tools/version.sh b/src/tools/version.sh index 9f1771c..2ec150f 100644 --- a/src/tools/version.sh +++ b/src/tools/version.sh @@ -1,8 +1,9 @@ #!/bin/bash -TODAY_DATE=$(LANG= date +%Y/%m/%d\ \(%a\)) -TODAY_YEAR=${TODAY_DATE%%/*} -BOOK_VERSION=${1-"1.12"} +LANG= +TODAY_DATE=$(date +%Y-%m-%d\ \(%a\)) +TODAY_YEAR=$(date +%Y) +BOOK_VERSION=${1-"1.18.5"} cat < From 357bdc393652c199a6adc8a86ae0a9c8a61cc339 Mon Sep 17 00:00:00 2001 From: showa_yojyo <2386769+showa-yojyo@users.noreply.github.com> Date: Sat, 14 Sep 2024 22:01:41 +0900 Subject: [PATCH 06/19] =?UTF-8?q?data/dq5:=20(#87)=20s/=E3=82=AD=E3=83=B3?= =?UTF-8?q?=E3=82=B0=E3=82=AA=E3=83=BC=E3=82=AF/=E3=82=AA=E3=83=BC?= =?UTF-8?q?=E3=82=AF=E3=82=AD=E3=83=B3=E3=82=B0/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jp/book/data/dq5_238000_monsters.txt | 2 +- src/jp/book/data/dq5_23AED1_monster_initial.txt | 2 +- src/jp/book/data/dq5_23B979_monster_learning_curve.txt | 2 +- src/jp/book/data/dq5_23BEA5_monster_commands_travel.txt | 2 +- src/jp/book/data/dq5_23BEA6_monster_commands_battle.txt | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/jp/book/data/dq5_238000_monsters.txt b/src/jp/book/data/dq5_238000_monsters.txt index d84102e..3b48d4e 100644 --- a/src/jp/book/data/dq5_238000_monsters.txt +++ b/src/jp/book/data/dq5_238000_monsters.txt @@ -124,7 +124,7 @@ ベロゴンロード:48:95:40:110:0:180:35:0:0:0:4:0:0:0:0:58:0:0:0:0:0:0:2:1:1:1:2:1:0:3:3:1:0:0:1:1:メッセージ5:なめまわし:メッセージ5:たたかう:なめまわし:たたかう:かしこさのたね:n/a ジェリーマン:120:95:30:400:30:550:85:0:2:0:4:0:0:0:0:53:0:0:0:0:1:1:0:1:2:2:1:1:1:3:2:1:0:1:2:2:モシャス:モシャス:たたかう:モシャス:たたかう:モシャス:ちいさなメダル:n/a のろいのマスク:65:90:90:70:0:210:40:0:1:0:3:0:1:0:0:21:0:0:2:2:2:3:2:1:2:2:1:1:0:3:3:2:0:2:3:0:たたかう:(動きを呪う):たたかう:(HP を呪う):たたかう:(動きを呪う):てっかめん:n/a -オークキング:60:110:65:85:20:235:65:0:2:0:2:5:1:0:0:20:0:0:0:1:2:1:0:1:3:1:2:2:1:2:0:2:0:1:2:3:たたかう:ザオラル:たたかう:ザオラル:たたかう:たたかう:けがわのマント:キングオーク +オークキング:60:110:65:85:20:235:65:0:2:0:2:5:1:0:0:20:0:0:0:1:2:1:0:1:3:1:2:2:1:2:0:2:0:1:2:3:たたかう:ザオラル:たたかう:ザオラル:たたかう:たたかう:けがわのマント:オークキング ダミー17:35:75:116:180:255:0:0:1:0:0:7:0:0:0:0:9:0:0:0:0:0:0:0:0:3:3:3:3:3:3:3:3:3:3:3:3:たたかう:たたかう:ラリホーマ:たたかう:たたかう:ラリホーマ:ちからのたね:n/a ガボット:52:105:62:100:0:190:55:0:0:0:3:0:1:0:0:20:0:0:1:1:1:0:0:0:1:1:1:1:1:3:3:0:0:1:2:1:たたかう:もうどくのきり:たたかう:もうどくのきり:たたかう:(逃げる):どくけしそう:n/a シールドヒッポ:45:105:120:90:0:202:60:0:0:0:2:0:0:0:0:0:0:0:1:2:2:2:2:1:2:2:1:2:0:3:3:1:0:1:1:1:たたかう:みをまもる2:たたかう:みをまもる2:たたかう:みをまもる2:てつのたて:n/a diff --git a/src/jp/book/data/dq5_23AED1_monster_initial.txt b/src/jp/book/data/dq5_23AED1_monster_initial.txt index f85f18d..772e42b 100644 --- a/src/jp/book/data/dq5_23AED1_monster_initial.txt +++ b/src/jp/book/data/dq5_23AED1_monster_initial.txt @@ -24,7 +24,7 @@ ドラゴンマッド:4:40:83:45:10:15:130:0:0D:1 ミニデーモン:3:30:55:66:5:78:89:12:0A:1 メッサーラ:4:50:83:87:43:28:107:21:0F:1 -キングオーク:4:30:90:65:36:101:100:30:04:0 +オークキング:4:30:90:65:36:101:100:30:04:0 アームライオン:3:30:91:72:6:32:83:0:0A:1 エリミネーター:3:30:77:64:11:57:91:0:04:1 ゴーレム:5:50:120:110:25:90:210:0:07:0 diff --git a/src/jp/book/data/dq5_23B979_monster_learning_curve.txt b/src/jp/book/data/dq5_23B979_monster_learning_curve.txt index 3f46e02..572e6de 100644 --- a/src/jp/book/data/dq5_23B979_monster_learning_curve.txt +++ b/src/jp/book/data/dq5_23B979_monster_learning_curve.txt @@ -24,7 +24,7 @@ ID:仲間モンスター:アドレス:総数:L0:M0_0:M0_1:M0_2:L1:M1_0:M1_1:M1_2 16:ドラゴンマッド:23BBA7:6:6:00:01:00:7:00:02:00:8:00:04:00:10:00:08:00:13:00:10:00:15:00:20:00 17:ミニデーモン:23BBC0:9:3:00:01:00:4:00:02:00:10:00:04:00:13:00:08:00:17:00:10:00:20:01:00:00:23:00:20:00:25:00:40:00:28:00:80:00 18:メッサーラ:23BBE5:8:4:00:03:00:6:00:04:00:11:00:08:00:14:00:10:00:20:00:20:00:22:01:00:00:27:00:40:00:30:00:80:00 -19:キングオーク:23BC06:7:4:01:01:00:6:00:02:00:8:00:04:00:9:02:00:00:11:04:08:00:15:00:10:00:20:00:20:00 +19:オークキング:23BC06:7:4:01:01:00:6:00:02:00:8:00:04:00:9:02:00:00:11:04:08:00:15:00:10:00:20:00:20:00 1A:アームライオン:23BC23:4:5:00:01:00:9:00:02:00:12:00:04:00:15:00:08:00 1B:エリミネーター:23BC34:2:7:00:01:00:20:00:02:00 1C:ゴーレム:23BC3D:4:8:00:01:00:11:00:02:00:20:00:04:00:45:00:08:00 diff --git a/src/jp/book/data/dq5_23BEA5_monster_commands_travel.txt b/src/jp/book/data/dq5_23BEA5_monster_commands_travel.txt index a67e71a..f7a4209 100644 --- a/src/jp/book/data/dq5_23BEA5_monster_commands_travel.txt +++ b/src/jp/book/data/dq5_23BEA5_monster_commands_travel.txt @@ -24,7 +24,7 @@ ID:仲間モンスター:アドレス:総数:Command0:Command1:Command2:Command3 16:ドラゴンマッド:23BF75:0 17:ミニデーモン:23BF7D:1:ラナルータ 18:メッサーラ:23BF88:1:シャナク -19:キングオーク:23BF93:3:ザオラル:トラマナ:ザオリク +19:オークキング:23BF93:3:ザオラル:トラマナ:ザオリク 1A:アームライオン:23BF9E:0 1B:エリミネーター:23BFA4:0 1C:ゴーレム:23BFA8:0 diff --git a/src/jp/book/data/dq5_23BEA6_monster_commands_battle.txt b/src/jp/book/data/dq5_23BEA6_monster_commands_battle.txt index 8115231..ae588bd 100644 --- a/src/jp/book/data/dq5_23BEA6_monster_commands_battle.txt +++ b/src/jp/book/data/dq5_23BEA6_monster_commands_battle.txt @@ -24,7 +24,7 @@ ID:仲間モンスター:アドレス:総数:Command0:Command1:Command2:Command3 16:ドラゴンマッド:23BF76:6:あまいいき:さそうおどり:かえんのいき:やけつくいき:もうどくのきり:はげしいほのお 17:ミニデーモン:23BF7F:8:メラミ:なめまわし:メダパニ:あまいいき:イオラ:パルプンテ:メラゾーマ:イオナズン 18:メッサーラ:23BF8A:8:マホトーン:ぶきみなひかり:ザキ:ラリホーマ:メラミ:ザラキ:こごえるふぶき:メラゾーマ -19:キングオーク:23BF97:6:ザオラル:ザキ:ベホマラー:ザオリク:ザラキ:マヒャド +19:オークキング:23BF97:6:ザオラル:ザキ:ベホマラー:ザオリク:ザラキ:マヒャド 1A:アームライオン:23BF9F:4:マヌーサ:ちからため:ルカナン:かえんのいき 1B:エリミネーター:23BFA5:2:みなごろし:ルカニ 1C:ゴーレム:23BFA9:4:ちからため:きあいため:めいそう:いなずま From c22a5c645b1a42d44a935ce2056bf0b5dff0c65d Mon Sep 17 00:00:00 2001 From: showa_yojyo <2386769+showa-yojyo@users.noreply.github.com> Date: Sat, 14 Sep 2024 22:04:04 +0900 Subject: [PATCH 07/19] data/dq5: correct the data layout close #87, ref #56 --- .../data/dq5_239E41_human_progression.txt | 24 +++--- .../data/dq5_23A1B1_monster_progression.txt | 86 +++++++++---------- 2 files changed, 55 insertions(+), 55 deletions(-) diff --git a/src/jp/book/data/dq5_239E41_human_progression.txt b/src/jp/book/data/dq5_239E41_human_progression.txt index 5e49001..903f65d 100644 --- a/src/jp/book/data/dq5_239E41_human_progression.txt +++ b/src/jp/book/data/dq5_239E41_human_progression.txt @@ -1,12 +1,12 @@ -Name:Section:FirstExp:Level0:Level1:Level2:Level3:Level4:Level5:Level6:ExpA0:ExpB0:ExpA1:ExpB1:ExpA2:ExpB2:ExpA3:ExpB3:ExpA4:ExpB4:ExpA5:ExpB5:ExpA6:ExpB6:ExpA7:ExpB7:MHP0:MHP1:MHP2:MHP3:MHP4:MHP5:MHP6:MHP7:MHP8:MMP0:MMP1:MMP2:MMP3:MMP4:MMP5:MMP6:MMP7:MMP8:STR0:STR1:STR2:STR3:STR4:STR5:STR6:STR7:STR8:AGL0:AGL1:AGL2:AGL3:AGL4:AGL5:AGL6:AGL7:AGL8:DEF0:DEF1:DEF2:DEF3:DEF4:DEF5:DEF6:DEF7:DEF8:INT0:INT1:INT2:INT3:INT4:INT5:INT6:INT7:INT8:LCK0:LCK1:LCK2:LCK3:LCK4:LCK5:LCK6:LCK7:LCK8 -主人公:7:19:5:10:15:20:30:45:60:2:2:1:18:1:10:1:6:1:4:1:3:1:0:1:0:24:20:38:58:78:118:170:214:255:0:7:14:23:31:60:85:125:250:11:23:38:49:65:105:149:185:255:5:11:21:35:55:75:102:150:200:6:10:21:33:45:52:72:90:180:4:4:4:8:31:61:94:121:242:3:6:11:16:22:34:45:65:130 -クーパー:7:175:5:10:15:20:30:45:60:2:14:1:3:1:1:1:6:1:6:1:3:1:0:1:0:50:37:59:65:90:102:162:200:255:5:6:14:24:32:52:90:110:220:15:35:51:62:73:99:123:160:255:20:44:52:60:71:83:95:120:255:10:25:25:30:50:65:70:88:170:13:23:29:34:41:52:82:100:200:12:22:26:30:38:42:50:65:130 -アニー:7:200:5:10:15:20:30:45:60:2:19:1:1:1:3:1:6:1:4:1:4:1:0:1:0:40:33:47:63:92:106:135:165:255:6:12:15:27:36:70:95:155:255:2:8:19:33:40:47:50:85:170:20:60:72:77:85:90:115:200:255:10:30:30:47:68:100:130:210:255:10:31:50:50:70:90:132:200:255:4:18:30:43:57:61:75:90:180 -ビアンカ:7:18:5:10:15:20:30:45:60:1:19:1:15:1:8:1:13:1:2:1:5:1:0:1:0:18:16:30:42:62:95:145:175:255:0:9:23:25:32:60:145:186:255:3:11:21:30:45:50:55:70:140:10:18:28:45:70:95:120:181:255:20:28:34:50:72:95:115:148:255:2:8:23:30:40:65:145:189:255:5:9:14:20:49:62:68:75:150 -ビアンカ:7:18:5:10:15:20:30:45:60:1:19:1:15:1:8:1:13:1:2:1:5:1:0:1:0:18:16:30:42:62:95:145:175:255:0:9:23:25:32:60:145:186:255:3:11:21:30:45:50:55:70:140:10:18:28:45:70:95:120:181:255:20:28:34:50:72:95:115:148:255:2:8:23:30:40:65:145:189:255:5:9:14:20:49:62:68:75:150 -サンチョ:7:20:5:10:15:20:30:45:60:1:24:1:15:1:6:1:12:1:4:1:3:1:1:1:0:1:0:0:52:107:165:200:225:255:0:0:0:7:12:25:40:55:110:6:20:30:54:74:114:130:190:255:5:13:23:33:35:40:43:60:120:5:9:14:25:31:31:44:65:130:3:7:12:18:21:60:72:105:210:1:5:10:17:20:28:30:60:120 -ピピン:7:244:5:10:15:20:30:45:60:1:26:1:3:1:4:1:3:1:6:1:4:1:0:1:0:80:50:65:75:101:140:160:190:255:0:0:0:0:0:0:0:0:0:40:50:52:66:82:123:154:179:255:35:37:40:45:50:67:83:103:210:20:25:32:38:40:50:67:84:150:15:21:21:26:30:37:41:67:135:29:29:30:33:35:38:42:55:110 -フローラ:7:180:5:10:15:20:30:45:60:2:18:1:0:1:4:1:4:1:6:1:3:1:1:1:0:72:42:50:65:75:100:155:180:255:35:24:28:36:50:75:150:193:255:25:30:35:37:39:40:48:70:130:28:40:50:63:85:107:125:191:255:35:40:47:53:68:110:150:165:255:23:23:23:40:45:50:125:143:255:31:38:45:50:55:70:90:110:170 -パパス:7:12:5:10:20:30:40:60:80:1:25:1:14:1:11:1:3:1:5:1:0:1:1:0:31:26:21:41:91:153:233:255:255:255:0:0:0:0:0:0:0:0:0:7:19:34:74:124:184:209:230:248:4:8:13:23:33:43:63:83:102:1:1:6:16:26:31:31:31:31:2:6:11:21:31:41:61:81:100:4:8:13:23:33:43:63:83:102 -ヘンリー:6:18:5:10:15:20:30:50:50:4:12:1:2:1:14:1:5:1:4:1:2:1:0:0:0:50:31:42:50:61:90:110:110:110:14:14:22:32:35:40:49:49:49:25:29:35:47:58:75:150:150:150:10:15:25:36:52:99:200:200:200:20:26:30:40:50:73:130:130:130:16:20:28:30:47:100:170:170:170:12:15:18:22:28:56:123:123:123 -ベラ:7:20:5:10:20:30:40:60:80:2:0:1:16:1:11:1:2:1:5:1:1:1:0:0:31:18:17:27:47:67:87:130:150:169:7:17:21:41:61:81:130:134:153:4:12:22:42:62:84:130:151:169:4:12:22:42:60:70:108:188:255:6:14:24:44:69:99:159:219:255:6:18:33:67:93:123:143:163:182:4:12:22:42:60:70:108:188:255 +Name:Section:FirstExp:Level0:Level1:Level2:Level3:Level4:Level5:Level6:ExpA0:ExpB0:ExpA1:ExpB1:ExpA2:ExpB2:ExpA3:ExpB3:ExpA4:ExpB4:ExpA5:ExpB5:ExpA6:ExpB6:ExpA7:ExpB7:MHP0:MHP1:MHP2:MHP3:MHP4:MHP5:MHP6:MHP7:MHP8:MMP0:MMP1:MMP2:MMP3:MMP4:MMP5:MMP6:MMP7:MMP8:STR0:STR1:STR2:STR3:STR4:STR5:STR6:STR7:STR8:AGL0:AGL1:AGL2:AGL3:AGL4:AGL5:AGL6:AGL7:AGL8:INT0:INT1:INT2:INT3:INT4:INT5:INT6:INT7:INT8:LCK0:LCK1:LCK2:LCK3:LCK4:LCK5:LCK6:LCK7:LCK8:DEF0:DEF1:DEF2:DEF3:DEF4:DEF5:DEF6:DEF7:DEF8 +主人公:7:19:5:10:15:20:30:45:60:2:2:1:18:1:10:1:6:1:4:1:3:1:0:1:0:24:20:38:58:78:118:170:214:255:0:7:14:23:31:60:85:125:250:11:23:38:49:65:105:149:185:255:5:11:21:35:55:75:102:150:200:4:4:4:8:31:61:94:121:242:3:6:11:16:22:34:45:65:130:6:10:21:33:45:52:72:90:180 +クーパー:7:175:5:10:15:20:30:45:60:2:14:1:3:1:1:1:6:1:6:1:3:1:0:1:0:50:37:59:65:90:102:162:200:255:5:6:14:24:32:52:90:110:220:15:35:51:62:73:99:123:160:255:20:44:52:60:71:83:95:120:255:13:23:29:34:41:52:82:100:200:12:22:26:30:38:42:50:65:130:10:25:25:30:50:65:70:88:170 +アニー:7:200:5:10:15:20:30:45:60:2:19:1:1:1:3:1:6:1:4:1:4:1:0:1:0:40:33:47:63:92:106:135:165:255:6:12:15:27:36:70:95:155:255:2:8:19:33:40:47:50:85:170:20:60:72:77:85:90:115:200:255:10:31:50:50:70:90:132:200:255:4:18:30:43:57:61:75:90:180:10:30:30:47:68:100:130:210:255 +ビアンカ:7:18:5:10:15:20:30:45:60:1:19:1:15:1:8:1:13:1:2:1:5:1:0:1:0:18:16:30:42:62:95:145:175:255:0:9:23:25:32:60:145:186:255:3:11:21:30:45:50:55:70:140:10:18:28:45:70:95:120:181:255:2:8:23:30:40:65:145:189:255:5:9:14:20:49:62:68:75:150:20:28:34:50:72:95:115:148:255 +ビアンカ:7:18:5:10:15:20:30:45:60:1:19:1:15:1:8:1:13:1:2:1:5:1:0:1:0:18:16:30:42:62:95:145:175:255:0:9:23:25:32:60:145:186:255:3:11:21:30:45:50:55:70:140:10:18:28:45:70:95:120:181:255:2:8:23:30:40:65:145:189:255:5:9:14:20:49:62:68:75:150:20:28:34:50:72:95:115:148:255 +サンチョ:7:20:5:10:15:20:30:45:60:1:24:1:15:1:6:1:12:1:4:1:3:1:1:1:0:1:0:0:52:107:165:200:225:255:0:0:0:7:12:25:40:55:110:6:20:30:54:74:114:130:190:255:5:13:23:33:35:40:43:60:120:3:7:12:18:21:60:72:105:210:1:5:10:17:20:28:30:60:120:5:9:14:25:31:31:44:65:130 +ピピン:7:244:5:10:15:20:30:45:60:1:26:1:3:1:4:1:3:1:6:1:4:1:0:1:0:80:50:65:75:101:140:160:190:255:0:0:0:0:0:0:0:0:0:40:50:52:66:82:123:154:179:255:35:37:40:45:50:67:83:103:210:15:21:21:26:30:37:41:67:135:29:29:30:33:35:38:42:55:110:20:25:32:38:40:50:67:84:150 +フローラ:7:180:5:10:15:20:30:45:60:2:18:1:0:1:4:1:4:1:6:1:3:1:1:1:0:72:42:50:65:75:100:155:180:255:35:24:28:36:50:75:150:193:255:25:30:35:37:39:40:48:70:130:28:40:50:63:85:107:125:191:255:23:23:23:40:45:50:125:143:255:31:38:45:50:55:70:90:110:170:35:40:47:53:68:110:150:165:255 +パパス:7:12:5:10:20:30:40:60:80:1:25:1:14:1:11:1:3:1:5:1:0:1:1:0:31:26:21:41:91:153:233:255:255:255:0:0:0:0:0:0:0:0:0:7:19:34:74:124:184:209:230:248:4:8:13:23:33:43:63:83:102:2:6:11:21:31:41:61:81:100:4:8:13:23:33:43:63:83:102:1:1:6:16:26:31:31:31:31 +ヘンリー:6:18:5:10:15:20:30:50:50:4:12:1:2:1:14:1:5:1:4:1:2:1:0:0:0:50:31:42:50:61:90:110:110:110:14:14:22:32:35:40:49:49:49:25:29:35:47:58:75:150:150:150:10:15:25:36:52:99:200:200:200:16:20:28:30:47:100:170:170:170:12:15:18:22:28:56:123:123:123:20:26:30:40:50:73:130:130:130 +ベラ:7:20:5:10:20:30:40:60:80:2:0:1:16:1:11:1:2:1:5:1:1:1:0:0:31:18:17:27:47:67:87:130:150:169:7:17:21:41:61:81:130:134:153:4:12:22:42:62:84:130:151:169:4:12:22:42:60:70:108:188:255:6:18:33:67:93:123:143:163:182:4:12:22:42:60:70:108:188:255:6:14:24:44:69:99:159:219:255 diff --git a/src/jp/book/data/dq5_23A1B1_monster_progression.txt b/src/jp/book/data/dq5_23A1B1_monster_progression.txt index 8caef16..1c9e6ea 100644 --- a/src/jp/book/data/dq5_23A1B1_monster_progression.txt +++ b/src/jp/book/data/dq5_23A1B1_monster_progression.txt @@ -1,43 +1,43 @@ -Name:Section:FirstExp:Level0:Level1:Level2:Level3:Level4:Level5:Level6:ExpA0:ExpB0:ExpA1:ExpB1:ExpA2:ExpB2:ExpA3:ExpB3:ExpA4:ExpB4:ExpA5:ExpB5:ExpA6:ExpB6:ExpA7:ExpB7:MHP0:MHP1:MHP2:MHP3:MHP4:MHP5:MHP6:MHP7:MHP8:MMP0:MMP1:MMP2:MMP3:MMP4:MMP5:MMP6:MMP7:MMP8:STR0:STR1:STR2:STR3:STR4:STR5:STR6:STR7:STR8:AGL0:AGL1:AGL2:AGL3:AGL4:AGL5:AGL6:AGL7:AGL8:DEF0:DEF1:DEF2:DEF3:DEF4:DEF5:DEF6:DEF7:DEF8:INT0:INT1:INT2:INT3:INT4:INT5:INT6:INT7:INT8:LCK0:LCK1:LCK2:LCK3:LCK4:LCK5:LCK6:LCK7:LCK8 -ベビーパンサー:4:250:5:10:15:20:20:20:20:0:27:1:14:1:5:1:0:1:0:0:0:0:0:0:0:39:31:49:54:60:60:60:60:60:0:0:0:0:0:0:0:0:0:24:40:60:68:75:75:75:75:75:18:25:45:58:70:70:70:70:70:7:11:16:18:20:20:20:20:20:9:20:40:43:47:47:47:47:47:9:17:27:31:35:35:35:35:35 -キラーパンサー:7:150:5:10:15:20:30:45:60:1:2:1:8:1:4:1:19:1:3:1:3:1:0:1:0:39:31:49:57:65:125:185:210:255:0:0:0:0:0:0:0:0:0:24:40:60:67:74:113:155:190:255:18:25:45:62:70:91:125:152:255:7:11:16:21:24:30:41:55:100:9:20:40:45:46:51:64:88:100:9:17:27:52:57:60:67:89:150 -スライム:7:75:5:10:15:20:30:45:60:2:9:1:0:1:13:1:7:1:4:1:4:1:0:1:0:8:26:34:37:52:82:111:150:255:0:0:5:10:15:22:33:42:50:8:22:32:38:50:63:95:120:180:3:21:48:55:72:108:140:210:255:1:5:17:27:31:31:37:40:50:3:4:5:6:15:22:37:39:50:5:19:25:32:36:55:63:72:140 -ドラキー:7:150:5:10:15:20:30:45:60:1:26:1:1:1:9:1:8:1:4:1:4:1:0:1:0:10:20:30:42:55:85:125:180:250:0:5:7:10:20:25:36:42:55:11:30:45:50:60:85:107:130:190:7:30:45:60:70:89:99:150:200:15:15:20:25:25:35:47:60:70:10:12:30:33:33:55:62:70:90:9:20:30:35:40:60:78:120:150 -まほうつかい:7:255:5:10:15:20:30:45:65:2:2:1:1:1:9:1:6:1:2:1:4:1:0:1:0:25:23:31:42:56:96:123:155:255:6:10:22:27:35:53:102:155:255:18:20:30:37:41:55:67:90:125:15:15:25:40:59:73:95:125:180:25:25:25:27:35:55:72:93:100:30:30:40:40:40:50:62:85:100:17:23:30:34:40:58:70:92:170 -ホイミスライム:7:135:5:9:13:17:26:40:60:1:21:1:3:1:12:1:13:1:3:1:5:1:0:1:0:35:33:37:50:71:89:105:141:200:15:12:17:22:29:36:95:195:255:17:29:39:45:62:73:99:130:190:10:25:43:67:80:110:150:160:180:3:8:16:20:31:37:45:50:70:7:23:42:58:61:70:77:120:150:20:31:35:42:58:65:80:95:170 -ダンスニードル:6:175:5:9:13:17:21:25:25:2:1:1:3:1:7:1:16:1:23:1:0:1:0:1:0:33:27:33:41:67:85:105:105:105:0:0:0:0:0:0:0:0:0:35:40:45:53:73:97:120:120:120:14:24:49:65:77:89:100:100:100:10:15:20:27:30:34:40:40:40:57:68:79:85:112:116:120:120:120:30:33:41:59:72:76:80:80:80 -スライムナイト:7:235:5:10:15:20:30:45:60:1:20:1:0:1:9:1:11:1:2:1:4:1:0:1:0:40:32:42:67:80:125:155:195:250:6:10:15:22:30:46:60:85:125:44:50:54:60:68:95:135:175:255:20:31:45:59:70:85:110:135:180:20:20:25:31:42:52:67:85:110:25:30:30:40:52:64:73:95:130:45:45:48:52:55:58:60:85:120 -ブラウニー:7:200:5:9:13:17:26:40:60:1:28:1:3:1:9:1:11:1:3:1:4:1:0:1:0:47:35:50:65:95:135:200:240:255:0:0:0:0:0:0:0:0:0:35:40:49:65:75:133:165:230:255:8:8:10:12:20:40:50:60:70:12:15:20:25:25:25:40:50:60:13:13:13:15:15:30:45:60:60:10:12:15:18:20:25:40:55:100 -ばくだんベビー:7:130:2:4:6:8:10:12:15:1:20:2:30:1:3:1:8:1:8:1:8:1:27:1:0:42:25:30:33:37:41:45:60:60:0:0:0:0:0:0:0:1:1:49:52:55:58:62:66:73:80:80:15:17:20:27:35:41:49:60:60:10:12:15:17:20:25:30:40:40:33:33:33:33:33:35:40:50:50:46:48:50:57:65:72:80:100:100 -くさったしたい:5:170:5:10:15:20:30:30:30:2:3:1:0:1:10:1:7:1:3:1:0:1:0:1:0:70:45:50:75:105:145:145:145:145:0:0:0:0:0:0:0:0:0:54:58:65:72:84:99:99:99:99:10:10:13:20:27:35:35:35:35:5:10:21:25:30:50:50:50:50:0:0:1:1:5:10:10:10:10:2:8:15:20:22:30:30:30:30 -イエティ:7:250:5:10:15:20:30:40:60:2:15:1:0:1:7:1:6:1:2:1:4:1:0:1:0:48:44:60:90:110:150:175:180:180:0:0:0:0:25:50:75:80:80:56:56:60:65:75:84:90:100:100:18:25:37:41:59:74:90:100:100:8:15:23:40:63:79:90:100:100:25:37:53:64:78:82:90:100:100:46:47:50:65:77:80:90:100:100 -ドラゴンキッド:5:255:5:10:15:20:30:30:30:2:19:1:0:1:13:1:6:1:2:1:0:1:0:1:0:52:36:46:60:75:100:100:100:100:0:0:0:0:0:0:0:0:0:59:63:74:85:99:120:120:120:120:20:29:49:63:80:90:90:90:90:5:15:30:35:40:50:50:50:50:20:29:47:58:66:80:80:80:80:46:46:50:53:57:60:60:60:60 -クックルー:7:215:5:10:15:20:30:45:60:2:31:1:0:1:11:1:3:1:0:1:0:1:0:1:0:43:35:42:47:65:70:70:70:70:5:7:14:20:30:35:35:35:35:54:62:69:73:85:90:90:90:90:27:50:65:73:90:100:100:100:100:21:25:37:40:50:60:60:60:60:50:50:50:73:90:100:100:100:100:42:50:59:67:80:100:100:100:100 -ビックアイ:7:230:5:10:15:20:30:45:60:2:31:1:3:1:8:1:2:1:0:1:0:1:0:1:0:64:45:65:80:100:105:105:105:105:10:10:16:22:27:33:33:33:33:62:66:70:81:95:100:100:100:100:22:28:35:45:60:65:65:65:65:18:22:30:33:40:45:45:45:45:42:42:45:62:70:75:75:75:75:47:53:64:68:70:75:75:75:75 -はぐれメタル:7:255:2:3:4:5:6:7:8:7:31:7:31:7:31:7:31:4:10:1:31:1:31:1:31:6:3:3:3:3:4:5:7:7:30:25:32:40:60:80:100:127:127:61:65:69:73:88:115:135:150:150:150:160:175:190:200:220:235:255:255:15:25:30:35:45:55:65:75:75:255:255:255:255:255:255:255:255:255:255:255:255:255:255:255:255:255:255 -パペットマン:7:255:3:4:6:9:13:20:30:7:31:7:31:1:1:1:6:1:7:1:6:1:6:1:0:52:32:35:39:51:68:90:140:140:0:0:0:10:20:30:40:50:50:60:70:71:73:80:85:92:120:120:44:47:49:53:62:72:87:110:110:3:7:9:15:19:20:25:30:30:30:47:50:56:63:63:72:80:80:71:73:76:80:81:83:88:90:90 -キメラ:7:215:5:9:13:17:25:40:60:2:9:1:2:1:8:1:6:1:6:1:3:1:0:1:0:70:43:49:60:71:90:125:190:190:7:9:18:32:36:53:66:100:100:67:70:83:94:105:115:127:170:170:40:49:57:72:89:105:128:150:150:25:30:37:42:51:55:60:63:63:30:37:48:56:61:69:75:84:84:55:62:71:75:81:89:95:99:99 -ばくだんいわ:4:230:5:10:15:20:20:20:20:2:9:1:25:1:2:1:6:1:0:1:0:1:0:1:0:115:80:100:125:165:165:165:165:165:2:2:3:4:5:5:5:5:5:50:60:72:85:110:110:110:110:110:10:15:20:30:40:40:40:40:40:2:10:28:35:40:40:40:40:40:15:27:38:42:50:50:50:50:50:12:16:24:37:45:45:45:45:45 -おどるほうせき:5:225:3:4:5:6:7:7:7:7:28:3:5:3:0:3:0:3:0:4:0:3:0:3:0:45:32:36:55:65:95:95:95:95:70:39:45:55:75:90:90:90:90:55:57:65:73:82:90:90:90:90:70:77:83:99:105:110:110:110:110:5:5:5:5:5:5:5:5:5:80:88:90:97:115:130:130:130:130:110:130:145:160:180:210:210:210:210 -ベホマスライム:7:235:4:7:10:15:20:40:50:6:11:1:3:1:13:1:3:1:9:1:1:1:0:1:0:69:42:52:63:77:93:105:125:125:38:26:33:42:55:79:110:150:150:47:53:60:62:68:73:77:80:80:18:22:35:40:47:53:65:70:70:15:25:37:44:58:64:71:85:85:65:70:70:71:89:99:118:140:140:62:62:65:68:71:75:81:83:83 -キングスライム:7:255:3:4:5:10:15:20:30:7:31:7:31:7:31:1:1:1:2:1:3:1:0:1:15:140:74:77:80:90:100:125:165:165:15:10:13:16:27:46:63:90:90:70:72:75:77:80:87:95:110:110:54:58:60:62:73:88:105:120:120:25:29:34:35:47:53:62:65:65:40:43:44:45:51:58:66:80:80:65:69:70:72:76:84:91:95:95 -ドラゴンマッド:7:215:4:6:8:10:15:33:40:7:24:1:10:1:25:1:22:1:4:1:0:1:4:1:0:110:65:80:90:115:150:195:225:225:0:0:0:0:0:0:0:0:0:77:83:90:99:115:125:165:190:190:25:27:30:33:38:41:45:50:50:5:10:15:20:25:30:30:35:35:15:15:27:30:31:33:37:40:40:45:45:47:48:49:49:50:60:60 -ミニデーモン:7:255:3:4:7:10:13:23:30:7:31:7:31:1:5:1:11:1:14:1:0:1:0:1:30:80:44:47:50:67:81:97:115:115:8:6:8:17:24:34:50:75:75:55:55:57:62:69:74:79:85:85:55:60:63:72:84:97:115:130:130:3:5:7:14:20:27:40:50:50:73:78:80:92:117:120:135:150:150:66:66:67:70:72:74:75:77:77 -メッサーラ:7:220:5:10:15:20:30:40:50:3:12:1:0:1:8:1:8:1:1:1:1:1:2:1:9:99:55:63:78:87:125:190:205:205:9:12:16:24:29:37:50:60:60:80:85:92:99:115:138:151:175:175:60:65:68:72:84:88:89:90:90:40:45:53:61:68:79:94:110:110:25:30:43:59:68:87:109:130:130:87:87:87:88:88:89:89:90:90 -キングオーク:7:255:4:6:8:12:20:25:30:7:31:1:24:2:8:1:0:1:0:1:0:1:8:1:0:85:50:70:100:115:165:200:250:250:20:15:30:40:50:65:80:110:110:85:90:92:97:105:120:130:150:150:50:50:52:54:58:59:59:60:60:35:36:38:40:44:51:57:70:70:100:101:103:112:120:135:150:160:160:65:65:65:70:72:80:95:110:110 -アームライオン:7:245:5:10:15:20:30:40:60:3:21:1:3:1:10:1:1:1:0:1:0:1:0:1:0:77:45:65:95:110:155:155:155:155:0:0:8:10:20:30:30:30:30:90:92:99:105:113:120:120:120:120:55:65:72:85:99:110:110:110:110:5:7:10:20:25:30:30:30:30:32:32:32:48:56:60:60:60:60:72:72:78:80:81:83:83:83:83 -エリミネーター:7:255:5:10:15:20:25:30:60:4:3:1:2:1:12:1:5:1:0:1:0:1:0:1:0:83:50:65:105:165:195:225:225:225:0:0:0:0:5:12:25:25:25:75:80:90:105:130:155:180:180:180:48:50:55:65:70:75:80:80:80:7:15:20:25:30:40:50:50:50:52:63:84:100:110:120:125:125:125:62:67:70:71:72:75:75:75:75 -ゴーレム:7:250:5:10:15:20:30:40:50:3:23:1:6:1:8:1:1:1:0:1:2:1:0:1:0:180:105:130:175:200:215:232:250:250:0:0:0:0:0:0:0:0:0:120:120:129:145:180:205:230:255:255:32:32:32:38:40:40:40:40:40:15:25:30:31:35:41:45:50:50:90:90:99:110:123:140:145:150:150:110:110:113:120:135:150:175:200:200 -ケンタラウス:7:255:5:10:15:20:30:40:50:4:12:1:6:1:6:1:0:1:0:1:0:1:3:1:0:115:65:82:100:120:158:192:205:205:15:14:19:37:44:56:66:75:75:89:89:95:115:123:137:141:155:155:47:50:59:60:67:83:99:120:120:25:25:30:37:44:56:63:70:70:50:59:67:82:110:128:140:150:150:84:84:84:85:85:87:89:90:90 -スライムベホマズン:7:255:5:10:15:20:30:45:60:5:30:1:2:1:9:1:1:1:13:1:0:1:0:1:0:133:75:95:145:200:200:200:200:200:120:75:100:190:250:250:250:250:250:95:95:100:110:120:120:120:120:120:42:59:72:99:120:120:120:120:120:50:50:58:59:70:70:70:70:70:100:115:123:135:150:150:150:150:150:111:118:125:128:130:130:130:130:130 -ソルジャーブル:7:210:5:9:13:18:23:27:30:4:0:1:12:1:8:1:1:1:4:1:2:1:7:1:0:143:80:90:105:120:163:175:200:200:0:0:7:10:20:30:35:40:40:90:93:95:115:125:135:145:155:155:68:70:70:74:80:88:90:94:94:35:35:35:37:40:44:46:50:50:55:57:57:60:65:70:75:80:80:80:80:80:89:100:107:116:120:120 -メガザルロック:7:255:5:10:15:20:30:45:60:7:31:1:3:1:2:1:5:1:0:1:0:1:0:1:0:180:115:140:150:165:165:165:165:165:5:15:50:75:75:75:75:75:75:105:110:115:120:130:130:130:130:130:12:15:18:20:30:30:30:30:30:10:20:30:30:30:30:30:30:30:100:150:200:250:250:250:250:250:250:165:185:190:200:210:210:210:210:210 -アンクルホーン:7:255:5:7:10:13:18:30:40:4:28:2:2:1:10:1:0:1:2:1:0:1:0:1:0:160:90:100:140:165:175:195:225:225:23:21:31:50:75:105:140:175:175:95:95:100:115:130:150:165:200:200:75:79:83:87:90:99:110:120:120:50:50:57:60:64:70:75:90:90:90:94:94:100:115:120:127:130:130:85:85:87:90:94:97:100:130:130 -ホークブリザード:7:255:5:10:15:20:25:30:40:7:31:1:4:1:1:1:2:1:1:1:0:1:0:1:0:150:85:100:115:130:150:150:150:150:14:15:30:31:33:35:35:35:35:85:87:99:115:130:150:150:150:150:80:83:90:105:115:130:130:130:130:8:13:20:24:26:30:30:30:30:45:47:50:53:57:60:60:60:60:90:90:94:100:110:130:130:130:130 -シュプリンガー:7:255:5:10:15:20:30:50:60:7:31:1:0:1:5:1:2:1:0:1:0:1:0:1:0:175:100:110:120:147:171:200:200:200:16:15:21:32:36:40:45:45:45:110:110:115:123:135:150:160:160:160:75:80:88:110:120:130:160:160:160:30:30:33:37:40:44:60:60:60:70:72:74:80:83:90:100:100:100:90:90:94:96:97:99:100:100:100 -グレイトドラゴン:7:255:5:10:15:20:30:45:60:7:31:1:3:1:1:1:0:1:0:1:1:1:0:1:0:220:120:150:170:190:200:220:255:255:0:0:0:0:0:0:0:0:0:130:130:155:175:180:190:200:255:255:77:80:82:84:85:105:120:150:150:80:82:84:86:90:94:96:99:99:90:94:99:103:120:127:140:150:150:110:110:120:140:160:180:200:230:230 -キラーマシン:7:255:5:10:15:20:30:45:60:7:31:1:3:1:6:1:2:1:2:1:0:1:0:1:0:169:90:100:140:175:225:225:225:225:0:0:0:0:0:0:0:0:0:170:170:175:185:210:255:255:255:255:88:95:99:120:135:150:150:150:150:40:40:40:40:40:40:40:40:40:60:60:60:63:67:70:70:70:70:185:185:190:200:215:255:255:255:255 -ライオネック:7:255:5:8:11:14:17:20:23:7:4:1:5:1:5:1:3:1:3:1:0:1:2:1:0:195:105:125:145:165:175:185:200:200:16:15:30:41:46:71:102:150:150:100:103:107:115:123:131:135:140:140:90:97:105:110:119:130:150:210:210:100:100:110:120:140:160:180:200:200:115:120:132:143:150:165:179:200:200:105:107:109:120:131:153:172:200:200 -ギガンテス:7:255:2:3:4:5:6:7:7:7:31:7:31:7:31:7:31:2:31:7:31:7:31:7:31:255:130:136:152:178:224:255:255:255:0:0:0:0:0:0:0:0:0:115:115:120:133:157:215:255:255:255:65:65:65:95:130:210:255:255:255:10:10:10:10:20:25:30:30:30:30:30:30:30:60:90:100:100:100:80:80:80:110:110:150:150:150:150 -ヘルバトラー:7:255:5:7:9:11:13:15:65:7:31:1:22:1:2:1:2:1:0:1:10:1:0:1:0:255:177:181:186:190:194:200:235:255:65:42:60:76:106:156:190:210:255:145:150:153:161:165:171:175:215:255:124:130:133:140:142:150:157:180:200:70:72:75:84:85:90:97:110:150:99:99:105:125:138:152:183:200:255:155:163:171:173:184:191:200:223:255 -ネーレウス:7:235:5:10:15:20:30:40:50:6:9:1:0:1:5:1:4:1:1:1:0:1:1:1:0:100:65:81:92:104:124:135:155:155:50:32:44:54:68:91:110:140:140:47:50:52:57:60:62:65:70:70:64:67:72:83:87:91:96:99:99:45:45:47:50:58:69:81:100:100:2:2:2:3:7:8:9:15:15:63:72:75:81:85:93:100:110:110 +Name:Section:FirstExp:Level0:Level1:Level2:Level3:Level4:Level5:Level6:ExpA0:ExpB0:ExpA1:ExpB1:ExpA2:ExpB2:ExpA3:ExpB3:ExpA4:ExpB4:ExpA5:ExpB5:ExpA6:ExpB6:ExpA7:ExpB7:MHP0:MHP1:MHP2:MHP3:MHP4:MHP5:MHP6:MHP7:MHP8:MMP0:MMP1:MMP2:MMP3:MMP4:MMP5:MMP6:MMP7:MMP8:STR0:STR1:STR2:STR3:STR4:STR5:STR6:STR7:STR8:AGL0:AGL1:AGL2:AGL3:AGL4:AGL5:AGL6:AGL7:AGL8:INT0:INT1:INT2:INT3:INT4:INT5:INT6:INT7:INT8:LCK0:LCK1:LCK2:LCK3:LCK4:LCK5:LCK6:LCK7:LCK8:DEF0:DEF1:DEF2:DEF3:DEF4:DEF5:DEF6:DEF7:DEF8 +ベビーパンサー:4:250:5:10:15:20:20:20:20:0:27:1:14:1:5:1:0:1:0:0:0:0:0:0:0:39:31:49:54:60:60:60:60:60:0:0:0:0:0:0:0:0:0:24:40:60:68:75:75:75:75:75:18:25:45:58:70:70:70:70:70:9:20:40:43:47:47:47:47:47:9:17:27:31:35:35:35:35:35:7:11:16:18:20:20:20:20:20 +キラーパンサー:7:150:5:10:15:20:30:45:60:1:2:1:8:1:4:1:19:1:3:1:3:1:0:1:0:39:31:49:57:65:125:185:210:255:0:0:0:0:0:0:0:0:0:24:40:60:67:74:113:155:190:255:18:25:45:62:70:91:125:152:255:9:20:40:45:46:51:64:88:100:9:17:27:52:57:60:67:89:150:7:11:16:21:24:30:41:55:100 +スライム:7:75:5:10:15:20:30:45:60:2:9:1:0:1:13:1:7:1:4:1:4:1:0:1:0:8:26:34:37:52:82:111:150:255:0:0:5:10:15:22:33:42:50:8:22:32:38:50:63:95:120:180:3:21:48:55:72:108:140:210:255:3:4:5:6:15:22:37:39:50:5:19:25:32:36:55:63:72:140:1:5:17:27:31:31:37:40:50 +ドラキー:7:150:5:10:15:20:30:45:60:1:26:1:1:1:9:1:8:1:4:1:4:1:0:1:0:10:20:30:42:55:85:125:180:250:0:5:7:10:20:25:36:42:55:11:30:45:50:60:85:107:130:190:7:30:45:60:70:89:99:150:200:10:12:30:33:33:55:62:70:90:9:20:30:35:40:60:78:120:150:15:15:20:25:25:35:47:60:70 +まほうつかい:7:255:5:10:15:20:30:45:65:2:2:1:1:1:9:1:6:1:2:1:4:1:0:1:0:25:23:31:42:56:96:123:155:255:6:10:22:27:35:53:102:155:255:18:20:30:37:41:55:67:90:125:15:15:25:40:59:73:95:125:180:30:30:40:40:40:50:62:85:100:17:23:30:34:40:58:70:92:170:25:25:25:27:35:55:72:93:100 +ホイミスライム:7:135:5:9:13:17:26:40:60:1:21:1:3:1:12:1:13:1:3:1:5:1:0:1:0:35:33:37:50:71:89:105:141:200:15:12:17:22:29:36:95:195:255:17:29:39:45:62:73:99:130:190:10:25:43:67:80:110:150:160:180:7:23:42:58:61:70:77:120:150:20:31:35:42:58:65:80:95:170:3:8:16:20:31:37:45:50:70 +ダンスニードル:6:175:5:9:13:17:21:25:25:2:1:1:3:1:7:1:16:1:23:1:0:1:0:1:0:33:27:33:41:67:85:105:105:105:0:0:0:0:0:0:0:0:0:35:40:45:53:73:97:120:120:120:14:24:49:65:77:89:100:100:100:57:68:79:85:112:116:120:120:120:30:33:41:59:72:76:80:80:80:10:15:20:27:30:34:40:40:40 +スライムナイト:7:235:5:10:15:20:30:45:60:1:20:1:0:1:9:1:11:1:2:1:4:1:0:1:0:40:32:42:67:80:125:155:195:250:6:10:15:22:30:46:60:85:125:44:50:54:60:68:95:135:175:255:20:31:45:59:70:85:110:135:180:25:30:30:40:52:64:73:95:130:45:45:48:52:55:58:60:85:120:20:20:25:31:42:52:67:85:110 +ブラウニー:7:200:5:9:13:17:26:40:60:1:28:1:3:1:9:1:11:1:3:1:4:1:0:1:0:47:35:50:65:95:135:200:240:255:0:0:0:0:0:0:0:0:0:35:40:49:65:75:133:165:230:255:8:8:10:12:20:40:50:60:70:13:13:13:15:15:30:45:60:60:10:12:15:18:20:25:40:55:100:12:15:20:25:25:25:40:50:60 +ばくだんベビー:7:130:2:4:6:8:10:12:15:1:20:2:30:1:3:1:8:1:8:1:8:1:27:1:0:42:25:30:33:37:41:45:60:60:0:0:0:0:0:0:0:1:1:49:52:55:58:62:66:73:80:80:15:17:20:27:35:41:49:60:60:33:33:33:33:33:35:40:50:50:46:48:50:57:65:72:80:100:100:10:12:15:17:20:25:30:40:40 +くさったしたい:5:170:5:10:15:20:30:30:30:2:3:1:0:1:10:1:7:1:3:1:0:1:0:1:0:70:45:50:75:105:145:145:145:145:0:0:0:0:0:0:0:0:0:54:58:65:72:84:99:99:99:99:10:10:13:20:27:35:35:35:35:0:0:1:1:5:10:10:10:10:2:8:15:20:22:30:30:30:30:5:10:21:25:30:50:50:50:50 +イエティ:7:250:5:10:15:20:30:40:60:2:15:1:0:1:7:1:6:1:2:1:4:1:0:1:0:48:44:60:90:110:150:175:180:180:0:0:0:0:25:50:75:80:80:56:56:60:65:75:84:90:100:100:18:25:37:41:59:74:90:100:100:25:37:53:64:78:82:90:100:100:46:47:50:65:77:80:90:100:100:8:15:23:40:63:79:90:100:100 +ドラゴンキッド:5:255:5:10:15:20:30:30:30:2:19:1:0:1:13:1:6:1:2:1:0:1:0:1:0:52:36:46:60:75:100:100:100:100:0:0:0:0:0:0:0:0:0:59:63:74:85:99:120:120:120:120:20:29:49:63:80:90:90:90:90:20:29:47:58:66:80:80:80:80:46:46:50:53:57:60:60:60:60:5:15:30:35:40:50:50:50:50 +クックルー:7:215:5:10:15:20:30:45:60:2:31:1:0:1:11:1:3:1:0:1:0:1:0:1:0:43:35:42:47:65:70:70:70:70:5:7:14:20:30:35:35:35:35:54:62:69:73:85:90:90:90:90:27:50:65:73:90:100:100:100:100:50:50:50:73:90:100:100:100:100:42:50:59:67:80:100:100:100:100:21:25:37:40:50:60:60:60:60 +ビックアイ:7:230:5:10:15:20:30:45:60:2:31:1:3:1:8:1:2:1:0:1:0:1:0:1:0:64:45:65:80:100:105:105:105:105:10:10:16:22:27:33:33:33:33:62:66:70:81:95:100:100:100:100:22:28:35:45:60:65:65:65:65:42:42:45:62:70:75:75:75:75:47:53:64:68:70:75:75:75:75:18:22:30:33:40:45:45:45:45 +はぐれメタル:7:255:2:3:4:5:6:7:8:7:31:7:31:7:31:7:31:4:10:1:31:1:31:1:31:6:3:3:3:3:4:5:7:7:30:25:32:40:60:80:100:127:127:61:65:69:73:88:115:135:150:150:150:160:175:190:200:220:235:255:255:255:255:255:255:255:255:255:255:255:255:255:255:255:255:255:255:255:255:15:25:30:35:45:55:65:75:75 +パペットマン:7:255:3:4:6:9:13:20:30:7:31:7:31:1:1:1:6:1:7:1:6:1:6:1:0:52:32:35:39:51:68:90:140:140:0:0:0:10:20:30:40:50:50:60:70:71:73:80:85:92:120:120:44:47:49:53:62:72:87:110:110:30:47:50:56:63:63:72:80:80:71:73:76:80:81:83:88:90:90:3:7:9:15:19:20:25:30:30 +キメラ:7:215:5:9:13:17:25:40:60:2:9:1:2:1:8:1:6:1:6:1:3:1:0:1:0:70:43:49:60:71:90:125:190:190:7:9:18:32:36:53:66:100:100:67:70:83:94:105:115:127:170:170:40:49:57:72:89:105:128:150:150:30:37:48:56:61:69:75:84:84:55:62:71:75:81:89:95:99:99:25:30:37:42:51:55:60:63:63 +ばくだんいわ:4:230:5:10:15:20:20:20:20:2:9:1:25:1:2:1:6:1:0:1:0:1:0:1:0:115:80:100:125:165:165:165:165:165:2:2:3:4:5:5:5:5:5:50:60:72:85:110:110:110:110:110:10:15:20:30:40:40:40:40:40:15:27:38:42:50:50:50:50:50:12:16:24:37:45:45:45:45:45:2:10:28:35:40:40:40:40:40 +おどるほうせき:5:225:3:4:5:6:7:7:7:7:28:3:5:3:0:3:0:3:0:4:0:3:0:3:0:45:32:36:55:65:95:95:95:95:70:39:45:55:75:90:90:90:90:55:57:65:73:82:90:90:90:90:70:77:83:99:105:110:110:110:110:80:88:90:97:115:130:130:130:130:110:130:145:160:180:210:210:210:210:5:5:5:5:5:5:5:5:5 +ベホマスライム:7:235:4:7:10:15:20:40:50:6:11:1:3:1:13:1:3:1:9:1:1:1:0:1:0:69:42:52:63:77:93:105:125:125:38:26:33:42:55:79:110:150:150:47:53:60:62:68:73:77:80:80:18:22:35:40:47:53:65:70:70:65:70:70:71:89:99:118:140:140:62:62:65:68:71:75:81:83:83:15:25:37:44:58:64:71:85:85 +キングスライム:7:255:3:4:5:10:15:20:30:7:31:7:31:7:31:1:1:1:2:1:3:1:0:1:15:140:74:77:80:90:100:125:165:165:15:10:13:16:27:46:63:90:90:70:72:75:77:80:87:95:110:110:54:58:60:62:73:88:105:120:120:40:43:44:45:51:58:66:80:80:65:69:70:72:76:84:91:95:95:25:29:34:35:47:53:62:65:65 +ドラゴンマッド:7:215:4:6:8:10:15:33:40:7:24:1:10:1:25:1:22:1:4:1:0:1:4:1:0:110:65:80:90:115:150:195:225:225:0:0:0:0:0:0:0:0:0:77:83:90:99:115:125:165:190:190:25:27:30:33:38:41:45:50:50:15:15:27:30:31:33:37:40:40:45:45:47:48:49:49:50:60:60:5:10:15:20:25:30:30:35:35 +ミニデーモン:7:255:3:4:7:10:13:23:30:7:31:7:31:1:5:1:11:1:14:1:0:1:0:1:30:80:44:47:50:67:81:97:115:115:8:6:8:17:24:34:50:75:75:55:55:57:62:69:74:79:85:85:55:60:63:72:84:97:115:130:130:73:78:80:92:117:120:135:150:150:66:66:67:70:72:74:75:77:77:3:5:7:14:20:27:40:50:50 +メッサーラ:7:220:5:10:15:20:30:40:50:3:12:1:0:1:8:1:8:1:1:1:1:1:2:1:9:99:55:63:78:87:125:190:205:205:9:12:16:24:29:37:50:60:60:80:85:92:99:115:138:151:175:175:60:65:68:72:84:88:89:90:90:25:30:43:59:68:87:109:130:130:87:87:87:88:88:89:89:90:90:40:45:53:61:68:79:94:110:110 +オークキング:7:255:4:6:8:12:20:25:30:7:31:1:24:2:8:1:0:1:0:1:0:1:8:1:0:85:50:70:100:115:165:200:250:250:20:15:30:40:50:65:80:110:110:85:90:92:97:105:120:130:150:150:50:50:52:54:58:59:59:60:60:100:101:103:112:120:135:150:160:160:65:65:65:70:72:80:95:110:110:35:36:38:40:44:51:57:70:70 +アームライオン:7:245:5:10:15:20:30:40:60:3:21:1:3:1:10:1:1:1:0:1:0:1:0:1:0:77:45:65:95:110:155:155:155:155:0:0:8:10:20:30:30:30:30:90:92:99:105:113:120:120:120:120:55:65:72:85:99:110:110:110:110:32:32:32:48:56:60:60:60:60:72:72:78:80:81:83:83:83:83:5:7:10:20:25:30:30:30:30 +エリミネーター:7:255:5:10:15:20:25:30:60:4:3:1:2:1:12:1:5:1:0:1:0:1:0:1:0:83:50:65:105:165:195:225:225:225:0:0:0:0:5:12:25:25:25:75:80:90:105:130:155:180:180:180:48:50:55:65:70:75:80:80:80:52:63:84:100:110:120:125:125:125:62:67:70:71:72:75:75:75:75:7:15:20:25:30:40:50:50:50 +ゴーレム:7:250:5:10:15:20:30:40:50:3:23:1:6:1:8:1:1:1:0:1:2:1:0:1:0:180:105:130:175:200:215:232:250:250:0:0:0:0:0:0:0:0:0:120:120:129:145:180:205:230:255:255:32:32:32:38:40:40:40:40:40:90:90:99:110:123:140:145:150:150:110:110:113:120:135:150:175:200:200:15:25:30:31:35:41:45:50:50 +ケンタラウス:7:255:5:10:15:20:30:40:50:4:12:1:6:1:6:1:0:1:0:1:0:1:3:1:0:115:65:82:100:120:158:192:205:205:15:14:19:37:44:56:66:75:75:89:89:95:115:123:137:141:155:155:47:50:59:60:67:83:99:120:120:50:59:67:82:110:128:140:150:150:84:84:84:85:85:87:89:90:90:25:25:30:37:44:56:63:70:70 +スライムベホマズン:7:255:5:10:15:20:30:45:60:5:30:1:2:1:9:1:1:1:13:1:0:1:0:1:0:133:75:95:145:200:200:200:200:200:120:75:100:190:250:250:250:250:250:95:95:100:110:120:120:120:120:120:42:59:72:99:120:120:120:120:120:100:115:123:135:150:150:150:150:150:111:118:125:128:130:130:130:130:130:50:50:58:59:70:70:70:70:70 +ソルジャーブル:7:210:5:9:13:18:23:27:30:4:0:1:12:1:8:1:1:1:4:1:2:1:7:1:0:143:80:90:105:120:163:175:200:200:0:0:7:10:20:30:35:40:40:90:93:95:115:125:135:145:155:155:68:70:70:74:80:88:90:94:94:55:57:57:60:65:70:75:80:80:80:80:80:89:100:107:116:120:120:35:35:35:37:40:44:46:50:50 +メガザルロック:7:255:5:10:15:20:30:45:60:7:31:1:3:1:2:1:5:1:0:1:0:1:0:1:0:180:115:140:150:165:165:165:165:165:5:15:50:75:75:75:75:75:75:105:110:115:120:130:130:130:130:130:12:15:18:20:30:30:30:30:30:100:150:200:250:250:250:250:250:250:165:185:190:200:210:210:210:210:210:10:20:30:30:30:30:30:30:30 +アンクルホーン:7:255:5:7:10:13:18:30:40:4:28:2:2:1:10:1:0:1:2:1:0:1:0:1:0:160:90:100:140:165:175:195:225:225:23:21:31:50:75:105:140:175:175:95:95:100:115:130:150:165:200:200:75:79:83:87:90:99:110:120:120:90:94:94:100:115:120:127:130:130:85:85:87:90:94:97:100:130:130:50:50:57:60:64:70:75:90:90 +ホークブリザード:7:255:5:10:15:20:25:30:40:7:31:1:4:1:1:1:2:1:1:1:0:1:0:1:0:150:85:100:115:130:150:150:150:150:14:15:30:31:33:35:35:35:35:85:87:99:115:130:150:150:150:150:80:83:90:105:115:130:130:130:130:45:47:50:53:57:60:60:60:60:90:90:94:100:110:130:130:130:130:8:13:20:24:26:30:30:30:30 +シュプリンガー:7:255:5:10:15:20:30:50:60:7:31:1:0:1:5:1:2:1:0:1:0:1:0:1:0:175:100:110:120:147:171:200:200:200:16:15:21:32:36:40:45:45:45:110:110:115:123:135:150:160:160:160:75:80:88:110:120:130:160:160:160:70:72:74:80:83:90:100:100:100:90:90:94:96:97:99:100:100:100:30:30:33:37:40:44:60:60:60 +グレイトドラゴン:7:255:5:10:15:20:30:45:60:7:31:1:3:1:1:1:0:1:0:1:1:1:0:1:0:220:120:150:170:190:200:220:255:255:0:0:0:0:0:0:0:0:0:130:130:155:175:180:190:200:255:255:77:80:82:84:85:105:120:150:150:90:94:99:103:120:127:140:150:150:110:110:120:140:160:180:200:230:230:80:82:84:86:90:94:96:99:99 +キラーマシン:7:255:5:10:15:20:30:45:60:7:31:1:3:1:6:1:2:1:2:1:0:1:0:1:0:169:90:100:140:175:225:225:225:225:0:0:0:0:0:0:0:0:0:170:170:175:185:210:255:255:255:255:88:95:99:120:135:150:150:150:150:60:60:60:63:67:70:70:70:70:185:185:190:200:215:255:255:255:255:40:40:40:40:40:40:40:40:40 +ライオネック:7:255:5:8:11:14:17:20:23:7:4:1:5:1:5:1:3:1:3:1:0:1:2:1:0:195:105:125:145:165:175:185:200:200:16:15:30:41:46:71:102:150:150:100:103:107:115:123:131:135:140:140:90:97:105:110:119:130:150:210:210:115:120:132:143:150:165:179:200:200:105:107:109:120:131:153:172:200:200:100:100:110:120:140:160:180:200:200 +ギガンテス:7:255:2:3:4:5:6:7:7:7:31:7:31:7:31:7:31:2:31:7:31:7:31:7:31:255:130:136:152:178:224:255:255:255:0:0:0:0:0:0:0:0:0:115:115:120:133:157:215:255:255:255:65:65:65:95:130:210:255:255:255:30:30:30:30:60:90:100:100:100:80:80:80:110:110:150:150:150:150:10:10:10:10:20:25:30:30:30 +ヘルバトラー:7:255:5:7:9:11:13:15:65:7:31:1:22:1:2:1:2:1:0:1:10:1:0:1:0:255:177:181:186:190:194:200:235:255:65:42:60:76:106:156:190:210:255:145:150:153:161:165:171:175:215:255:124:130:133:140:142:150:157:180:200:99:99:105:125:138:152:183:200:255:155:163:171:173:184:191:200:223:255:70:72:75:84:85:90:97:110:150 +ネーレウス:7:235:5:10:15:20:30:40:50:6:9:1:0:1:5:1:4:1:1:1:0:1:1:1:0:100:65:81:92:104:124:135:155:155:50:32:44:54:68:91:110:140:140:47:50:52:57:60:62:65:70:70:64:67:72:83:87:91:96:99:99:2:2:2:3:7:8:9:15:15:63:72:75:81:85:93:100:110:110:45:45:47:50:58:69:81:100:100 From 1cbd4c1c7ee692a519d164a6c92f56ad53ef5814 Mon Sep 17 00:00:00 2001 From: showa_yojyo <2386769+showa-yojyo@users.noreply.github.com> Date: Sat, 14 Sep 2024 22:35:11 +0900 Subject: [PATCH 08/19] dq5.character.traits.progression: correct the data layout close #56, ref #57 --- src/jp/book/dq5_character_traits.xml | 77 ++++++++++++++++------------ src/jp/book/preface.xml | 10 ++++ 2 files changed, 53 insertions(+), 34 deletions(-) diff --git a/src/jp/book/dq5_character_traits.xml b/src/jp/book/dq5_character_traits.xml index 5d73c44..a672417 100644 --- a/src/jp/book/dq5_character_traits.xml +++ b/src/jp/book/dq5_character_traits.xml @@ -104,33 +104,33 @@ #$32すばやさ標準値[6] #$33すばやさ標準値[7] #$34すばやさ標準値[8] - #$35みのまもり標準値[0] - #$36みのまもり標準値[1] - #$37みのまもり標準値[2] - #$38みのまもり標準値[3] - #$39みのまもり標準値[4] - #$3Aみのまもり標準値[5] - #$3Bみのまもり標準値[6] - #$3Cみのまもり標準値[7] - #$3Dみのまもり標準値[8] - #$3Eかしこさ標準値[0] - #$3Fかしこさ標準値[1] - #$40かしこさ標準値[2] - #$41かしこさ標準値[3] - #$42かしこさ標準値[4] - #$43かしこさ標準値[5] - #$44かしこさ標準値[6] - #$45かしこさ標準値[7] - #$46かしこさ標準値[8] - #$47うんのよさ標準値[0] - #$48うんのよさ標準値[1] - #$49うんのよさ標準値[2] - #$4Aうんのよさ標準値[3] - #$4Bうんのよさ標準値[4] - #$4Cうんのよさ標準値[5] - #$4Dうんのよさ標準値[6] - #$4Eうんのよさ標準値[7] - #$4Fうんのよさ標準値[8] + #$35かしこさ標準値[0] + #$36かしこさ標準値[1] + #$37かしこさ標準値[2] + #$38かしこさ標準値[3] + #$39かしこさ標準値[4] + #$3Aかしこさ標準値[5] + #$3Bかしこさ標準値[6] + #$3Cかしこさ標準値[7] + #$3Dかしこさ標準値[8] + #$3Eうんのよさ標準値[0] + #$3Fうんのよさ標準値[1] + #$40うんのよさ標準値[2] + #$41うんのよさ標準値[3] + #$42うんのよさ標準値[4] + #$43うんのよさ標準値[5] + #$44うんのよさ標準値[6] + #$45うんのよさ標準値[7] + #$46うんのよさ標準値[8] + #$47みのまもり標準値[0] + #$48みのまもり標準値[1] + #$49みのまもり標準値[2] + #$4Aみのまもり標準値[3] + #$4Bみのまもり標準値[4] + #$4Cみのまもり標準値[5] + #$4Dみのまもり標準値[6] + #$4Eみのまもり標準値[7] + #$4Fみのまもり標準値[8] @@ -220,36 +220,45 @@ b = {2, 18, 10, 6, 4, 3, 0, 0}; さいだいHP標準値[i] およびさいだいMP標準値[i]とは、対応するキャラクターのレベルがレベル区間境界値[i]に等しいときの、 - そのキャラクターのさいだいHPおよびさいだいMPそれぞれの値を意味する属性だ。 + そのキャラクターのさいだいHPおよびさいだいMPそれぞれの標準値を意味する属性だ。 ただし、実際にはその半分の値を保持していて、計算部で倍にする。 + + 本項で言う「標準」とは、「キャラクターの装備が裸であり、 + かつ種や実のたぐいをいっさい与えないでレベルが上がる場合に取る値」 + くらいの意味に解釈して欲しい。 + 以下、特に断らない限りこの仮定を置くものとする。 + ちから標準値[i] すばやさ標準値[i] - みのまもり標準値[i] かしこさ標準値[i] うんのよさ標準値[i] + みのまもり標準値[i] ちから標準値[i] とは、対応するキャラクターのレベルがレベル区間境界値[i] の値に等しいときの、 - そのキャラクターのちからの値を表すメンバーデータだ。 + そのキャラクターのちからの値の標準値を表すメンバーデータだ。 さいだいHPやさいだいMPとは異なり、実際の値を表現している。 - 例えば主人公のデータでは、この標準値配列は次のように定義されている。 + 例えば主人公のデータでは、この標準値配列は次のように定義されている: {11, 23, 38, 49, 65, 105, 149, 185, 255} 各要素は先に例示した主人公のレベル区間データの値と対応しており、 - 主人公がレベル 5, 10, 15, 20, 35, 45, 60 であるときには、 - ちからの値はそれぞれ 11, 23, 38, 49, 65, 105, 149, 185, 255 であるということだ。 + 主人公がレベル + 1, 5, 10, 15, 20, 30, 45, 60, 99 + であるときには、ちからの値はそれぞれ + 11, 23, 38, 49, 65, 105, 149, 185, 255 + が標準的であるということだ。 この配列に含まれない値のレベルに上がるときには、 新しいちからの値はレベル区間の隣り合う端点に対応するちから標準値同士から線形補間で得られる。 - すばやさ、みのまもり、かしこさ、うんのよさ各標準値についてもちからと同様だ。 + すばやさ、かしこさ、うんのよさ、みのまもりについてもちからと同様だ。 diff --git a/src/jp/book/preface.xml b/src/jp/book/preface.xml index 24ade04..467ea37 100644 --- a/src/jp/book/preface.xml +++ b/src/jp/book/preface.xml @@ -274,6 +274,16 @@ + + + 矢木羽研(やきうけん)氏 + + + ドラクエ 5 + レベルアップ構造体の記述ミスを発見していただいた。 + + + 執筆陣の注意不足により、失礼ながらこの一覧から漏れている方がいるかもしれない。 From 5d2d85d2d236070297c5613ac6c8a64cecd713e7 Mon Sep 17 00:00:00 2001 From: showa_yojyo <2386769+showa-yojyo@users.noreply.github.com> Date: Sun, 15 Sep 2024 01:16:27 +0900 Subject: [PATCH 09/19] dq5.character.traits.progression: describe 1.5x correction rule close #57 --- src/jp/book/dq5_character_traits.xml | 44 +++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 8 deletions(-) diff --git a/src/jp/book/dq5_character_traits.xml b/src/jp/book/dq5_character_traits.xml index a672417..81173d4 100644 --- a/src/jp/book/dq5_character_traits.xml +++ b/src/jp/book/dq5_character_traits.xml @@ -239,30 +239,58 @@ b = {2, 18, 10, 6, 4, 3, 0, 0}; みのまもり標準値[i] - ちから標準値[i] とは、対応するキャラクターのレベルがレベル区間境界値[i] の値に等しいときの、 - そのキャラクターのちからの値の標準値を表すメンバーデータだ。 + 各種標準値[i] とは、対応するキャラクターのレベルがレベル区間境界値[i] + の値に等しいときの、そのキャラクターの対応属性値の標準値を表すものだ。 さいだいHPやさいだいMPとは異なり、実際の値を表現している。 - 例えば主人公のデータでは、この標準値配列は次のように定義されている: + 例えば主人公のデータでは、このちから標準値配列は次のように定義されている: {11, 23, 38, 49, 65, 105, 149, 185, 255} - 各要素は先に例示した主人公のレベル区間データの値と対応しており、 - 主人公がレベル + 各要素は先に例示した主人公のレベル区間データの値と対応しており、主人公がレベル 1, 5, 10, 15, 20, 30, 45, 60, 99 であるときには、ちからの値はそれぞれ 11, 23, 38, 49, 65, 105, 149, 185, 255 が標準的であるということだ。 - この配列に含まれない値のレベルに上がるときには、 - 新しいちからの値はレベル区間の隣り合う端点に対応するちから標準値同士から線形補間で得られる。 + この配列に含まれない値のレベルに上がるときには、新しいちからの値はレベル + 区間の隣り合う端点に対応するちから標準値同士から線形補間で得られる。 - すばやさ、かしこさ、うんのよさ、みのまもりについてもちからと同様だ。 + それぞれの属性標準値についてはレベルアップ時の対応する属性増分値算出という役割に加えて、 + 対象キャラクターの現在の属性値がゲームの想定よりかなり大きい場合に、 + 先述の算出した増分値を破棄して、ランダムで高々 1 に抑える役割も果たす(下記コード片を参照)。 + 例として、仲間ゴーレムのすばやさの成長でこのロジックが適用されることが一部識者の間で知られている。 + 仲間になったレベル 5 の時点ですばやさが 51 であり、 + それは標準値の 32 の 1.5 倍である 48 以上であることによる。 + +23/EC76: C220 REP #$20 +23/EC78: B99709 LDA $0997,Y ; 属性 X 基準値 +23/EC7B: 4A LSR A +23/EC7C: 18 CLC +23/EC7D: 799709 ADC $0997,Y +23/EC80: 999709 STA $0997,Y ; 上限値 := 属性 X 基準値の 150% +23/EC83: C8 INY +23/EC84: C8 INY +23/EC85: A546 LDA $46 +23/EC87: F012 BEQ $EC9B if(現在の属性値){ +23/EC89: D99509 CMP $0995,Y +23/EC8C: 900D BCC $EC9B if(現在の属性値 >= 上限値){ +23/EC8E: E220 SEP #$20 +23/EC90: A900 LDA #$00 +23/EC92: 6E9509 ROR $0995 +23/EC95: 6900 ADC #$00 +23/EC97: 9500 STA $00,X $00,X = rand(1) ; 属性 X の増分を高々 1 とする +23/EC99: 8022 BRA $ECBD ; 次の属性へ + } + } + ; 以下通常処理を経て次の属性へ + +以上でレベルアップ構造体の説明を終わる。 ここで必要経験値の計算アルゴリズムについて簡単に述べる。 From 50e0890d4ba5229095ea5d02eddcea0810ab5131 Mon Sep 17 00:00:00 2001 From: showa_yojyo <2386769+showa-yojyo@users.noreply.github.com> Date: Tue, 17 Sep 2024 22:21:10 +0900 Subject: [PATCH 10/19] dq5.character.traits.progression: (#57) add an example of how to compute the new property value --- src/jp/book/dq5_character_traits.xml | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/src/jp/book/dq5_character_traits.xml b/src/jp/book/dq5_character_traits.xml index 81173d4..8c8b3bf 100644 --- a/src/jp/book/dq5_character_traits.xml +++ b/src/jp/book/dq5_character_traits.xml @@ -226,7 +226,7 @@ b = {2, 18, 10, 6, 4, 3, 0, 0}; 本項で言う「標準」とは、「キャラクターの装備が裸であり、 かつ種や実のたぐいをいっさい与えないでレベルが上がる場合に取る値」 - くらいの意味に解釈して欲しい。 + くらいの意味に解釈して欲しい。「既定値」と解釈してもよいかもしれない。 以下、特に断らない限りこの仮定を置くものとする。 @@ -244,7 +244,7 @@ b = {2, 18, 10, 6, 4, 3, 0, 0}; さいだいHPやさいだいMPとは異なり、実際の値を表現している。 - 例えば主人公のデータでは、このちから標準値配列は次のように定義されている: + 例として、主人公のデータにおける標準値配列を次に挙げる: {11, 23, 38, 49, 65, 105, 149, 185, 255} @@ -257,12 +257,18 @@ b = {2, 18, 10, 6, 4, 3, 0, 0}; 区間の隣り合う端点に対応するちから標準値同士から線形補間で得られる。 - それぞれの属性標準値についてはレベルアップ時の対応する属性増分値算出という役割に加えて、 - 対象キャラクターの現在の属性値がゲームの想定よりかなり大きい場合に、 - 先述の算出した増分値を破棄して、ランダムで高々 1 に抑える役割も果たす(下記コード片を参照)。 - 例として、仲間ゴーレムのすばやさの成長でこのロジックが適用されることが一部識者の間で知られている。 - 仲間になったレベル 5 の時点ですばやさが 51 であり、 - それは標準値の 32 の 1.5 倍である 48 以上であることによる。 + 例。レベル 25 の主人公のちからの値を計算しよう。対応区間は + [20, 30) だ。区間端点それぞれのレベルにおけるちから標準値は + それぞれ 65, 105 であるので、その差分 105 - 65 == 40 を + 30 - 20 == 10 で割る。商は 4 なので、左端点の標準値 65 と + 4 * (25 - 20) == 20 との和を取る。その結果 85 を得る。 + これがレベル 25 におけるちから標準値となる。 + + + なお、実際のレベルアップ処理では、現在のレベルと新しいレベルそれぞれの標準値を計算し、 + この増分値(上の例でいうところの商 4 のこと)を対象キャラクターの現在の属性値に加算しても許せるか否かを試験するという工程を含む。 + この仮新属性値が標準値の 1.5 倍以上であると、今までの計算値を破棄して、 + 増分値をランダムで高々 1 に抑える役割も果たす(下記コード片)。 23/EC76: C220 REP #$20 @@ -287,6 +293,12 @@ b = {2, 18, 10, 6, 4, 3, 0, 0}; } ; 以下通常処理を経て次の属性へ + + ほしふるうでわを装備しているキャラクターや、仲間ゴーレムなど、 + 先述の仮定が成り立たない条件下でのすばやさの成長が、このロジックが適用される例であることが知られている。 + 仲間ゴーレムの例では、仲間になったレベル 5 の時点ですばやさが 51 ある。 + すなわち、序盤レベル帯でのすばやさ標準値 32 の 1.5 倍である 48 以上であることによる。 + From a656a3548fa524acf5b17fa61a0d64ab5aaef0f7 Mon Sep 17 00:00:00 2001 From: showa_yojyo <2386769+showa-yojyo@users.noreply.github.com> Date: Tue, 17 Sep 2024 22:25:48 +0900 Subject: [PATCH 11/19] preface.acknowledgments: (#55) minor fix --- src/jp/book/preface.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/jp/book/preface.xml b/src/jp/book/preface.xml index 467ea37..8b14be4 100644 --- a/src/jp/book/preface.xml +++ b/src/jp/book/preface.xml @@ -270,7 +270,9 @@ yuilib 氏 - 付録 B の記述ミスを発見していただいた。 + 付録 B で一覧が入れ替わっているミスを発見していただいた。 + 特に、GitHub に発見報告をいただいてから半年放置したのはたいへん申し訳なかった。 + 深く反省する。 @@ -281,6 +283,8 @@ ドラクエ 5 レベルアップ構造体の記述ミスを発見していただいた。 + レベルアップ属性値各種の算出方法を追記する契機になりもした(特に + 1.5 倍ルールを見落とすところだった)。 From 98317c8cdeac45481f5fbe56f4aaf3f261815913 Mon Sep 17 00:00:00 2001 From: showa_yojyo <2386769+showa-yojyo@users.noreply.github.com> Date: Wed, 18 Sep 2024 23:28:57 +0900 Subject: [PATCH 12/19] (#86, #88) change the output destination directory --- .gitignore | 9 +------ README.md | 50 +++++++++++++++++++++-------------- src/tools/Makefile.base | 6 ----- src/tools/Makefile.base-rules | 5 ++-- src/tools/Makefile.base-vars | 44 +++++++++++++++--------------- src/tools/gh-pages.sh | 2 +- 6 files changed, 58 insertions(+), 58 deletions(-) diff --git a/.gitignore b/.gitignore index eefee4d..6ce98dd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,3 @@ -html-chunk/ +build/ www/ - -*.pdf -*.html -*.tar.bz2 -*.xls -*.zip - version.xml diff --git a/README.md b/README.md index 2ea8a76..4092852 100644 --- a/README.md +++ b/README.md @@ -1,41 +1,51 @@ # ドラクエ命 -This is a book that describes how the data structure and program of -Dragon Quest series are. +This is a book that describes how the data structure and program of Dragon Quest +series are. ## How to Build -For example, do as follows: - ```console -bash$ git clone https://github.com/showa-yojyo/dqbook.git -bash$ git clone --single-branch --branch https://github.com/showa-yojyo/dqbook.git dqbook-gh-pages # developers only -bash$ cd dqbook/src/jp -bash$ make html-chunk -bash$ src/tools/gh-pages.sh # developers only +$ git clone https://github.com/showa-yojyo/dqbook.git +... +$ git clone --single-branch --branch https://github.com/showa-yojyo/dqbook.git dqbook-gh-pages # developers only +... +$ cd dqbook +$ make -C /src/jp html-chunk +... +$ ./src/tools/gh-pages.sh # developers only +... ``` -If you don't use Git, you have to download the repository archive file from -the project page. - -The document will be generated in the directory `dqbook/src/jp/book/html-chunk`. +The document will be generated in the directory `dqbook/build/jp/html-chunk`. ### Requirements +To set up the build environment, run the following command: + +```console +$ sudo apt update +... +$ sudo apt install make docbook-xml docbook-xsl libxml2-utils xsltproc fop +``` + * [Docbook][1] (version 4.5; docbook, docbook-xsl) -* Make tool -* Xsltproc tool -* `xmllint` program (libxml2-utils) +* [GNU Make][2] tool +* [Xsltproc][3] program +* `xmllint` program ## License -See the ``LICENSE`` file under the installation directory. +See the [LICENSE](./LICENSE) file. ## Authors * プレハブ小屋 - * Web site (GitHub): [プレハブ小屋](https://github.com/showa-yojyo/) - * E-mail: yojyo@hotmail.com - * Twitter: [@showa_yojyo](https://twitter.com/showa_yojyo) + * GitHub: [showa-yojyo](https://github.com/showa-yojyo/) + * Docker Hub: [showayojyo](https://hub.docker.com/u/showayojyo) + * E-mail: + * Twitter: [showa_yojyo](https://twitter.com/showa_yojyo) [1]: http://www.docbook.org/ "Docbook" +[2]: https://www.gnu.org/software/make/ "GNU Make" +[3]: http://xmlsoft.org/XSLT/xsltproc2.html "xsltproc" diff --git a/src/tools/Makefile.base b/src/tools/Makefile.base index 24c0409..86d9171 100644 --- a/src/tools/Makefile.base +++ b/src/tools/Makefile.base @@ -2,10 +2,4 @@ # We filched this build system from svnbook, Subversion document. include ../tools/Makefile.base-vars -NAME = dqbook -OUTNAME = dqbook -DIR = ./book -IMAGES = $(DIR)/image/ -TEXTFILES = $(DIR)/data/ -INSTALL_DIR = ../../www include ../tools/Makefile.base-rules diff --git a/src/tools/Makefile.base-rules b/src/tools/Makefile.base-rules index 8ca73b1..0625aa8 100644 --- a/src/tools/Makefile.base-rules +++ b/src/tools/Makefile.base-rules @@ -1,6 +1,8 @@ # This is a part of the Makefile that generates "dqbook". # We filched this build system from svnbook, Subversion document. +.PHONY: all clean valid version + # Grouping targets all: all-html pdf ps all-html: html html-chunk html-help @@ -149,7 +151,6 @@ clean-ps: # Utility targets -# VERSION_SOURCE is $(DIR)/version.xml, which is automatically generated -# in processing the main target. +# VERSION_SOURCE is automatically generated in processing the main target. valid: $(VERSION_SOURCE) $(XMLLINT) --xinclude --noout --nonet --postvalid $(XML_SOURCE) diff --git a/src/tools/Makefile.base-vars b/src/tools/Makefile.base-vars index 0eb930c..83e6608 100644 --- a/src/tools/Makefile.base-vars +++ b/src/tools/Makefile.base-vars @@ -21,12 +21,12 @@ # # Note that this is a Makefile fragment intended for inclusion. As a result, # all relative paths contained within are relative to including Makefile's -# directory, not to this fragment's directory. The TOOLS_DIR and DIR variables -# should be overridden if necessary to ensure proper paths are used. +# directory, not to this fragment's directory. The TOOLS_DIR and SOURCE_DIR +# variables should be overridden if necessary to ensure proper paths are used. # Paths which you may wish to customize: -XSLTPROC = xsltproc -XMLLINT = xmllint +XSLTPROC = /usr/bin/xsltproc +XMLLINT = /usr/bin/xmllint INSTALL_DATA = cp -ru MKDIR = mkdir -p RUN_HHC = ~/bin/runhhc.bat @@ -35,19 +35,21 @@ RUN_HHC = ~/bin/runhhc.bat BOOK_VERSION = 1.18.5 # You should not normally need to edit anything below here. -SHELL = /bin/sh +SHELL = /bin/bash NAME = dqbook -DIR = ./book -IMAGES = $(DIR)/image/ -TEXTFILES = $(DIR)/data/ +SOURCE_DIR = ./book +IMAGES = $(SOURCE_DIR)/image/ +TEXTFILES = $(SOURCE_DIR)/data/ +BUILD_DIR = ../../build/jp TOOLS_DIR = ../tools XSL_DIR = `[ -d stylesheets ] && echo stylesheets || echo $(TOOLS_DIR)` OUTNAME = $(NAME) -HTML_CHUNK_DIR = $(DIR)/html-chunk -HTML_HELP_DIR = $(DIR)/html-help -HTML_TARGET = $(DIR)/$(OUTNAME).html +# Output +HTML_CHUNK_DIR = $(BUILD_DIR)/html-chunk +HTML_HELP_DIR = $(BUILD_DIR)/html-help +HTML_TARGET = $(BUILD_DIR)/$(OUTNAME).html # In the HTML chunk build, index.html is created last, so serves as an # acceptable timestamp file for the entire multi-file output. @@ -61,23 +63,23 @@ ARCH_CMD = tar -jcvf ARCH_EXT = .tar.bz2 HTML_ARCH_BASENAME = $(OUTNAME)-html HTML_CHUNK_ARCH_BASENAME = $(OUTNAME)-html-chunk -HTML_ARCH_TARGET = $(DIR)/$(HTML_ARCH_BASENAME)$(ARCH_EXT) -HTML_CHUNK_ARCH_TARGET = $(DIR)/$(HTML_CHUNK_ARCH_BASENAME)$(ARCH_EXT) +HTML_ARCH_TARGET = $(BUILD_DIR)/$(HTML_ARCH_BASENAME)$(ARCH_EXT) +HTML_CHUNK_ARCH_TARGET = $(BUILD_DIR)/$(HTML_CHUNK_ARCH_BASENAME)$(ARCH_EXT) # These targets are not available now. -PDF_TARGET = $(DIR)/$(OUTNAME).pdf -PS_TARGET = $(DIR)/$(OUTNAME).ps -FO_TARGET = $(DIR)/$(OUTNAME).fo +PDF_TARGET = $(BUILD_DIR)/$(OUTNAME).pdf +PS_TARGET = $(BUILD_DIR)/$(OUTNAME).ps +FO_TARGET = $(BUILD_DIR)/$(OUTNAME).fo # This variable depends on the building environment. RUN_FOP = /cygdrive/c/fop-0.94/fop.sh -XML_SOURCE = $(DIR)/$(NAME).xml -VERSION_SOURCE = $(DIR)/version.xml +XML_SOURCE = $(SOURCE_DIR)/$(NAME).xml +VERSION_SOURCE = $(SOURCE_DIR)/version.xml -ALL_SOURCE = $(DIR)/*.xml -STYLESHEET = $(DIR)/*.css -# TODO: $(DIR)/data might be required. +ALL_SOURCE = $(SOURCE_DIR)/*.xml +STYLESHEET = $(SOURCE_DIR)/*.css +# TODO: $(SOURCE_DIR)/data might be required. INSTALL_SUBDIR = $(INSTALL_DIR)/$(NAME) diff --git a/src/tools/gh-pages.sh b/src/tools/gh-pages.sh index 6e78c0a..595338d 100644 --- a/src/tools/gh-pages.sh +++ b/src/tools/gh-pages.sh @@ -1,7 +1,7 @@ #!/bin/bash SCRIPT_DIR=$(dirname "$BASH_SOURCE") -SOURCE_DIR="$SCRIPT_DIR/../jp/book/html-chunk" +SOURCE_DIR="$SCRIPT_DIR/../../build/jp/html-chunk" TARGET_DIR="$SCRIPT_DIR/../../../dqbook-gh-pages" rsync -avC --exclude=.nojekyll --delete ${SOURCE_DIR}/ ${TARGET_DIR} From 93fd9677128ca7cbb656f2e316b6f15ac80ef9c5 Mon Sep 17 00:00:00 2001 From: showa_yojyo <2386769+showa-yojyo@users.noreply.github.com> Date: Sun, 22 Sep 2024 22:49:55 +0900 Subject: [PATCH 13/19] .github/workflows: add a workflow [skip ci] --- .github/workflows/build-docbook.yml | 57 +++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/build-docbook.yml diff --git a/.github/workflows/build-docbook.yml b/.github/workflows/build-docbook.yml new file mode 100644 index 0000000..8557829 --- /dev/null +++ b/.github/workflows/build-docbook.yml @@ -0,0 +1,57 @@ +name: Build and deploy dqbook +on: + push: + branches: [master, develop] + pull_request: + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Check out + uses: actions/checkout@v4 + with: + repository: ${{ github.repository }} + token: ${{ github.token }} + + - name: Set up Pages + id: pages + uses: actions/configure-pages@v5 + + - name: Set up DocBook + run: | + sudo apt update + sudo apt install -y docbook-xml docbook-xsl libxml2-utils xsltproc + + - name: Build document + run: make -C ./src/jp html-chunk + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ./build/jp/html-chunk + + deploy: + needs: build + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 From baf6a27b66ca4ea17dcd16edf8291b9aacf3dfec Mon Sep 17 00:00:00 2001 From: showa_yojyo <2386769+showa-yojyo@users.noreply.github.com> Date: Sun, 22 Sep 2024 23:45:19 +0900 Subject: [PATCH 14/19] (typo) close #89 [skip ci] --- src/jp/book/appendix_b.xml | 2 +- src/jp/book/dq3_bank.xml | 6 ++-- src/jp/book/dq3_combatants.xml | 6 ++-- src/jp/book/dq3_damage.xml | 4 +-- src/jp/book/dq3_debug.xml | 2 +- src/jp/book/dq3_descriptions.xml | 2 +- src/jp/book/dq3_gallery.xml | 4 +-- src/jp/book/dq3_items.xml | 2 +- src/jp/book/dq3_monsters.xml | 2 +- src/jp/book/dq3_search.xml | 12 +++---- src/jp/book/dq3gbc_monster_medals.xml | 20 ++++++------ src/jp/book/dq5.xml | 2 +- src/jp/book/dq5_accessor.xml | 12 +++---- src/jp/book/dq5_brk.xml | 4 +-- src/jp/book/dq5_character_traits.xml | 2 +- src/jp/book/dq5_characters.xml | 6 ++-- src/jp/book/dq5_combatants.xml | 6 ++-- src/jp/book/dq5_encounter.xml | 2 +- src/jp/book/dq5_items.xml | 4 +-- src/jp/book/dq5_monsters.xml | 4 +-- src/jp/book/dq5_text.xml | 24 +++++++------- src/jp/book/dq5_windows.xml | 2 +- src/jp/book/dq6_battle_commands.xml | 2 +- src/jp/book/dq6_character_traits.xml | 2 +- src/jp/book/dq6_characters.xml | 2 +- src/jp/book/dq6_combatants.xml | 4 +-- src/jp/book/dq6_encounter.xml | 2 +- src/jp/book/dq6_forges.xml | 2 +- src/jp/book/dq6_inns.xml | 2 +- src/jp/book/dq6_items.xml | 2 +- src/jp/book/dq6_level.xml | 2 +- src/jp/book/dq6_monsters.xml | 2 +- src/jp/book/dq6_search.xml | 12 +++---- src/jp/book/dq6_shops.xml | 2 +- src/jp/book/dq6_text.xml | 24 +++++++------- src/jp/book/dq6_vocations.xml | 2 +- src/jp/book/dq7_boss01.xml | 12 +++---- src/jp/book/dq7_ch2.xml | 6 ++-- src/jp/book/dq7_dbg.xml | 22 ++++++------- src/jp/book/dq_hack.xml | 8 ++--- src/jp/book/glossary.xml | 40 +++++++++++------------ src/jp/book/part01.xml | 8 ++--- src/jp/book/preface.xml | 8 ++--- src/jp/book/tools.xml | 4 +-- src/jp/book/tools_cygwin.xml | 18 +++++------ src/jp/book/tools_disasm.xml | 30 ++++++++--------- src/jp/book/tools_editors.xml | 38 +++++++++++----------- src/jp/book/tools_emulators.xml | 46 +++++++++++++-------------- src/jp/book/tools_python.xml | 2 +- src/jp/book/tools_utility.xml | 6 ++-- 50 files changed, 220 insertions(+), 220 deletions(-) diff --git a/src/jp/book/appendix_b.xml b/src/jp/book/appendix_b.xml index 1ddb338..e0cab90 100644 --- a/src/jp/book/appendix_b.xml +++ b/src/jp/book/appendix_b.xml @@ -45,7 +45,7 @@ - 値がメモリアドレス、ビットマスク、配列インデックスのどれかを表すものならば、十六進数表記とする。 + 値がメモリーアドレス、ビットマスク、配列インデックスのどれかを表すものならば、十六進数表記とする。 この場合、0x#$ 等の接頭辞を付したり付さなかったりする。 diff --git a/src/jp/book/dq3_bank.xml b/src/jp/book/dq3_bank.xml index 666197c..d44bd37 100644 --- a/src/jp/book/dq3_bank.xml +++ b/src/jp/book/dq3_bank.xml @@ -52,7 +52,7 @@ -これらの台詞のテキストを見れば、メモリ内に管理されている預金が本当に千単位であることが推察できる。 +これらの台詞のテキストを見れば、メモリー内に管理されている預金が本当に千単位であることが推察できる。 @@ -66,7 +66,7 @@ サブルーチン $C45BBA で残高金額をチェックする。 - このとき、メモリ内預金額が 10,000 以上の値になっていると、 + このとき、メモリー内預金額が 10,000 以上の値になっていると、 係員はさらなる預金を断る。 @@ -79,7 +79,7 @@ 入力金額が金庫の限界を超えることがわかったときには、 - まず9,999 - メモリ内預金額 を計算する。 + まず9,999 - メモリー内預金額 を計算する。 それから係員が入金可能金額の上限としてこの結果を伝えて、処理を金額入力まで戻す。 diff --git a/src/jp/book/dq3_combatants.xml b/src/jp/book/dq3_combatants.xml index df5367a..ae453b5 100644 --- a/src/jp/book/dq3_combatants.xml +++ b/src/jp/book/dq3_combatants.xml @@ -7,7 +7,7 @@
戦闘員 -本節では、戦闘員構造体各種のメモリレイアウトを表で示し、 +本節では、戦闘員構造体各種のメモリーレイアウトを表で示し、 また各メンバーデータの意味とアクセス例とをごく簡単に記す。 @@ -15,7 +15,7 @@ 構造体 <varname>$7E2030</varname>: 戦闘員 サイズが #$25 バイトのオブジェクトがアドレス $7E2030 から 24 個直列している。 -これらのオブジェクトは次の表で示されるメモリレイアウトを型としている。 +これらのオブジェクトは次の表で示されるメモリーレイアウトを型としている。 本章ではこの型と個々のインスタンスをそれぞれ戦闘員構造体と戦闘員オブジェクトと呼称するものとする。 @@ -468,7 +468,7 @@ MP 不足フラグ - この戦闘員が実際に何らかの呪文コマンドを実行し、それが MP 不足が原因で失敗したときに値が 1 となるブーリアン値属性だ。 + この戦闘員が実際に何らかの呪文コマンドを実行し、それが MP 不足が原因で失敗したときに値が 1 となるブーリアン値属性だ。 敵側戦闘員の一部は、この属性値が実行コマンドの決定に影響する。 diff --git a/src/jp/book/dq3_damage.xml b/src/jp/book/dq3_damage.xml index 6b9a6ea..ef5745f 100644 --- a/src/jp/book/dq3_damage.xml +++ b/src/jp/book/dq3_damage.xml @@ -26,7 +26,7 @@ 構造体 <varname>$C23BB4</varname>: ダメージ アドレス $C23BB4 から 50 個、ダメージパターンが定義されている。 -各要素のサイズは 5 バイトで、メモリレイアウトは次に示すとおりだ: +各要素のサイズは 5 バイトで、メモリーレイアウトは次に示すとおりだ:
@@ -77,7 +77,7 @@ ROM データをダンプして属性値を検討すると、自陣と敵陣と ダメージ構造体のフィールドにアクセスする専用サブルーチンはいくつかあるのだが、 実際にプログラムから参照されているものは $C2CCF8 サブルーチンだけであるようだ。 -このサブルーチンは 4 byte のパラメータをとり、 +このサブルーチンは 4 byte のパラメーターをとり、 その意味はいつもと同じようなものなので、説明を省く。
構造体 $C23BB4
diff --git a/src/jp/book/dq3_debug.xml b/src/jp/book/dq3_debug.xml index 0995f73..f9b9323 100644 --- a/src/jp/book/dq3_debug.xml +++ b/src/jp/book/dq3_debug.xml @@ -226,7 +226,7 @@ さらにこの状態でキャラクターを選択すると、「つよさ」ウィンドウが出る代わりに、 数値入力ウィンドウが出現する(上記画像)。 ここで 1 から 99 までの値を入力すると、選択したキャラクターのレベルがその値となる。 - キャラクターのパラメータや、習得呪文もそれらしいものになる。 + キャラクターのパラメーターや、習得呪文もそれらしいものになる。 従ってレベルダウンも可能である。 0 の入力はキャンセル扱いになり、100 以上の値の入力は 99 が入力されたものとみなされる。 diff --git a/src/jp/book/dq3_descriptions.xml b/src/jp/book/dq3_descriptions.xml index 6f14e7a..d946276 100644 --- a/src/jp/book/dq3_descriptions.xml +++ b/src/jp/book/dq3_descriptions.xml @@ -21,7 +21,7 @@
構造体 <varname>$C2398E</varname>: コマンドに関する記述 -アドレス $C2398E から次のメモリレイアウトで構成される 6 バイト長オブジェクトが 73 個配列されている。 +アドレス $C2398E から次のメモリーレイアウトで構成される 6 バイト長オブジェクトが 73 個配列されている。 コマンド一つに対してこのオブジェクト 0 または 1 個が対応する。
diff --git a/src/jp/book/dq3_gallery.xml b/src/jp/book/dq3_gallery.xml index 3bb5fd8..182fb3d 100644 --- a/src/jp/book/dq3_gallery.xml +++ b/src/jp/book/dq3_gallery.xml @@ -217,8 +217,8 @@ ただし、アイテムとしての用途はある。 しのオルゴールは戦闘中に使うことが可能なのだ。 -その効果は「敵側パーティのキャラクタを順番に息の根を止め、 -次に自分側のパーティのキャラクタを順番に息の根を止める」というものだ。 +その効果は「敵側パーティのキャラクターを順番に息の根を止め、 +次に自分側のパーティのキャラクターを順番に息の根を止める」というものだ。 メッセージ遷移は以下の通りである。 diff --git a/src/jp/book/dq3_items.xml b/src/jp/book/dq3_items.xml index 140318c..3e881e7 100644 --- a/src/jp/book/dq3_items.xml +++ b/src/jp/book/dq3_items.xml @@ -22,7 +22,7 @@ アドレス $C40043 に全アイテムのデータが定義されている。 オブジェクトのサイズは #$13 バイトであり、これが 229 個配列されている。 -次の表はオブジェクトのメモリレイアウトだ。 +次の表はオブジェクトのメモリーレイアウトだ。
diff --git a/src/jp/book/dq3_monsters.xml b/src/jp/book/dq3_monsters.xml index 1d64c78..d2da641 100644 --- a/src/jp/book/dq3_monsters.xml +++ b/src/jp/book/dq3_monsters.xml @@ -18,7 +18,7 @@
構造体 <varname>$C20000</varname>: モンスター -モンスター構造体とは、サイズが #$25 バイトであり、オブジェクトのメモリレイアウトが次の表で示されるような構造体だ。 +モンスター構造体とは、サイズが #$25 バイトであり、オブジェクトのメモリーレイアウトが次の表で示されるような構造体だ。 この型のオブジェクトがアドレス $C20000 から 160 個直列している。 diff --git a/src/jp/book/dq3_search.xml b/src/jp/book/dq3_search.xml index ab0f444..b0d89e7 100644 --- a/src/jp/book/dq3_search.xml +++ b/src/jp/book/dq3_search.xml @@ -25,7 +25,7 @@
構造体 <varname>$C898E2</varname>: 「しらべる」対象分類 -アドレス $C898E2 には以下に示すメモリレイアウトのオブジェクトが 30 弱配列されている。 +アドレス $C898E2 には以下に示すメモリーレイアウトのオブジェクトが 30 弱配列されている。 この構造体は前作の と同じ役割がある。
@@ -157,7 +157,7 @@
構造体 <varname>$C87067</varname>: アイテム発見 -アドレス $C87067 には以下に示すメモリレイアウトのオブジェクトが 450 弱配列されている。 +アドレス $C87067 には以下に示すメモリーレイアウトのオブジェクトが 450 弱配列されている。 この構造体は前作の と同じ役割がある。
@@ -204,7 +204,7 @@
構造体 <varname>$C87C99</varname>: ゴールド発見 -アドレス $C8477E には以下に示すメモリレイアウトのオブジェクトが 30 以上配列されている。 +アドレス $C8477E には以下に示すメモリーレイアウトのオブジェクトが 30 以上配列されている。 この構造体は前作の と同じ役割がある。
@@ -239,7 +239,7 @@
構造体 <varname>$C87DB1</varname>: 情報取得 -アドレス $C848B6 には以下に示すメモリレイアウトのオブジェクトが 140 配列されている。 +アドレス $C848B6 には以下に示すメモリーレイアウトのオブジェクトが 140 配列されている。 この構造体は前作の と同じ役割がある。
@@ -268,7 +268,7 @@
構造体 <varname>$C88185</varname>: 罠 -アドレス $C85534 には以下に示すメモリレイアウトのオブジェクトが 20 強配列されている。 +アドレス $C85534 には以下に示すメモリーレイアウトのオブジェクトが 20 強配列されている。 この構造体は前作の と同じ役割がある。
@@ -302,7 +302,7 @@
構造体 <varname>$C88218</varname>: 特殊イベント -アドレス $C855AB には以下に示すメモリレイアウトのオブジェクトが 140 配列されている。 +アドレス $C855AB には以下に示すメモリーレイアウトのオブジェクトが 140 配列されている。 この構造体は前作の と同じ役割がある。
diff --git a/src/jp/book/dq3gbc_monster_medals.xml b/src/jp/book/dq3gbc_monster_medals.xml index 972f4a9..6d6aa31 100644 --- a/src/jp/book/dq3gbc_monster_medals.xml +++ b/src/jp/book/dq3gbc_monster_medals.xml @@ -86,12 +86,12 @@ - セーブデータファイルを「編集」するためのバイナリエディター。 + セーブデータファイルを「編集」するためのバイナリーエディター。 - バイナリエディターを用いて、普通のプレイで得られるセーブデータファイルを修正する。 + バイナリーエディターを用いて、普通のプレイで得られるセーブデータファイルを修正する。 セーブデータの最初のほうは以下のようになっている。 注目するのは $00000036 からの 3 バイト、01 04 02 である (この値は、記者のプレイ内容がそういうメダル枚数になっていたということなので、 @@ -103,14 +103,14 @@ 「メダルこうかん」等で減って 0 枚になった状態とは区別される。 -[offset]: +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F 0123456789ABCDEF +[offset]: +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F 0123456789ABCDEF ---------------------------------------------------------------------------- -00000000: 44 52 41 47 4F 4E 20 51 55 45 53 54 20 49 49 49 DRAGON QUEST III -00000010: 20 53 41 56 45 20 57 4F 52 4B 20 41 52 45 41 2E SAVE WORK AREA. -00000020: 01 01 00 4D 65 64 61 6C 46 69 6C 65 43 72 65 61 ...MedalFileCrea -00000030: 74 65 64 FF FF FF 01 04 02 01 02 02 01 01 01 01 ted .......... -00000040: 03 02 01 01 00 01 02 00 01 01 00 01 01 01 01 01 ................ -00000050: 00 01 02 00 01 01 00 01 01 00 01 01 01 01 01 00 ................ +00000000: 44 52 41 47 4F 4E 20 51 55 45 53 54 20 49 49 49 DRAGON QUEST III +00000010: 20 53 41 56 45 20 57 4F 52 4B 20 41 52 45 41 2E SAVE WORK AREA. +00000020: 01 01 00 4D 65 64 61 6C 46 69 6C 65 43 72 65 61 ...MedalFileCrea +00000030: 74 65 64 FF FF FF 01 04 02 01 02 02 01 01 01 01 ted .......... +00000040: 03 02 01 01 00 01 02 00 01 01 00 01 01 01 01 01 ................ +00000050: 00 01 02 00 01 01 00 01 01 00 01 01 01 01 01 00 ................ 00000060: 01 01 01 01 01 01 01 01 00 01 01 00 01 01 00 01 ................ ... @@ -153,7 +153,7 @@ そして、最終的な和の下位 2byte だけとればよい。 例えば、全モンスターの全種類のメダルをそれぞれ 254 枚欲しい場合は、 254 * (498 + 576) == 272796 == 0x4299C となる。この 299C だけを使えばよい。 - バイナリエディターで + バイナリーエディターで diff --git a/src/jp/book/dq5.xml b/src/jp/book/dq5.xml index df8bed1..db6c5f1 100644 --- a/src/jp/book/dq5.xml +++ b/src/jp/book/dq5.xml @@ -13,7 +13,7 @@ SFC で動くドラクエシリーズの中で、 最も逆アセンブル解析の難しいシリーズであると思う。 65816 逆アセンブルを試みればわかるが、 -目まぐるしく MX レジスタビットが ON/OFF を繰り返すため、 +目まぐるしく MX レジスタービットが ON/OFF を繰り返すため、 「本物」のコードを抽出することがなかなか難しい。 ここをどうクリアするかが、本作を解析する最大の問題である。 diff --git a/src/jp/book/dq5_accessor.xml b/src/jp/book/dq5_accessor.xml index 8247541..5799713 100644 --- a/src/jp/book/dq5_accessor.xml +++ b/src/jp/book/dq5_accessor.xml @@ -12,7 +12,7 @@ さらにこのサブルーチンを間接的に利用するプログラム構成要素について言及する。 これにより、サブルーチン $218AFC の仕様を把握することの重要性が明らかになるだろう。 最後に、本サブルーチンの筆者が独自に調査した仕様を簡易な図表にして示す。 -逆アセンブリコードの解読のお供にするなり、逆アセンブラーのポストプロセッサーに取り込むなりして利用していただきたい。 +逆アセンブリーコードの解読のお供にするなり、逆アセンブラーのポストプロセッサーに取り込むなりして利用していただきたい。
@@ -68,21 +68,21 @@ JSL 命令で実行されるはずの二つのサブルーチン $218A9 サブルーチン $218AF8 はバンク内サブルーチンを任意のサブルーチンから呼び出せるようにするだけのラッパーであるので特別な説明を要しない。 ただし、そのサブルーチンを利用する唯一の呼び出し元である BRK ハンドラー $008F80 は被参照機会がとてつもなく多いため重要だ。 -これの呼び出しコードの意味を直ちに特定することができれば、逆アセンブリコードの解読が飛躍的に効率的になる。 +これの呼び出しコードの意味を直ちに特定することができれば、逆アセンブリーコードの解読が飛躍的に効率的になる。 次に反対側の呼び出し依存関係を示す。 $21/8AFC - → $21/907C: この後管理するメモリを初期化する。 + → $21/907C: この後管理するメモリーを初期化する。 → $21/8B31: 対象メンバー ($39) を特定する。 → $21/8B82: この後操作するベースアドレス ($3A:) オフセット ($3D) サイズ ($3E) 実データ ($46:) をセットする。 → $21/8C3A: 目的 ($38) に応じた処理コードへジャンプする。 最初の三つのサブルーチンはこれ以上の呼び出しを含まない。 -サブルーチン $21907C は作業用のメモリをゼロで初期化するだけのミニルーチンだ。 +サブルーチン $21907C は作業用のメモリーをゼロで初期化するだけのミニルーチンだ。 特に $46 から $49 までがゼロになることに注意したい。 @@ -509,10 +509,10 @@ $21/8AFC 全機能に共通する呼び出し事前条件と事後条件 ここでは全機能共通の規則をまとめる。 -この情報は逆アセンブリコードを目視で検査して BRK #$8? 系の行周囲の意味を推測する際の目安となる。 +この情報は逆アセンブリーコードを目視で検査して BRK #$8? 系の行周囲の意味を推測する際の目安となる。 -当サブルーチン呼び出しの事前条件および事後条件を、関係するメモリアドレスを主眼にまとめたものが次の表だ。 +当サブルーチン呼び出しの事前条件および事後条件を、関係するメモリーアドレスを主眼にまとめたものが次の表だ。 いずれも 8 ビットで扱う。何なら事前条件、事後条件をそれぞれ入力、出力とそれぞれ読み替えてもらっても構わない。 また、キャラクター ID とある項目は機能によっては指定不要だ。 diff --git a/src/jp/book/dq5_brk.xml b/src/jp/book/dq5_brk.xml index 9790130..b16bfc9 100644 --- a/src/jp/book/dq5_brk.xml +++ b/src/jp/book/dq5_brk.xml @@ -554,7 +554,7 @@ BRK 命令のオペランドが #$97 から #$9D 実例として、ある BRK #$97 の呼び出しを次に示す。 -参考までにメッセージテキストを逆アセンブリコードの右側にコメントしておく。 +参考までにメッセージテキストを逆アセンブリーコードの右側にコメントしておく。 06/CE0D: 0097 BRK #$97 ; message #$00B6: よくぞもどられた![1000][1011]どの。 @@ -580,7 +580,7 @@ BRK 命令のオペランドが #$9E から #$A7BRK #$9E の呼び出しを次に示す。 -25/89F5: 009E BRK #$9E ; message #$0000: +25/89F5: 009E BRK #$9E ; message #$0000: 25/89F7: 00 25/89F8: 009E BRK #$9E ; message #$00B6: しかし [EE][FA]は[FF]これいじょう ものを もてない。 25/89FA: B6 diff --git a/src/jp/book/dq5_character_traits.xml b/src/jp/book/dq5_character_traits.xml index 8c8b3bf..9543482 100644 --- a/src/jp/book/dq5_character_traits.xml +++ b/src/jp/book/dq5_character_traits.xml @@ -581,7 +581,7 @@ if(F[n] >= 32){ このプログラムは同じ役割を果たす型を、人間キャラクターとモンスターキャラクターとで別々に定義することがよくあるのだが、 初期状態においてもその手法を採っている。 -モンスターの仲間では、初期状態における所持品と装備品とを考慮せずに済むので、その分のメモリが節約できるということだろう。 +モンスターの仲間では、初期状態における所持品と装備品とを考慮せずに済むので、その分のメモリーが節約できるということだろう。 構造体 $23C014 については で述べたものと同型だ。 diff --git a/src/jp/book/dq5_characters.xml b/src/jp/book/dq5_characters.xml index 764b09d..77a9e23 100644 --- a/src/jp/book/dq5_characters.xml +++ b/src/jp/book/dq5_characters.xml @@ -34,7 +34,7 @@ RAM の節約に一役買うというわけだ。 プログラムはこの構造体をサイズが #$2A バイトであるとして処理する。 -メモリレイアウトを次の表に示す。 +メモリーレイアウトを次の表に示す。
@@ -219,7 +219,7 @@ RAM の節約に一役買うというわけだ。 プログラムはこの構造体をサイズが #$1A バイトであるとして処理する。 -メモリレイアウトを次の表に示す。 +メモリーレイアウトを次の表に示す。
@@ -274,7 +274,7 @@ RAM の節約に一役買うというわけだ。 プログラムはこの構造体をサイズが #$20 バイトであるとして処理する。 -メモリレイアウトを次の表に示す。 +メモリーレイアウトを次の表に示す。
diff --git a/src/jp/book/dq5_combatants.xml b/src/jp/book/dq5_combatants.xml index 03963f2..4318cc4 100644 --- a/src/jp/book/dq5_combatants.xml +++ b/src/jp/book/dq5_combatants.xml @@ -10,13 +10,13 @@ 戦闘キャラクター構造体とは、戦闘セッションに参加している敵と味方のキャラクターそれぞれに対して割り当てるオブジェクトの構造を与える型だ。 戦闘キャラクター構造体には仲間用と敵用の二種類存在するので、それらの総称として「戦闘キャラクター構造体」と呼ぶ。 -本節では、戦闘キャラクター構造体各種のメモリレイアウトを表で示し、また各メンバーデータの意味とアクセス例とをごく簡単に記す。 +本節では、戦闘キャラクター構造体各種のメモリーレイアウトを表で示し、また各メンバーデータの意味とアクセス例とをごく簡単に記す。
構造体 <varname>$000760</varname>: 仲間キャラクター -次の表で示されるメモリレイアウトで構成される、サイズが #$0C バイトのオブジェクトがアドレス $000760 から 8 個直列している。 +次の表で示されるメモリーレイアウトで構成される、サイズが #$0C バイトのオブジェクトがアドレス $000760 から 8 個直列している。 戦闘開始時に、パーティーメンバーの並び順に準じてこれらのオブジェクトが対応するメンバーの状態に応じて初期化される。 そして、戦闘の状況が変化するに従って、これらのオブジェクトの状態も変化していく。 戦闘終了後はこの 8 個のオブジェクトの内容は放棄される。 @@ -94,7 +94,7 @@
構造体 <varname>$0007C0</varname>: 敵キャラクター -次の表で示されるメモリレイアウトで構成される、サイズが #$10 バイトのオブジェクトがアドレス $0007C0 から 16 個直列している。 +次の表で示されるメモリーレイアウトで構成される、サイズが #$10 バイトのオブジェクトがアドレス $0007C0 から 16 個直列している。 戦闘開始時に何らかの法則に従ってこれらのオブジェクトが初期化される。 その初期化規則は通常戦とボス戦とで異なるだろうが、ここでは触れない。 仲間キャラクター構造体と同様に、戦闘状況に応じてオブジェクトの状態が変化していくが、 diff --git a/src/jp/book/dq5_encounter.xml b/src/jp/book/dq5_encounter.xml index ceaa617..0a3a1bf 100644 --- a/src/jp/book/dq5_encounter.xml +++ b/src/jp/book/dq5_encounter.xml @@ -479,7 +479,7 @@ TBW データ 本節で説明したデータ構造それぞれのオブジェクト配列を単独の CSV ファイルに統合して に収録する。 -特に、論理的なまとまりを優先して CSV を作ったので、データフィールドの順序はメモリレイアウトを反映していないし、 +特に、論理的なまとまりを優先して CSV を作ったので、データフィールドの順序はメモリーレイアウトを反映していないし、 一部のフィールド群については、それらが論理的に一体のものであるならば、一つの値にまとめた。
diff --git a/src/jp/book/dq5_items.xml b/src/jp/book/dq5_items.xml index 98592f5..71428ba 100644 --- a/src/jp/book/dq5_items.xml +++ b/src/jp/book/dq5_items.xml @@ -22,7 +22,7 @@ &dq5_1992; ではアイテムデータの物理的な表現方法に特徴がある。 後続のシリーズでの実装では、アイテムだけでなく、キャラクターにせよコマンドにせよ、 ゲーム構成要素の定数的な属性の全てを一つの構造体にカプセル化して定義し、 -そのオブジェクトをメモリ上で連続的に配列することで定義するというのが標準的な表現手法だ。 +そのオブジェクトをメモリー上で連続的に配列することで定義するというのが標準的な表現手法だ。 ところが本プログラムでは、アイテムオブジェクトを属性ごとに分割して、それぞれを別々の場所で配列するという手法を採っている。
@@ -81,7 +81,7 @@ P * Q, (where 0 <= P and P < 256; 0 <= Q and Q < 65536) ]]> このデータ表現を採用することで、消費する ROM が 135 バイトほど節約できる。 -上記計算コードのメモリ量が 135 を下回っていれば、全体としても節約できたと言える。 +上記計算コードのメモリー量が 135 を下回っていれば、全体としても節約できたと言える。
diff --git a/src/jp/book/dq5_monsters.xml b/src/jp/book/dq5_monsters.xml index a403ab2..52f0201 100644 --- a/src/jp/book/dq5_monsters.xml +++ b/src/jp/book/dq5_monsters.xml @@ -8,7 +8,7 @@
モンスター モンスターDQ5 - + この節ではモンスターを取り扱う。 ここで言うモンスターというのは、戦闘時における敵陣の構成員の個々のオブジェクトの型を意味するが、 それに加えて、自陣の戦闘員でいながら「めいれいさせろ」の対象とはならないキャラクターたちの特性もこの型によって表現されている。 @@ -16,7 +16,7 @@ まずはモンスター構造体をプログラムコードに基いてモデル化する。 -構造体のメモリレイアウトと各メンバーデータの目的を図表にして示す。 +構造体のメモリーレイアウトと各メンバーデータの目的を図表にして示す。 最後に、ゲーム中で定義されているモンスターデータを全て抽出して CSV ファイルを作成する。 diff --git a/src/jp/book/dq5_text.xml b/src/jp/book/dq5_text.xml index 2fb492c..c785c9d 100644 --- a/src/jp/book/dq5_text.xml +++ b/src/jp/book/dq5_text.xml @@ -44,7 +44,7 @@ を利用して、机上で戦闘モードテキストを再現することが可能となる。 -デバッガによる試行錯誤の結果、以下の処理が戦闘中のメッセージ一つの復号を行っていることが判明した: +デバッガーによる試行錯誤の結果、以下の処理が戦闘中のメッセージ一つの復号を行っていることが判明した: 24/8687: JSR $A5D9 @@ -84,7 +84,7 @@ -別途、大域的な逆アセンブリコードを(テキストとして)解読者が検索することで、 +別途、大域的な逆アセンブリーコードを(テキストとして)解読者が検索することで、 次のサブルーチンがいずれも上述の処理コードを網羅していて、 戦闘時のテキストを表示指定するものだと結論できる。 これらのサブルーチンはいずれも BRK 命令が特定のオペランド値をともなって実行された場合に、 @@ -127,7 +127,7 @@ ID からすぐにアドレスとビット位置を取得できるようにす 3byte 構造体の配列 $24AECD がまさにそのテーブルであり、 -構造体のメモリレイアウトはごく単純で、上位 21bit がバイト単位でのアドレス、 +構造体のメモリーレイアウトはごく単純で、上位 21bit がバイト単位でのアドレス、 下位 3bit がビット単位でのアドレスをそれぞれ示す。 メッセージ ID が 16 の倍数であれば、そのテーブルから得られる情報をそのまま利用することができ、 メッセージ ID が 16 の倍数でなければ、その直前の 16 の倍数である ID メッセージをまずは読み出し、 @@ -384,7 +384,7 @@ ID からすぐにアドレスとビット位置を取得できるようにす 配列の末端のほうがハフマン木のルートに近い構成になっている - ノードを 2byte の構造体で表現している。メモリレイアウトは以下のようになっている: + ノードを 2byte の構造体で表現している。メモリーレイアウトは以下のようになっている: @@ -416,10 +416,10 @@ ID からすぐにアドレスとビット位置を取得できるようにす
-復号した文字列をメモリに格納 +復号した文字列をメモリーに格納 サブルーチン $248C21 では、復号した結果の文字を特定の配列に格納していく。 -デバッガで例えば $248C38 にブレイクポイントを置き、 +デバッガーで例えば $248C38 にブレイクポイントを置き、 この時点でその配列の中身を観察すると、文字、 すなわち小さいフォント ID が文章を作るように並んでいることが確認できる。 @@ -508,7 +508,7 @@ ID からすぐにアドレスとビット位置を取得できるようにす 3byte 構造体の配列 $24AF1E がまさにそのテーブルであり、 -構造体のメモリレイアウトはごく単純で、上位 21bit がバイト単位でのアドレス、 +構造体のメモリーレイアウトはごく単純で、上位 21bit がバイト単位でのアドレス、 下位 3bit がビット単位でのアドレスをそれぞれ示す。 @@ -647,7 +647,7 @@ ID からすぐにアドレスとビット位置を取得できるようにす ノードの 2byte の上位ビットが立っていれば末端ノードだから、ループを抜け出す。 そうでない場合、0x1FFF でマスクした部分が子ノードの位置を示す。 - X レジスタにそれを格納し、ループを繰り返す。 + X レジスターにそれを格納し、ループを繰り返す。 @@ -667,7 +667,7 @@ ID からすぐにアドレスとビット位置を取得できるようにす 前述のサブルーチンのプログラムコードを観察することにより、 -移動モード用テキストのハフマン木のノード構造体のメモリレイアウトがわかる。 +移動モード用テキストのハフマン木のノード構造体のメモリーレイアウトがわかる。 ルートからの左右の部分木のノード個数はそれぞれ 0x07BA / 2 + 1 個である それ以外は、木の構造の特徴が戦闘モードのそれ (参照)と同じだ。 @@ -687,7 +687,7 @@ ID からすぐにアドレスとビット位置を取得できるようにす
-復号した文字列をメモリに格納 +復号した文字列をメモリーに格納 サブルーチン $248B98 では、復号した結果の文字を特定の配列に格納していく。 の移動モードバージョンだ。 @@ -713,7 +713,7 @@ ID からすぐにアドレスとビット位置を取得できるようにす 戦闘モード用サブルーチンとは対照的に、移動モード用サブルーチンでは - A レジスタを 16bit モードで扱う。 + A レジスターを 16bit モードで扱う。 @@ -724,7 +724,7 @@ ID からすぐにアドレスとビット位置を取得できるようにす - その文字は A レジスタに 16bit モードで格納されている。 + その文字は A レジスターに 16bit モードで格納されている。 これを配列 $0E4B に先頭から格納していく。 diff --git a/src/jp/book/dq5_windows.xml b/src/jp/book/dq5_windows.xml index 74eb251..fdafde8 100644 --- a/src/jp/book/dq5_windows.xml +++ b/src/jp/book/dq5_windows.xml @@ -20,7 +20,7 @@ ただし、この表は本書の他の節で採るような解析手法とは異なる怪しい手段によって調査した結果から得たものなので、品質を向上する余地がある。 表の最初の列はウィンドウ ID であり、真ん中の二列は各列名に対応するアドレスに実際に格納されている値であり、 最後の列は記者が目視で確認したウィンドウの内容を粗く表現した記述だ。 -このような粗雑なデータであっても、別の逆アセンブリコード解析の助けになる。 +このような粗雑なデータであっても、別の逆アセンブリーコード解析の助けになる。 $04EB48: ウィンドウデータ格納アドレス配列 diff --git a/src/jp/book/dq6_battle_commands.xml b/src/jp/book/dq6_battle_commands.xml index 3652b2f..66e62a7 100644 --- a/src/jp/book/dq6_battle_commands.xml +++ b/src/jp/book/dq6_battle_commands.xml @@ -22,7 +22,7 @@
構造体 <varname>$C8C65D</varname>: 戦闘コマンド -戦闘コマンド構造体とは、サイズが #$19 バイトであり、オブジェクトのメモリレイアウトが次の表で示されるようなものだ。 +戦闘コマンド構造体とは、サイズが #$19 バイトであり、オブジェクトのメモリーレイアウトが次の表で示されるようなものだ。 この型のオブジェクトがアドレス $C8C65D から 410 個直列しているので、本書ではたまに戦闘コマンド構造体のことを表題のように表記することがある。
diff --git a/src/jp/book/dq6_character_traits.xml b/src/jp/book/dq6_character_traits.xml index 9aca61f..e806c86 100644 --- a/src/jp/book/dq6_character_traits.xml +++ b/src/jp/book/dq6_character_traits.xml @@ -21,7 +21,7 @@
構造体 <varname>$C8BD12</varname>: 仲間キャラクター特性 -仲間キャラクター特性構造体とは、サイズが #$1B バイトであり、オブジェクトのメモリレイアウトが次の表で示されるような構造体だ。 +仲間キャラクター特性構造体とは、サイズが #$1B バイトであり、オブジェクトのメモリーレイアウトが次の表で示されるような構造体だ。 この型のオブジェクトがアドレス $C8BD12 から 82 個直列している。 diff --git a/src/jp/book/dq6_characters.xml b/src/jp/book/dq6_characters.xml index 1c0a2de..f067005 100644 --- a/src/jp/book/dq6_characters.xml +++ b/src/jp/book/dq6_characters.xml @@ -239,7 +239,7 @@
- で述べるように、このメモリレイアウトは職業構造体で指定されている。 + で述べるように、このメモリーレイアウトは職業構造体で指定されている。
diff --git a/src/jp/book/dq6_combatants.xml b/src/jp/book/dq6_combatants.xml index 9efb0c2..c03e724 100644 --- a/src/jp/book/dq6_combatants.xml +++ b/src/jp/book/dq6_combatants.xml @@ -7,14 +7,14 @@
戦闘キャラクター構造体 -本節では、戦闘キャラクター構造体各種のメモリレイアウトを表で示し、また各メンバーデータの意味とアクセス例とをごく簡単に記す。 +本節では、戦闘キャラクター構造体各種のメモリーレイアウトを表で示し、また各メンバーデータの意味とアクセス例とをごく簡単に記す。 前作では自陣側と敵陣側とで異なる型を使い分けていたが、本作では両者とも同じ型のオブジェクトで戦闘員を表現する。
構造体 <varname>$7E2030</varname>: 戦闘キャラクター -次の表で示されるメモリレイアウトで構成される、サイズが #$34 バイトのオブジェクトがアドレス $7E2030 から 24 個直列している。 +次の表で示されるメモリーレイアウトで構成される、サイズが #$34 バイトのオブジェクトがアドレス $7E2030 から 24 個直列している。 戦闘開始時に、自陣および敵陣のメンバーの配列に準じて、これらのオブジェクトが初期化される。 そして、戦闘の状況が変化するにつれて、これらのオブジェクトの状態も変化していく、というものだ。 diff --git a/src/jp/book/dq6_encounter.xml b/src/jp/book/dq6_encounter.xml index 6e9c66a..65c23eb 100644 --- a/src/jp/book/dq6_encounter.xml +++ b/src/jp/book/dq6_encounter.xml @@ -81,7 +81,7 @@ 戦闘発生抽選処理が変わったこと以外は、前作とほぼ同じモデルであると言える。 -以下に各属性の概要を記す(説明の便宜上、属性の順序をメモリレイアウトと合致させていない)。 +以下に各属性の概要を記す(説明の便宜上、属性の順序をメモリーレイアウトと合致させていない)。 diff --git a/src/jp/book/dq6_forges.xml b/src/jp/book/dq6_forges.xml index a994cba..db9a749 100644 --- a/src/jp/book/dq6_forges.xml +++ b/src/jp/book/dq6_forges.xml @@ -21,7 +21,7 @@ カジヤが鍛え直すことのできる装備品のアイテム ID の対応関係がアドレス $C58ECF に指定されている。 これは鍛造前後のアイテム ID の組の配列という形式で表現されている。 -念のため対応表の各項目のメモリレイアウトを示す: +念のため対応表の各項目のメモリーレイアウトを示す: diff --git a/src/jp/book/dq6_inns.xml b/src/jp/book/dq6_inns.xml index 9bf9563..332f370 100644 --- a/src/jp/book/dq6_inns.xml +++ b/src/jp/book/dq6_inns.xml @@ -23,7 +23,7 @@
構造体 <varname>$C58E0B</varname>: 宿屋 -以下に示すメモリレイアウトのオブジェクトがアドレス $C58E0B から 37 個配列されている。 +以下に示すメモリーレイアウトのオブジェクトがアドレス $C58E0B から 37 個配列されている。 この 4 バイト長のサイズしかないオブジェクトそれぞれが関係する宿屋のサービスを表現している。
対応表 $C58ECF
diff --git a/src/jp/book/dq6_items.xml b/src/jp/book/dq6_items.xml index f41c41e..7099fd4 100644 --- a/src/jp/book/dq6_items.xml +++ b/src/jp/book/dq6_items.xml @@ -22,7 +22,7 @@
構造体 <varname>$C4003D</varname>: アイテム -次の表に示すようなメモリレイアウトの構造体オブジェクトがアドレス $C4003D から 256 個配列されている。 +次の表に示すようなメモリーレイアウトの構造体オブジェクトがアドレス $C4003D から 256 個配列されている。 本章ではこの型をアイテム構造体と呼ぶことにする:
diff --git a/src/jp/book/dq6_level.xml b/src/jp/book/dq6_level.xml index 127c6d8..4158e39 100644 --- a/src/jp/book/dq6_level.xml +++ b/src/jp/book/dq6_level.xml @@ -18,7 +18,7 @@
構造体 <varname>$FFB6C2</varname>: レベルアップ -レベルアップ構造体とは、サイズが #$B1 バイトであり、オブジェクトのメモリレイアウトが次の表で示されるような構造体だ。 +レベルアップ構造体とは、サイズが #$B1 バイトであり、オブジェクトのメモリーレイアウトが次の表で示されるような構造体だ。 この型のオブジェクトがアドレス $FFB6C2 から 27 個直列している。
diff --git a/src/jp/book/dq6_monsters.xml b/src/jp/book/dq6_monsters.xml index 5e9b94a..d14f9df 100644 --- a/src/jp/book/dq6_monsters.xml +++ b/src/jp/book/dq6_monsters.xml @@ -18,7 +18,7 @@
構造体 <varname>$C20154</varname>: モンスター -モンスター構造体とは、サイズが #$2A バイトであり、オブジェクトのメモリレイアウトが次の表で示されるような構造体だ。 +モンスター構造体とは、サイズが #$2A バイトであり、オブジェクトのメモリーレイアウトが次の表で示されるような構造体だ。 この型のオブジェクトがアドレス $C20154 から 256 個直列している。 diff --git a/src/jp/book/dq6_search.xml b/src/jp/book/dq6_search.xml index fa7d410..22fff51 100644 --- a/src/jp/book/dq6_search.xml +++ b/src/jp/book/dq6_search.xml @@ -25,7 +25,7 @@
構造体 <varname>$C20000</varname>: 「しらべる」対象分類 -アドレス $C20000 には以下に示すメモリレイアウトのオブジェクトが 20 個ほど配列されている。 +アドレス $C20000 には以下に示すメモリーレイアウトのオブジェクトが 20 個ほど配列されている。 これらのオブジェクトが表現するのは、宝箱、ツボ、タンス、等々というようなオブジェクトの分類項目だ。 ゲーム中にバラバラと存在する「しらべる」対象のすべてが、この配列にあるいずれか一つの要素を「共有」している。 「しらべる」対象のすべてを、この共有オブジェクトにより類別することができる。 @@ -248,7 +248,7 @@
構造体 <varname>$C83E5C</varname>: アイテム発見 -アドレス $C83E5C には以下に示すメモリレイアウトのオブジェクトが多数配列されている。 +アドレス $C83E5C には以下に示すメモリーレイアウトのオブジェクトが多数配列されている。 これらは「しらべる」対象から何らかのアイテムを一度だけ入手可能であることを表現している。
@@ -298,7 +298,7 @@
構造体 <varname>$C8477E</varname>: ゴールド発見 -アドレス $C8477E には以下に示すメモリレイアウトのオブジェクトが 40 程度配列されている。 +アドレス $C8477E には以下に示すメモリーレイアウトのオブジェクトが 40 程度配列されている。 これらは「しらべる」対象からいくらかのゴールドを一度だけ入手可能であることを表現している。
@@ -366,7 +366,7 @@
構造体 <varname>$C848B6</varname>: 情報取得 -アドレス $C848B6 には以下に示すメモリレイアウトのオブジェクトが多数配列されている。 +アドレス $C848B6 には以下に示すメモリーレイアウトのオブジェクトが多数配列されている。 これらは対象を「しらべる」ことで何らかのテキストメッセージを出力することを表現している。 もっと強く言うと、中身が空の引き出しやツボといった変哲のないオブジェクトのすべてもここに分類される。 @@ -419,7 +419,7 @@
構造体 <varname>$C85534</varname>: 罠 -アドレス $85534 には以下に示すメモリレイアウトのオブジェクトが十数個配列されている。 +アドレス $85534 には以下に示すメモリーレイアウトのオブジェクトが十数個配列されている。 いずれも宝箱やツボがモンスターであるような対象を表現している。
@@ -463,7 +463,7 @@
構造体 <varname>$C855AB</varname>: 特殊イベント -アドレス $C855AB には以下に示すメモリレイアウトのオブジェクトが多数配列されている。 +アドレス $C855AB には以下に示すメモリーレイアウトのオブジェクトが多数配列されている。 これらのオブジェクトは、これまで見てきた分類から逸脱した振る舞いを実現するものだ。
diff --git a/src/jp/book/dq6_shops.xml b/src/jp/book/dq6_shops.xml index f21c4ae..d80066c 100644 --- a/src/jp/book/dq6_shops.xml +++ b/src/jp/book/dq6_shops.xml @@ -23,7 +23,7 @@ 構造体 <varname>$C58B93</varname>: 店屋 アドレス $C58B93 にある配列要素のそれぞれが対応する店屋オブジェクトを表現する。 -以下に示すメモリレイアウトの 8 バイト長のオブジェクトが 80 弱配列されている: +以下に示すメモリーレイアウトの 8 バイト長のオブジェクトが 80 弱配列されている:
diff --git a/src/jp/book/dq6_text.xml b/src/jp/book/dq6_text.xml index fa13195..4d9b483 100644 --- a/src/jp/book/dq6_text.xml +++ b/src/jp/book/dq6_text.xml @@ -23,7 +23,7 @@ ここでは「どのようにすれば戦闘メッセージのデータ格納アドレスをサーチできるか」を考えてみよう。 -以下のことを(都合が良いのだが)仮定し、Diff サーチを提供するエミュレータを使用して探索作業を行う。 +以下のことを(都合が良いのだが)仮定し、Diff サーチを提供するエミュレーターを使用して探索作業を行う。 @@ -94,11 +94,11 @@ $C0/27B8 AD 98 59 LDA $5998 [$7E:5998] A:0001 X:0004 Y:0000 D:1E1F DB:7E S $C0/27C1 AD 98 59 LDA $5998 [$7E:5998] A:0003 X:0004 Y:0000 D:1E1F DB:7E S:0837 [...] ]]> -ここで、あらかじめ用意しておいた逆アセンブリコードリストと照合する。 -なお、バンクごとに逆アセンブリコードを用意しておくのは解析人の鉄則だ。 +ここで、あらかじめ用意しておいた逆アセンブリーコードリストと照合する。 +なお、バンクごとに逆アセンブリーコードを用意しておくのは解析人の鉄則だ。 すると $C0/27B8$C0/27C1 の命令を一つのサブルーチンが含んでいる。 これが戦闘用メッセージのデータを取得するものであると推論したい。 -そのサブルーチンの逆アセンブリコードは次のものだ(アセンブリコード右側の擬似コードは記者の解釈による。以下同様): +そのサブルーチンの逆アセンブリーコードは次のものだ(アセンブリーコード右側の擬似コードは記者の解釈による。以下同様): 例えば、ダーマの広間にいる熟練度を教える婆さんのセリフのしょっぱなの ID は #$199F であることが判明しているとする。 -この婆さんに話しかけるや否や、#$199F になっているメモリアドレスをサーチする。 +この婆さんに話しかけるや否や、#$199F になっているメモリーアドレスをサーチする。 そうすることで、プログラムが RAM 中のどのアドレスにメッセージ ID を格納するのかを特定したいのだ。 実際にサーチすると、3 つ程度 ($7E3EEC, $7E5998, $7FB0AC) しか該当しない。 この際バンクが $7F のものはうさんくさいので、候補から除外する。 -ここで一旦エミュレータを GSD に切り替え、残り二つのアドレスを Read タイプの Break Point で監視する。 +ここで一旦エミュレーターを GSD に切り替え、残り二つのアドレスを Read タイプの Break Point で監視する。 すると、$7E5998 のほうで有力な処理が見つかる: $C02B69, $C02B72 がお互いに近いところにあるので、 これらの命令は一つのサブルーチンの中にあると考えるのが自然だ。 -以下、このサブルーチン全体のアセンブリコードを詳しく見ていく。 +以下、このサブルーチン全体のアセンブリーコードを詳しく見ていく。
@@ -299,7 +299,7 @@ $C6/E0E1 AD 98 59 LDA $5998 [$7E:5998] A:0001 X:0003 Y:0018 D:0000 DB:7E S このサブルーチンは大きく分けて二つのことを行っている。 その境目となるのが $C02BB4 だ。 -アセンブリコードをつぶさに整理していくと、プログラムが +アセンブリーコードをつぶさに整理していくと、プログラムが $C02BB4 に到達する時点で満たされる条件は、次のようになっている: @@ -339,13 +339,13 @@ C0/2B72: AD9859 LDA $5998 C0/2B75: 4A LSR A C0/2B76: 4A LSR A C0/2B77: 4A LSR A -C0/2B78: 48 PHA +C0/2B78: 48 PHA C0/2B79: 0A ASL A C0/2B7A: 6301 ADC $01,S C0/2B7C: AA TAX ; x1 = メッセージ ID の上位 13 bit ; x1 は $C15BB5 からのオフセットを意味する ; 8 個の連続した ID が一つのアドレスを見ているのがわかる -C0/2B7D: 68 PLA +C0/2B7D: 68 PLA C0/2B7E: BFB55BC1 LDA $C15BB5,X C0/2B82: 85A0 STA $A0 $A0 = $C15BB5,x1 C0/2B84: 290700 AND #$0007 @@ -365,7 +365,7 @@ C0/2BA0: 4A LSR A ; C0/2BA1: 66A0 ROR $A0 ; C0/2BA3: 85A2 STA $A2 $A0:$A4 = メッセージ格納アドレス C0/2BA5: A5A0 LDA $A0 -C0/2BA7: 18 CLC +C0/2BA7: 18 CLC C0/2BA8: 695B17 ADC #$175B C0/2BAB: 85A0 STA $A0 C0/2BAD: A5A2 LDA $A2 @@ -485,7 +485,7 @@ C0/2BD3: 80
BRK 命令もメッセージ表示を行う -逆アセンブリコードを目視で眺めていると気付くことではあるが、 +逆アセンブリーコードを目視で眺めていると気付くことではあるが、 プログラム全体を通して BRK 命令のオペランドが 65816 の仕様とは異なり 2 バイトになっている。 以下、これまでに述べた事実を利用して、 すべての BRK 命令実行が、オペランドの値をメッセージ ID とした移動モードにおけるテキスト出力命令として振る舞うということを示す。 diff --git a/src/jp/book/dq6_vocations.xml b/src/jp/book/dq6_vocations.xml index 61fc548..6cff614 100644 --- a/src/jp/book/dq6_vocations.xml +++ b/src/jp/book/dq6_vocations.xml @@ -16,7 +16,7 @@
構造体 <varname>$C41C3E</varname>: 職業構造体 -職業構造体とは、サイズが #$77 バイトであり、オブジェクトのメモリレイアウトが次の表で示されるような構造体だ。 +職業構造体とは、サイズが #$77 バイトであり、オブジェクトのメモリーレイアウトが次の表で示されるような構造体だ。 この型のオブジェクトがアドレス $C41C3E から 21 個直列している。
構造体 $C58B93
diff --git a/src/jp/book/dq7_boss01.xml b/src/jp/book/dq7_boss01.xml index b6ad3e3..2249854 100644 --- a/src/jp/book/dq7_boss01.xml +++ b/src/jp/book/dq7_boss01.xml @@ -17,8 +17,8 @@ 概要死に抜け - 一般にドラクエの各イベントで、そのクライマックスシーンでボスキャラと呼ばれる特殊な敵キャラクタと戦闘をすることが多い。 - そして大抵の場合、そのキャラクタを倒すことができなければストーリーが進展しない。 + 一般にドラクエの各イベントで、そのクライマックスシーンでボスキャラと呼ばれる特殊な敵キャラクターと戦闘をすることが多い。 + そして大抵の場合、そのキャラクターを倒すことができなければストーリーが進展しない。 これが古典時代のドラクエの鉄則であったのだが、ドラクエ 4 のキングレオ戦からこれが覆された。 特定のイベント戦闘においては、「死に抜け」を前提としてストーリーが組まれるようになったのである。 以降のシリーズでは、この「死に抜け」戦が必ず存在するようになった。 @@ -30,7 +30,7 @@ - 本当に敵キャラクタを倒すことができないのだろうか。 + 本当に敵キャラクターを倒すことができないのだろうか。 @@ -68,7 +68,7 @@ なおかつ、味方の HP の回復も同様の事情であるが、この時点で有用なアイテムを持っていることはないだろう。 - 敵側の状態はとえば、手下であるあらくれ、ぶとうかのパラメータは大したことはない。 + 敵側の状態はとえば、手下であるあらくれ、ぶとうかのパラメーターは大したことはない。 HP もせいぜい 300 程度であった。レベルが高め (20 後半) なら、数ターンで倒すことになる。 問題はスイフーである。スイフーの HP は 30000 ある上に、各ターン終了後にだいたい 97 から 107 程度の自動回復がある。 @@ -95,7 +95,7 @@ その途中で、凶悪な魔物の目前でフーラルの裏切りにあい、「死に抜け」戦に突入するのである。 - 味方側キャラクタは、一切呪文・特技を使うことができない。 + 味方側キャラクターは、一切呪文・特技を使うことができない。 スイフー戦同様、ほぼ直接攻撃のみによる戦術をとらざるを得ない。 @@ -123,7 +123,7 @@ 城へ向かう橋の上での対決である。 - コイツはおそらく &dq7_2000; に出てくるキャラクタ中最高のHPを持つものである。自動回復がないのが不幸中の幸いである。 + コイツはおそらく &dq7_2000; に出てくるキャラクター中最高のHPを持つものである。自動回復がないのが不幸中の幸いである。 ゼッペルの攻撃パターンはこごえるふぶきや痛恨の一撃などを、規則に従って繰り出してくる。 diff --git a/src/jp/book/dq7_ch2.xml b/src/jp/book/dq7_ch2.xml index bb70554..fadf77d 100644 --- a/src/jp/book/dq7_ch2.xml +++ b/src/jp/book/dq7_ch2.xml @@ -51,7 +51,7 @@
強力な装備 - キーファが装備可能な武器、防具のリストで、パラメータが上位に属するものを挙げていく。 + キーファが装備可能な武器、防具のリストで、パラメーターが上位に属するものを挙げていく。
@@ -134,11 +134,11 @@
-レベルパラメータ対応表 +レベルパラメーター対応表 レベルDQ7 キーファ キーファの各レベルにおける - 「ちから」「さいだい HP」などの各種パラメータおよび、 + 「ちから」「さいだい HP」などの各種パラメーターおよび、 そのレベルであるために必要な経験値をまとめた。 diff --git a/src/jp/book/dq7_dbg.xml b/src/jp/book/dq7_dbg.xml index 996348e..363c70c 100644 --- a/src/jp/book/dq7_dbg.xml +++ b/src/jp/book/dq7_dbg.xml @@ -191,7 +191,7 @@ パーティ全員のしょくぎょうは無職の状態になる。 - 各キャラのパラメータは内部的に定義されたものになる。タネや木の実による増分は加味されない。 + 各キャラのパラメーターは内部的に定義されたものになる。タネや木の実による増分は加味されない。
@@ -227,7 +227,7 @@ てんしょく まず、パーティの名前プラス「ぜんいん」のあるキャラ選択サブメニューウィンドウが出てくる。 - 対象となっているキャラクタの職業名と職業レベルがリストになったウィンドウが表示される。リストは次の通り。 + 対象となっているキャラクターの職業名と職業レベルがリストになったウィンドウが表示される。リストは次の通り。
@@ -1206,7 +1206,7 @@ - 各モンスターのパラメータを一時的に変更することができる。 + 各モンスターのパラメーターを一時的に変更することができる。 ID 順によるモンスター名リストのサブウィンドウが表示される。 @@ -1229,7 +1229,7 @@ 「ぜんいん」を選んだ場合はなにもおこらない。 - 特定のキャラクタを選択した場合、そのキャラの現在の HP が表示された + 特定のキャラクターを選択した場合、そのキャラの現在の HP が表示された 3 ケタの数値入力サブウィンドウが表示される。 ここで数値を入力すると、パーティのキャラの現在の HP を設定できる。 0 を入力すると当然「しに」になる。 @@ -1245,7 +1245,7 @@ 「ぜんいん」を選んだ場合はなにもおこらない。 - 特定のキャラクタを選択した場合、そのキャラの現在の MP が表示された + 特定のキャラクターを選択した場合、そのキャラの現在の MP が表示された 3 ケタの数値入力サブウィンドウが表示される。 ここで数値を入力すると、パーティのキャラの現在の MP を設定できる。 @@ -1261,12 +1261,12 @@ キャラ選択サブメニューウィンドウが出てくる。 - キャラクタを選択すると、職業名と選択キャラクタの職業経験値がリストになった + キャラクターを選択すると、職業名と選択キャラクターの職業経験値がリストになった サブウィンドウが表示される。 項目をどれか選択すると、その職業の経験値が表示された 4 ケタ数値入力サブウィンドウが表示される。 - ここで数値を入力しても、キャラクタの職業経験値には反映しない。 + ここで数値を入力しても、キャラクターの職業経験値には反映しない。 @@ -1355,7 +1355,7 @@
*ばしょ せってい - 落ちる? + 落ちる?
@@ -1910,7 +1910,7 @@ 職業名を選択すると、1 ケタ数値入力サブウィンドウが表示される。 ここには現在の職業レベルと同じ数が表示されている。 - この値を変更すると、そのキャラクタの指定された職業のレベルがその数値となる。 + この値を変更すると、そのキャラクターの指定された職業のレベルがその数値となる。 0→1, 9→8 に変換される。 @@ -1963,7 +1963,7 @@ しょくぎょうレベルいちらんが見えるようにしますか? 」と聞かれる。 - はいを選択すると、「つよさ」コマンドでキャラクタの状態を見るときに + はいを選択すると、「つよさ」コマンドでキャラクターの状態を見るときに 職業レベルウィンドウが表示される。いいえはその逆。 @@ -2024,7 +2024,7 @@ 戦闘デバッグ時に有効。あとでモンスターずかんをチェックすると、図鑑が完成しており、すべての数値が最大値になっている。 - さらに、図鑑に収録されないモンスターについても、その図鑑パラメータが最大となっている。 + さらに、図鑑に収録されないモンスターについても、その図鑑パラメーターが最大となっている。 diff --git a/src/jp/book/dq_hack.xml b/src/jp/book/dq_hack.xml index 74ac997..fadd17c 100644 --- a/src/jp/book/dq_hack.xml +++ b/src/jp/book/dq_hack.xml @@ -36,7 +36,7 @@
- + @@ -149,7 +149,7 @@ アクションリプレイ 1999 Vol.4, 株式会社ブレイン・ストーム - 「PAR でドラクエを遊ぶ」と題して、パラメータ最大化等の基本的な改造コードを掲載している。 + 「PAR でドラクエを遊ぶ」と題して、パラメーター最大化等の基本的な改造コードを掲載している。 記者は &dq6_1995; のデバッグフロアの侵入方法を読んだとき、少々感動した記憶がある。 @@ -167,11 +167,11 @@ 巻頭特集として &dq7_2000; の改造コードを各種掲載している。 - パラメータ最大等の基本的な改造のほか、デバッグモード ON の方法を掲載している。 + パラメーター最大等の基本的な改造のほか、デバッグモード ON の方法を掲載している。 記者はこれだけのためにこの号を購入した。 - エミュレータでもデバッグモードを再現できて、非常に喜んだ記憶がある。 + エミュレーターでもデバッグモードを再現できて、非常に喜んだ記憶がある。 diff --git a/src/jp/book/glossary.xml b/src/jp/book/glossary.xml index ef0a6b8..bf5c1f8 100644 --- a/src/jp/book/glossary.xml +++ b/src/jp/book/glossary.xml @@ -32,9 +32,9 @@ Stirling が実装する機能の一つ。 - バイナリファイルからバイナリデータを検索するコマンドメニューの名前だ。 - バイナリファイルのテキストダンプは od 等の CLI ツールで行うのだが、 - バイナリデータのサーチだけは Stirling だけが頼りだ。 + バイナリーファイルからバイナリーデータを検索するコマンドメニューの名前だ。 + バイナリーファイルのテキストダンプは od 等の CLI ツールで行うのだが、 + バイナリーデータのサーチだけは Stirling だけが頼りだ。 @@ -92,7 +92,7 @@ Snes9x にトレースログ機能を含むデバッグ機能を実装したもの。 - SFC ドラクエシリーズの解析作業で主に用いるエミュレータだ。 + SFC ドラクエシリーズの解析作業で主に用いるエミュレーターだ。 @@ -126,7 +126,7 @@ PAR コード - 略語を展開して表記すると Pro-Action Replay コード。RAM 領域のメモリ解析の産物だ。 + 略語を展開して表記すると Pro-Action Replay コード。RAM 領域のメモリー解析の産物だ。 プログラムの RAM 領域の特定のアドレスの値を動的に書き換えるツールを意味する場合と、 そのアドレスと値を対にした概念を意味する場合がある。 @@ -172,7 +172,7 @@ Snes9x - Windows アプリの形で実装したスーファミエミュレータの一つ。 + Windows アプリの形で実装したスーファミエミュレーターの一つ。 これよりも多機能な「子孫」がいるので、解析作業に用いることはもはやないだろう。 @@ -209,7 +209,7 @@ オフセット - メモリ空間またはロムイメージファイルにおいて、 + メモリー空間またはロムイメージファイルにおいて、 現在注目している位置(アドレス)と、基準となる位置との差を意味する。 @@ -229,15 +229,15 @@ ステートセーブ - エミュレータでゲームプログラムを実行する場合、 + エミュレーターでゲームプログラムを実行する場合、 ユーザーが期待すれば、任意の時点でプログラムを中断・再開することができる。 - これは、その時点でのメモリの内容やレジスタの値といった、 + これは、その時点でのメモリーの内容やレジスターの値といった、 「プロセス」の状態をすべて保存して、それを再現することで実現している。 この保存をステートセーブと言う。 - エミュレータは、この「状態」をファイルの形で保存する。 - このバイナリファイルを差分発見的手法で解析することがある。 + エミュレーターは、この「状態」をファイルの形で保存する。 + このバイナリーファイルを差分発見的手法で解析することがある。 @@ -260,7 +260,7 @@ HP や MP が戦闘行動の結果として増減するとき、その差のこと。 - 本書ではパラメータの回復方向に変化する値に対しても、それをダメージと呼ぶので、 + 本書ではパラメーターの回復方向に変化する値に対しても、それをダメージと呼ぶので、 読者は注意して欲しい。 @@ -331,7 +331,7 @@ - パラメータ + パラメーター 通常はプログラミング言語の関数における仮引数の意味だが、 @@ -425,10 +425,10 @@ - メモリレイアウト + メモリーレイアウト - 本書ローカル用語。構造体解析において、各メンバーのメモリ配置がどのようになっているのかを説明する表。 + 本書ローカル用語。構造体解析において、各メンバーのメモリー配置がどのようになっているのかを説明する表。 C 言語でいうビットフィールドが頻出するような、細切れのデータメンバーが寄せ集まった様子を思い描いて欲しい。 @@ -436,12 +436,12 @@ - メモリ空間 + メモリー空間 - プログラム部分もデータ部分も RAM 領域も全部ひっくるめたメモリ領域全体をメモリ空間と(本書は)呼ぶ。 - SFC 解析では、ROM イメージがメモリ空間 4 メガのどのパートに格納されるのかが、 - ゲームによって決まっている。逆アセンブリ作業はそれを調べるところから開始するのだ。 + プログラム部分もデータ部分も RAM 領域も全部ひっくるめたメモリー領域全体をメモリー空間と(本書は)呼ぶ。 + SFC 解析では、ROM イメージがメモリー空間 4 メガのどのパートに格納されるのかが、 + ゲームによって決まっている。逆アセンブリー作業はそれを調べるところから開始するのだ。 @@ -559,7 +559,7 @@ あらゆるプログラミング言語で存在する概念であるが、 解析で配列と言う場合、暗黙の了承の下に C 言語の配列モデルが置かれる。 - すなわち、同じ長さのバイト列が、メモリ空間内の特定の区間中、 + すなわち、同じ長さのバイト列が、メモリー空間内の特定の区間中、 途切れることなく整列しているものだ。 diff --git a/src/jp/book/part01.xml b/src/jp/book/part01.xml index 2c68d8c..a29d4af 100644 --- a/src/jp/book/part01.xml +++ b/src/jp/book/part01.xml @@ -55,7 +55,7 @@ 「そうか、ロムイメージファイルからデータを探す方法があるのか」と気付き、 PAR 改造からロムイメージファイルのデータの解読に方法をシフトしていく。 ……が、駄目ッ…! - バイナリエディタでロムイメージを眺めるだけでは、どこに何のデータがあるのか + バイナリーエディターでロムイメージを眺めるだけでは、どこに何のデータがあるのか 全然わからない……! @@ -68,11 +68,11 @@ 毎回メールには相当に突っ込んだ意見が書いてある。 秘密サイトをオープンするということで、お願いして見せていただく。 そこには想像を絶する解析の世界が拡がっており、 - 記者は初めてスーファミの逆アセンブリ技術の存在を知ることになる。 - 逆アセンブリにより、ドラクエのプログラムが眺めることができる―――ッ! + 記者は初めてスーファミの逆アセンブリー技術の存在を知ることになる。 + 逆アセンブリーにより、ドラクエのプログラムが眺めることができる―――ッ! - 現在、この逆アセンブリをいろいろな意味でギリギリの線で行いつつ、 + 現在、この逆アセンブリーをいろいろな意味でギリギリの線で行いつつ、 過去の文書を書き直しているところである。 diff --git a/src/jp/book/preface.xml b/src/jp/book/preface.xml index 8b14be4..fc8711a 100644 --- a/src/jp/book/preface.xml +++ b/src/jp/book/preface.xml @@ -49,7 +49,7 @@ 本書の想定読者 本書が読者として想定しているのは、 - PC で動作するゲーム機エミュレータでドラクエを遊び、 + PC で動作するゲーム機エミュレーターでドラクエを遊び、 さらにその一歩先の「プレイ」をしたいと思っているような、 意欲のある人々だ。 そのような読者が本書を読むことで、例えば RAM または ROM イメージの数値データを編集したり、 @@ -139,7 +139,7 @@ 本書の表記 - 本書では、各種アセンブリ言語のニーモニックや、変なプレフィックス・サフィックスを伴っての十六進数表記が頻繁に書かれる。 + 本書では、各種アセンブリー言語のニーモニックや、変なプレフィックス・サフィックスを伴っての十六進数表記が頻繁に書かれる。 これら特別な意味を持つ用語・数値に関しては、地の文書に使われるフォントとは別のもので表記することにした。 @@ -220,7 +220,7 @@ で、大フォントテーブルを BMP ファイルに出力する機能を実装された。 本書の各シリーズメッセージ解析では、GSD の文字出力処理のステップ実行時に、 - アキュームレータの値とフォントを照合するときに利用した。 + アキュームレーターの値とフォントを照合するときに利用した。 @@ -251,7 +251,7 @@ &dq3_1996; のメッセージ解析の概要を完全に把握されており、 記者は、主要なデータの構造・配置位置をそのサイトで知った。 - さらに(別シリーズではあるが)メッセージアセンブリコードの解釈の添削までしていただいた。 + さらに(別シリーズではあるが)メッセージアセンブリーコードの解釈の添削までしていただいた。 diff --git a/src/jp/book/tools.xml b/src/jp/book/tools.xml index 5419e63..4607460 100644 --- a/src/jp/book/tools.xml +++ b/src/jp/book/tools.xml @@ -15,7 +15,7 @@ 是非詳しい情報を記者にお寄せいただきたい。 - 記者が改造・解析に使用するツールを専門ツールとユーティリティツールを混ぜて紹介する。 + 記者が改造・解析に使用するツールを専門ツールとユーティリティーツールを混ぜて紹介する。 重要度の高い順に紹介する。 @@ -34,7 +34,7 @@ 逆アセンブラーを使いこなそう - 逆アセンブリコードを上手に取り扱えるようにテキスト処理に慣れよう + 逆アセンブリーコードを上手に取り扱えるようにテキスト処理に慣れよう 良いテキストエディターを使いこなそう UNIX/Linux 由来のコマンドラインツールを使いこなそう diff --git a/src/jp/book/tools_cygwin.xml b/src/jp/book/tools_cygwin.xml index 0731f96..1eafd62 100644 --- a/src/jp/book/tools_cygwin.xml +++ b/src/jp/book/tools_cygwin.xml @@ -15,23 +15,23 @@ - Linux 環境でゲーム機エミュレータが可能な読者は、 + Linux 環境でゲーム機エミュレーターが可能な読者は、 この節を読むのを飛ばして結構だ(そんなに長いものでもないが)。 サイズの巨大な逆アセンブルしたテキストファイルをいくつも抱え込むと、 どうしても高度なテキスト処理能力が欲しくなる。 - そして、それは愛用のテキストエディタが処理する以上の能力がなければ意味がない。 + そして、それは愛用のテキストエディターが処理する以上の能力がなければ意味がない。 そこで、知名度も実績も十二分にあるテキスト処理用の GNU ツールを利用することを考えた。 Windows 環境で解析作業をするので、Cygwin をインストールしておく。 各種ツールを利用するのは Cygwin コンソール上からだけとは限らない。 - 現代的な各種 IDE や高水準なテキストエディタが提供する「外部プログラム呼び出し」機能、 + 現代的な各種 IDE や高水準なテキストエディターが提供する「外部プログラム呼び出し」機能、 すなわち利用者がコマンドラインを指示し、 メニュー項目選択時もしくは即時にそれらを起動するという作りになっている。 そこから awk, sed のような軽いテキスト処理コマンドを呼び出してもよし、 - 逆アセンブリコード処理専用のシェルスクリプトを書いて、それを呼び出すもよし、だ。 + 逆アセンブリーコード処理専用のシェルスクリプトを書いて、それを呼び出すもよし、だ。 高水準アプリがマクロ言語によるテキスト処理機能を提供する場合もある。 @@ -102,7 +102,7 @@ F4240 - seq に3 つパラメータを渡す場合、それぞれの意味は FIRST, INCREMENT, LAST として処理される。 + seq に3 つパラメーターを渡す場合、それぞれの意味は FIRST, INCREMENT, LAST として処理される。 @@ -110,7 +110,7 @@ F4240 &dq3_1996; の通称 3925 構造体のアドレスを書きたくなって seq を利用したとする。 バンクは皆 $7E なので入力には含めず、出力書式に込めることにした。 勇者のアドレスが $7E3925 で、ルイーダの酒場にいる順番に +$3C ずつアドレスが増えていくので、 - FIRST, INCREMENT パラメータは 0x3925, 0x3C を与えた。 + FIRST, INCREMENT パラメーターは 0x3925, 0x3C を与えた。 LAST には最後の仲間のアドレスを指定するべきだが、それを計算するのが面倒なので、とりあえず値を指定しておく。 @@ -194,14 +194,14 @@ F4240 - diff --git a/src/jp/book/tools_editors.xml b/src/jp/book/tools_editors.xml index 27abd72..62000ce 100644 --- a/src/jp/book/tools_editors.xml +++ b/src/jp/book/tools_editors.xml @@ -6,32 +6,32 @@ ]>
-エディタ +エディター -エディタとは通常はテキストに対するそれを指す。 -バイナリエディタの話題をする場合には、「バイナリ」を省略せずに記す。 +エディターとは通常はテキストに対するそれを指す。 +バイナリーエディターの話題をする場合には、「バイナリー」を省略せずに記す。 -記者の場合、巨大な逆アセンブリコードを、バンク単位ごとにテキストファイルとして保存しておくのが、 +記者の場合、巨大な逆アセンブリーコードを、バンク単位ごとにテキストファイルとして保存しておくのが、 逆解析作業の最初の一歩となる。 例えば、戦闘ロジックを調べたいとしよう。 -このとき、まずは戦闘ロジックのサブルーチンを含むバンクの逆アセンブリコードファイルをテキストエディタで開く。 +このとき、まずは戦闘ロジックのサブルーチンを含むバンクの逆アセンブリーコードファイルをテキストエディターで開く。 同時に、戦闘にも関係するようなゲーム全般から参照されるサブルーチンのあるバンク、 さらに汎用的な目的で利用されるライブラリ的なサブルーチンを含むバンクの各コードファイルも開いている必要がある。 そういうふうにしてサブルーチンの呼び出し関係を追っていかないと、制御の構造がつかめない。 -要するに、複数のファイルを同時に開くことができて、かつ頻繁にそれらの間を行ったり来たりする機能があるエディタでないと、 +要するに、複数のファイルを同時に開くことができて、かつ頻繁にそれらの間を行ったり来たりする機能があるエディターでないと、 解析作業に支障をきたす(記者個人的には)。 -逆解析作業に相応しいエディタに要求する機能を列挙する。これらは要件だと考えてもいい。 -これらを大体満足するエディタをまず見つけ、確保してから、 -逆アセンブリコード解析作業を始めるのが望ましい。 -自分の好みに合ったエディタを求めて、インターネットを何ヶ月でもさまよう覚悟が欲しい。 -それほどエディタ選択は重要だ。 +逆解析作業に相応しいエディターに要求する機能を列挙する。これらは要件だと考えてもいい。 +これらを大体満足するエディターをまず見つけ、確保してから、 +逆アセンブリーコード解析作業を始めるのが望ましい。 +自分の好みに合ったエディターを求めて、インターネットを何ヶ月でもさまよう覚悟が欲しい。 +それほどエディター選択は重要だ。 -バイナリエディタに関しては、それほど高機能な要件を課さない。 -というのも、バイナリエディタを用いて行う作業がそれほど多くはないからだ。 +バイナリーエディターに関しては、それほど高機能な要件を課さない。 +というのも、バイナリーエディターを用いて行う作業がそれほど多くはないからだ。 以下のもので十分だろう。 @@ -70,7 +70,7 @@
Xyzzy -テキストエディタXyzzy +テキストエディターXyzzy
Xyzzy @@ -78,7 +78,7 @@
-あえて一言で表現すれば、Windows 環境で起動するテキストエディタである。 +あえて一言で表現すれば、Windows 環境で起動するテキストエディターである。 本説を執筆した当時は作者の Web サイト やる気のない謎のぺぇじ で入手可能であったが、現在は xyzzy-022.github.io で入手するのがよい。 @@ -88,18 +88,18 @@
Stirling Stirling -バイナリエディタStirling +バイナリーエディターStirling -Stirling はフリーのバイナリエディタである。README には +Stirling はフリーのバイナリーエディターである。README には http://www2c.airnet.ne.jp/dds2 から入手可能とあるようだが、 記者は Vector あたりから入手した記憶がある。 -このバイナリエディタの特徴は色々あるが、 +このバイナリーエディターの特徴は色々あるが、 個人的には複数回 Undo/Redo 機能が完璧に実装されているのがうれしかった。 記者は逆アセンブルを知らない時代に、ロムイメージファイル内のデータとおぼしき部位を改造し、 -エミュレータで動作の変更を見るといった、偶発的な解析を行うのに用いていた。 +エミュレーターで動作の変更を見るといった、偶発的な解析を行うのに用いていた。 当然現在ではそのような利用はしていない。BGREP の機能を主に活用している。 例えば、特定のサブルーチンを呼び出す箇所をすべて特定することができる。 diff --git a/src/jp/book/tools_emulators.xml b/src/jp/book/tools_emulators.xml index f1d49cd..5f6ff0e 100644 --- a/src/jp/book/tools_emulators.xml +++ b/src/jp/book/tools_emulators.xml @@ -6,9 +6,9 @@ ]>
-ゲーム機エミュレータ +ゲーム機エミュレーター - 本節では Windows アプリとして動作するゲーム機エミュレータのうち、 + 本節では Windows アプリとして動作するゲーム機エミュレーターのうち、 とりあえず記者が利用しているものをごく簡単に紹介していく。 なにしろスーファミとプレステしか知らない人間が書き手なので、 読者の方がずっと詳しいということがあり得る。 @@ -19,20 +19,20 @@ Snes9X - Geiger's Snes9x Debugger GSD Snes9X -エミュレータSFC -エミュレータSNES +エミュレーターSFC +エミュレーターSNES
GSD Breakpoints ダイアログ
- スーファミのエミュレータ。すなわち、スーファミのロムイメージファイルを読み込んで、 + スーファミのエミュレーター。すなわち、スーファミのロムイメージファイルを読み込んで、 ゲームを Windows 環境上に再現するアプリケーションの一つである。以下 GSD と呼ぶ。 - これは伝統的な Snes9x というエミュレータを + これは伝統的な Snes9x というエミュレーターを デバッグ機能を強化するべく改良したものである。 入手先は http://geigercount.net/crypt/ のようだ。 - エミュレータの起動には、MFC の DLL が必要となる。 + エミュレーターの起動には、MFC の DLL が必要となる。 フリー DLL のダウンロードサイトを適当に探せば、入手は容易いだろう。 ちなみに記者は .NET 2003 をインストール済みの環境で作業をしているため、 DLL のインストールを必要としなかった。 @@ -53,10 +53,10 @@ - デバッガ機能 + デバッガー機能 - 基本的なステップ実行機能や、現在のプログラムカウンタの命令のスキップ。 + 基本的なステップ実行機能や、現在のプログラムカウンターの命令のスキップ。 @@ -80,23 +80,23 @@ RAM ダンプ - RAM のメモリイメージをバイナリファイルとして出力する。 + RAM のメモリーイメージをバイナリーファイルとして出力する。 - メモリビュー + メモリービュー - プログラムのメモリ空間の内容を、バイナリエディタ風の表示で確認できる。 + プログラムのメモリー空間の内容を、バイナリーエディター風の表示で確認できる。 - ドラクエ命の活動では、「ステップ実行」「トレース」「メモリビュー」機能をフル活用する。 + ドラクエ命の活動では、「ステップ実行」「トレース」「メモリービュー」機能をフル活用する。 これにより、各種データアドレスやアルゴリズムの解読を達成することが可能となる。 - 改造コードの知識があれば、メモリビューの $7E0000-$7FFFFF の見方はすぐに理解できる。 + 改造コードの知識があれば、メモリービューの $7E0000-$7FFFFF の見方はすぐに理解できる。 しかし、逆アセンブルコードの解読には、65816 マシン語の知識が必要となる。 @@ -110,14 +110,14 @@
ePSXe ePSXe -エミュレータPS +エミュレーターPS
ePSXe
- プレステのエミュレータである。最近使っていないので迂闊に説明できない。 + プレステのエミュレーターである。最近使っていないので迂闊に説明できない。 入手先は http://www.epsxe.com/ と思われる。 なお、ゲームをプレイするには、ゲームの他にプレステの BIOS イメージが必要となる。 入手困難と思われるが、何とか入手していただきたい。 @@ -126,7 +126,7 @@ ヘルプドキュメントを一通り読んでから動作させることを強くお勧めする。 - かなり力を入れて制作されたエミュレータであることが窺える。 + かなり力を入れて制作されたエミュレーターであることが窺える。
@@ -139,8 +139,8 @@ - Windows アプリ、特にプレステエミュレータ用のチートツールである。 - 要するにプロセスの使用メモリにアクセスするアプリである。 + Windows アプリ、特にプレステエミュレーター用のチートツールである。 + 要するにプロセスの使用メモリーにアクセスするアプリである。 README によれば、入手先は http://members.tripod.co.jp/DrHell/ だそうだ。 @@ -154,16 +154,16 @@
YAME YAME -エミュレータGB -エミュレータFC -エミュレータNES +エミュレーターGB +エミュレーターFC +エミュレーターNES
YAME030 設定ダイアログ
- YAME はゲームボーイ・ファミコンおよび PC エンジンのエミュレータである。 + YAME はゲームボーイ・ファミコンおよび PC エンジンのエミュレーターである。 本書では &dq3_2000; のモンスターメダルデータの格納位置を、 セーブデータファイルから特定するのに用いる(参照)。 diff --git a/src/jp/book/tools_python.xml b/src/jp/book/tools_python.xml index 9e46288..488c50c 100644 --- a/src/jp/book/tools_python.xml +++ b/src/jp/book/tools_python.xml @@ -15,7 +15,7 @@ - 先達の遺してくれた逆アセンブラ、専用ビューワー、データ解析変換抽出ツールがいくら優れたものであるとはいえ、 + 先達の遺してくれた逆アセンブラー、専用ビューワー、データ解析変換抽出ツールがいくら優れたものであるとはいえ、 それらだけを利用していたのでは、ROM データから得られる情報は当然限定されてくる。 解析作業を割と長い期間重ねていくうちに、何か特定の目的を実現するためのツールを自作したくなってくるものだ。 そういうツールの要件は、往々にして既存のツールの組み合わせだけでは実現できぬような特殊なものであることが多い。 diff --git a/src/jp/book/tools_utility.xml b/src/jp/book/tools_utility.xml index 0b34d0d..375b73a 100644 --- a/src/jp/book/tools_utility.xml +++ b/src/jp/book/tools_utility.xml @@ -61,8 +61,8 @@ 説明不要の表計算アプリ。 解析用途の計算マクロを仕込んで使うというわけではなく、 - アセンブリニーモニックの早見表を作成したり、 - 構造体メモリレイアウトのメモとして使ったりという用途だ。 + アセンブリーニーモニックの早見表を作成したり、 + 構造体メモリーレイアウトのメモとして使ったりという用途だ。 記者が使用しているのは Excel 2003 である。 しかしバージョンの新旧はある意味どうでもよい。 @@ -72,7 +72,7 @@ - 65816 命令セット・特殊レジスタカンニング表 + 65816 命令セット・特殊レジスターカンニング表 From a908d738d0b252616053baeb503f2c10e4acc7a1 Mon Sep 17 00:00:00 2001 From: showa_yojyo <2386769+showa-yojyo@users.noreply.github.com> Date: Mon, 23 Sep 2024 00:12:08 +0900 Subject: [PATCH 15/19] (markup) close #90 [skip ci] --- src/jp/book/dq3_damage.xml | 2 +- src/jp/book/dq3_pond.xml | 2 +- src/jp/book/dq3_talk.xml | 8 ++-- src/jp/book/dq3gbc_monster_medals.xml | 4 +- src/jp/book/dq5_accessor.xml | 8 ++-- src/jp/book/dq5_battle_commands.xml | 12 +++--- src/jp/book/dq5_brk.xml | 60 +++++++++++++-------------- src/jp/book/dq5_character_traits.xml | 36 ++++++++-------- src/jp/book/dq5_items.xml | 8 ++-- src/jp/book/dq5_shops.xml | 30 +++++++------- src/jp/book/dq5_string.xml | 8 ++-- src/jp/book/dq5_text.xml | 14 +++---- src/jp/book/dq6_spell_commands.xml | 2 +- src/jp/book/tools_cygwin.xml | 5 ++- 14 files changed, 100 insertions(+), 99 deletions(-) diff --git a/src/jp/book/dq3_damage.xml b/src/jp/book/dq3_damage.xml index ef5745f..8c8391c 100644 --- a/src/jp/book/dq3_damage.xml +++ b/src/jp/book/dq3_damage.xml @@ -107,7 +107,7 @@ ROM データをダンプして属性値を検討すると、自陣と敵陣と コマンド実行者とコマンドを入力とし、ダメージ量を出力とする関数とみなすのが理解しやすい。 コードの概要を以下に示す。 - + C9/0AF7: 08 PHP C9/0AF8: 8B PHB C9/0AF9: C230 REP #$30 diff --git a/src/jp/book/dq3_pond.xml b/src/jp/book/dq3_pond.xml index ea4d974..ef56838 100644 --- a/src/jp/book/dq3_pond.xml +++ b/src/jp/book/dq3_pond.xml @@ -46,7 +46,7 @@ サブルーチン $CCED57 の処理コードを以下に示す。 - + CC/ED57: AD5435 LDA $3554 CC/ED5A: 292000 AND #$0020 CC/ED5D: D003 BNE $ED62 diff --git a/src/jp/book/dq3_talk.xml b/src/jp/book/dq3_talk.xml index 57f86d7..e64117d 100644 --- a/src/jp/book/dq3_talk.xml +++ b/src/jp/book/dq3_talk.xml @@ -355,7 +355,7 @@ ROM のアドレス $C893D4 には次の表で示すような ここで、サブルーチン $CDB4CE では変数 $001D9A に本来のはなす処理アドレス値をリロードして、 ジャンプするという内容だ。 - + +]]> パーティーが透明である場合の処理は次のようになる: - + +]]>
diff --git a/src/jp/book/dq3gbc_monster_medals.xml b/src/jp/book/dq3gbc_monster_medals.xml index 6d6aa31..5f88fb0 100644 --- a/src/jp/book/dq3gbc_monster_medals.xml +++ b/src/jp/book/dq3gbc_monster_medals.xml @@ -102,7 +102,7 @@ なお、FF は「一度も手に入れたことがない」を意味すると思われる。 「メダルこうかん」等で減って 0 枚になった状態とは区別される。
- + +]]> 少し試行錯誤すればわかるが、以下のような構成に基づいてデータが定義されているらしいことが判明している: diff --git a/src/jp/book/dq5_accessor.xml b/src/jp/book/dq5_accessor.xml index 5799713..b28f51d 100644 --- a/src/jp/book/dq5_accessor.xml +++ b/src/jp/book/dq5_accessor.xml @@ -54,13 +54,13 @@ BRK 命令を介した実行についての詳細とその実例は $218AFC の呼び出しに関する依存関係を簡単なアスキーアートで表現する。 矢印の向きは依存する側から依存される側に向かうものとする。 - + +]]> JSL 命令で実行されるはずの二つのサブルーチン $218A9D および $218AC8 については、 独自の調査の結果で未使用ルーチンであると結論したため、説明を省く。 @@ -73,13 +73,13 @@ JSL 命令で実行されるはずの二つのサブルーチン $218A9 次に反対側の呼び出し依存関係を示す。 - + +]]> 最初の三つのサブルーチンはこれ以上の呼び出しを含まない。 サブルーチン $21907C は作業用のメモリーをゼロで初期化するだけのミニルーチンだ。 diff --git a/src/jp/book/dq5_battle_commands.xml b/src/jp/book/dq5_battle_commands.xml index e335698..e3c0786 100644 --- a/src/jp/book/dq5_battle_commands.xml +++ b/src/jp/book/dq5_battle_commands.xml @@ -95,7 +95,7 @@ 種別が 0 の戦闘コマンドは、一般コマンドの意味で防御系のコマンドをとることが必要のようだ: - + +]]>
@@ -184,7 +184,7 @@ BRK 命令を実行することで、戦闘コマンドの名前にアクセス さらに、特殊な MP 消費をするコマンドのために、一部はプログラムで消費量を上書きする: - + +]]> このコードの解析によると、マジックナンバーがかなり多いことがわかる。 全ビットがオン、つまり MP が 31 ならばそれは呪文コマンドではないという取り扱いになるようだ。 @@ -301,7 +301,7 @@ BRK 命令を実行することで、戦闘コマンドの名前にアクセス - + +]]> なお、戦闘コマンド ID を収める変数には、 そこに「こうげき」を示す値 #$73 が入るまでは新しく装備する武器のアイテム ID が収められていた。 diff --git a/src/jp/book/dq5_brk.xml b/src/jp/book/dq5_brk.xml index b16bfc9..dce7efa 100644 --- a/src/jp/book/dq5_brk.xml +++ b/src/jp/book/dq5_brk.xml @@ -149,12 +149,12 @@ BRK 命令の正規のオペランドと、実際にオペランドを構成す 実際の例を借りて説明したい。 - + +]]> このように両 BRK 命令をサンドイッチのように用いる必要がある。 @@ -163,7 +163,7 @@ RTL もっともサンドイッチの外に飛び出すような激しい分岐命令やジャンプ命令はないようにする。 そして上記コードは次の非実在コードと論理的に同値である(実際の実装のほうがやや丁寧に処理しているが)。 - + +]]>
@@ -211,7 +211,7 @@ BRK 命令によるフラグ制御の実例を以下にいくつか挙げる。 フラグのテストは zero レジスターの状態で判定するので、たいてい BEQ または BNE 命令を伴う。 このコードから $7E21B3 のビット #$08 が主人公の妻を表すフラグであることが判明する。 - + +]]> フラグを立てる処理を引用する。 物理的にはアドレス $7E21D2 にある 1 バイト値のビット #$10 を 1 にする。 - + +]]> 最後にフラグを立っていない状態にする処理も挙げておく。 これはビットマスク arg1 をそのまま AND することで実現することに注意を要する。 後続のシリーズのような対象となるビットの EOR ではない。 - + +]]> 上のコードはテルパドールでてんくうのかぶとを息子にかぶせるイベントの例外的な処理だ。 この場合は諸般の事情で先に当該フラグを立ててしまったので、このようなキャンセルを実装している。 @@ -353,28 +353,28 @@ BRK 命令によるフラグ制御の実例を以下にいくつか挙げる。 BRK #$0F でサウンド #$23 すなわち呪いの効果音を演奏させる。 BRK #$98 については で述べる。 - + +]]> BRK #$12 はてんくうのベル専用の命令のようだ。連続実行することで雰囲気を出す。 - + +]]> これはゲーム序盤のパパス同伴戦闘終了時のやりとりだ。 BRK #$16 でサウンド #$36 すなわち HP 回復の効果音を演奏させる。 - + +]]>
@@ -448,7 +448,7 @@ BRK 命令実行時のオペランド、「余分なオペランド」、レジ 簡単に言うと、反復処理で BRK #$89 を実行することにより、戦闘中の仲間キャラクターの MP をゼロにするコードだ。 なお BRK #$A5 はメッセージ表示処理であり、これについては で述べる。 - + +]]>
@@ -513,7 +513,7 @@ BRK 命令のオペランドが #$94 であれば、 アイテムが店屋で売れるかどうかを示すビットの値を carry ビットに得る。 なお BRK #$9B については で述べる。 - +#$94 であれば、 11/8470: 225BDF06 JSR $06DF5B ; アイテムの売値を計算 11/8474: 009B BRK #$9B ; message #$045F: [1006]もし 店屋に 売れば[1000][1004]ゴールドに なるだろう。 11/8476: 5F - +]]>
@@ -556,12 +556,12 @@ BRK 命令のオペランドが #$97 から #$9DBRK #$97 の呼び出しを次に示す。 参考までにメッセージテキストを逆アセンブリーコードの右側にコメントしておく。 - + +]]> 移動中メッセージ処理については を参照。 @@ -579,14 +579,14 @@ BRK 命令のオペランドが #$9E から #$A7 実例として、ある BRK #$9E の呼び出しを次に示す。 - + +]]> 戦闘中メッセージ処理については を参照。 @@ -599,14 +599,14 @@ BRK 命令のオペランドが #$9E から #$A7$2485D4 を用いる。 実例として、ある BRK #$A1 の呼び出しを次に示す。 - + +]]>
@@ -615,7 +615,7 @@ BRK 命令のオペランドが #$9E から #$A7$2485D8 を用いる。 実例として、ある BRK #$A4 の呼び出しを次に示す。 - +#$9E から #$A7 +]]>
@@ -632,7 +632,7 @@ BRK 命令のオペランドが #$9E から #$A7$2485DC を用いる。 実例として、ある BRK #$A7BRK #$A8 の呼び出しを次に示す。 - +#$9E から #$A7 +]]>
diff --git a/src/jp/book/dq5_character_traits.xml b/src/jp/book/dq5_character_traits.xml index 9543482..ce2ee62 100644 --- a/src/jp/book/dq5_character_traits.xml +++ b/src/jp/book/dq5_character_traits.xml @@ -172,14 +172,14 @@ 例として主人公のレベル区間データを説明する。この配列の値は物理的には次のように定義されている。 -{5, 10, 15, 20, 30, 45, 60} + 論理的には次の区間列が定義されているものと考える: -// index + +]]> 例えば主人公のレベルが 25 に上がるときには、 20 <= 25 < 30 であるので、係数配列のインデックスを 4 とする。 @@ -207,11 +207,11 @@ ROM データでは ab の要素が交互に詰められているが、 ここではわかりやすさのために分けた: -// index + +]]>
@@ -246,7 +246,7 @@ b = {2, 18, 10, 6, 4, 3, 0, 0}; 例として、主人公のデータにおける標準値配列を次に挙げる: -{11, 23, 38, 49, 65, 105, 149, 185, 255} + 各要素は先に例示した主人公のレベル区間データの値と対応しており、主人公がレベル 1, 5, 10, 15, 20, 30, 45, 60, 99 @@ -270,7 +270,7 @@ b = {2, 18, 10, 6, 4, 3, 0, 0}; この仮新属性値が標準値の 1.5 倍以上であると、今までの計算値を破棄して、 増分値をランダムで高々 1 に抑える役割も果たす(下記コード片)。 - + +]]> ほしふるうでわを装備しているキャラクターや、仲間ゴーレムなど、 先述の仮定が成り立たない条件下でのすばやさの成長が、このロジックが適用される例であることが知られている。 @@ -375,7 +375,7 @@ b = {2, 18, 10, 6, 4, 3, 0, 0}; E[2] はメンバーデータ「レベル 2 の必要経験値」の値を代入する。 一般ステップのみを説明すれば十分だろう。 -// + +]]> 例えば、主人公のレベル 3, 4, 5 に必要な経験値はそれぞれ 58, 139, 269 だ。 研究熱心な読者には、このアルゴリズムが本当にこれらの値を出力することを確認してもらいたい。 @@ -472,7 +472,7 @@ if(E[n] > 10000000){ E[2] はメンバーデータ「レベル 2 の必要経験値」の値を代入する。 一般ステップのみを説明すれば十分だろう。 - + +]]>
@@ -666,7 +666,7 @@ if(F[n] >= 32){ まずキャラクターがモンスターであるかどうかを調べ、それから性別配列 $23C236 を参照する。 短い配列なので、ここで全データを引用する: - + +]]> 人間とモンスターとで異なる属性といえば、移動中の「つよさ」ウィンドウで「せいべつ」欄の真上に表示される部分だ。 @@ -690,7 +690,7 @@ if(F[n] >= 32){ 一応断っておくと、モンスター ID とはモンスターデータテーブル $238000 の行番号を意味する。 仲間モンスター ID からモンスター ID への対応は配列 $23D72D で定義されている: - + +]]>
@@ -714,7 +714,7 @@ if(F[n] >= 32){ 主人公、息子、娘の名前を示す文字列はアドレス $7E2001, $7E2009, $7E2011 に格納される。 ただし、その既定値はアドレス $23D6ED にある、ある種の初期化データの一部で与えられている。 - + +]]> 文字列配列 $23C5CE および $23C242 については、 diff --git a/src/jp/book/dq5_items.xml b/src/jp/book/dq5_items.xml index 71428ba..4be83cc 100644 --- a/src/jp/book/dq5_items.xml +++ b/src/jp/book/dq5_items.xml @@ -115,9 +115,9 @@ P * Q, (where 0 <= P and P < 256; 0 <= Q and Q < 65536) ただし、実際のデータとしては、10 のべき乗の数値を格納する配列 $21A47B の添字として実現している。 C 言語風に表せば、次の配列のような定数配列が存在して、その添字そのものだということだ。 - + +]]> @@ -395,9 +395,9 @@ Q[4] = {1, 10, 100, 1000}; 一例を挙げる。例えば「ほのおのリング」の当属性値は #$1F だ。 これが指す配列要素は - + +]]> となっている。それぞれのメッセージ ID に対応するテキストは にある戦闘メッセージ CSV ファイルで確認できるようにしてある。 diff --git a/src/jp/book/dq5_shops.xml b/src/jp/book/dq5_shops.xml index d104e3d..3682dfd 100644 --- a/src/jp/book/dq5_shops.xml +++ b/src/jp/book/dq5_shops.xml @@ -24,19 +24,19 @@ ジャンプテーブル $06DBDB だ。 まずは呼び出し側サブルーチンのコードを次に示す: - + +]]> この時点までに店屋の種類に対応する値がジャンプテーブルのインデックスとして設定されている。 このジャンプテーブルが示すサブルーチンを解読することで、それぞれが店屋のどの種類の処理なのかが判明する。 次に示すのは、そのようにして得られたジャンプテーブルの詳細だ: - + +]]> 以下、店屋の種類ごとにそれぞれの処理の急所を記していく。 読者自身でコードを解読するのであれば、次に挙げる記述やデータを利用して欲しい: @@ -71,13 +71,13 @@ 製品版プログラムはこのコードをカバーしない。便宜上存在するだけのダミーコードだ。 短いので全文引用した上で、適宜コメントを付す: - + +]]>
@@ -160,12 +160,12 @@ 最初に店の種別とデータアドレスとの対応表がアドレス $04FBD5 にあり、それを最初に参照する。 この対応表については短いのでコードを引用する: - + +]]> それから店のある地域というか、ルーラの呪文でも使われる ID をキーとした探索操作によって、対応データの格納位置を ROM から特定する。 対応データの構造が次のような不定長データの配列であることを踏まえて、その店固有の商品群を参照する: @@ -194,11 +194,11 @@ 店屋種類を表す変数 $0F20 にゼロをセットし、共有部分の最初の命令にジャンプする。 ちなみにこの値がゼロであるということは、解読時に台詞の流れを追いやすいことを意味する。 - + +]]>
@@ -441,7 +441,7 @@ 当プログラムバンク内にある(店屋処理以外の)いろいろなサブルーチンが - 「はい・いいえ」ウィンドウの処理をラップした補助サブルーチン $EBBC + 「はい・いいえ」ウィンドウの処理をラップした補助サブルーチン $EBBC を利用するのだが、モンスターじいさんの処理中においてもこれを利用する。 @@ -549,14 +549,14 @@ 褒美品のメダル換算率は配列 $04FD55 で定義されている。 インデックスは褒美メニュー項目に対するそれと一致する。 - + +]]> @@ -689,14 +689,14 @@ それを果たすためにサブルーチン $F05B を実行する。 この補助サブルーチンの中身を解読すると、カジノ景品交換率が次で定義されていることがわかる: - + +]]> diff --git a/src/jp/book/dq5_string.xml b/src/jp/book/dq5_string.xml index f85a21e..f85ea58 100644 --- a/src/jp/book/dq5_string.xml +++ b/src/jp/book/dq5_string.xml @@ -8,7 +8,7 @@
文字列 文字列DQ5 - + 本節では文字列処理について述べる。 まず、いくつかの基本的な概念を簡単に説明する。 次に、プログラムがどのように文字列データにアクセスするかを、具体的なコードと併せて示す。 @@ -61,7 +61,7 @@ - 半濁点・濁点処理 + 半濁点・濁点処理 データとしては「エ゛ヒル゜フラント」のように @@ -122,7 +122,7 @@ BRK のオペランドとしては #$80 ... #$93$46 に取得する。 二番目の BRK 呼び出しで対応する文字列を(ここでは説明しないが $00, ... に)取得する。 異なる種類の ID をあらかじめ既定のアドレスに格納してから BRK するのが作法だ。 - +#$80 ... #$93 +]]>
diff --git a/src/jp/book/dq5_text.xml b/src/jp/book/dq5_text.xml index c785c9d..5ab325d 100644 --- a/src/jp/book/dq5_text.xml +++ b/src/jp/book/dq5_text.xml @@ -46,7 +46,7 @@ デバッガーによる試行錯誤の結果、以下の処理が戦闘中のメッセージ一つの復号を行っていることが判明した: - + 24/8687: JSR $A5D9 24/868A: JSR $04991D 24/868E: REP #$20 @@ -141,7 +141,7 @@ ID からすぐにアドレスとビット位置を取得できるようにす 以上の処理をサブルーチン $248C39 が実装している。 - + 24/8C39: PHP 24/8C3A: PHB 24/8C3B: REP #$30 @@ -241,7 +241,7 @@ ID からすぐにアドレスとビット位置を取得できるようにす 呼び出し元が順次呼び出すことで、その次の符号の復号が可能だ。 そのようにして、一メッセージ分の復号が行われる。
- + 24/9E47: PHP 24/9E48: PHB 24/9E49: PHK @@ -423,7 +423,7 @@ ID からすぐにアドレスとビット位置を取得できるようにす この時点でその配列の中身を観察すると、文字、 すなわち小さいフォント ID が文章を作るように並んでいることが確認できる。 - + 24/8C21: PHP 24/8C22: PHB 24/8C23: SEP #$20 @@ -522,7 +522,7 @@ ID からすぐにアドレスとビット位置を取得できるようにす 似たような別のサブルーチンの説明をすることに意義はない。 故に、サブルーチン $248BAF を簡単に掲載するだけにとどめる。 - + 24/8BAF: PHP 24/8BB0: PHB 24/8BB1: REP #$30 @@ -589,7 +589,7 @@ ID からすぐにアドレスとビット位置を取得できるようにす 戦闘モードと同様、移動モード用テキストもハフマン符号化されたビット列としてデータ化されている。 復号手順はで述べたものと同じで、違いは各種定数しかない。 - + 24/9E02: PHP 24/9E03: PHB 24/9E04: PHK @@ -693,7 +693,7 @@ ID からすぐにアドレスとビット位置を取得できるようにす の移動モードバージョンだ。 ただし、配列は大きい文字を格納するため 16bit 値を扱う。 - + 24/8B98: PHP 24/8B99: REP #$30 24/8B9B: LDX #$0000 diff --git a/src/jp/book/dq6_spell_commands.xml b/src/jp/book/dq6_spell_commands.xml index f56ac6b..22b31fe 100644 --- a/src/jp/book/dq6_spell_commands.xml +++ b/src/jp/book/dq6_spell_commands.xml @@ -395,7 +395,7 @@ C3/B97B: 3A00E703E703 ; べホマズン 負数の場合はいわゆる二の補数で表現された値の絶対値を計算してから ID #$16C4 のメッセージを出力する。 - + C3/BE59: 49FFFF EOR #$FFFF C3/BE5C: 1A INC A C3/BE5D: 8D2E5A STA $5A2E diff --git a/src/jp/book/tools_cygwin.xml b/src/jp/book/tools_cygwin.xml index 1eafd62..c4ceb8b 100644 --- a/src/jp/book/tools_cygwin.xml +++ b/src/jp/book/tools_cygwin.xml @@ -223,7 +223,8 @@ F4240 そこで、以下のようにスクリプトを書いておき、dispel を直接利用するのではなく、 これを利用することにすると多少は楽だ。 -#!/bin/bash + +]]>
From be8c324a954212557fc28b5713ffc659c4a96d37 Mon Sep 17 00:00:00 2001 From: showa_yojyo <2386769+showa-yojyo@users.noreply.github.com> Date: Mon, 23 Sep 2024 23:45:36 +0900 Subject: [PATCH 16/19] clean-html: do not delete the entire directory [skip ci] --- src/tools/Makefile.base-rules | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/tools/Makefile.base-rules b/src/tools/Makefile.base-rules index 0625aa8..ffc8417 100644 --- a/src/tools/Makefile.base-rules +++ b/src/tools/Makefile.base-rules @@ -135,7 +135,8 @@ clean: clean-html clean-arch clean-fo clean-pdf clean-ps clean-html: rm -f $(HTML_TARGET) - rm -rf $(HTML_CHUNK_DIR) + rm -f $(HTML_CHUNK_DIR)/*.html $(HTML_CHUNK_DIR)/*.css + rm -rf $(HTML_CHUNK_DIR)/{data,image} clean-arch: rm -f $(HTML_ARCH_TARGET) $(HTML_CHUNK_ARCH_TARGET) From d471128b6b24cf4b8a78c25368d10b9529cdb29c Mon Sep 17 00:00:00 2001 From: showa_yojyo <2386769+showa-yojyo@users.noreply.github.com> Date: Wed, 25 Sep 2024 23:47:01 +0900 Subject: [PATCH 17/19] version.sh: specify TZ (close #91) --- src/tools/version.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tools/version.sh b/src/tools/version.sh index 2ec150f..9fc406b 100644 --- a/src/tools/version.sh +++ b/src/tools/version.sh @@ -1,7 +1,7 @@ #!/bin/bash -LANG= -TODAY_DATE=$(date +%Y-%m-%d\ \(%a\)) +export TZ=Asia/Tokyo +TODAY_DATE=$(date -Iseconds) TODAY_YEAR=$(date +%Y) BOOK_VERSION=${1-"1.18.5"} From 779ef2042986ba30bbf4bb41765a1933275ecca0 Mon Sep 17 00:00:00 2001 From: showa_yojyo <2386769+showa-yojyo@users.noreply.github.com> Date: Thu, 26 Sep 2024 21:34:26 +0900 Subject: [PATCH 18/19] preface.contact: close #92 --- src/jp/book/preface.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/jp/book/preface.xml b/src/jp/book/preface.xml index fc8711a..6ebc41d 100644 --- a/src/jp/book/preface.xml +++ b/src/jp/book/preface.xml @@ -199,8 +199,9 @@ 記者への連絡先を以下に示す。
+ GitHub Issues Twitter - プレハブ小屋 (showa_yojyo) - yojyo@hotmail.com + 著者へメールを送る From fbf4e1b240fdcd16754021fde2d32b74e69e846d Mon Sep 17 00:00:00 2001 From: showa_yojyo <2386769+showa-yojyo@users.noreply.github.com> Date: Thu, 26 Sep 2024 21:41:21 +0900 Subject: [PATCH 19/19] dq5.charcter.traits: correct some CDATA text (#90) --- src/jp/book/dq5_character_traits.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/jp/book/dq5_character_traits.xml b/src/jp/book/dq5_character_traits.xml index ce2ee62..c285590 100644 --- a/src/jp/book/dq5_character_traits.xml +++ b/src/jp/book/dq5_character_traits.xml @@ -282,7 +282,7 @@ b = {2, 18, 10, 6, 4, 3, 0, 0}; 23/EC85: A546 LDA $46 23/EC87: F012 BEQ $EC9B if(現在の属性値){ 23/EC89: D99509 CMP $0995,Y -23/EC8C: 900D BCC $EC9B if(現在の属性値 >= 上限値){ +23/EC8C: 900D BCC $EC9B if(現在の属性値 >= 上限値){ 23/EC8E: E220 SEP #$20 23/EC90: A900 LDA #$00 23/EC92: 6E9509 ROR $0995 @@ -383,7 +383,7 @@ b = {2, 18, 10, 6, 4, 3, 0, 0}; D[n] = E[n - 1] - E[n - 2]; F = F[n - 1] + 32 - F[n - 2]; -if(F >= 32){ +if(F >= 32){ F -= 32; } else if(D[n] != 0){ @@ -402,12 +402,12 @@ D = p1 + (sum >> 5); E[n] = E[n - 1] + D; F[n] = F[n - 1] + (sum & 31); -if(F[n] >= 32){ +if(F[n] >= 32){ ++E[n]; F[n] -= 32; } -if(E[n] > 10000000){ +if(E[n] > 10000000){ E[n] = 10000000; F[n] = 0; } @@ -475,7 +475,7 @@ if(E[n] > 10000000){ = 32){ F -= 32; } @@ -488,7 +488,7 @@ D = p1 + (sum >> 5); E[n] = E[n - 1] + D; F[n] = F[n - 1] + (s & 31); -if(F[n] >= 32){ +if(F[n] >= 32){ ++E[n]; F[n] -= 32; }
てんしょくメニュー 職業表
1.53 GHz (!?)
メモリメモリー 768 MB くらい。うち 512 MB は増設による。