------------------------------------------------------------------------------
HSP ver3.5 beta TESTING MANUAL                      HSP : Hot Soup Processor  
ＨＳＰβテスト版説明書               Copyright 2016 (c) ONION software/onitama
------------------------------------------------------------------------------

・はじめに

このアーカイブには、Hot Soup Processor ver3.5β版のファイルが含まれています。
Hot Soup Processor 3.5β版は、アップデートされたHSP3.4の機能やSDKを
検証するためのバージョンとなっています。
このアーカイブに含まれる内容は、テスト版であり未実装の機能や、
不具合が含まれていることをご了承の上お使い下さい。


・インストール方法

アーカイブは、以下の構成になっています。

+---hsp35beta             ルートフォルダ
    +---common	          標準のスクリプトヘッダ
    +---hsphelp	          ワンキーヘルプデータ
    +---doclib	          ドキュメントフォルダ
    +---android	          android版HSP3Dishランタイム
    +---iOS	          iOS版HSP3Dishランタイム
    +---hsp3js	          WebGL版HSP3Dishランタイム
    +---runtime	          Windows版ランタイム
    +---sample	          サンプルスクリプト

アーカイブに含まれる「hsp35beta」フォルダを、ハードディスクに展開してご使用ください。(推奨パスは「C:\hsp35beta」になります)
β版は、HSP3.4リリース版と共存させることが可能です。HSP3.4リリース版がインストールされているフォルダ(通常は、「C:\hsp34」になります)に上書きしないよう注意してください。(HSP3.5β版の各種設定は、既存のHSP3.4とも共有されます。)
hsp35betaフォルダ以下にあるスクリプトエディタ(hsed3.exe)を始めとする各種ツールを使用して、3.5β版の機能を利用することができます。
(以前のβ版を使用している方は、古い「hsp35beta」フォルダを削除した後に、再度コピーを行なってください)


・最新版の提供について

開発中の最新版は、随時OneDriveでも公開されます。
「ダウンロード」から全体のアーカイブ(hsp35betaフォルダの内容)を取得可能です。

HSP3.5β版(OneDrive)
http://1drv.ms/1QjSlJ4


・#bootopt命令について

新規プリプロセッサ命令、#bootoptが追加されています。
これはランタイムの細かい動作設定を行なうためのものです。
以下の書式で設定を変更することができます。

	#bootopt オプション名  設定スイッチ

	オプション名 : オプションの種類
	設定スイッチ : 1または0の数値

	スクリプトランタイムの細かい動作設定を行ないます。
	オプション名、の後スペース又は TAB を入れて設定スイッチ
	1か0の数値を記述して下さい。
	#bootoptは、スクリプト内の任意の位置に記述することが可能です。
	複数の指定があった場合は、最後に設定されたものが全体の設定となります。

	#bootoptで指定できるオプション名は以下の通りです。

	  オプション |      内      容                | 初期値
	 ----------------------------------------------------------
	  notimer    | 高精度タイマーの使用           | 自動設定
	             | (0=使用する/1=使用しない)      |
	 ----------------------------------------------------------

	以下の例では、高精度タイマーの使用を抑制します。

	例 :
		#cmpopt notimer 1


・ソート機能の標準化について

	HSP3.5では、HSPDAプラグインで用意されていたソート(並べ替え)機能のための
	sortval,sortstr,sortnote,sortget命令が標準命令に変更されています。
	命令の持つ機能は変わりありませんが、これらの命令については、
	HSPDAプラグインがなくても利用することができます。
	ソート機能はHSP3Dish、HGIMG3などすべてのランタイムでサポートされています。


