Giter VIP home page Giter VIP logo

dqbook's Introduction

プレハブ小屋 GitHub README

The following is written in Japanese. If you speak another language, you can translate and read by using DeepL, etc.

アカウント所有者履歴

述べられない事が多過ぎる。ホームレスのときがいちばん気が楽だった。現在、職業プロ グラマーではない。

アカウント所有者技術一覧

まあ問題ないだろうというもの:

問題ないだろうというもの

修練がまだ必要なもの:

修練がまだ必要なもの

まだ何か書きたい。

アカウント所有者が最近学習している事項

リポジトリー showa-yojyo/notebook の ログを調べて欲しい。

アカウント所有者にとっての最重要リポジトリー

現在のところ、次の四つを挙げておきたい:

アカウント所有者関連サイト

dqbook's People

Contributors

showa-yojyo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dqbook's Issues

(DQ3) bank $C2

戦闘システム。いまある文章全部書き直すくらいの作業をしたい。

Revise dq6.rename

一部インラインのデータ紹介を CSV ファイルにするほうがいいか。

(DQ3) bank $CA: 物語本編

レーベ、ランシール、カザーブ、サマンオサ、エルフのかくれ里、ノルドの洞窟、ガルナの塔、シャンパーニの塔、神竜、ピラミッド、すごろく3、すごろく4、すごろく5、かくしダンジョン、ちていこのどうくつ、ピラミッド、どうぐ、サマンオサ王。

(DQ6) 移動時のどうぐつかうコマンドハンドラー解説

サブルーチン $C3C86D から辿れる処理を広く浅く解説する。

