﻿================================================================================
 ezlocal-dish-js モジュール                                        Version 2.15 
                                                                                
                                               Copyright(C) 2024-2026 MIZUSHIKI 
================================================================================

- 概要
--------------------------------------------------------------------------------
HSP3Dish.js をローカルで動作させる為の環境を構築、簡単にテストできるようにします
。

また、HSP3Dish helper の実行補助、出力HTMLの調整、nginx(ローカルサーバ)の起動、
テスト用ディレクトリへのファイルコピー、ローカル実行URLのリンク表示も行います。
QRコードを利用してスマホからローカル実行URLへ簡単にアクセスできます。
他にも、ブラウザへのデータ保存が可能になるオプション等があります。

さらに、ランキング作成などが簡単になるPHP連携モジュールezphp.phpを同梱。
簡単にサーバへのテキスト保存またはSQLiteデータベース記録ができるようになります。


- インストール及びその後の使い方
--------------------------------------------------------------------------------
HSP3Dish.js で HTML化したいスクリプトの #include "hsp3dish.as" 行のすぐ後に 
#include "ezlocal-dish-js.hsp" と ezLocalJS を追記して実行してください。

  -- スクリプト例
  ------------------------------------------------------------------------------
   #include "hsp3dish.as"
   
   #include "ezlocal-dish-js.hsp"
   ezLocalJS

   // ezLocalJS 以下に HSP3Dish.js で動作させたいスクリプトを記述
   *main
     redraw 0 : pos 0,0
     mes "Hello, World!"
     mes strf("%02d:%02d:%02d", gettime(4), gettime(5), gettime(6))
     redraw 1
     await 16
   goto *main