・HSP3Dishの外部DLLサポートについて

	Windows版のHSP3Dish、及びHGIMG4では、プラグイン・外部DLLの使用が可能になりました。
	これは、あくまでもWindows上で動作するランタイムのみでサポートされているもので、
	iOSやandroidなど、他のプラットフォーム上では、Windows用のプラグイン・DLLは動作しないので注意してください。
	また、COMオブジェクトやActiveXの機能については、まだサポートされていません。
	また、HSP3Dish動作環境の違いにより、一部のHSP3用プラグインが正しく動作しない
	可能性があります。動作が保証されない機能として、以下のものが考えられます。
	・ボタンなどの配置オブジェクトに関する操作、拡張を行なうもの(llmod3など)
	・画面の描画に関わるもの、拡張するもの(HSPCV,HGIMGなど)
	・COM,ActiveXと連携するためのプラグイン

	HSP3Dishの外部DLLサポートでは、主にWindows APIの呼び出し、
	データ操作を行なうプラグインなど限定的な用途で使用するようにしてください。


・HSP3Dishのsetcls、celputm命令サポートについて

	HGIMG4でのみ使用が可能だった、setcls、celputm命令をHSP3Dishベースの
	ランタイム全体でサポートするように修正されました。
	setcls命令は、背景クリアに関する設定を行ないます。
	celputm命令は、複数の2D画像を大量に表示させるための命令です。
	詳しくは、それぞれの命令リファレンスを参照してください。


・HSP3DishのiOS,android版更新について

	HSP3DishのiOS,android版は、それぞれの新しいSDKに対応しています。

	iOS版	  : XCode6.3以降用 iOS8,64bit対応
	android版 : Android SDK 5.0.1 (API 21)、NDK r10以降用
		    AdMob(Google Play Services)対応

	それぞれ対応したバージョンのSDKや開発環境が必要となります。
	既存のプロジェクトが正しくビルドできなくなる可能性があるため、
	既存のプロジェクトは、再度作成し直すことを推奨します。


・HSP3Dishのhttp通信機能について

	Windows版のHSP3Dish、及びHGIMG4では、新しくhttp通信を行なうための
	httpload,httpinfo命令が追加されています。
	これにより、web(HTTP)サーバーへのネットワークアクセス及び、
	データの取得を行なうことができます。
	(hspinetプラグインのhttp通信機能の簡易版という位置付けです)

	あくまでも、基本的なhttp通信機能をサポートするもので、
	すべてのwebサーバーとの通信を保証するものではありません。
	http通信機能は、現在のバージョンではWindows,Emscripten,androidの
	プラットフォーム上でサポートされています。
	今後、すべてのプラットフォーム上でサポートされる予定です。
	詳しくは、命令ヘルプ及び、HSP3Dishマニュアルを参照してください。

		doclib/hsp3dish_prog.htm#HTTP


・64bit(x64)版ランタイムについて

64bit(x64)アプリとして動作するHSP3標準ランタイム(hsp3_64.exe)を同梱しています。
使用する場合は、スクリプトの先頭に以下の行を指定してください。

	#include "hsp3_64.as"

64bit(x64)ランタイムは、64bit版のWindows上でのみ動作します。
このバージョンは、将来の64bit化に向けてのテスト版とお考えください。
通常は、標準の32bit版HSP3ランタイム(hsp3.exe)をご使用頂いて問題ありません。

現状では、64bitランタイムに以下の注意点があります。

	・従来のHSPスクリプトを64bitアプリとして動作させるランタイムです
	　(整数値の範囲など従来の仕様が変わるものではありません)
	・1つの変数が使用するメモリバッファは2GB(32bit)が上限となります
	　(スクリプト全体が使用できるメモリサイズは64bitアプリに準拠します)
	・従来の32bit版プラグインとは互換性がありません
	・COM関連の命令が正しく動作しないことがあります


・HGIMG4のマルチプラットフォーム対応について

	高度な3D表示、演算処理を行なうHGIMG4ランタイムのマルチプラットフォーム対応を行なっています。

	Windows版 : 通常版(OpenGL版)に加えてDirectX9版のランタイムを同梱しています
	WebGL版   : HSP3Dish helperからhtmlコードを出力可能です
	android版 : HSP3Dish helperからプロジェクトを出力可能です
	iOS版     : 将来のバージョンで対応予定です