配列 $C3C8C0 の各要素がアイテム、最初のメッセージ、処理開始アドレスの組になっている。これを以前行った呪文コマンドハンドラー (Issue #14) と同様に解読することができる。

C3/C8C0:    D100D5165DCA ; 00: やくそう
C3/C8C6:    D200D516FDCA ; 01: どくけしそう
...
C3/C9FE:    E100D51661D3 ; 35: うつくしそう

(dq6) bank $CB

  • 各地関所
  • 試練の塔
  • トルッカ
  • ロンガデセオ
  • ペスカニ
  • クリアベール
  • ムドーの城イベント
  • ペスカニ洞窟
  • アモール
  • マウントスノー
  • ゲント族の村
  • ビルテイベント
  • ファルシオン捕獲イベント
  • レイドック城
  • 船着き場
  • グラコスイベント
  • 海底各地

(dq6) bank $CA

  • ろうごくのまち
  • ムドーの島
  • ライフコッド
  • ムドー城手前
  • ライフコッド
  • 海底各地
  • ハッサン仲間イベント
  • ホルコッタ
  • シエーナ
  • ハッサンの家
  • サンマリーノ船着き場?
  • シエーナ
  • アモス仲間イベント
  • カルベローナ
  • カルカド
  • ゲント族の村
  • バーバラ仲間イベント
  • エリザ誘拐イベント

Revise dq6.class

これは現行の内容がそれほど悪くないので、構造体のレイアウトを詰めて終わる。

(dq6) bank $CE

  • アモール
  • ガンディーノ
  • クラウド城
  • グレイス城
  • 欲望の町
  • ろうごくのまち
  • ヘルクラウド城
  • 天馬の塔
  • 再びろうごくのまち

(DQ3) bank $C8: データ群

人オブジェクト、アイテム拾得イベント、ゴールド拾得イベント、備品しらべるイベント、ひとくいばこ・ミミックイベント、しらべるそれ以外イベント、扉開閉設定、座標情報、いんちきルーラ、地域情報、固定モンスター、ランダムモンスター、デバッグメニュー、すごろくイベント、すごろくマップ、フラグショップ等々。

未解明のデータが多過ぎる。

Revise dq6.item

  • 構造体のレイアウトを再利用しやすいものに修正
  • 関連サブルーチンの一覧を追加

(DQ3) bank $C5: すごろく等

前半部のデータ塊は意味不明。中盤はすごろく。後半部も意味不明データ。
特にすごろくについてはこのタイトルの目玉でもあるので、その振る舞いを読み解きたい。

(dq6) Rewrite dq6.debug

デバッグウィンドウを発見してしまったので、これを含めた内容に改訂する。
この節を次のような構成に改める:

  1. 定数 $C1FFFE の解説
  2. デバッグウィンドウの解説
  3. デバッグルームの解説

このうち 1. と 2. を新たに書き下ろす。だいたい dq3.debug 相当の内容になるはずだ。一方 3. については現行の内容を更新するだけに留める。

(DQ3) bank $C6

シーン切り替え? 後半は「しらべる」の処理? 「はなす」もある? タイルせんとう、せんたくせんとう。

(dq6) 移動中の呪文コマンドハンドラーを解説

次のテーブルからたどっていけば、ゲーム中に現れる移動中の呪文コマンドの振る舞いが読める。

C3/B814:	3000A4B9    ; ホイミ
C3/B818:	330049BA    ; べホイミ
...
C3/B878:	AE00A3C7    ; わすれる

下見の段階で興味深いテーマがいくつか出てきた:

  • 呪文が失敗したときの消費 MP のキャンセルタイミング。
  • ルーラの処理とキメラのつばさの処理コードはほとんどの部分がコピー&ペーストになっている。
  • おおごえを出すとトヘロスが無効になる?
  • タカのめ処理が変則的な二分探索のような計算になっている?
  • とうぞくのはなはどのフィールド上でも無意味のはずだが、はざまの世界後半では有効になっている。
  • あなほりの各事象の発生確率が意外な値。
  • インパス、フローミ、レミラーマに共通する「部屋にあるものを探索する」処理が読みづらい。ここはある程度諦めるかもしれない。
  • インパスの処理が相当複雑。

(戦闘)コマンド

コマンドの構造と振る舞いの解析および文書化を実施する。

今作では前作の戦闘コマンド構造体相当のものに移動コマンドのハンドラー情報が含まれているので、セクションのタイトルもより抽象的になるかもしれない。しかし、戦闘モードを中心に作業する。

(dq6) bank $C5

  • スプライトデータ?
  • ウィンドウデータ
  • ならびかえ
  • 移動時どうぐサブコマンド?
  • ぼうけんのしょ処理
  • 移動時いれかえ処理
  • 移動時そうび
  • 戦闘時じゅもん
  • どうぐせいり

(DQ3) bank $C3

ウィンドウ、コマンド、セーブ、王様、シスターセーブ、店屋、宿屋、教会、ルイーダ、登録所、銀行、ダーマ、命名神、マッチメイク、予想、メダル。

ウィンドウ関連は独特なので押さえておきたい。前作と異なる点も見受けられる。

(DQ3) bank $C1

テキスト出力、デバッグコマンド、サウンド? etc.

一度読んだところほど注意。

(DocBook) 全 table 要素の CALS モデル化

現在は HTML 風の要素セットを採用しているが、これだと caption 内にインライン系のタグを入れ子にできず、見栄えが悪い。

実施するとしたら、単純なテキスト処理になるはずだ。

それに加えて CSS の修正。調べたところ、class="table" というふざけた属性が table 要素に付加されるようだ。

(DQ5) 店屋の解析をやり直す

今の内容はいくらなんでも雑過ぎる。
例えばバンク $04 にある店屋の品揃えデータは店種類ごとに整理されているのに、それに言及がない。

ドラクエ 5 の場合は店屋の種類が多いので場合分けが細かい。記述が面倒だ。さらにコードを解析するのも面倒だ。

(DQ5) 仲間キャラクター定数データ解析を改訂する

$7E2040 構造体の先頭バイトの値を添字とみなせる ROM に定義された定数配列を一括して取り扱う。

ドラクエ 5 の場合は仲間も敵もキャラクターオブジェクトの定数属性が ROM 内に物理的にバラバラに配置されているのだが、論理的にはこれらを仲間・敵ごとに統合したものこそ、概念上は真のキャラクター型を与えていることを言いたい。

(dq6) bank $CC

  • ライフコッド
  • ろうごくのまち
  • アークボルト
  • モンストル
  • ホルス宴
  • レイドック収監イベント
  • ザクソン
  • レイドック
  • マーズのやかた
  • 人魚
  • メダル王の城
  • マウントスノーふもと
  • ハッサン大工イベント
  • ミラルゴイベント
  • 夢見のしずくイベント
  • アモール洞窟
  • ダーマ
  • 運命のカベ
  • レイドック城
  • フォーン城
  • ホルストック城
  • ゆーとぴあ

(DQ3) bank $C7

サウンド、コントローラーのイベントハンドラー、もろもろ。

ここにはコントローラーのボタンを押すと呼び出される処理が定義されている。例えば、過去の文書で述べたように、デバッグウィンドウの表示方法を発見できる。

(DQ3) bank $C4

ビット単位でのメモリ操作関数群、パーティーメンバーやモンスターに関するメソッド群。

(DQ3) bank $CB: 物語本編

ポルトガ、バーク、ノアニール、アッサラーム、バハラタ、メルキド、イシス、テドン、ムオル、ジパング、かいぞくのすみか、スー、へんげろうじんのいえ、マイラ、アリアハン、ロマリア、エジンベア、イシス城、バラモス城、竜の女王の城、ダーマ、ラダトーム、たびびとのやどや?、ガライのいえ、ふなつきば、せいれいのほこら、せいなるほこら、せいれいのいずみ、オリビアのみさき、いざないのどうくつ、ルビスのとう。

(dq6) bank $CF

  • ベストドレッサーコンテスト
  • なげきのろうごく
  • ジュディ
  • レイドック宿屋旅の商人
  • サンマリーノ
  • しらべる処理
  • 再びサンマリーノ

(dq6) bank $C9

  • デバッグルーム
  • ヘルハーブ温泉
  • 汎用サブルーチン
  • サンマリーノイベント
  • フラグルーム
  • ひょうたん島
  • ライフコッド山道
  • マーズのやかた
  • よくぼうのまち鉱山
  • レイドック王回想
  • ジャンポルテ館
  • 小さなほこら各種
  • うらないの館
  • ろうごくのまち
  • ライフコッド
  • サンマリーノイベント
  • つきかがみの塔
  • ラーのかがみイベント
  • すなのうつわイベント
  • 兵士の服
  • アークボルトイベント
  • エンディング
  • ホルストック
  • デスコッド
  • ダークドレアムイベント
  • ラスボスイベント
  • 誘拐イベント
  • アモスイベント
  • グレイス城廃墟

戦闘員

$7E2030 構造体の解析結果を文書化する。

Revise dq6.encounter

  • ランダム戦闘に加えてイベント戦闘も説明する
  • ランダム戦闘の発生する仕組みの記述を改訂する

(dq6) bank $CD

  • 洗礼のほこら
  • 何か色々
  • 再び洗礼のほこら
  • たびの洞窟
  • サリイ
  • ユリナ
  • ひょうたん島
  • 船着き場
  • グランマーズイベント
  • ニセムドーイベント
  • せいれいのよろいイベント
  • 何か色々
  • ポーカーディーラー
  • スライム格闘場
  • ぜつぼうのまち
  • こおりの洞窟
  • レイドック城夜
  • イベントルーム

(DQ3) bank $CD: 色々

性格分析イベント、神竜イベント、あいのおもいでイベント、ふしちょうのさいだん、ひとさらいのアジト、ゾーマの城、
ラダトーム城、ちきゅうのへそ、ぬまちのどうくつ、ナジミの塔、ゆうれいせん、ギアガのおおあな、すごろく1、鏡しらべる、エンディング汎用セリフ、透明人間、魔物スライム、全滅復帰、フラグショップ。

Revise dq6.level

これは現行の内容がそれほど悪くないので、構造体レイアウトの表記上の手直しだけで済ませる。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.