実行すると『ezlocal-dish-js』ウィンドウが開き、nginxインストール前はインストール
案内が表示されます。
インストール後は『ezlocal-dish-js』ウィンドウを操作することで HTML変換補助とロー
カルでの動作確認を行うことができます。

  -- 注意
  ------------------------------------------------------------------------------
  ezlocal-dish-js.hsp の中で通常ランタイムに上書き(#runtime "")しています。
  このモジュールを使用しないときは ezLocalJS の行だけでなく
  #include "ezlocal-dish-js.hsp" の行もコメントアウトしてください。


- nginx が既にインストール済みの場合の競合について
--------------------------------------------------------------------------------
・nginx, PHP-FPM が既に"C:\nginx"にインストールされている場合はそれを使用し「HSP
　3Dish helperの実行補助」等だけを利用できます。
・nginx のみインストールされている場合は、nginx_2, nginx_3, … と被らないフォル
　ダ名称で新たにインストールを行います。(既存のnginxと共存できます。)


- 対象HSP3バージョン
--------------------------------------------------------------------------------
・推奨： HSP3最新バージョン (β版も含むその時の最新版)
・動作可能： HSP3.51 ～

但し HSP3.6, HSP3.7β1, HSP3.7β2 は「ブラウザ上にデータ保存できるようにする」が
使えません。

同梱サンプルはなるべくHSP3の最新バージョンでお試しください。
特に sample2, sample3 はブラウザへのデータ保存に依存した処理があるため HSP3.7β3
以降で確認してください。


- インストールされる環境について
--------------------------------------------------------------------------------
  -- nginx
  ------------------------------------------------------------------------------
  フリーでオープンソースなWebサーバアプリケーション
  - 製作者： Igor Sysoev (Nginx Inc.)
  - 公式サイト： https://nginx.org
  - 保存場所： C:\nginx
  
  -- PHP-FPM
  ------------------------------------------------------------------------------
  PHP実行方式の一つ。FastCGIプロトコルを介してWebサーバーと通信して処理を行う
  - 著作： Copyright © 2001-2024 The PHP Group
  - 頒布先： https://windows.php.net/download/
  - 追加モジュール： bz2,curl,fileinfo,gettext,mbstring,exif,mysqli,pdo_mysql,
                     pdo_sqlite,sqlite3
  - 保存場所： C:\nginx\php


- 環境のアンインストールについて
--------------------------------------------------------------------------------
インストールする nginx はレジストリを書き換えません。
「C:\nginx」フォルダを削除すればアンインストール完了です。
PHP-FPMも「C:\nginx\php」に保存しているので一緒に消えます。


- zip展開後ファイルの配置について
--------------------------------------------------------------------------------
HTML化したいスクリプトと同じフォルダに ezlocal-dish-js.hsp をコピーするだけでも
基本機能は使用できます。
(必要なときに qrcodelib.dll, ezphp.php がモジュールによって生成されます。)
他に使用したい mod_***.hsp がある場合は、そちらも同じフォルダに置いてください。

HSP3インストールフォルダのcommon内等にファイルを配置するとF1キーでヘルプを表示で
きたり、モジュールを個別にコピーしてくる煩わしさから解放されるので便利です。
そうしたい場合は、ファイルを下記のように配置してください。
（アップデートのときも同じ位置に配置して上書きしてください。）

📁 HSP3インストールフォルダ直下[C:\hsp3*]
┣📄 qrcodelib.dll
┃
┣📁 commonフォルダ[C:\hsp3*\common]
┃┣📄 ezlocal-dish-js.hsp
┃┣📄 mod_ezphp.hsp
┃┣📄 mod_dish-js-gamepad.hsp
┃┗📄 mod_dish-js-devmotion.hsp
┃
┣📁 doclibフォルダ[C:\hsp3*\doclib]
│┣📁 ezlocal-dish-jsフォルダ(上記以外の残り全て)
││┣📄 Readme.txt
　　┣📄 ezphp.php
　　┣📄 sample.hsp
　　┣📄 hsp3dish.ini
　　┣📄 コマンドヘルプ.html
　　┣📁 CommandHelpフォルダ
　　┣📁 LibraryLicenseフォルダ
　　┣📁 osusume_moduleフォルダ (←ここにあればモジュールからも認識される)
　　┣📁 sample_devmotionフォルダ
　　┣📁 sample_ezphpフォルダ
　　┣📁 sample_fontフォルダ
　　┣📁 sample_gamepadフォルダ
　　┣📁 sample_hgimg4フォルダ
　　┣📁 sample_hgimg4-yoko-WebAssemblyフォルダ
　　┣📁 sample_logmesフォルダ
　　┣📁 sample_mobile-ratioフォルダ
　　┣📁 sample_mobile-ratio-yokoフォルダ
　　┗📁 sample_yokoフォルダ

HSP3アップデーター(HSPエディタ＞ツール＞HSP3機能のアップデート)を使用した場合は
自動でcommonフォルダ等にファイルが割り振られます。
※ HSP3アップデーター使用の場合、上記の配置とは若干異なります。
　 (例えばサンプルが[C:\hsp3*\sample]フォルダに配置される等の違いがあります。)

  -- HSP3アップデーター
  ------------------------------------------------------------------------------
  HSP3.7からユーザーのモジュール情報も公式で扱ってもらえるようになるそうですが、
  現状は手動でユーザーデータ(外部ユーザーURL)を登録する必要があります。
  HSP3アップデーター＞設定＞追加パッケージURL の欄に以下をコピペして『追加』ボタ
  ンを押して登録してください。
  
  外部ユーザーURL： https://suwa.pupu.jp/HSP/package/u115_index.hspupd
  
  その後、『戻る』とリストに「ezlocal-dish-jsモジュール Ver.**」が追加されている
  のでリストをクリックして『選択/解除』ボタンでインストール指定をします。
  『アップデート』ボタン＞『アップデート開始』ボタンでインストールが始まります。


- オプションについて
--------------------------------------------------------------------------------
hsp3dish.ini内の「; ezlocal-dish-js settings」で区切ったその下に ezlocal-dish-js
専用のオプション値を保存させてもらっています。

HTML調整オプションの中に「出力HTMLにスマホ表示等の調整を行う」がありますが、これ
を指定するとHTMLソース(及びhsp3dish.js)にいくつかの調整を行います。
hsp3dish.ini内に下記のコマンドを書き込むことで調整を行うかどうかを個別に取捨選択
することができます。
「noAdj_***=1」を書き込むことで以下で解説している調整をしないようになります。

  -- noAdj_border=1
  ------------------------------------------------------------------------------
  ゲーム画面の周りを囲んでいる線を消しています。
  
  -- noAdj_controls=1
  ------------------------------------------------------------------------------
  「Downloading...」などのステータス表示部分をゲームロード後に消しています。
  また、昔名残のコントロールの残骸も邪魔になることがあるので消しています。
  
  -- noAdj_systembox=1
  ------------------------------------------------------------------------------
  下部に表示されている黒いシステムメッセージボックスを非表示にしています。
  ただし、「#Error」が表示されるときは再表示するようになっています。
  また、「デバッグ情報を出力する」を指定している場合はエラーではないメッセージが
  表示されるときも再表示するようになっています。
  
  -- noAdj_mobile=1
  ------------------------------------------------------------------------------
  スマホでページを表示したときに画面いっぱいに広がるように表示解像度を調整してい
  ます。
  
  -- noAdj_logmes=1 or 2
  ------------------------------------------------------------------------------
  「デバッグ情報を出力する」チェック時にlogmes内容を下部の黒いシステムメッセージ
  ボックスに表示するようにしています。
  『1』でこれをしないようになり、『2』でconsole.logに表示するようになります。
  
  -- noAdj_fixmtinfo=1
  ------------------------------------------------------------------------------
  HSP3.7β9まで、動作解像度(ENV.HSP_WX,WY)と表示解像度(ENV.HSP_SX,SY)が異なると
  きmtinfo,mousex(y)の値がズレてしまっていたので補正するようにしています。
  
  -- noAdj_sensor=1
  ------------------------------------------------------------------------------
  「センサーを使用する」とき『センサーを許可する』ボタンが、iPhoneの画面いっぱい
  にゲーム画面を表示すると画面外に隠れてしまうので調整しています。
  
  -- noAdj_fixmes37b10=1
  ------------------------------------------------------------------------------
  HSP3.7β10のmes命令は300×150ピクセルまでしか表示ができないまたは冒頭や連続の
  空白があると末尾が欠けるバグがあるようなので修正するようにしています。
  
  -- noAdj_fixmes37rc1=1
  ------------------------------------------------------------------------------
  冒頭や連続の空白があると末尾が欠けるバグが残っているので修正しています。
  また、長い文字列をmesするとブラウザの横スクロールバーが発生する問題も修正。
  
  -- noAdj_fixiosaudio=1
  ------------------------------------------------------------------------------
  iOSでは音声ローディング時にエラーで10秒の待機が発生するので対策しています。

ezlocal-dish-js専用のオプション値の役割は概ね変数名の通りですが、デフォルトでは
記述されていない wx_mobile, wy_mobile を追加することでスマホの解像度や表示比率に
合わせたプログラミングを行うこともできます。

  -- スマホの解像度や表示比率に合わせてプログラミングする方法
  ------------------------------------------------------------------------------
   wx_mobile = ENV.HSP_SX
   wy_mobile = ENV.HSP_SY
  を hsp3dish.ini に追記することで画面の解像度や比率をスマホに合わせてゲームを製
  作することができます。
  但し、スマホの解像度に合わせると例えば 980 x 1862 等の大きなサイズでゲームを作
  っていくことになり、解像度が高すぎてしまう場合があります。
  そういった場合は例えば、横幅解像度を640に固定して
   wx_mobile = 640
   wy_mobile = Math.round(ENV.HSP_SY * 640 / ENV.HSP_SX)
  と記述することで、先程の例の比率で 640 x 1216 のサイズでゲーム画面が初期化され
  ます。
  
  横幅固定はスマホを縦向きで使用するゲームの場合です。
  スマホを横向きで使うために「スマホ横向き全画面FIT」を設定している場合は縦方向
  の解像度を固定します。
   wx_mobile = Math.round(ENV.HSP_SX * 520 / ENV.HSP_SY)
   wy_mobile = 520
  
  ※ この画面初期化サイズは ginfo_sx, ginfo_sy で取得することができます。


- ユーザーのブラウザへのデータ保存方法について
--------------------------------------------------------------------------------
HTML調整オプション「ブラウザ上にデータ保存できるようにする」を指定するとsaveフォ
ルダのような物が作られそこに保存できるようになります。

・「save/ファイル名」を指定してテキスト等を保存できる。

・フォルダを含めたファイルパスを指定する場合「\\」ではなく「/」を使用する。

・「chdir "save" : notesave "frame.txt"」などカレントフォルダの移動が可能。

・chdir "/save" とすると絶対パス扱いで一番親であるsaveフォルダに移動できる。
  (chdir "/" でsaveフォルダの1つ上のフォルダに移動できる。起動時の初期位置)

・保存を有効にするために必ず「devcontrol "syncfs"」を実行する必要がある。

・ブラウザに保存されているデータを確認したい場合は、ブラウザの メニュー＞その他
  のツール＞開発者ツール を起動。(ここではMicrosoft Edgeで説明)
  「要素」「コンソール」などの並びの後ろのほうにある「アプリケーション」タブを開
  き ストレージ＞IndexedDB＞/save＞FILE_DATA を確認すると「キー」と「値」が表示
  され、これが「ファイル名」と「データ」に相当する。
  「contents: Int8Array」のところでメモリダンプのような形で確認でき、その行の右
  端の方にある小さいアイコン「メモリインスペクターパネルで表示」をクリックすると
  画面下部に詳細が表示される。
  アルファベットなどは確認できるが日本語は表示されない。メモリを見るにUTF-8文字
  列で保存されている模様。ここに表示されないだけで日本語でもちゃんと取り出せる。


- 同梱物 ezphp.php による テキスト保存, データベース編集 について
--------------------------------------------------------------------------------
phpを介してテキスト保存/読込とsqlite編集を行う簡易的なサンプルを同梱しています。
mod_ezphp.hsp内にヘルプが記載されており、commonフォルダに置けばF1ヘルプでも参照
できます。
具体的な使い方はサンプルの sample2_ezphp-saveload.hsp, sample3_ezphp-sql.hsp を
参照してください。
また、SQLiteのデータベースファイルは簡単に中を見れたり編集できるフリーソフトがあ
るので活用してみてください。

・#include "mod_ezphp.hsp" があれば、ezphp.php もテスト用ディレクトリにコピーさ
  れるようになっています。


- 同梱物 mod_dish-js-gamepad.hsp について
--------------------------------------------------------------------------------
Gamepad API を利用してゲームパッドの入力情報を取得しています。
https://developer.mozilla.org/ja/docs/Web/API/Gamepad_API

mod_dish-js-gamepad.hsp内にヘルプが記載されており、commonフォルダに置けばF1ヘル
プでも参照できます。
具体的な使い方はサンプルの sample5_gamepad.hsp を参照してください。
(法貴優雅さんのサンプルスクリプトを流用させて頂いてます。ありがとうございます！)
https://hsp.tv/play/pforum.php?mode=pastwch&num=81890#81895

ゲームパッドが正しく機器に接続され、モジュールでゲームパッドを認識できる状態かど
うかは以下のサイトで簡単に確認することができます。
Gamepad Tester - Check Controllers and Joysticks Online
https://hardwaretester.com/gamepad


- 同梱物 mod_dish-js-devmotion.hsp について
--------------------------------------------------------------------------------
Web API を利用して加速度とジャイロのセンサー入力情報を取得しています。
https://developer.mozilla.org/ja/docs/Web/API/DeviceMotionEventRotationRate
https://developer.mozilla.org/ja/docs/Web/API/DeviceOrientationEvent

mod_dish-js-devmotion.hsp内にヘルプが記載されており、commonフォルダに置けばF1ヘ
ルプでも参照できます。
具体的な使い方はサンプルの sample10_devmotion.hsp を参照してください。

  -- システム変数 ginfo_accelx(,y,z)、 ginfo_gyrox(,y,z)
  ------------------------------------------------------------------------------
  HSP3.7β10 から一部のデバイスモーション値は標準で取得できるようになりました。
  jsdevm_accel_x, jsdevm_accel_y, jsdevm_accel_z
  jsdevm_orient_alpha, jsdevm_orient_beta, jsdevm_orient_gamma
  これらは『センサーを使用する』をチェックすることでHSP3のシステム変数から同じ値
  を取得することができます。
  他のセンサー値も使用したい場合は mod_dish-js-devmotion.hsp を利用してください。
  このモジュールを利用する場合は『センサーを使用する』にチェックをしないでくださ
  い。処理が重複してしまいます。


- mtinfo, mousex, mousey の補正について
--------------------------------------------------------------------------------
動作解像度(ENV.HSP_WX,WY)と表示解像度(ENV.HSP_SX,SY)が異なるときmtinfo,mousex(y)
の値がズレてしまうバグがあるようなので ezlocal-dish-js にはそれを補正する仕組み
が内臓されています。
補正はhsp3dish.jsの改造とmtinfo,mousex(y)の#undefと再定義によって行われます。
mousex(y)は「redraw 0」の中で補正される仕組みなので「redraw 0」前では参照せず、
それ以降にmousex(y)の参照を記述してください。
補正が必要ない場合は、上述のオプション項目内の「noAdj_fixmtinfo=1」を参照して対
応してください。
(この補正はhsp3js\hsp3dish.jsの更新日時が2025/1/26以前の場合に適用されます。)

  -- バグ修正
  ------------------------------------------------------------------------------
  HSP3.7β10 正式版からこのバグは修正されています。


- wpeek, lpeek, wpoke, lpoke の修正について
--------------------------------------------------------------------------------
wpeek, lpeek, wpoke, lpoke は第2引数にバッファインデックス(Byte単位)を指定します
が wpeek, wpoke は2byte毎、lpeek, lpoke は4byte毎の飛び飛び指定しかできません。
(5byte目を指定してwpeek,lpeekしても丸められて4byte目を指定したことになります。)
これはメモリアライメントと呼ばれ実行環境によって制限が左右されるようです。
HSP3Dish.js を Windows上のブラウザで使用する場合はこの制限に当たるようです。
ezlocal-dish-js 使用時はこれらの命令を上書きして全て1byte毎に読み書きするように
peek, poke へと分解しています。
ただしこの修正では、ちゃんと2byte毎4byte毎で処理を想定していた場合は分解される分
処理が遅くなってしまいます。
その場合は lpoke@hsp や wpeek@hsp() のように書くことで本来の命令を使用できます。
(この補正はHSP3.7β9以前の場合に適用されます。)

  -- バグ修正
  ------------------------------------------------------------------------------
  HSP3.7β10 からこのバグは修正されています。


- HGIMG4のオートスケーリング修正対応について (unofficial-dish-js)
--------------------------------------------------------------------------------
HSP3.7β9以下の環境でHGIMG4を使用する場合、公式のデータファイルではスマホ表示用
等のオートスケーリングが動作しません。
HSP3アップデーターでインストールした場合は、hsp3jsフォルダ(HSP3インストールフォ
ルダ内)に以下の非公式ファイルが作成され、使用されます。
・hsp3dish-gp.ezlocal-dish.js
・hsp3dishw-gp.ezlocal-dish.js
・hsp3dish-gp.ezlocal-dish.wasm
HSP3アップデーターを使用しなかった場合は、ezlocal-dish-jsで「HGIMG4を使用する」
際にこれらの非公式ファイルをダウンロードしても良いか聞かれます。
(この対応はhsp3js\hsp3dish-gp.jsの更新日時が2024/7/9以前の場合に適用されます。)

  -- バグ修正
  ------------------------------------------------------------------------------
  HSP3.7β10 からこのバグは修正されています。
  そのため ezlocal-dish-js ver.2.9 から非公式ファイルを同梱していません。
  HSP3.7β9以下を使用の場合で必要になったときダウンロードして良いか確認します。


- HSP3.7β10 mes命令の修正について
--------------------------------------------------------------------------------
HSP3.7β10のmes命令には以下のバグがあります。
・300×150ピクセルまでしか表示ができなくなってしまう。
・冒頭や連続した空白が存在すると文章末尾の表示が欠ける。
なので ezlocal-dish-js にはそれらを修正する仕組みが内臓されています。
修正はhsp3dish.jsの部分的改造によって行われます。
修正が必要ない場合は、上述のオプション項目内の「noAdj_fixmes37b10=1」を参照して
対応してください。
(この補正はhsp3js\hsp3dish.jsの更新日時が2025/3/11以前の場合に適用されます。)

  -- バグ修正
  ------------------------------------------------------------------------------
  HSP3.7RC1 からこのバグの一部(300×150ピクセルまで～)は修正されています。


- HSP3.7RC1 mes命令の修正について
--------------------------------------------------------------------------------
HSP3.7RC1のmes命令には以下のバグがあります。
・冒頭や連続した空白が存在すると文章末尾の表示が欠ける件が残っている。
・長い文字列をmesするとブラウザに横スクロールバーが発生する。
なので ezlocal-dish-js にはそれらを修正する仕組みが内臓されています。
修正はhsp3dish.jsの部分的改造によって行われます。
修正が必要ない場合は、上述のオプション項目内の「noAdj_fixmes37rc1=1」を参照して
対応してください。
(この補正はhsp3js\hsp3dish.jsの更新日時が2025/7/29以前の場合に適用されます。)

  -- このバグについて
  ------------------------------------------------------------------------------
  HSP3.7[2025/09/04現在] でもこのバグは確認されています。


- iOSの音声読込バグ(iOSでは音声読込エラーで10秒待機が発生する)の修正について
--------------------------------------------------------------------------------
Safari(iOS)のWebKitは、他に比べてBlob→ObjectURL→Audioの処理が極端に不安定。
音声に限ってObjectURLが非常に壊れやすいという歴史的バグがある(らしい)。
・メモリ節約のためにBlobURLの実体を勝手に解放
  →内部キャッシュを突然削除
  →デコード前にガベージコレクションを強制的に行う
    ＝Safari/iOSのメモリ管理は「BlobURLは長時間生きている」という保証が無い
      ⇒ObjectURLをAudioに渡した瞬間にBlobが消える→デコード不能→error
      ⇒10秒待ってerrorになるまで音声が読み込みされない。
      ⇒[対策] 速攻onerrorを実行されるようにする。

  -- このバグについて
  ------------------------------------------------------------------------------
  おそらくemscripten側のバグなので、hsp3dish.jsを直接書き換えるしかないのでは。


- 使用ライブラリ
--------------------------------------------------------------------------------
qrcodelib.dll _ Copyright (C) 2006-2018 Kentaro Fukuchi
QRコードを生成するための高速かつコンパクトなライブラリ
・ライセンス    ：GNU Lesser General Public License (LGPL)
・バイナリ頒布先： http://code.google.com/p/qrencode-win32/
・ソースコード  ： https://github.com/fukuchi/libqrencode
・HSP3コード参考： https://codetter.com/?p=525

* ezlocal-dish-jsモジュール内にも文字列データ化したdllを内包。モジュールファイル
  だけでdllが見つからないときはdllをカレントディレクトリに吐き出して保存します。

文字列データ化と吐き出し方については以下を参考にしました。ありがとうございます。
  mod_MSZip : Cabinet.dllを使用した圧縮解凍モジュール
  - HSPメモ帳 (Hiro さん)
  - https://blog.goo.ne.jp/hiro239415/e/fe657bd57b6d2de0c4855c0578452dd9


- 同梱ファイル
--------------------------------------------------------------------------------
  -- misaki_gothic_2nd.ttf
  ------------------------------------------------------------------------------
  美咲フォントTTF版「美咲ゴシック第2」: 8×8ドットの日本語ビットマップフォント
  - 製作者： 門真 なむ (Num Kadoma)
  - 公式サイト： https://littlelimit.net/font.htm
  - ライセンス： フリー[自由に利用、複製、再配布できるが、全て無保証]
                 (詳細はsample_font\license_misaki.txtを参照ください)
  
  -- k8x12S.ttf
  ------------------------------------------------------------------------------
  k8x12の非漢字を縦8ドット字形に変更 : 8×12ドットの日本語ビットマップフォント
  - 製作者： 門真 なむ (Num Kadoma)
  - 公式サイト： https://littlelimit.net/font.htm
  - ライセンス： フリー[自由に利用、複製、再配布できるが、全て無保証]
                 (詳細はsample_font\license_k8x12.txtを参照ください)

  -- HGIMG4描画用シェーダーおよび画像ファイル(qbox.png)
  ------------------------------------------------------------------------------
  HGIMG4とソースコードは修正BSDライセンス適用 : 複数ライブラリ使用し開発されてる
  - 製作者： Onion Software 
  - 公式サイト： https://hsp.tv/
  - ライセンス： 修正BSDライセンス
                 (詳細はsample_hgimg4\license_hgimg4.txtを参照ください)

  -- FPS表示selput用画像ファイル(fps.png)
  ------------------------------------------------------------------------------
  HSP3 WebDish素材データ hsptv/afont8.png から必要部分を抜粋
  - 製作元： Onion Software 
  - 公式サイト： https://dev.onionsoft.net/seed/webdish_res.html
  - ライセンス： ユーザーがソフトを作成する際に自由に使用・改変・配布が可能


- 免責、著作権、連絡先
--------------------------------------------------------------------------------
  -- 免責
  ------------------------------------------------------------------------------
  作者は、本モジュールの使用または使用不能から生じるコンピュータの故障、情報の消
  失、その他あらゆる直接的及び間接的被害に関して一切の責任を負いません。

  これに同意できない場合、本モジュールの使用を禁止します。

  -- 著作権
  ------------------------------------------------------------------------------
  著作権は作者である MIZUSHIKI が所有します。
  
  Copyright(C) 2024-2026 MIZUSHIKI

  -- 連絡先
  ------------------------------------------------------------------------------
  [作者メールアドレス]
  suwa.mizushiki@gmail.com


================================================================================

- Changelogs
--------------------------------------------------------------------------------

 2.15     2026/ 1/ 7
---------------------
- 音声ファイルがあるとiOSでローディングが10秒間停止してしまうdish.jsのバグに対応
- #dishjs_fontで解像度指定すると長文mes横スクロール対策が無効化される問題を修正
- noAdj_sensorオプション使用時に一部の改造処理が無効化されなかった問題を修正

 2.14     2025/ 9/ 9
---------------------
- HSP3.7対応
- タイトルバーにバージョン表記を入れるようにした
- その他の細かい箇所の変更と修正

 2.13.2   2025/ 4/ 7
---------------------
- 出力HTMLの中身を編集された場合に上手く動作しなくなることがあったのを修正

 2.13.1   2025/ 3/31
---------------------
- HSPスクリプトエディタでファイル内容が編集途中のとき警告を表示するようにした

 2.13     2025/ 3/25
---------------------
- hsp3dish.jsを改造したとき警告を表示するようにした
- hsp3dish.jsを改造したときjs内に改造内容等の情報を書き残すようにした
- hsp3dish.jsを改造していなくてもファイル情報を書き残すオプションを追加した
- js,wasmのファイル日時をhsp3jsフォルダ内のものと一致させるようにした
- HSP3.7β10aに対応(mes文末欠け等を修正できるように)
- HSP3.7β10でも#dishjs_fontのフォント解像度倍率を指定できるようにした
- HSP3.7β10で#dishjs_fontの描画領域調整が機能しなくなっていたバグを修正
- logmesデバッグをredraw/wait的なシステム動作を挟まず使用できるようにした
- その他の細かい箇所の変更と修正

 2.12.0.1 2025/ 3/13
---------------------
- 一部ドキュメントとファイル名のサイレント微修正

 2.12     2025/ 3/12
---------------------
- wx(y)_mobileオプションを追加しスマホ比率で初期化が可能に＋サンプル[13,14]追加
- HSP3.7β10でmesテキストに冒頭か連続の空白があると末尾の表示が欠ける問題を修正
- zip版にコマンドヘルプを同梱
- その他の細かい箇所の変更と修正

 2.11.0.1 2025/ 3/ 9
---------------------
- Readme.txt追記のみのサイレント修正

 2.11     2025/ 3/ 6
---------------------
- logmesでシステムメッセージボックスにテキストを表示するサンプルを追加
- ファイル名が半角英数でもフォルダ名に全角があると警告が出る場合がある問題を修正
- 一部の動作説明やヘルプ,ドキュメントを修正
- その他の細かい箇所の変更と修正

 2.10.1   2025/ 2/24
---------------------
- ezphp.phpが無いときモジュールから出力されるが内容がおかしくなっていたのを修正
- その他の細かい箇所の変更と修正

 2.10     2025/ 2/20
---------------------
- HSP3.7β10でmesが300x150pxまでしか表示されない問題を修正する機能を追加
- その他の細かい箇所の変更と修正

 2.9      2025/ 2/19
---------------------
- HSP3.7β10に対応(HGIMG4,センサー,fix_mtinfo各処理の見直しと追加)
- おすすめモジュール紹介ツールを同梱
- #dishjs_fontでフォント解像度が指定できないようになった
- ezLocalJS自動操作オプションが3のときhttps時でもhttpで開いてしまうバグを修正
- mod_dish-js-devmotion関連のドキュメント等を修正
- その他の細かい箇所の変更と修正

 2.8      2025/ 1/15
---------------------
- HTTPSローカル環境を使用できるようにした(https必須の特殊機能用途)
- デバイスモーション利用のためのモジュールとサンプル(sample10,11)を追加同梱
- その他の細かい箇所の変更と修正

 2.7      2025/ 1/ 3
---------------------
- HGIMG4使用時に自動チェックするなどHGIMG4対応とサンプル(sample8,9)を追加同梱
- 実行しているデバイスの環境を調べるdishjs_devtype関数を追加
- ezLocalJS命令に自動チェックオプションを追加
- mtinfo,mousex(y)ズレ補正をlayerobj利用でなくredrawの再定義で行うように変更
- wpeek,lpeek,wpoke,lpokeのメモリアライメント問題を上書き修正
- モジュールを二重定義されないようにした
- その他の細かい箇所の変更と修正

 2.6      2024/11/ 2
---------------------
- delete命令を上書きしてブラウザ上のデータファイルを削除できるようにした
- #dishjs_fontでフォント解像度や文字描画領域を調整できるようにした
- 動作表示解像度違いズレ補正がマウスドラッグ時mousex(y)を更新できないバグを修正
- その他の細かい箇所の変更と修正

 2.5      2024/10/30
---------------------
- ezphpsave,ezphploadにハッシュを利用した内容変更検出機能を追加
- #dishjs_fontコマンドを追加しフォントを変更できるようにした
- その他の細かい箇所の変更と修正

 2.4.1    2024/10/26
---------------------
- ezphploadでサイズが0byteのファイルを読み込むとエラーが出るのを修正

 2.4      2024/10/26
---------------------
- ezphpsave,ezphploadにsaveフォルダ内かつ英数記号文字の制限を設けた
- 動作解像度と表示解像度が異なるときのmtinfo,mousex(y)のズレを補正するようにした
- 「デバッグ情報を出力する」でのlogmes表示に改行が含まれると起こるバグを修正
- その他の細かい箇所の変更と修正

 2.3      2024/10/ 9
---------------------
- ezLocalJS命令に自動操作オプションを追加
- 「デバッグ情報を出力する」時にlogmes内容を下部の黒いシステムメッセージボックス
  に表示(オプションでOFFまたはconsole.log化可能)
- 「ブラウザ上データ保存」に関して勘違いにより制限を注意喚起していたが文言を削除
- その他の細かい箇所の変更と修正

 2.2      2024/ 9/22
---------------------
- ゲームパッドを利用できるようにするモジュールとサンプル(sample5)を追加同梱
- C:\nginxフォルダにPHP-FPMが入っていない場合の処理を追加
- その他の細かい箇所の変更と修正

 2.1      2024/ 9/10
---------------------
- PHP-FPM(PHP実行環境)もインストールすることにした
- ezphp.phpや新規サンプル(sample2,sample3)を追加同梱
- オプションにスマホ横向き全画面FIT(β機能)を追加。サンプル(sample4)追加同梱。
- オプションの表示解像度調整対象からタブレットを除外
- その他の細かい箇所の変更と修正

 2.0.1    2024/ 8/26
---------------------
- ローカルIP取得が上手くいかないことがあったのでWi-Fi項目を優先取得に修正

 2.0      2024/ 8/23
---------------------
- インストールするローカルサーバ環境をXAMPPからnginxに変更
- 127.0.0.1(localhost)のrootフォルダをデフォルト値でなく設定値を調べるようにした
- IPv4アドレスの取得を英語版でも取得できるように修正
- その他の細かい箇所の変更と修正

 1.1      2024/ 8/20
---------------------
- 二重起動防止の方法を起動させないのでなく前回のウィンドウを消すことに変更
- HTML調整でシステムメッセージとコントロール非表示のタイミングを変更
- HTML調整で画面サイズに合わせた表示解像度化をスマホだけでなくタブレットにも適用
- 画面サイズ指定されてることが明らかなのにhsp3dish.iniがない場合に警告を表示
- hsp3dish.iniオプションのsx,syに文字列の指定も可能にした
- hsp3dish.ini作成時やdataファルダの有無注意喚起時にdotfw.asを考慮するようにした
- hspinet,mod_regexpを独自関数登録していたがincludeに戻した
- その他の細かい箇所の変更と修正

 1.0.1    2024/ 8/18
---------------------
- hsドキュメント追加(モジュール内)
- オプションの非対象バージョン時OFFと変数定義位置修正

 1.0      2024/ 8/16
---------------------
- 公開

================================================================================