・HGIMG4 DirectX9版ランタイムについて

	HGIMG4は、OpenGL版とDirectX9(angle)版を選択することができます。
	従来は、OpenGLバージョン3.1以上がインストールされた環境で動作していましたが、
	DirectX9(angle)版は、Windows7以降で、DirectX9最新版のランタイムがインストールされた環境で動作します。
	DirectX9(angle)版は、実行にあたって以下のDLLを必要とします。
	(このDLLは、HSPインストールフォルダに付属しています。
	ユーザーが製作したアプリケーションを配布する場合は、このDLLも配布する
	必要があります)

		d3dcompiler_47.dll	追加DLL
		libEGL.dll		追加DLL
		libGLESv2.dll		追加DLL

	これらのDLLは、OpenGL版を使用する場合は必要ありません。
	HGIMG4 DirectX9版ランタイムを使用する場合には、

	#include "hgimg4dx.as"

	をスクリプトの先頭に記述してください。
	後は、OpenGL版と同様に使用することが可能です。


・古いプラグイン・ランタイムの同梱終了について

	HSP3.5リリース版では、いくつかの古いプラグイン・ランタイムの同梱を終了する予定です。
		・HSPLetランタイム
		・HGIMG/HGIMGXプラグイン
		・HSPDXプラグイン
		・llmod3モジュール

	これらは長い期間更新がなく、古いシステムに依存しているため新しく使用することは推奨できません。
	アップデートされたHSPから使用できなくなるわけではありませんが、フルセット版への同梱は終了させて頂く予定ですのでご了承ください。


