G2D Demos

# G2Dサンプルデモ

## 場所

`$TwlSystem/build/demos/g2d/`

## コンパイル方法

`$TwlSystem/build/demos/g2d/` ディレクトリに移り、

> `% make`

と入力します。コンパイルが始まり、実行ファイルである `.srl` ファイルやバイナリ情報を記述した `.nef` または `.tef` ファイルが、

> `$TwlSystem/build/demos/g2d/samples/(サンプル名)/bin/(プラットフォーム)/(ターゲット)/`

の下に生成されます。例えば、

> `$TwlSystem/build/demos/g2d/samples/Cell_Simple/bin/ARM9-TS.HYB/Release/`

には `Cell_Simple` デモのNITRO/TWLハイブリッド用リリース版の実行ファイルが生成されます。

## 実行方法

`$TwlSystem/build/demos/g2d/(samples|bg|Text)/(サンプル名)/bin/(プラットフォーム)/(ターゲット)/` ディレクトリに移ります。 ビルドしたROMの種類によって、下記のいずれかの方法で実行します。

### NITRO ROM の場合

Ensata エミュレータを用いる場合

- ensata で `*.nef`, `*.srl` を実行する。

IS-NITRO-DEBUGGER を用いる場合

- IS-NITRO-DEBUGGER で `*.nlf` ファイルを読みこんで実行する。
- IS-NITRO-DEBUGGER で `*.srl` を実行する。
- コマンドラインから `loadrun.exe` で IS-NITRO-DEBUGGER で `*.srl` を実行する。

IS-TWL-DEBUGGER を用いる場合

- IS-TWL-DEBUGGER で `*.nlf` ファイルを読みこんで実行する。
- IS-TWL-DEBUGGER で `*.srl` を実行する。
- コマンドラインから `loadrun.TWL.exe` で IS-TWL-DEBUGGER で `*.srl` を実行する。

### TWL/NITRO HYBRID ROM の場合

IS-NITRO-DEBUGGER を用いる場合

- IS-NITRO-DEBUGGER で `*.srl` を実行する。
- コマンドラインから `loadrun.exe` で IS-NITRO-DEBUGGER で `*.srl` を実行する。

IS-TWL-DEBUGGER を用いる場合

- IS-TWL-DEBUGGER で `*.tlf` ファイルを読みこんで実行する。
- IS-TWL-DEBUGGER で `*.srl` を実行する。
- コマンドラインから `loadrun.TWL.exe` で IS-TWL-DEBUGGER で `*.srl` を実行する。

### TWL LIMITED ROM の場合

IS-TWL-DEBUGGER を用いる場合

- IS-TWL-DEBUGGER で `*.tlf` ファイルを読みこんで実行する。
- IS-TWL-DEBUGGER で `*.srl` を実行する。
- コマンドラインから `loadrun.TWL.exe` で IS-TWL-DEBUGGER で `*.srl` を実行する。

## 説明

#### OBJ サンプル

`Cell_Simple` | Cellの単純な描画をおこなうサンプル。下位レベルAPIを利用した描画サンプルです。
`CellAnimation` | セルアニメーションを描画、更新するサンプルです。
`Entity` | エンティティを用いてセルアニメーションを表示するサンプルです。カラーパレットの切り替えも行います。
`MultiCellAnimation` | マルチセルアニメーションを描画、更新するサンプルです。
`OamManagerEx` | 拡張 OAM マネージャのサンプルです。 128 個より多くの OBJ を時分割で表示、OBJの描画順指定を用い表示優先度つきで OBJ表示、を行います。
`OamManagerEx2` | 拡張 OAM マネージャのサンプルです。 OAMマネージャと拡張 OAM マネージャを組み合わせて使用する利用方法のサンプルになっています。
`OamManagerEx3` | 拡張 OAM マネージャとレンダラを組み合わせて使用するサンプルです。
`Renderer_2LCD` | レンダラ モジュールを用いて2画面表示を行うサンプルです。画面表示領域を変更することが可能です。
`Renderer_Simple` | レンダラ モジュールを用いてセルアニメーションを描画するサンプルです。
`SoftwareSprite` | ソフトウェアスプライトの描画サンプルです。多数のスプライトを画面に表示します。
`SoftwareSprite2` | ソフトウェアスプライトの描画サンプルです。様々な属性を適用してスプライトを画面に表示します。
`VRamAnimation` | VRAM転送アニメーションを描画するサンプルです。
`Renderer_Callback1` | レンダラのコールバック関数を使用して、ユーザ個別のカスタマイズを行うサンプルです。
`Renderer_Callback2` | レンダラのコールバック関数を使用して、OBJ単位の可視カリングを行うサンプルです。
`Renderer_PerfCheck` | レンダラのパフォーマンスを比較するサンプルです。
`RendererCore` | レンダラコア単体での使用方法を示すサンプルです。
`RendererCore2` | レンダラコアAPIの使用方法を示すサンプルです。パフォーマンスの比較も行います。
`OamSoftwareSpriteDraw` | 各種OAMソフトウェアスプライト描画APIのパフォーマンスの比較を行うデモです。
`Renderer_CharChange` | レンダラの使用する画像プロクシを、複数切り替えて描画を行うサンプルです。コンバータの-crオプションによる部分的キャラクタデータ変換機能の利用も行います。
`UserExAttribute` | ユーザ拡張アトリビュートを利用するデモです。
`MultiCell_UILayout` | マルチセルを応用して、ユーザインタフェース処理を行うデモです。

