------------------------------------------------------------------------------ HSP3Dish ver3.3 HSP : Hot Soup Processor Users Manual copyright 2011 (c) onion software ------------------------------------------------------------------------------ ・HSP3Dishとは HSP3Dishは、HSP3の動作環境を様々なデバイス上で構築するための 追加セットです。Windows上で開発したスクリプトを、別なOS上で 動作させるための仕組みを提供します。 HSP3.3に含まれる、HSP3Dishランタイムは、通常版のHSP3と比べて機能が制限され、 いくつかの特殊な機能が付加されています。 HSP3Dishに合わせたスクリプトを作成することで、iPhone/iPad、 またはandroidといったスマートフォンなど異なるシステム上での動作に 繋げることが可能です。 (異なるプラットフォーム向けのライブラリは現在準備中で、 今後提供される予定です) 特殊な利用を想定したHSP3DishですがWindows上で使用する上では、 DirectXを使用した高速描画や、アルファチャンネルやPNG形式の標準サポートなど、 通常のHSP3にはないメリットも持ちあわせています。 HSP3Dishは、現在まだ制約や未実装の機能がありますが、 新しいHSP3の流れとして今後も進化を続ける予定です。どうぞご期待ください。 ・HSP3Dishの使用方法 HSP3Dishは、HSP3のスクリプトエディタなど通常のHSP環境をそのまま 使用して開発を行ないます。 HSP3Dish環境で動作するスクリプトを作成する場合は、 最初の行に、以下のコードを追加してください。 #include "hsp3dish.as" 以降は、通常のHSP3スクリプトと同様にソースを記述することができます。 ただし、HSP3Dish環境に適用させるために、いくつかの制約があります。 大きな制約は以下の通りです。 ■拡張プラグインの命令は未サポート ■COMオブジェクト操作、COM型・Variant型変数は未サポート ■外部DLL呼び出し機能は未サポート ■モジュール変数に関する機能は未サポート また、スマートフォンのメモリやセキュリティの制約を反映して 以下の機能は限定的になっています。 ■出力は単一のスクリーン(ID#0)のみに限られます  (複数のウインドゥ表示はサポートされていません) ■スクリーンサイズを変更できません  (デバイスが定めたサイズで自動的に初期化されます) ■buffer命令で作成した画像バッファに対する加工ができません  (画像の割り当ては可能ですが、描画命令を使用できません) ■デバイス間での完全なフォントの統一が取れません  (日本語の文字フォントについては機種依存になります) ■notesave、bsave命令などデバイスへの書き出しに制限があります HSP3Dishでは、多くの命令や関数などを通常のHSP3と同様に使用できますが、 環境の違いを吸収するために、機能が制限されており、Windows版に慣れた 人には面倒な部分もあるかもしれません。今後のバージョンでは、 Windows版との違いを意識することなく、幅広い環境に適用させることを 目標としています。 いくつかの制約は、ネイティブコードを生成するために HSP3ソースコンバーターを通す上で発生しています。 より詳しく知りたい方は、HSP3ソースコンバーターマニュアル(hsp3cnv.txt) を参照してください。 ・HSP3Dish(GL版)の差異 提供されているHSP3Dishは、OpenGLやDirectXによる高速描画を前提として 作成されています。通常のHSP3とは、以下の点で異なっています。 ■redraw 0により画面がクリアされます  画面の書き換えに関するソースは、redraw 0で描画開始を知らせて、  redraw 1により描画終了タイミングを知らせるようにしてください。  これにより、効率よく各種描画の命令が実行されます。  通常のHSP3とは違い、「redraw 0」を指定することにより、スクリーンが  一旦クリアされます。 ■アルファチャンネルの扱い  picload、celload命令によりアルファチャンネルを含む画像ファイルを  読み込むことが可能です。(推奨する画像形式は、PNGファイルです)  celput、gcopy等の命令では、アルファチャンネルを含めたコピーが  実行されます。そのため、gmodeによる指定は、いくつか違いが出ます。 gmode 0 : アルファチャンネルなし(無視) gmode 1,2 : アルファチャンネル有効、半透明レート無効 gmode 3 : アルファチャンネル有効、半透明レート有効 gmode 4 : 色加算・アルファチャンネル有効、半透明レート有効 gmode 5 : 色減算・アルファチャンネル有効、半透明レート有効 ■描画速度の向上  通常のHSP3では、描画のアクセラレーションは限定的でしたが、  HSP3Dish(GL版)では、グラフィックカードの機能を利用して  高速な描画、及び高品質な回転・拡大・縮小を行ないます。  半透明やアルファチャンネルなどの使用で、違いが顕著に現われます。 ■厳密なタイマー管理  通常のHSPよりも高精度なタイマーによりウェイトの管理が行なわれます。  wait/await命令での待ち時間が、通常のHSPと微妙に異なることがあります。 ■動画再生の非サポート  mmload/mmplay命令によるavi/mpg/wmv形式の再生はサポートされません。  Windows版では、効果音にwav、BGM(サウンド)にmidまたはmp3を使用する  ことが可能ですが、プラットフォームごとにサポートする形式が変更される  ことが考えられます。 ・サンプルスクリプトについて サンプルディレクトリhsp3dishにサンプルスクリプトが収録されています。 HSP3Dishを使用した例として、参考にしてみてください。 ・HSPDishコマンドリスト 各命令・関数の互換性については、別途ファイル「support_cmds.txt」を 参照してください。 一部の命令は、未実装ですが今後拡充していく予定です。 ・Windows上での実行ファイル作成 HSP3Dishのランタイムファイル(hsp3dish.hrt)を使用して、 Windows上で実行可能なプログラムを作成することが可能です。 通常のHSP3にはないメリットもあるため、Windowsに対応したソフトの 作成用途としてもお使い頂けます。 ・起動設定ファイルについて 通常の起動時は、画面のサイズは320x480に固定されています。 これは、iPhone(3GS)に合わせたサイズですが、起動設定ファイルを 用意することにより、画面サイズを変更することができます。 (HSP3Dishは、画面サイズは一定でありscreen,width命令で変更できません) 起動設定ファイルは、「hsp3dish.ini」というファイル名でスクリプトと 同じフォルダに置かれている場合に反映されます。 以下は、設定ファイルの記述例です。 ; hsp3dish settings wx=320 wy=480 行の先頭から「wx=横サイズ」「wy=縦サイズ」を書くことで反映されます。 「;」で開始される行はコメントとみなされます。 異なるデバイスでの動作を想定する場合などに、起動設定ファイルを 用意して実行を行なってください。 HSP3Dishを使用して、Windows用の実行ファイルを作成することが可能ですが、 作成された実行ファイルには起動設定ファイルは適用されません。 HSP3Dishランタイムで、Windows用の実行ファイルを作成する場合は、 画面サイズを#packopt命令で設定するようにしてください。 #packopt name "ファイル名" #packopt xsize 320 ; 横サイズ #packopt ysize 480 ; 縦サイズ ・他プラットフォームへの変換 HSP3Dishでは、スマートフォンを始めとする他のプラットフォームへの変換を サポートしていく予定です。動作の仕組みは以下になります。 1. WindowsのHSP3Dish上でスクリプトを作成 2. 作成したスクリプトをCソースに変換 (HSP3ソースコンバーターを使用、ソースはUTF-8として出力) 3. 別プラットフォーム向けの開発環境でCソースをコンパイル (各プラットフォーム向けライブラリが別途提供されます) 4. アプリケーションの変換完了 (逐次実行(インタプリタ)ではなくネイティブコードとして実行します) それぞれのプラットフォームについて、現在の状況は以下の通りです。 ■iOS(iPhone/iPad向け) Windows向けのHSP3Dishが持つ機能をほぼサポートします。 フォントの種類、扱えるオーディオファイルの形式などに違いが 出ますが、基本的な文法も含めてそのまま移行が可能です。 現在、一部のユーザー間でテストを進めており、早い段階で 一般向けのライブラリ公開ができるよう準備を進めています。 ただし、現状ではiPhone/iPadの実機上で動作させるためには、 MacOS環境及びxcode(developer登録)が必要になります。 簡単な動作画面を以下のURLでご覧頂けます。 http://www.onionsoft.net/wp/archives/454 ■android(NDK向け) android(2.3以降)のNDK環境をターゲットとしてテストを進めて います。HSP3の基本的な文法は、そのまま移行可能です。 オーディオやグラフィック機能の一部について、検討が必要な 部分があり、一般向けのライブラリ公開までにはまだ時間が 必要な段階です。 実機上での動作は、標準のandroidSDK、NDKなどの環境が必要と なりますが、Windows環境が使えて費用も無料なので、 敷居は低いと考えています。 最新情報については、hsp.tvサイトにて随時告知していきます。 ・各種入力への対応について スマートフォンの持つ独自の情報や、デバイスからの入力取得については 今後拡充される予定です。マルチタッチは、Windows7で同様の入力を シミュレートできますが、加速度センサーその他のデバイスについては Windows上で擬似的にテストできるシステムの作成を検討しています。 ・更新履歴 2011/09/27 3.3a celput命令で中心座標がずれる不具合を修正 2011/07/27 ver3.3RC1 起動設定ファイル(hsp3dish.ini)の読み込みを追加 mmload/mmplay/mmstopを実装 wait/awaitの待ち時間に高精度タイマーを使用するように修正 HSP3.3RC1に合わせてドキュメントなどを拡充。 2011/05/30 ver0.1 最初のバージョン ドキュメントを仮に用意。 ・連絡先 HSP3Dishに関するお問い合わせ、ご意見などはメールにてお知らせください。 onion software(onitama@onionsoft.net) http://www.onionsoft.net/ ------------------------------------------------------------------------------- Hot Soup Processor (HSP) Copyright (C) 1997-2011, Onion Software/onitama, all rights reserved. Made with base technology of OpenHSP. OpenHSP Copyright (C) 1997-2011, Onion Software/onitama, all rights reserved. These softwares are provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. ------------------------------------------------------------------------------- HSP users manual / end of file -------------------------------------------------------------------------------