・更新履歴

	2016/01/19 3.5 beta3

	オフィシャル珠音2D素材(tamadot)を同梱
	デバッグウインドウにコールスタックタブを追加
	[HSP3Dish] 画像コピー時の色乗算値を指定するgmulcolor命令を追加
	[HSP3Dish][iOS] 64bit環境の実行時エラーを修正
	[HSP3Dish][android][iOS] エラー発生時に番号とメッセージを出力するように修正
	[HSP3Dish][android] 推奨SDKをAndroid 5.0.1 (API 21)に変更
	[HSP3Dish][android] ビルド時にHSPライブラリフォルダを参照する方法に変更
	[HSP3Dish][android] β2版でAdMobビルドが正しくできなかった不具合を修正
	[HSP3Dish][android] HGIMG4使用プロジェクトに対応
	[HSP3Dish][android] JDK7以降での署名に対応
	[HSP3Dish][android] zipalignツールの存在を確認するように修正
	[HSP3Dish][android] ダイアログ以外の部分をタッチすると停止する不具合を修正
	[HSP3Dish][Windows] mmvol命令による音量が種類によって異なっていたのを修正

	ue_daiさんによるOpenHSPバグ修正を反映
	[hsp3] 連想配列型のarray/local引数エイリアスを添字をつけずに参照したときに落ちるバグを修正
	[hsp3] ユーザー定義命令/関数でのラベル引数の実装
	[hsp3] sortstrのバグ修正およびsort系命令の高速化
	[hspcmp] hsc3_messizeのバッファサイズ取得の修正
	[hspcmp] マクロタグの名前を最大56文字にする
	[hspcmp] プリプロセスで「{」「}」を文の区切り記号として解釈するように修正
	[hspcmp] #constの後に「double」「int」の型を指定できるように修正
	[hspcmp] #funcで宣言されたDLL関数を、関数としても使用できるように修正
	[hspcmp] モジュール内でlocal指定された関数を、定義する前の行から使用できるように修正
	[hspcmp] 未使用モジュールのコード削除が不完全だった部分を修正
	[hspcmp] シンボルの多重定義エラーで定義された位置を出力するように修正
	[hspcmp] よく見るエラーメッセージの日本語化
	[hspcmp] 文字列や実数値の重複データ削減による出力サイズの最適化を実装

	2015/05/27 3.5 beta2

	[HGIMG4] テクスチャを複数読み込んだ際にエラーが発生する不具合を修正
	[HGIMG4] カメラ経由で解放済みオブジェクトにアクセスしてクラッシュする問題の修正
	[HGIMG4] DirectX9 API使用のランタイム(hsp3gpdx)を追加
	[HSP3Dish] HGIMG4と同等のsetcls、celputm命令をサポート
	[HSP3Dish][Windows] β1版でwavファイルが再生されないことがある不具合を修正
	[hspinet] ftpdirlist命令でメモリが正しく確保されない不具合を修正
	命令の第2パラメーター以降でsysinfo関数を使った際に第1パラメーターの値が変更される不具合を修正
	beta1でobjimage命令が正しく動作しない不具合を修正
	複数行文字列から特定の文字列を持つ行を検索するnotefind関数を追加
	いくつかのサンプルスクリプトを追加
	画像ファイルデコーダーを更新、1,2,4bit PNGに対応
	64bit(x64)版ランタイムのDLL呼び出しに対応
	64bit(x64)版ランタイムのinput命令でエラーが発生する不具合を修正
	64bit(x64)版ランタイムでモジュール変数使用時にエラーが発生する不具合を修正
	HSP3ソースコンバーターで配列展開に失敗する不具合を修正(Mantis:0000011)
	HSP3ソースコンバーターで演算の最適化時にスタックに不整合が起こる不具合を修正
	スクリプトエディタのSDK機能の一部(HSED_GETCARETLINEとHSED_GETCARETPOS)を有効化
	[HSP3Dish][iOS] 64bit環境の実行時にEXC_BAD_ACCESSが発生する不具合を修正
	ドキュメントの一部修正
	[HSP3Dish][android] httpload,httpinfo命令によるネットワークアクセスをサポート
	[HSP3Dish][android] mes命令の改行が認識されない不具合を修正
	[HSP3Dish][android] dialog命令による標準ダイアログ表示をサポート
	[HSP3Dish][android] dpmファイルが認識されないことがある不具合を修正
	[HSP3Dish][android] beta1でmes命令の後でgcopy命令が正しく表示されない不具合を修正

	2015/02/18 3.5 beta1

	64bit(x64)版ランタイム、hsp3_64を追加
	HSP3Dishのnote系命令で行数を間違える不具合を修正
	HSPDAプラグインのsortval,sortstr,sortnote,sortgetを標準命令として実装
	新規プリプロセッサ命令、#bootoptを追加
	#bootopt命令によるタイマー精度の設定変更に対応
	[HSP3Dish] (Windows以外)grect命令の半透明カラー描画が正しく反映されない不具合を修正
	[HSP3Dish][iOS] 最新のiOS及び64bitバイナリのビルド(arm64)に対応
	[HSP3Dish][android] NDK r10、AdMobの更新に対応
	[HSP3Dish][android] hsp3dish.iniの設定取り込みに対応
	[HSP3Dish][android] HSP3Dish Helperの更新
	[HSP3Dish][Windows] httpload,httpinfo命令を追加
	[HSP3Dish][HGIMG4][Windows] (Windows版のみ)プラグイン・外部DLL使用を可能に修正
	長いソースのコンパイル高速化(zakki)


・謝辞

OpenHSPで多くのご協力を頂いた、zakkiさん、fujidigさん、sharkppさんに感謝致します。
多くの助言を頂いたHSP-Dev MLメンバーの皆様、ありがとうございました。


・著作権および連絡先

β版を使用したスクリプト・実行ファイルの公開、ライセンスについては
HSP3.4と同様の規定で自由に行なっていただいて構いません。
ただし、十分テストが行なわれていないテスト版であることを留意しておいてください。
あくまで、自己の責任の範囲で運用してください。
不具合やお気づきの点がありましたら、お知らせ頂けると嬉しいです。

onion softwareは本プログラムによって生じた、いかなる損害についても
保証いたしません。自己の責任の範囲で使用してください。
HSPおよび周辺ツールは、Microsoft Visual Studio 2013によってコンパイルされています。

このソフトに関するお問い合わせ、感想、ご意見などは以下のメールアドレスまで。

	Homepage: http://www.onionsoft.net/
	          http://hsp.tv/
        e-mail  : onitama@onionsoft.net

------------------------------------------------------------------------------
                                                     README.TXT / end of file 
------------------------------------------------------------------------------
