WPaint3の大雑把な使い方
最終更新日 2001/09/20
描き方
WPaint3は通常のペイントツールと違い、画像のスクロールはマウス右ボタンを押したまま
カーソルを動かします。このとき、マウスのホイールを回すと、拡大・縮小します。
また、中央ボタンクリックで、カーソル位置の色を取得できます。このとき、
”オプション”→”パレットの自動選択”が、チェックされていれば一致するパレットを選択します。
ステータスの設定
| 識別子 |
名前です。ソースファイル出力するときの名前(の一部)になります。 |
| パレット |
パレット番号ですね。ひとつの画像にひとつ指定できます。 |
| 幅 |
フォント単位の幅です。 |
| 高さ |
フォント単位の高さです。 |
| 横分割 |
横に指定数分割します。幅/横分割が一コマのサイズになります。 |
| 縦分割 |
縦に指定数分割します。高さ/縦分割が一コマのサイズになります。 |
| 横余白 |
プログラムであたり判定の余裕に使えます。まったく違う用途に使ってもかまいません。なお、エディタ上では何も起こりません。 |
| 縦余白 |
同上 |
アニメーションのテスト

を押すと、アニメーションのテストができます。結構手抜きですけど。
まず、動作パターンを記述します。0102という風に順番にフレーム番号を書いていくのですが、
こ番号は、たとえば縦横3分割した場合以下のように割り当てられます。
とはいえ、今のところ番号は0〜9までなんです。まぁ、そのうち直します。
そして、”動かす”を押せば動きます。
あと、x1、x2、x4ボタンを押すと拡大されます。
拡大すると(もしかするとしなくても)はみ出て見えなくなるかもしれません。
リストへ追加・更新
リストに追加しないと、保存ができません。また、絵やステータスを変更しても
更新を押さないと変更した分が保存されません。
リストから削除するにはDelキーを押してください。
C言語ソースファイル出力について
使い方
まず、出力形式を設定します。出力→C言語ファイル出力設定
を押して、フォーマット欄に出力形式を記述します。
出力形式を設定済みであれば(.wccを開くときに同名の.frmファイルが
あれば自動的に設定されます)、出力→C言語ファイル出力を押すだけ
で、出力されます。
なお、出力されるファイル名はファイル名+wcc.hになります。
たとえばaaa.wccと保存されていればaaawcc.hになります。
そのため、ファイル名が長くなりすぎる場合がありますので、
気をつけてください。
出力形式について
出力されるファイルの構成は
・画像データ(圧縮にチェックが入っていれば圧縮される)
・パレット(パレットの出力がチェックされていれば)
・画像データのステータス(画像のサイズ・パレット番号等々。任意に設定可能。)
となります。
bmpファイル出力
メインメニューの”出力”→”編集中の画像を.bmpで出力”で編集中の画像を
bmp出力できます。
(※編集中の画像とはいっても、更新ボタンを押した直後しか出力できません。)
メインメニューの”出力”→”全ての画像を.bmpで出力”で全ての画像を
bmp出力できます。
色数は16色のみです。
識別子+”.bmp”というファイル名で.wccファイルと同じ場所に作成されます。
出力形式詳細
画像データ
画像データはbmp_識別子として、出力されます。
たとえば、リストにchar1の画像データがあれば
unsigned char bmp_char1[] = { 0x01,0x05,0x85・・・
・・・ };
といった感じで、全ての画像データが出力されます。
圧縮のチェックを入れてなければ、
そのままwwc_font_set_colordata関数に渡せます。
圧縮した場合は付属のサンプルを参考にしてください。
※圧縮とかいいながら、元よりサイズが大きくなる場合も
あります(全体的にはそれなりに減るので)。
パレットデータ
パレットデータは以下のように出力されます。
unsigned short ファイル名_palette[] = { 0x000,0x111,0x222・・・・
・・・};
パレットデータはwwc_palette_set_color関数にそのまま渡せますから、
int x,y,i;
for(y = 0,i = 0;y < 16;++y)
for(x = 0;x < 16;++x,++i)
wwc_palette_set_color(y,x,ファイル名_palette[i]);
とすればいいと思います。
ステータスデータ
画像データのステータスは、設定されたフォーマットに基づいて出力されます。
といっても、設定されたフォーマットの文字列の予約語部分(下の予約語表参照)が
各画像のデータ値に置き換わるだけです。
簡単な例をあげると、
例その1 - フォント単位のサイズデータ
int g_$ID$_Width = $Width;
int g_$ID$_Height = $Height;
↓
int g_house_Width = 4;
int g_house_Height = 4;
int g_tree_Width = 5;
int g_tree_Height = 6;
・
・
・
例その2 - ドット単位のサイズデータ
int g_$ID$_Width = $Width*8;
int g_$ID$_Height = $Height*8;
↓
int g_house_Width = 4*8;
int g_house_Height = 4*8;
int g_tree_Width = 5*8;
int g_tree_Height = 6*8;
・
・
・
例その3
struct wwt_char wcc_$ID = {
$PalNum,$Width,$Height,$FontData,$Count
};
↓
struct wwt_char wcc_house = { 0,0,4,4,bmp_house,2};
struct wwt_char wcc_tree = { 0,0,5,6,bmp_tree,2};
・
・
・
といった感じになります。おそらく、#defineも使えると思います。
各値に文字を追加したい場合は、手前であればそこにつなげて書きます
(例 abc_$ID → abc_house)。後ろのつけたい場合は$を書いてから
にしてください(例 $ID$_abc → house_abc)。
なお、フォーマットが設定されている場合、WPaint3形式(.wcc)で保存
するときに同名で拡張子が.frmのファイルにテキスト形式で保存されます。
また、WPaint3形式(.wcc)を開くときにこのファイルがあれば、自動的に
ロードされますので、あらかじめ自分でファイルを作っておくこともできます。
予約語表
| $ID |
識別子 |
| $PalNum |
パレット番号 |
| $Width |
1コマ分の横のFont数(幅/横分割) |
| $Height |
1コマ分の縦のFont数(高さ/縦分割) |
| $gWidth |
横のFont数(幅) |
| $gHeight |
縦のFont数(高さ) |
| $HBlank |
横の余白 |
| $VBlank |
縦の余白 |
| $Count |
数(縦分割*横分割) |
| $FontData |
画像データ。(char*) |
| $UnitName |
拡張子を除いたファイル名(例 sample.wcc→sample) |
もどる