技術資料
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
技術資料 [2024/02/21 00:31] – [部屋データ] araki | 技術資料 [2025/04/25 04:11] (現在) – [初期データ] araki | ||
---|---|---|---|
行 197: | 行 197: | ||
先頭には、トーンパターンが何色分定義されているのかが1byteで表されている。 | 先頭には、トーンパターンが何色分定義されているのかが1byteで表されている。 | ||
- | トーンパターンは、1-7の色を指定されたパターンで置き換えるためのもので、カラーパレット機能のようなものである。 | + | トーンパターンは、1-6の色を指定されたパターンで置き換えるためのもので、カラーパレット機能のようなものである。 |
- | その後ろに3バイト(RGB)のトーンデータが指定された数だけ続き、その後ろがようやく最初の描画データになる。 | + | その後ろに3バイト(BRG)のトーンデータが指定された数だけ続き、その後ろがようやく最初の描画データになる。 |
描画を始める前に、描画域全体を青(色コード1)で塗りつぶす。 | 描画を始める前に、描画域全体を青(色コード1)で塗りつぶす。 | ||
行 212: | 行 212: | ||
トーンデータは最初に書いたように、パターン数+パターン数*3バイトのパターンデータとして登録されている。 | トーンデータは最初に書いたように、パターン数+パターン数*3バイトのパターンデータとして登録されている。 | ||
- | 最大で6 (カラーコード1-7に対応)のパターンがあり、対応するカラーコードを置き換えていく。 | + | 最大で6 (カラーコード1-6に対応)のパターンがあり、対応するカラーコードを置き換えていく。 |
PC-9801では、パターンデータのままに、縞模様を使った中間色画像として描画されたが、PalmOS以降ではそれらしい色に置き換えるように変更してある。 | PC-9801では、パターンデータのままに、縞模様を使った中間色画像として描画されたが、PalmOS以降ではそれらしい色に置き換えるように変更してある。 | ||
行 218: | 行 218: | ||
PalmOSとAndroidには縞模様の中間色画像を表示する機能も付けてあるが、あえて表示する価値はないと思われる。 | PalmOSとAndroidには縞模様の中間色画像を表示する機能も付けてあるが、あえて表示する価値はないと思われる。 | ||
^ トーンデータ ^^^^^ 線画データ ^^^^^^^^^^^^^^ | ^ トーンデータ ^^^^^ 線画データ ^^^^^^^^^^^^^^ | ||
- | |n|t1-0|t1-1|t1-2|...|x0|y0|x1|y1|...|xn|0xff|x0|y0|x1|y1|...|0xff|0xff| | + | |n|t1(B)|t1(R)|t1(G)|...|x0|y0|x1|y1|...|xn|0xff|x0|y0|x1|y1|...|0xff|0xff| |
^ ペイントデータ ^^^^^^^^^ 白線データ ^^^^^^^^^^^^ | ^ ペイントデータ ^^^^^^^^^ 白線データ ^^^^^^^^^^^^ | ||
行 225: | 行 225: | ||
^ 黒線データ ^^^^^^^^^^^^^^ | ^ 黒線データ ^^^^^^^^^^^^^^ | ||
|x0|y0|x1|y1|...|xn|0xff|x0|y0|x1|y1|...|0xff|0xff| | |x0|y0|x1|y1|...|xn|0xff|x0|y0|x1|y1|...|0xff|0xff| | ||
+ | |||
+ | == トーンデータ == | ||
+ | |||
+ | トーンデータは、3バイトを一組として、BRGの横8dot分のトーンパターンを定義している。 | ||
+ | カラーコード1-6で描かれている部分をこのトーンパターンで置き換え、中間色表現による色表現を行う。 | ||
+ | |||
+ | 要は、当該カラーコードのある点に対して、< | ||
+ | |||
+ | なお、今どきの端末の多くはRGB565であったり ARGB8888であったりと、より多色を使った表示がかのうなので、あえて中間色を使う必要性は高くない。 | ||
+ | |||
+ | 中間色は、要は、交互に色を並べることで、その中間の色に見せる(白+赤ならピンクに見えるように)というものなので、パターンのうち1が立っているビットの密度を数えて、それをB/ | ||
+ | |||
=== メッセージデータ === | === メッセージデータ === | ||
行 268: | 行 280: | ||
===== 語句辞書仕様 ===== | ===== 語句辞書仕様 ===== | ||
+ | 辞書ファイルは、0x200バイトの動詞領域および0x200バイトの目的語領域からなる。 | ||
+ | 語句は逆HAL符号((命名はわたし。))で符号化され、5bytesを一組としている。 | ||
+ | |||
+ | ^0^1^2^3^4^ | ||
+ | |符号化語||||意味| | ||
+ | |||
+ | 符号化語部分は最大4byteだが 0が現れたらその後ろは無視される。 | ||
+ | 先頭が0か0x200バイトを超えたらそれ以上はワードは存在しない。 | ||
+ | |||
+ | 符号化されたワードをデコードすると英単語が得られる。 | ||
+ | 単語の意味するところは意味バイトが示している。 | ||
+ | つまり、例えば look と see とに同じ意味バイトを割り当てることで、どちらの動詞が与えられても「見る」という意味として解釈できる仕組みになっている。 | ||
+ | |||
+ | 目的語に関しても同様の構造になっている。 | ||
+ | |||
+ | ===== 初期データ ===== | ||
+ | |||
+ | 初期データは、以下の3つのパートからなる。 | ||
+ | |||
+ | * マップ間のリンク情報(8bytes x 87) | ||
+ | * アイテムの所在情報(12bytes) | ||
+ | * フラグ(15bytes) | ||
+ | |||
+ | スタート時に初期状態が読み込まれ、セーブ/ | ||
+ | つまり、ゲームのステータスのすべてはこの情報だけで完結している。 | ||
+ | ===== 音データ ===== | ||
+ | ===== メッセージファイル ===== | ||
技術資料.1708475476.txt.gz · 最終更新: 2024/02/21 00:31 by araki