ユーザ用ツール

サイト用ツール


技術資料

差分

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

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
技術資料 [2024/02/20 20:14] – [部屋データ] araki技術資料 [2024/02/21 10:50] (現在) – [部屋データ] araki
行 199: 行 199:
 トーンパターンは、1-7の色を指定されたパターンで置き換えるためのもので、カラーパレット機能のようなものである。 トーンパターンは、1-7の色を指定されたパターンで置き換えるためのもので、カラーパレット機能のようなものである。
  
-その後ろに3バイト(RGB)のトーンデータが指定された数だけ続き、その後ろがようやく最初の描画データになる。+その後ろに3バイト(BRG)のトーンデータが指定された数だけ続き、その後ろがようやく最初の描画データになる。
  
 描画を始める前に、描画域全体を青(色コード1)で塗りつぶす。 描画を始める前に、描画域全体を青(色コード1)で塗りつぶす。
行 217: 行 217:
  
 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|
  
-^ペイントデータ^^^^^^^^^白線データ^^^^^^^^^^^^+^ ペイントデータ ^^^^^^^^^ 白線データ ^^^^^^^^^^^^
 |x|y|c|x|y|c|...|0xff|0xff|x0|y0|...|xn|0xff|x0|y0|x1|y1|...|0xff|0xff| |x|y|c|x|y|c|...|0xff|0xff|x0|y0|...|xn|0xff|x0|y0|x1|y1|...|0xff|0xff|
  
-^黒線データ^^^^^^^^^^^^^^+^ 黒線データ ^^^^^^^^^^^^^^
 |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-7で描かれている部分をこのトーンパターンで置き換え、中間色表現による色表現を行う。
 +
 +要は、当該カラーコードのある点に対して、<code>((b >> (7 - (x % 8)) & 1) | (((r >> (7 - (x % 8)) & 1) << 1) | (((g >> (7 - (x % 8)) & 1) << 2)</code> の色を置いていく(8色モードの場合)ことになる。
 +
 +なお、今どきの端末の多くはRGB565であったり ARGB8888であったりと、より多色を使った表示がかのうなので、あえて中間色を使う必要性は高くない。
 +
 +中間色は、要は、交互に色を並べることで、その中間の色に見せる(白+赤ならピンクに見えるように)というものなので、パターンのうち1が立っているビットの密度を数えて、それをB/R/Gそれぞれの色の輝度(0~7)と見なし、疑似的にRGB333の色コードとして変換、これをさらにRGB565やARGB8888に変換して表示している。
 +
  
 === メッセージデータ === === メッセージデータ ===
行 239: 行 251:
 メッセージ番号0のメッセージは、そのマップが表示されたときに表示されるメッセージで、それ以外のメッセージは、その場所で特定の動作をしたときに表示されるメッセージである。 メッセージ番号0のメッセージは、そのマップが表示されたときに表示されるメッセージで、それ以外のメッセージは、その場所で特定の動作をしたときに表示されるメッセージである。
 その特定の動作は、コマンド・メッセージリンクで定義されている。 その特定の動作は、コマンド・メッセージリンクで定義されている。
 +
 +^メッセージ長^^メッセージ^メッセージ長^^メッセージ^ ^終端マーク^^
 +|上位|下位|文字列0(UTF-8)...|上位|下位|文字列1(UTF-8)...|...|0|0|
  
 === コマンド・メッセージリンク === === コマンド・メッセージリンク ===
行 244: 行 259:
 描画データのあと、オフセット0x400から0x100バイトのデータが、コマンド・メッセージリンクになる。 描画データのあと、オフセット0x400から0x100バイトのデータが、コマンド・メッセージリンクになる。
 3バイト一組のデータで、動詞+目的語+メッセージIDである。 3バイト一組のデータで、動詞+目的語+メッセージIDである。
 +後続のメッセージ部のメッセージ数分だけのエントリーが存在している。
  
 その場所で、動詞+目的語の動作をしたときに、ID番目のメッセージを表示する。 その場所で、動詞+目的語の動作をしたときに、ID番目のメッセージを表示する。
行 250: 行 266:
 こういう仕掛けを一所懸命しこんだであろう原作者たちの思いを表すものである。 こういう仕掛けを一所懸命しこんだであろう原作者たちの思いを表すものである。
  
 +^リンクデータ0^^^ ^終端マーク^ 
 +|動詞|目的語|メッセージ番号|...|0|
  
 ==== ものデータ ==== ==== ものデータ ====
技術資料.1708427666.txt.gz · 最終更新: 2024/02/20 20:14 by araki