#### BG サンプル

`MinimumBG` | 上下画面に BG を表示します。
`ShareBG` | キャラクタとカラーパレットを共有した BG を表示します。
`BgEx` | 圧縮パレットと部分キャラクタデータを使用した BG を表示します。

#### 文字描画 サンプル

`BGText` | テキストBGで文字列を表示します。
`BGAffine` | アフィンBGで文字列を表示します。
`OBJ1D` | 1DマッピングOBJで文字列を表示します。
`OBJ2DRect` | 2DマッピングOBJで文字列を表示します。
`CanvasCell` | CharCanvas をセルとして表示します。
`ShiftJISText` | ShiftJIS文字列を表示します。
`UTF16Text` | UTF16文字列を表示します。
`UTF8Text` | UTF8文字列を表示します。
`CP1252Text` | CP1252文字列を表示します。
`DoubleBuffering` | オフスクリーンバッファを用いて文字列を表示します。
`DrawLetter` | 文字描画関数の使用サンプルです。
`DrawLetters` | 文字列描画関数の使用サンプルです。
`DrawTaggedText` | `NNS_G2dTextCanvasDrawTaggedText()`の使用サンプルです。
`MinimumCanvas` | 文字列にあわせて動的に CharCanvas を構築します。
`PortraitHW` | BG の回転を使用して縦持ち表示を行うサンプルです。
`PortraitSW` | 縦持ち用フォントを使用して縦持ち表示を行うサンプルです。
`DrawVertical` | 縦書き表示のサンプルです。ビルドには日本語 Windows 環境が必要です。
`SimpleFontView` | フォントリソース中のグリフイメージを簡易表示します。

## 動作環境

すべてのサンプルについて、IS-TWL-DEBUGGER, IS-NITRO-EMULATOR、ensata での正常動作を確認しています。

## 参照

`G2D関数一覧`

## 履歴

    2008/06/20 コンパイル方法および実行方法をTWLに対応
    2007/03/14 サンプル PortraitHW, PortraitSW, DrawVertical を追加
    2006/05/29 サンプル CP1252Text を追加
    2005/09/01 サンプル Renderer_CharChange UserExAttribute MultiCell_UILayout を追加
    2005/07/12 サンプル CanvasCell を追加
    2005/06/27 サンプル BgEx を追加
    2005/06/06 サンプル（Renderer_CharChange）を追加
    2005/05/25 文字描画サンプルを追加
    2005/03/28 OamManagerEx3を追加

    2005/01/24 実行方法において IS-NITRO-EMULATOR の記述を削除、動作環境において TEG の記述を削除し、TS を
               IS-NITRO-EMULATOR に変更

    2004/12/06 サンプル OamManagerEx2 を追加

    2004/11/10 6 つのサンプル(Renderer_Callback1
                              Renderer_Callback2
                              Renderer_PerfCheck
                              RendererCore
                              RendererCore2
                              OamSoftwareSpriteDraw)を追加

    2004/09/02 BGサンプルを追加
    2004/08/02 初版