ユーザ用ツール

サイト用ツール


技術資料

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

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