| 
					 
							
						
								
									  | 
								 
							 							 
							
						 
						
 
 | 
 | 
 
2023/10/19(Thu) 23:21:19|NO.100310 
HSP3.7のβ版について多くのご報告とご要望を頂き感謝致します。 
HSP3.7β6でご指摘頂いた問題も含めて、いくつかの不具合を修正したバージョンとしてHSP3.7β7版を公開致しました。 
新規の機能改修を今後のバージョンでも行っていきたいと考えています。 
引き続き問題などあればお知らせ頂けると助かります。
 
HSP3.7β7ダウンロードページ
 https://www.onionsoft.net/wp/archives/3723
HSP3.7β7(フルセット版)
 https://www.onionsoft.net/hsp/file/hsp37b7.zip
HSP3.7β7(Windows版のみ版)
 https://www.onionsoft.net/hsp/file/hsp37b7le.zip
HSP3.7β7 HGIMG4(Angle最新版)
 https://www.onionsoft.net/hsp/file/hsp37b7dx.zip
※HGIMG4(Angle最新版)はsp3gpdx(DirectX版)を最新のAngleライブラリに置き換えたバージョンです。以前のものよりもシェーダーの互換性が上がっていますが、現在まだテスト中のため別ファイルでリリースされます
  
2023/10/19 3.7 beta7 更新点
VOICEVOX COREによる音声合成をサポートするhspvoicevoxプラグインを追加
#packopt nameで指定されたファイル名に大文字を含めることができるように修正
スクリプトエディタのコンテキストメニューに「定義へ移動」「すべての参照を検索」を追加
スクリプトエディタのラベル一覧表示をアウトライン解析を使用する形に修正
hsp3utf,hsp3_64ランタイム起動時にマルチバイト文字のパスが正しく認識されない不具合を修正
変数の代入時にデバッグログを出力するためのlogmesv,logmesva命令を追加
追加のスクリプトファイルを簡易指定するためのプリプロセッサ命令、#useを追加
変数の宣言を行うためのプリプロセッサ命令、#varを追加
変数の型固定・値固定を設定するためのvarprop命令を追加
変数型の変更を禁止する#varint,#vardouble,#varstr等のプリプロセッサ命令を追加
変数の宣言と初期化の機能を更新、strict.asモジュールを追加
mouse命令の設定オプション2を追加
width命令にウインドウ座標設定オプションを追加
Windowsのボリューム設定、音量レベルメーター取得のためのmod_mmaudio.asモジュールを追加
mod_vpad,mod_hsptvresモジュールを更新
珠音ドットフレームワークを更新、ジャンプアクション、バーチャルパッドに対応
珠音ちゃん・プロ生ちゃん SD 上半身コラボ素材を追加
マップエディタ(Tamamap)の更新
SQLeleプラグインに付属するsqlite3.dll をver3.43に更新(sprocket)
UTF8ソース変換時のメモリリークを修正
[hspcmp] UTF8で記述されたソースから出力文字コードを判別して出力する-jオプションを追加
[hspcmp] HSP3ソースの解析を行うオプションを追加、dllにも命令を追加
[hspcmp] UTF8で記述されたソースの全角スペースが正しくスキップされない不具合を修正
[hspcmp] UTF8で記述されたソースのBOMを認識できるように修正
[hspinet] ファイルやデータのSHA256ハッシュ値を取得するfilesha256、varsha256命令を追加
[HSP3Dish][Windows] ActiveXを除くCOMオブジェクトの動作をサポート
[HSP3Dish][Windows] devcontrol命令によるサウンドシステムのON/OFF制御を追加
[HSP3Dish][Windows] #packopt hideによる初期ウインドウの非表示に対応
[HGIMG4][Windows] Angle最新版の初期化時背景色が黒になるように修正
 
以前の話題及び、ご報告は以下のスレッドから引き継いでいきます。
 https://hsp.tv/play/pforum.php?mode=all&num=99801
 
 
  |    |   
  
 
 | 
 | 
 
2023/10/21(Sat) 16:08:32|NO.100321 
ありがとうございます! 
 
 |   
  
| 
 | 
 
2023/10/21(Sat) 18:30:51|NO.100322 
早速ダウンロードしたんですが、 
hspvoicevox test1及びtest2を実行すると、 
 
 #Error 38 in line 25 
(C:\〜hsp37beta\common\hspvoicevox.as) 
-->外部DLLの呼び出しに失敗しました 
 
が表示されます。 
 
なんも変なところはさわらず、試しに実行しただけのはずですが、一応報告いたします。 
 
 |   
  
  
| 
 | 
 
2023/10/21(Sat) 19:08:52|NO.100324 
>VOICEVOX CoreのDLLやファイルが別途必要じゃないかと思います。 
 
おぉ、、ごめん。やってみます 
 
 |   
  
| 
 | 
 
2023/10/21(Sat) 19:17:21|NO.100325 
すげぇ!!!ずんだもんがしゃべってる!! 
 
いつもいつも楽しい更新をありがとうございます 
 
 |   
  
| 
 | 
 
2023/10/21(Sat) 19:23:31|NO.100326 
VOICEVOX 対応は予想外でした。 
まだ試せていませんが、個人的にトレンドな機能の追加ありがとうございます。 
 
 |   
  
| 
 | 
 
2023/10/21(Sat) 20:10:17|NO.100327 
 |   
  
| 
 | 
 
2023/10/22(Sun) 00:56:56|NO.100330 
>窓月らら さん 
 
文字化けのご報告ありがとうございます。 
お手数おかけしました。修正させて頂きました。 
 
 |   
  
| 
 | 
 
2023/10/22(Sun) 23:21:09|NO.100339 
自作ゲームで確認しましたが、#packopt icon が機能していないように見えます。 
(3.7β6に戻したら機能しました) 
 
 |   
  
| 
 | 
 
2023/10/22(Sun) 23:33:08|NO.100340 
Shift_JISにない文字を含むファイル名のHSPファイルをコンパイル・実行したいのですがhspcmp.dllがユニコードに対応してないのでできないです。 
いったん別名に変更してからコンパイルするようにしたんですが、それだと__FILE__マクロがうまくいかないです。 
 
 |   
  
| 
 | 
 
2023/10/22(Sun) 23:51:57|NO.100341 
希望なんですが#useで検索するファイルの拡張子をasだけでなくhspも探す仕様になるとうれしいです。 
a2d.hspのように幾つかのヘッダファイルの拡張子はhspですので。 
 
 |   
  
| 
 | 
 
2023/10/23(Mon) 01:12:04|NO.100342 
コンパイラの予約キーワード一覧に今回追加されたプリプロセッサが含まれていないようです。 
(エディタ上の色分けができていない状態) 
 
#use, #var, #varint, #vardouble, #varstr 
 
 |   
  
| 
 | 
 
2023/10/23(Mon) 07:09:09|NO.100343 
sysinfo(0) の結果が HSP3Dish で違うようです。 
Windows 10 で確認しました。 
#include をコメントにすると ver10.0 と出ますが、Dish では ver6.2 と出てます。  
#include "HSP3Dish.as"
redraw 0
mes sysinfo(0)
redraw 1 
 
 |   
  
| 
 | 
 
2023/10/23(Mon) 21:13:52|NO.100347 
>莉琉 さん 
 
ご報告ありがとうございます。 
確かに標準スクリプトエディタ上での実行ファイル作成が正しく動作していませんでした。 
修正ファイルを用意する予定ですが、それまでの間は当面実行ファイルを作成する時だけ「hsed3le.exe」をご使用頂ければと思います。 
 
>BAT さん 
 
ご意見ありがとうございます。 
SJISにない文字を含むファイル名のスクリプトは、現状では対応していません。 
将来的には対応したいと考えていますが、すぐに対応は難しいかと思います。 
#useで検索するファイルの拡張子については、今後のバージョンで検討させて頂きます。 
>inovia さん 
 
ご指摘ありがとうございます。 
確かに漏れていました。今後のバージョンで修正させて頂きます。 
 
>窓月らら さん 
 
ご指摘ありがとうございます。 
hsp3の標準ランタイムに合わせる形で修正したいと思います。 
 
 |   
  
| 
 | 
 
2023/10/27(Fri) 11:31:51|NO.100355 
HSP3.7beta7プレビュー版の不具合を報告します。 
●HGIMG4のgpnodeinfoの不具合
 
HGIMG4のgpnodeinfoの不具合の報告をします。 
メッシュに複数のマテリアルが設定されている場合、最初の1つの 
マテリアル以外、マテリアルIDが取得できません。
 
以下は、modelというモデルのbodyというメッシュに設定された複数の 
マテリアルIDを取得しようとしている例です。
  
	gpload objid, "model", "", ""
	gpnodeinfo etc, objid, GPNODEINFO_MATNUM, "body" : dialog str(etc)
	gpnodeinfo etc, objid, GPNODEINFO_MATERIAL, "body" : dialog str(etc)
	gpnodeinfo etc, objid, GPNODEINFO_MATERIAL+1, "body" : dialog str(etc)
	gpnodeinfo etc, objid, GPNODEINFO_MATERIAL+2, "body" : dialog str(etc)
	gpnodeinfo etc, objid, GPNODEINFO_MATERIAL+3, "body" : dialog str(etc)
	gpnodeinfo etc, objid, GPNODEINFO_MATNAME, "body" : dialog str(etc)
	gpnodeinfo etc, objid, GPNODEINFO_MATNAME+1, "body" : dialog str(etc)
	gpnodeinfo etc, objid, GPNODEINFO_MATNAME+2, "body" : dialog str(etc)
	gpnodeinfo etc, objid, GPNODEINFO_MATNAME+3, "body" : dialog str(etc)
 
これを実行すると最初の1つ目のマテリアルIDは取得できるのですが、 
GPNODEINFO_MATERIAL+1、GPNODEINFO_MATERIAL+2、GPNODEINFO_MATERIAL+3では 
マテリアルIDが取得できず、0が返ってきます。 
GPNODEINFO_MATNAMEの方はちゃんと取得できるので、マテリアル自体は存在しているのだと思います。 
gpnodeinfo直後のstatにはマイナス値が返ってこないので、モデルの不具合でもないと思います。
 
●pmatprmfの不具合 
前回報告したpmatprmfの自作シェーダーでの不具合も変化ありませんでした。 
前回報告した通り、ダイアログでエラーメッセージだけは出て、実際は正常に動作しています。 
これはエラーメッセージ自体のエラー判定の不具合だと思います。
  
 
  |    |   
  
| 
 | 
 
2023/10/27(Fri) 18:29:01|NO.100356 
要望ですが、oncmdで一部の割り込みを停止できる機能が欲しいです。 
oncmd 0ですべての割り込みを停止できるみたいですが、例えば、WM_SIZEとWM_MOVEを有効にしたまま、WM_MOVEだけ無効にする命令が欲しいのですが…。 
ダミーにサブルーチンさせるしか方法はないみたいなんですかね…? 
ないのであれば、その命令も追加してほしいです。 
oncmd 0,WM_MOVE を指定したら割り込みを停止できる機能が欲しいですね。
 https://hsp.tv/play/pforum.php?mode=pastwch&num=88770
 
 |   
  
| 
 | 
 
2023/10/28(Sat) 20:21:02|NO.100367 
Dish上でのDPMファイルでのwavファイル読み込み時の不具合です。 
wavファイルを「data.dpm」に含めてプロジェクトフォルダの「assets」フォルダに入れてAPKを作成し、できあがったAPKをインストール起動すると、mmloadの個所でアプリが落ちます。 
他の方が旧Twitterでdata.dpmでデータを用意して出来上がったAPKが起動すると落ちるとツイートしていたので、こちらで検証した結果data.dpmに「wav」ファイルを含めて作り、mmloadで読み込み時に落ちることがわかりました。
  
#include "hsp3dish.as"
	setcls CLSMODE_SOLID, $000000
	mmload "1.wav", 1
	dialog "OK"
	mmplay 1
	
	color 255, 255, 255
	repeat
		redraw 0
		pos 0, 0
		mes "OK"
		redraw 1
		await 16
	loop
 
ちなみに、assetsフォルダに直接wavファイルを入れた場合は、mmloadの個所で落ちません。
  
 |   
  
| 
 | 
 
2023/10/28(Sat) 22:27:31|NO.100369 
Dish(Android実機)上でのmousew命令でマウスカーソルのホイール値が常に[0]が返ってきます。 
BlueToothでペアリングしたマウスを使用しているのですが、ホイールを回転させてもmousewから帰ってくる値は常に[0]です。 
Windows上では以下ソースでホイールを回転させると正常に[0]以外の値が返ってきます。
  
#include "hsp3dish.as"
	setcls CLSMODE_SOLID, $000000
	
	color 255, 255, 255
	repeat
		redraw 0
		pos 0, 0
		mes str(mousew)
		redraw 1
		await 16
	loop
 
 
 |   
  
| 
 | 
 
2023/10/29(Sun) 22:05:30|NO.100374 
要望でーす♪ 
Debug Window のタブの位置と4つのチェックボックスの状態を 
保持するようになると便利だと思うのです。 
 
それと、少なくとも2回過去に報告させて頂いた不具合なのですが、 
HSP3Dish(Android)において、mmload での音声ロードに失敗することが稀にあり 
mmplay で何も再生されないことがございます。感覚的に100回に1回程度? 
Android実機でしか起こらない上に再現性に乏しい(ランダム)のですが、 
複数端末で確認しており、割と初期の頃から潜在的に存在している不具合です。 
失敗している場合に mmplay すると何も音がでないのですが 
mmstat で再生中フラグが常に1を返してきます。(無限ループ) 
 
 |   
  
| 
 | 
 
2023/10/30(Mon) 01:43:31|NO.100375 
HSP3Dish の動作の違いについて気づいたのでご報告。 
 
mes 
mes "" 
 
これはいずれも改行するだけの動作になりますが、 
HSP3Dish(Windows)では改行されますが 
HSP3Dish(Android)では改行されないようです。 
ダミーで 
 
mes " " 
 
とすれば改行されました。 
できれば Windows のほうの動作に合わせてあればいいなと思いました。 
 
 |   
  
| 
 | 
 
2023/10/30(Mon) 09:00:40|NO.100377 
要望です! 
hsp3dishで、開発時だけに機能する、screen命令みたいなのが欲しいです! 
あと、mes命令に改行命令も欲しいです!(無茶振りすいません) 
 
 |   
  
| 
 | 
 
2023/10/30(Mon) 13:03:08|NO.100379 
これまた極々稀?ですが、 
HSP3Dish(Android)の実機(Android 9)動作にて、mmload → 即mmplay で再生しようとすると 
固まってしまうケースがございます。 
mmload mmplay どちらでコケてるかは不明ですが、これも再現性に乏しいためよくわかりません。 
試しに mmstop で停止してから mmload する実装に変えて変化があるか試しています。 
(いまのところよさそうですが、偶然かもしれません・・・) 
 
こういう謎のタイミング?による不具合ちょくちょく遭遇するので 
試しに await 5 とか挟んだらどうかとかいろいろ試してるのですが、解決策が見つかってません。 
 
 |   
  
| 
 | 
 
2023/11/3(Fri) 09:08:33|NO.100414 
HSP3.7β7付属のドキュメント「HSP3 (Hot Soup Processor) VOICEVOX plugin」 
についても文字化けしています。修正お願いいたします。 
 
 |   
  
| 
 | 
 
2023/11/3(Fri) 13:20:24|NO.100422 
今回のバージョンにおけるバグという訳ではないのですが、 
 
windows11でメモ帳の仕様が変わった為、 
hspext.dllのaplkey.hsp等メモ帳を操作するサンプルが 
うまく動かなくなってしまっているようです。 
 
あと要望なのですが、 
スクリプトエディターで文字検索をした時にでるダイアログは、 
OKを押して消すまでエディターを操作できないようにして欲しいです。 
複数のタブを操作したり何度か検索をクリックしたとき二度ダイアログが出たりした時に 
ダイアログがエディタの後ろに隠れ、気づかず操作していると文字は打てるのにコントロール系のキーが利かず焦る事がたまにあります。 
ご検討をお願いします。 
 
 |   
  
| 
 | 
 
2023/11/3(Fri) 19:18:40|NO.100426 
>文字検索をした時にでるダイアログ 
 
これ本当に割とよくひっかかって作業の邪魔してくれますよねw 
標準ダイアログで改善できないのであれば 
自前のダイアログにして常に手前に表示をセットして頂ければ 
改善できると勝手に思ったのですが・・・ 
 
 |   
  
| 
 | 
 
2023/11/3(Fri) 21:07:35|NO.100427 
>標準スクリプトエディタで文字検索 
>文字検索をした時にでるダイアログ 
 
検索の「次を検索(F)」ボタンを 
スクリプトエディタ上で検索終了している状態で 
連打していると... 
検索終了時のダイアログが複数個 
出ている事がありませんか? 
 
この件も可能であれば修正を 
検討して頂きたいです 
 
⬇️(※図がヘタですが、コレです) 
 
ーーーーーーーーーーーーーーーーー 
script editer message    ❎ 
 
 
⚠️終わりまで検索しました 
    
              ok 
 
ーーーーーーーーーーーーーーーーー 
 
 |   
  
  
| 
 | 
 
2023/11/5(Sun) 11:57:39|NO.100433 
>...はKの字 さんの要望通りには 
>なっていませんでしたが 
 
サクラエディタと同じ仕様にしました。 
(検索時のメッセージボックスは、エディタ側までは操作不可にはしていない) 
 
メッセージボックスがウィンドウ裏にひっくり返ったり、 
複数表示されないようにすれば問題ないのかなと思います。 
 
 |   
  
| 
 | 
 
2023/11/5(Sun) 19:10:40|NO.100435 
WebDishサービス(hspver = $3604)で気づいたのですが、 
HSP 3.7β7でも発生するようなので…。 
 
hsp3dish.jsで作成した場合、stickでマウス右ボタンを押した時の 
戻り値が、マウス左ボタンと同じ($00100)になっているようです。 
 
 |   
  
| 
 | 
 
2023/11/6(Mon) 10:50:42|NO.100438 
>hsp3dish.jsで作成した場合、stickでマウス右ボタンを押した時の 
>戻り値が、マウス左ボタンと同じ($00100)になっているようです。 
 
確かに。stick命令は基本使わないので気づきませんでした… 
 
 |   
  
| 
 | 
 
2023/11/7(Tue) 18:42:17|NO.100447 
HSP3Dish(Android) の不具合?仕様?の報告です。 
だいぶ前から気づいておりましたが、仕様だと割り切っていたものです・・・ 
以下のコードを HSP3Dish(Windows) で実行した場合は同じラインが2本描画されますが 
Android のほうでは、line命令が x1+1 の状態で描画されます。  
#include "hsp3dish.as"
x1=100: y1=100: x2=300
*main
	redraw 0
	line x1,y1,x2,y1
	boxf x1,y1+8,x2,y1+8
	redraw 1
	await 16
	goto *main
 
 
 |   
  
| 
 | 
 
2023/11/7(Tue) 19:19:49|NO.100448 
上のほうで報告しております、HSP3Dish(Android) で mmload で稀に固まるという不具合ですが 
HSP3Dishでのmmloadについて(読み込めるリソース数について)
 http://hsp.tv/play/pforum.php?mode=pastwch&num=80646
こちらのスレッドの内容と関係ありますでしょうか? 
何回も試してるのですが、やはり固まってしまうことがございます。 
この場合強制終了するしかなくなります。 
全く起きないときは起きないので、原因特定出来ていない状態ですが、 
なんとなく前後にwaitでも入れれば改善されるかも?となんとなく入れてますが 
それでもやはり固まることはあります。
 
Windows 10 環境の割り込み処理(ウィンドゥメッセージ処理)などでも 
似たような現象に遭遇したことがあるのですが 
そのときは await 80 くらいを入れてやると改善が見られました。 
たまにこういうのあるんですよね・・・
  
 |   
  
| 
 | 
 
2023/11/7(Tue) 21:48:43|NO.100449 
上記の mmload で固まる件ですが、もしかしたら mmload ではなくて 
mmplay の時点で落ちてるという可能性も浮上しています。 
例としては以下のコードです 
 
mmload "v001.mp3",0 
await 25 
mmplay 0 
 
await 25 を入れることで、今のところは固まる現象は起きてませんが、 
条件が不明なので、たまたまの可能性もあります。 
しかし await 10 にすると起きて、await が無い場合も起きます。 
何百回も繰り返し実行してみてはじめて気づきます。 
 
なお、別件の音声のロードに失敗して無音が再生されることがある件については 
変わっていません。 
 
 |   
  
| 
 | 
 
2023/11/8(Wed) 02:16:10|NO.100450 
連続ですみませんが、上記でもやっぱり固まることがあります; 
いまは以下で試してます。 
 
mmload "v001.mp3",0 
mmstop 0 
mmplay 0 
 
(HSP3Dish ではないですが、とあるDLLでこうすると改善するやつがあったなーと。) 
 
 |   
  
| 
 | 
 
2023/11/8(Wed) 16:22:31|NO.100455 
上記 HSP3Dish(Androoid)における mmload の不具合(固まる)についてですが 
mmload をループ(ウエイトは await 16)に入れて連続で実行してみたところ、 
やはり即行で固まりました。mmplay ではなくてやはり、mmload がコケるようです。 
私以外からも報告が上がってきていますので、私の環境だけというわけではないです。 
(私のテスト端末は SHV39 Android 9 になります)
 
同じIDを使いまわすような実装をしている場合、かなり致命的な状態です。
 
ウエイトを入れてやると改善が見られます。以下テスト用。  
#include "hsp3dish.as"
*main
	redraw 0
	pos 8,8: mes "c="+c
	redraw 1
	if c\5=0 { mmload "v001.mp3",0: mmplay 0 }	// 固まらない?
	;mmload "v001.mp3",0	// 固まる
	await 16
	c++
	goto *main
 
 
 |   
  
| 
 | 
 
2023/11/8(Wed) 16:53:16|NO.100456 
連続すみません、上記の補足です。 
c\5=0 この値は確証はないのですが 
読み込むファイルをランダムで変えたところ、c\5=0 でも固まります。 
その場合でも c\7=0 にしたところ固まりません。 
現在の検証結果としては、100ms以上のウエイトを入れてやると固まらない 
という感じになってます。 
ただし、これももしかしたら端末によって変わるかもしれません。。 
 
 |   
  
| 
 | 
 
2023/11/8(Wed) 20:57:51|NO.100462 
Pixel4a5g(Android 14)ですが、ウェイトは挟んでいない方法ですがこちらでも試してみました。 
結果は、c=20 や c=78 や c=318 とランダムですがでフリーズしてしまいます。
  
#include "hsp3dish.as"
*main
	redraw 0
	pos 8, 8 : mes "c=" + c
	redraw 1
	mmload "v001.mp3", 0	// 固まる
	await 16
	c++
	goto *main
 
 
 |   
  
| 
 | 
 
2023/11/8(Wed) 21:32:02|NO.100464 
しまくろねこ さん、検証ありがとうございます。 
そうなのです、これは起きるタイミングはバラバラで起きないときは何回も起きない。 
しかしいずれは確実に起きるというかなり致命的な不具合です。 
Android 4 でも起きることがわかってるので、Dishのシステム側の問題です。 
 
とりあえずウエイトを入れてやることで回避できることは判明したので 
システム側で対策されるまではこの方法でいこうと思います。 
 
「ずんだボイス」のAndroid版を作成していて気づいた次第なのだ。 
ゲームがかなり進んだ状態でフリーズなんてしたら ☆1 確実なのだw 
(この問題を検証してたから、まだリリースできてないのだ・・・) 
 
 |   
  
| 
 | 
 
2023/11/12(Sun) 15:08:05|NO.100540 
不具合報告です。 
 
#module
#deffunc dfunc double p1
	gosub *setfunc
	return
#deffunc ifunc int p2
	gosub *setfunc
	return
*setfunc
	mes""+p1
	return
#global
dfunc 2.3
 
上記スクリプトを実行すると、指定した値ではなく「0」が出力されてしまいます。 
よろしくお願いします。
  
 |   
  
| 
 | 
 
2023/11/12(Sun) 15:10:15|NO.100541 
エディタでファイルを開いた状態で別のファイルを開こうとするとファイル選択ダイアログが出ますが 
その時に現在開いているファイル名がダイアログに入力されているので、別のフォルダに移動すると 
windowsの仕様により
  
*****.hsp
このファイルは存在しません。
作成しますか?
[はい(Y)] [いいえ(N)]
 
というダイアログがいちいち開きます。 
地味に面倒なのでファイル名は空白の状態でファイル選択ダイアログを開くようにしてほしいです。
 
だたし「名前を付けて保存」の時のファイル選択ダイアログは現状通り現在開いているファイル名が入力されてる方が便利だとは思います。
  
 |   
  
| 
 | 
 
2023/11/12(Sun) 18:48:39|NO.100546 
 |   
  
| 
 | 
 
2023/11/13(Mon) 00:28:22|NO.100552 
大文字小文字違いの変数名が考慮されていないのか、 
定義への移動や参照が正常に動作しないようです。
  
aaaa = 1
mes AAAA    // この行の AAAA で実行しても、1行目が見つからない
 
 
 |   
  
  
| 
 | 
 
2023/11/14(Tue) 21:00:07|NO.100565 
それは仕様ですねー。 
私もwavはてっきりDPMでいいのかと思ってました(少なくともWindowsはそうでした)。 
Androidではサウンド系ファイルはすべて表に出さないとダメみたいですね。 
 
 |   
  
| 
 | 
 
2023/11/14(Tue) 23:09:13|NO.100566 
>NO.100540
>上記スクリプトを実行すると、指定した値ではなく「0」が出力されてしまいます。
#deffunc dfunc double p1 
と 
mes""+p1
 
は同じモジュール内のp1ですが、 
別物として取り扱われているために0を返してしまっていると思います。 
(そして、仕様だと思います)
 
以下のように名前を変更しつつ、値の転記を行うのが正攻法なのではないかと。
  
#module
#deffunc dfunc double _p1
	p1 = _p1
	gosub *setfunc
	return
#deffunc ifunc int p2
	gosub *setfunc
	return
*setfunc
	mes""+p1
	return
#global
dfunc 2.3
 
 
 |   
  
| 
 | 
 
2023/11/15(Wed) 08:35:54|NO.100568 
上記も仕様なのだ。エイリアスと変数の違いなのだ。 
 
要望でーす♪ 
 
Dish Helper にはassetsフォルダを開く機能がありますが、 
以下のファイルまたはそのフォルダまでを開く機能がほしいです。 
 
C:\and_project\(プロジェクトフォルダ)\app\src\main\java\tv\hsp\HspActivity.java 
C:\and_project\(プロジェクトフォルダ)\app\src\main\AndroidManifest.xml 
 
HspActivity.java は AdMob を利用しているユーザーは編集が必要なのと 
システムの一部を改造しているうちみたいな人はいじることがございます。 
AndroidManifest.xml も同様に編集したいことがございます。 
 
ご検討よろしくお願いいたしますなのだ。 
 
 |   
  
| 
 | 
 
2023/11/15(Wed) 20:43:54|NO.100574 
TOMATOさん、ありがとうございます 
 
#module
#deffunc ifunc int p2
	gosub *setfunc
	return
#deffunc dfunc double p1
	gosub *setfunc
	return
*setfunc
	mes""+p1
	return
#global
dfunc 2.3
 
上記のように書くと上手く表示されるので、別物として扱ってるわけではなさそうです。 
多分上から関数を順番に読み込んで、引数を上書きしてるんじゃないかと
  
#module
#deffunc dfunc double p1
	gosub *setfunc
	return
#deffunc ifunc int p2
	gosub *setfunc
	return
*setfunc
	mes""+p1+", "+p2
	return
#global
ifunc 1
dfunc 2.3
 
と、
  
#module
#deffunc ifunc int p2
	gosub *setfunc
	return
#deffunc dfunc double p1
	gosub *setfunc
	return
*setfunc
	mes""+p1+", "+p2
	return
#global
ifunc 1
dfunc 2.3
 
は#deffuncの順番が異なるだけですが、それぞれ出力結果が異なります。 
これは仕様というにはあまりに杜撰なんじゃないかと思い、報告しました。
  
 |   
  
| 
 | 
 
2023/11/15(Wed) 22:13:48|NO.100577 
> TOMATOさん 
 
Assetsフォルダにwavファイルを入れて使用していたのですっかり忘れていました。 
wavファイルをDPMに入れるのはNGなのは仕様ですね。 
お恥ずかしい。 
 
>サウンドは、拡張子が「.wav」「.mp3」「.ogg」「.aac」のファイルに対応しています。 .aacや.oggについては、すべてのフォーマットをサポートしていないので注意してください。 「.wav」「.mp3」については、Windows版を含めすべてのhsp3dishで幅広くサポートされている形式です。 
>サウンドのファイルは必ずプロジェクトディレクトリ内のassetsフォルダに入れるようにしてください。data.dpmに含めるとOSのシステム側から読み取ることができません。 
 
 |   
  
  
| 
 | 
 
2023/11/16(Thu) 16:58:21|NO.100582 
>inovia さん 
 
すごいのだGJなのだ。 
うちも同期できてないような挙動だと思ってはいたのですが 
どこで処理してるのかしらなかったので、これでわかりました。 
他にもちょくちょくあるんです・・ウエイトいれないとコケる部分。 
mmload については試して結果を報告いたします。 
 
 |   
  
  
| 
 | 
 
2023/11/16(Thu) 21:56:30|NO.100585 
inovia さん、修正ありがとうございます。 
これから試そうとしているところだったので、丁度よかったです。 
潜在的にそういう何万回とか時間をかけないと発現しない不具合が 
ちょくちょくありますねー。 
 
後ほど結果を報告にきます。 
 
 |   
  
| 
 | 
 
2023/11/16(Thu) 22:09:33|NO.100586 
inovia さんの mmman.cpp の修正、試しました。 
60FPSループで毎回実行するようにして試しましたが、全く固まらなくなってます。 
たまにロードに失敗して無音になってしまう件についても引き続きテストします。 
本当にありがとうございます。次のバージョンに適用でお願いいたします。 
 
 |   
  
| 
 | 
 
2023/11/16(Thu) 22:47:11|NO.100588 
上記 HSP3Dish(Android) の mmload でたまにロードに失敗?して無音になってしまう件ですが 
残念ながらこちらはまだあります。 
しかし inovia さんの修正によりフリーズだけはなくなったので大きな前進です。 
とりあえず暫定的に入れていたウエイト処理は外せそうなので、助かりました・・・ 
 
 |   
  
| 
 | 
 
2023/11/16(Thu) 23:08:05|NO.100591 
> 暫定ウエイトを外してテストしたら固まることがありました。なぜだー
事象が再現できる最低限のソースなどがあると、 
Android Studio上でデバッグ検証できるので非常に助かります。
 
あまり公にしたくないというのであれば、
 https://hsp.moe/
内の Twitter DM、 マストドン、 Bulesky、メールフォーム 等から連絡していただいても大丈夫です。
  
 |   
  
| 
 | 
 
2023/11/16(Thu) 23:09:52|NO.100592 
!? なんどもすみませんが、 
暫定ウエイトを外してテストしたら固まることがありました。なぜだー 
ループで毎回では固まらないのですが、たまに(数秒に1回とか)実行される 
ケースで固まりました。意味わからん・・・ 
 
心当たりがあるのは、他のIDのサウンドが mmplay で再生された直後に 
await を挟まずに mmload しているというところです。 
ここを試しに mmplay → await 16 → mmload → mmplay 
に変更して少し時間をかけて検証してみたいと思います。 
 
 |   
  
| 
 | 
 
2023/11/16(Thu) 23:11:40|NO.100593 
>inovia さん 
 
すみません、あまり連投になってしまってもアレだなと思って 
一旦削除して追記しました。 
心当たりがあるとしたら上記に書いた通りで、 
他のIDの mmplay と連続で実行している部分があるということです。 
 
 |   
  
| 
 | 
 
2023/11/17(Fri) 00:08:29|NO.100595 
>inovia さん 
 
不具合を再現できるテストコードができたので、ツイッター(X)のDMから 
お送りしたいと思いますので、検証頂ければ幸いです。 
 
固まることがある件に加えて、途中から音声がでなくなる不具合まで加わってます; 
どうやら mmload するファイルをランダムで切り替えると起こるようです。 
 
 |   
  
| 
 | 
 
2023/11/17(Fri) 01:32:10|NO.100597 
>途中から音声がでなくなる不具合まで加わってます; 
こちらはテストコードの不備でした。お騒がせしました。 
 
 |   
  
| 
 | 
 
2023/12/6(Wed) 11:59:17|NO.100754 
https://hsp.tv/play/pforum.php?mode=all&num=100487
上記スレでも書きましたが、 
HSP3Dish(android)におけるマルチウィンドゥの対応について 
AndroidManifest.xml に 
android:resizeableActivity="false" 
を追加して無効にして頂いたほうがよいと思いました。
 
現状ではユーザーがマルチウィンドゥでアプリを使用しようとした場合に 
確実に不具合が起きる状態だと思われます。
  
 |   
  
| 
 | 
 
2023/12/9(Sat) 09:18:39|NO.100782 
「HSPエディタ」の不具合? コメントアウトがおかしいです。 
 
HSPエディタで、スクリプト中に [//] [;] [/* */] を使って書いていると、 
コメントアウトの色に変わらなかったり、逆に[//]等を外したのに、 
元の色にならなかったり。 
また、スクリプトを実行した時に、コメントアウトにしているのに、 
そこを読み取って、エラーになったりすることがあります。 
私だけのことでしょうか。 
以前のエディタでも、時々ありました。 
 
 |   
  
| 
 | 
 
2023/12/9(Sat) 16:52:00|NO.100786 
要望ですが、hsp3dishでUTF-8で記述されたスクリプトをコンパイルできるようにしてほしいです。 
スマホ版のアプリはUTF-8なので、コンパイルできればいいかなと思っています。
 
Unicode動作確認のため、システムロケールを英語にしていますが、文字が表示されないようです。
  
#include "hsp3dish.as"
font "meiryo",16
mes "あいうえお"
 
システムロケールを英語にした状態で、dish_p_helper.exeを起動すると文字化けしています。
  
 |   
  
  
  
| 
 | 
 
2023/12/10(Sun) 16:30:34|NO.100799 
> ゆっくりXPさん 
 
> 自分が気になったのは、言語ごとにアプリ名を指定できるかですね。 
> アプリ名(中国語)とかアプリ名(韓国語)とかですが…。 
 
すいません。Dish P Helperは、デフォルトの英語と日本語しか対応してないです。 
現状では言語ごとにアプリ名を指定するには手作業でやるしかないですね。 
 
 |   
  
| 
 | 
 
2023/12/10(Sun) 18:19:20|NO.100800 
スクリーンセーバーを作ったのですがどうもアイコンを変更する事ができません。 
3.6でも同様にアイコンを変更する事ができませんでした。 
3.6ではPowerShellが開きエラー表示されます。 
3.7ではエラーは表示されませんが、やはりアイコンは変更されませんでした。 
 
 |   
  
| 
 | 
 
2023/12/11(Mon) 18:01:18|NO.100821 
NO.100355で報告した「HGIMG4のgpnodeinfoの不具合」のせいで、自分の作品の開発が一ヶ月以上、止まっています。 
この不具合のせいで、1つのメッシュ(オブジェクト)に複数のマテリアルが設定されている場合、最初の1つ以外のマテリアルIDが取得できません。 
マテリアルIDを取得できないということは、シェーダーに対してHSPスクリプト上からuniformを操作できないということですから、とても深刻な不具合だと思います。 
 
レスに対しての反応がないので、これが自分の環境だけで起こる不具合なのか、そうでないのかも分かりません。 
もし「自分の環境ではこの不具合は起きない」とか、この不具合を回避する方法があるならば、アドバイス下さい。 
 
 |   
  
| 
 | 
 
2023/12/12(Tue) 10:44:13|NO.100831 
>>youdaiさん
https://hsp.tv/play/pforum.php?mode=all&num=100378
ここから少し改変しましたが、tamane2モデルの「atama」「body」というマテリアルをid_mat,id_mat2としてマテリアルファイルを取得できているように思いますが、 
之とは違う問題でしょうか?「.material」の定義では「atama」「body」という文字が出てこないので、自分も実は混乱しています。モデラ―ででメッシュ名を知らないと取得できないですよね。
 
※.materialファイルのTEXTURE_REPEAT;TEXTURE_OFFSETをそれぞれのマテリアルに追加しないと動きません
   
technique
    {
        pass 
        {
            defines = SKINNING;SKINNING_JOINT_COUNT 12;VERTEX_COLOR;TEXTURE_REPEAT;TEXTURE_OFFSET
        }
    }
 
 
;HSP ver3.7b7で検証
#include "hgimg4.as"
chdir dir_exe+"\\sample\\hgimg4"
	gpreset
	setcls CLSMODE_SOLID, $000000		; 画面クリア設定
	;====テクスチャマテリアル==============
	gptexmat id_texmat, "res/ball64.png",GPOBJ_MATOPT_UVOFFSET|GPOBJ_MATOPT_UVREPEAT	; テクスチャマテリアル作成
	;====================================
	
	;gpplate id_model, 10,10,-1, id_texmat		;描画先モデル+テクスチャマテリアルを設定
	gpbox   	id_box,10,-1,id_texmat
	
	gpload  	id_gpload,"res/tamane2"
	gpnodeinfo 	id_mat,id_gpload,GPNODEINFO_MATERIAL,"atama"
	gpnodeinfo 	id_mat2,id_gpload,GPNODEINFO_MATERIAL,"body"
	gpmatprmt 	id_mat,"u_diffuseTexture","res/ball64.png",GPOBJ_MATOPT_UVOFFSET|GPOBJ_MATOPT_UVREPEAT
	
	setscale 	id_gpload,0.05,0.05,0.05
	setpos 		id_gpload,0,0,60
	
	gpbox 	id_box2,100						;透過確認用ダミーモデル
	setpos  id_box2,0,0,-200
	offsetx = 0.0f							;UVオフセット初期化
	offsety = 0.0f
	timer	= 0.0f							;タイマー初期化
repeat
	redraw 0	    ; 描画開始
		offsetx =  1f/8*int(timer\8)      ;UVは下から
		offsety = -1f/8*int(timer/8)-1f/8
		//boxモデルにUVセット⇒機能する
		gpmatprm2 id_box, "u_textureOffset", offsetx   , offsety		;UVオフセットのシェーダー設定
		gpmatprm2 id_box, "u_textureRepeat", 1.0f/8.0f , 1.0f/8.0f		;UVリピートのシェーダー設定
		//tamane2マテリアルにUVセット?機能していない?
		gpmatprm2 id_mat, "u_textureOffset", offsetx   , offsety		;UVオフセットのシェーダー設定
		gpmatprm2 id_mat, "u_textureRepeat", 1.0f/8.0f , 1.0f/8.0f		;UVリピートのシェーダー設定
		gpmatprm2 id_mat2, "u_textureOffset", offsetx   , offsety		;UVオフセットのシェーダー設定
		gpmatprm2 id_mat2, "u_textureRepeat", 1.0f/8.0f , 1.0f/8.0f		;UVリピートのシェーダー設定
		
		addang 		id_gpload ,0,0.05,0	;tamaneモデルを回転
		addang 		id_box ,0,0.05,0	;ボックスモデルを回転
		addang 		id_box2,0,0.01,0	;ダミーボックスモデルを回転
		
		gpdraw						;シーンの描画
		
		timer+=0.1f					;タイマー加算
		pos 0,0
		color 255,255,255
		mes "1"+id_mat
		mes "2"+id_mat2
	redraw 1		; 描画終了
	await 1000/60		; 待ち時間
loop
 
 
 
  |    |   
  
| 
 | 
 
2023/12/12(Tue) 10:47:52|NO.100832 
あ、ちょっと違う話かな。MATNUMは検証してないわ。ごめんね 
 
 |   
  
| 
 | 
 
2023/12/12(Tue) 14:47:36|NO.100833 
>buhioさん
>ここから少し改変しましたが、tamane2モデルの「atama」「body」というマテリアルをid_mat,id_mat2としてマテリアルファイルを取得できているように思いますが、
>之とは違う問題でしょうか?「.material」の定義では「atama」「body」という文字が出てこないので、自分も実は混乱しています。モデラ―ででメッシュ名を知らないと取得できないですよね。
>あ、ちょっと違う話かな。MATNUMは検証してないわ。ごめんね
検証ありがとうございます。
 
GPNODEINFO_MATERIALはマテリアルIDを取得するための指定で、マニュアルによるとGPNODEINFO_MATERIAL+1、GPNODEINFO_MATERIAL+2というように指定するとメッシュの中にある複数のマテリアルIDを取得できると書いてあるのですが、不具合なのか現在取得できません。 
ちなみに最初の1つだけのマテリアルIDのみは現在でも取得できるようです。1メッシュの中に複数のマテリアルが設定されている場合のみ、1つのメッシュの中の2つ目以降のマテリアルIDが取得できないようです。
 
例
  
gpload objid, "model", "", ""
	gpnodeinfo etc, objid, GPNODEINFO_MATERIAL, "body" : dialog str(etc)
	gpnodeinfo etc, objid, GPNODEINFO_MATERIAL+1, "body" : dialog str(etc)
	gpnodeinfo etc, objid, GPNODEINFO_MATERIAL+2, "body" : dialog str(etc)
	gpnodeinfo etc, objid, GPNODEINFO_MATERIAL+3, "body" : dialog str(etc)
 
この例の場合、bodyのメッシュの中にはマテリアルが4つ設定してあると思ってください。 
bodyという名前はメッシュ(オブジェクト)の名前のことで、上記の例ではbodyの中のマテリアルIDを合計4つ取得しようとしています。 
メッシュの名前は、製作者によって異なります。tamaneはおそらく、違う名前のメッシュなのではないでしょうか? 
この例の場合、GPNODEINFO_MATERIAL+1、GPNODEINFO_MATERIAL+2、GPNODEINFO_MATERIAL+3のIDは不具合で0として返ってきてしまっています。
 
buhioさんの上記の例では1メッシュにつき1つだけマテリアルIDを取得しているだけ(atamaに設定されているマテリアルIDが1つ、bodyに設定されているマテリアルIDが1つ)のようですから、1つのメッシュの中の複数のマテリアルIDを取得する例にはなっていないようです。
  
 
  |    |   
  
| 
 | 
 
2023/12/13(Wed) 20:47:56|NO.100842 
>youdai さん
>●gpmatprmf命令のエラーについて
対応が遅くなり申し訳ございません。 
次のバージョンでfilter設定をlinearにすると表示されるエラーは修正致します 
gpmatprmf命令は、Sampler設定を簡易的に設定するものですが、テクスチャパスを変更するとSampler設定そのものが置き換わるため、pathだけを変更することはできません。 
テクスチャファイルを変更する場合は、gpmatprmt命令をお使い頂ければと思います。
 >●HGIMG4のgpnodeinfoの不具合
1つのメッシュに複数のマテリアルが設定されている場合の、gpnodeinfo命令によるマテリアル取得は確かに動作していませんでした。 
次のバージョンで取得できるよう修正させて頂きます。
 
現状で修正されたテストバージョンは、以下のページで「異なるフォーマットでダウンロード:Zip 書庫」からダウンロードしてご確認頂けます。
 https://dev.onionsoft.net/trac/openhsp/browser/trunk/package/win32
>ゆっくりXP さん
ご要望ありがとうございます。 
oncmd命令で一部の割り込みだけをON/OFFできるよう、次のバージョンでは対応したいと思います。 
hsp3dishのUTF-8対応は、今後どこかのタイミングで切り替える必要があると考えています。 
ただ、過去のスクリプトと互換性がなくなる(実行結果が変わる)可能性があるので、きちんと区別できる形にする予定です。
 >しまくろねこ(本物) さん
ご指摘ありがとうございます。 
HSP3Dishのmousewによるホイールの取得は、まだandroid版では対応していない機能になっていました。 
今後のバージョンで対応できるよう検討させて頂きます。
 >窓月らら さん
ご報告とご提案ありがとうございます。 
こちらで対応できるものについては、次のバージョンで反映させたいと思います。 
mmload/mmplayの不具合については、inoviaさんが提示されたものを反映させて頂きます。
 >inovia さん
ご報告と対応ありがとうございます。 
OpenHSPのSubversionでguestアクセスができない件は、修正させて頂きました。 
ブラウザからのzipファイルでのダウンロードは、trunkの直下だとできないですが、hsp3など個別のフォルダでは可能ではないでしょうか。 
trunkをまとめてダウンロードする場合は、かなり大きなサイズになってしまうと思われます。 
スクリプトエディタの検索ダイアログが複数出てしまう問題と、ファイル選択ダイアログ修正もソースコードのご提示ありがとうございます。 
こちらを次回のバージョンで反映させたいと思います。 
大文字小文字違いの変数名については、今後修正していきたいと思います。
 >KAW さん
ご報告ありがとうございます。 
webブラウザ上でのクリックは、スマホのタッチと同様にマウスのボタンに関係なく左ボタンと同じ($00100)扱いになっています。 
今後のバージョンで右クリックへの対応を検討させて頂きます。
 >雪月夜 さん
ご報告ありがとうございます。 
#deffuncで指定されたパラメーター(仮引数)の有効範囲(スコープ)が原因でこのような実行結果になります。 
基本的に、パラメーターのスコープはその範囲内(別な命令が定義されるまで)のみ有効になります。 
今後、より厳格なエラー検出を行っていきたいと思いますが、現状はこのような仕様とお考えください。
 >DIET さん
HSPスクリプトエディタについてのご報告ありがとうございます。 
inoviaさんに提示頂いた修正を次回に反映させたいと思います。
 >アキアキノヒロロ さん
ご報告ありがとうございます。 
スクリプトエディタの色付けについては、Footy2ライブラリの限界(?)から制約があるため、完全に対応できていない部分があります。 
ただ、色付けとHSP実行時のエラーは別な扱いですので、エラーが発生している場合は、コメントになっていないと思われます。
  
 
  |    |   
  
| 
 | 
 
2023/12/15(Fri) 15:21:35|NO.100845 
>おにたまさん 
 
テストバージョンでgpnodeinfoで複数のマテリアルIDを取得できることを確認しました。 
対応ありがとうございました! 
 
 |   
  
| 
 | 
 
2023/12/15(Fri) 19:00:33|NO.100849 
おにたまさん、ご返答有難うございます。 
エディタの色付けについては、了解いたしました。 
ただ、エラー箇所とされるところは、どうみてもコメントアウトになっています。 
そこを読み取って、エラーになっています。
 
今回のコンテストに応募した更新版で利用させて頂いた、hashikemuさんの開発されたものです。 
そのコメントアウトの箇所は、ちょっと長いですが、次のものです。
  
	; #define global quat2rotMat(%1,%2) \
	; 	%2(0,0)=1.0 - %1(1)*%1(1)*2.0 - %1(2)*%1(2)*2.0		: %2(1,0)=%1(0)*%1(1)*2.0 + %1(2)*%1(3)*2.0			: %2(2,0)=%1(0)*%1(2)*2.0 - %1(1)*%1(3)*2.0 :\
	; 	%2(0,1)=%1(0)*%1(1)*2.0 - %1(2)*%1(3)*2.0			: %2(1,1)=1.0 - %1(0)*%1(0)*2.0 - %1(2)*%1(2)*2.0	: %2(2,1)=%1(1)*%1(2)*2.0 + %1(0)*%1(3)*2.0 :\
	; 	%2(0,2)=%1(0)*%1(2)*2.0 + %1(1)*%1(3)*2.0			: %2(1,2)=%1(1)*%1(2)*2.0 - %1(0)*%1(3)*2.0			: %2(2,2)=1.0 - %1(0)*%1(0)*2.0 - %1(1)*%1(1)*2.0
 
どう見ても、各行の頭に「;」があって、コメントアウトになるはずですが、
 
#HSP script preprocessor ver3.7beta5 / onion software 1997-2023(c) 
#Use file [hspdef.as] 
#Error:ctypeマクロの直後には、丸括弧でくくられた引数リストが必要です in line 452 [mod_orgel.hsp] 
#重大なエラーが検出されています
 
となります。 
ここを削除すれば、正常に動作します。 
また、不思議なことに、削除したあと、また元に戻してみると、正常に動作することがあります。 
さらに、コメントアウトの最初の行の最後にある「 :\」だけを削除しても動作します。
  
a=1+1
	;コメントアウト箇所をそのまま挿入
	;〜
mes a
stop
 
のようにしても、同様な現象、エラーになったり、正常に動作したりします。
 
私のパソコンだけのことでしょうか。
 
Windows 10 Home  バージョン 1909 
プロセッサ    Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz 2.40GHz 
実装 RAM      8.00 GB 
システム      64 ビット オペレーティング システム、x64 ベース プロセッサ
  
 
  |    |   
  
| 
 | 
 
2023/12/15(Fri) 19:05:05|NO.100850 
なお、上のコメントアウト箇所の色分けは、しっかりコメントアウトの色になっています。 
 
 |   
  
| 
 | 
 
2023/12/15(Fri) 22:20:52|NO.100851 
>>NO.100849 
3.7β7の「hsed3.exe」(通常のエディタ)にて、コメント4行を実行してみましたが、 
こちらの環境ではエラーは出ず、普通に起動しました。 
(当然コメントのみのコードなのでウィンドウが開いただけですが) 
 
で、なんとなく3.6の「hsed3.exe」にて同じコメント4行を実行してみたところ、 
下記の通りエラーが発生しました。 
 
#HSP script preprocessor ver3.6 / onion software 1997-2021(c) 
#Use file [hspdef.as] 
#Error:ctypeマクロの直後には、丸括弧でくくられた引数リストが必要です in line 3 [???] 
#重大なエラーが検出されています 
 
上記はF5で実行した結果のエラーですが、エディタにある「HSP実行」ボタンでは 
下記のエラーが発生しました。 
 
#HSP script preprocessor ver3.6 / onion software 1997-2021(c) 
#Use file [hspdef.as] 
#HSP code generator ver3.6 / onion software 1997-2021(c) 
#未初期化の変数があります(sys) 
#未初期化の変数があります(func) 
#未初期化の変数があります(fu) 
???(5) : error 1 : 解釈できない文字コードです (5行目) 
--> gzoom@hsp	,sys|fu 
 
3.7βでは上述の通りエラーは出てないのですが何か参考になれば... 
 
 |   
  
| 
 | 
 
2023/12/18(Mon) 07:17:47|NO.100875 
不具合と思われるので、報告します。 
 
AdMobのインタースティシャル広告が、最初の1回しか表示できません。 
 
プログラム内で初めてdevcontrol "AdMob",16を実行したときは、インタースティシャル広告が 
表示されます。 
 
しかし、インタースティシャル広告の×をタッチして閉じ、ゲームに戻ってきた後、 
2回目以降 devcontrol "AdMob",16 を実行しても、表示されません。 
 
HSP3.7β6を使用しており、HspActiveity.javaには、AdMobのテスト用ユニットIDを記述しています。 
1回は表示されるので、ユニットIDの書き方には問題はなさそうです。 
 
 |   
  
| 
 | 
 
2023/12/20(Wed) 13:28:12|NO.100890 
以下で end の部分でエラーがでます。  
stop
#deffunc exit onexit
	end
 
 
 |   
  
| 
 | 
 
2023/12/20(Wed) 13:31:17|NO.100891 
おや、上記 return だとエラーになりませんが、仕様変わったんですか? 
end だと Error 0 がでるのですが・・・ 
 
 |   
  
| 
 | 
 
2023/12/23(Sat) 16:22:05|NO.100914 
#vardouble命令を使ってみました。モジュール空間内だけに適用したかったのですが、モジュール外に適用されているようです。 
 
#module
#vardouble a
#deffunc test
	return
#global
a = 1
test
 
なお、最終行のtestを実行しなければ、なぜかエラーは起きません。
 
回避策としてモジュール名を指定すれば、モジュール空間内の変数に適用されるようになります。 
しかし、モジュール内で使用する場合の注意点としてマニュアルに書くか、モジュール名を記述しないで済むような実装に変えるか、どちらかの対応が必要かなと思います。
  
#module mtest
#vardouble a@mtest
#deffunc test
	return
#global
a = 1
test
 
 
 |   
  
| 
 | 
 
2023/12/25(Mon) 17:27:26|NO.100924 
コメントアウトのエラー(NO.100849)の件についてですが、『ver3.7beta5』でのことでした。 
勘違いしていました。 
『ver3.7beta7』では、名無しさんの仰る通り、エラーにならず、正常に起動いたします。 
申し訳ありませんでした。 
 
 |   
  
| 
 | 
 
2024/1/21(Sun) 18:10:51|NO.101111 
es_fadeで仕様かバグか解らないものがありましたのでご報告いたします。 
 
#include "hsp3dish.as"
es_ini
celload "tamane16.png",2
es_size 64,64:es_pat 0,0,0,0,2:
gsel 0
repeat
	redraw 0
	if cnt=0	:es_new new:es_set new,0,0,0:mozi="es_new new:es_set new,0,0,0"
	if cnt=300	:es_fade new,10,30:mozi="es_fade new,10,30\nes_fadeのでフェードアウトを行っても完全には消えない。"
	if cnt=600	:es_fade new,9,120:mozi="es_fade new,9,120\nその後フェードイン等の効果を与えても反映されず、\n時限消滅効果だけが起動する"
	if cnt=900	:es_fade new,11,30:mozi="また、消滅したスプライトにes_fadeを使うと復活し、"
	if cnt=1200	:es_apos 0,1,0,600:mozi="es_apos 0,1,0,600\n復活したスプライトはes_apos等の自動移動命令が効かない"
	rgbcolor $ffffff:boxf
	rgbcolor $000000:pos 0,64:mes mozi
	es_draw
	redraw 1
	await 1000/60
loop
 
フェードアウトしたスプライトにes_fadeで効果を与えるには再度es_setをかける他無いのでしょうか。
 
あと画面外に飛ばし消滅させたスプライトがes_fadeでこっそり復活してしまい、 
どんどん使用中スプライトが溜まっていく現象がおきてしまいました。 
後半プログラムの書き方が悪いせいで気が付いた現象なのですが、 
エラーダイアログが出るようにしていただければと思います。
  
 |   
  
| 
 | 
 
2024/1/26(Fri) 17:54:50|NO.101149 
HGIMG4のカスタム3Dメッシュについてのリクエストです。 
 
・頂点カラー登録に対応してほしい 
・複数のUV登録に対応してほしい 
・頂点ウェイト登録に対応してほしい(できれば複数の頂点ウェイトを登録したい) 
・アーマチュアのボーン登録に対応してほしい 
・アーマチュア制御に対応してほしい(できれば、簡易的に制御できるアーマチュアの仕組みがほしい) 
 
カスタム3Dメッシュについては、できればGPBのモデルと同じく、HGIMG4の全機能に対応してほしいです。 
フルコントロールができるようになれば、このカスタム3Dメッシュはとても使い勝手の良いシステムになれる可能性があると思います。 
 
 |   
  
  
| 
 | 
 
2024/2/7(Wed) 19:56:48|NO.101172 
HSP3.7beta7test版のHGIMG4の不具合の報告をします。 
●colored.fragのVERTEX_COLOR関係に不具合があります
 
HGIMG4のshaderのcolored.fragに不具合があります。 
definedのVERTEX_COLORがtrueだと光源を設定した時にGPBモデルが表示されません。 
以下のように修正すれば、表示されます。
 
ただし、この場合の.materialには、仮に頂点カラーのみのGPBモデルだとしてもu_diffuseColorを設定する必要があります。
 
HGIMG4の現在の仕様に合わせた修正
  
	//HGIMG4の現在の仕様に合わせた修正
	
	//colored.frag の111行目辺り
	#if defined(LIGHTING)
    #if defined(VERTEX_COLOR)
	_baseColor = vec4(v_color, u_diffuseColor.a);//_baseColor.rgb = v_color;
    #else
    _baseColor = u_diffuseColor;
	#endif
    
    gl_FragColor.a = _baseColor.a;
    gl_FragColor.rgb = getLitPixel();
    
    #else
    
    #if defined(VERTEX_COLOR)
    gl_FragColor = vec4(v_color, u_diffuseColor.a);
    #else
    gl_FragColor = u_diffuseColor;
    #endif
    
    #endif
 
アレンジを加えた修正
  
	//アレンジを加えた修正
	//colored.frag の111行目辺り
	#if defined(LIGHTING)
        #if defined(VERTEX_COLOR)
	        _baseColor = vec4(v_color.rgb * u_diffuseColor.rgb, u_diffuseColor.a);//_baseColor.rgb = v_color;
        #else
            _baseColor = u_diffuseColor;
	    #endif
    
        gl_FragColor.a = _baseColor.a;
        gl_FragColor.rgb = getLitPixel();
    #else
    
        #if defined(VERTEX_COLOR)
	        gl_FragColor = vec4(v_color.rgb * u_diffuseColor.rgb, u_diffuseColor.a);
        #else
            gl_FragColor = u_diffuseColor;
        #endif
    
    #endif
 
coloredの頂点カラーの扱いに関しては、上記のアレンジのようにu_diffuseColorを乗算した方が簡単にHSP3スクリプト上で色変えが可能ですからユーザーには扱いやすいかなと思います。
  
 
  |    |   
  
| 
 | 
 
2024/2/10(Sat) 00:45:51|NO.101195 
>CORO3 さん 
 
ご報告ありがとうございます。 
AdMobのインタースティシャル広告について、確かにうまく動作していませんでした。 
色々と動作を見直しましたので、次回のバージョンで修正させて頂きます。 
 
>窓月らら さん 
 
ご報告ありがとうございます。 
onexitの付いたクリーンアップ命令は、returnで終了して頂くのが望ましい記述です。 
endで終了して他のクリーンアップが実行されずに終了するのも変ですし、 
エラーが出ずにreturnと同様に処理されるのも、あまり良くない気がします。 
ただ、エラー0となって原因がわからない点などは今後修正していきたいと考えています。 
 
>GENKI さん 
 
ご報告ありがとうございます。 
確かにモジュール内での定義に対応していませんでした。 
次回のバージョンで修正させて頂きます。 
 
>kの字 さん 
 
ご報告ありがとうございます。 
現在の仕様としましては、 
フェードアウト->現在のα値から0に切り替わる 
フェードイン->現在のα値を目標に0から切り替わる 
という動作になります。 
無効なスプライトにes_aposやes_fadeが指定できていたのは不具合ですので、今後修正させて頂きます。 
また、フェードアウトで完全に消えない件も修正させて頂きます。 
 
>youdai さん 
 
ご報告ありがとうございます。 
VERTEX_COLOR指定時のcolored.fragは次回の更新で修正させて頂きます。 
カスタム3Dメッシュについてのリクエストもありがとうございます。 
頂点カラーやUVは今後対応していきたいところです。 
 
 |   
  
| 
 | 
 
2024/2/12(Mon) 01:22:35|NO.101201 
HGIMG4の要望です。 
 
getcoli命令で、 
 
[HGIMG4プログラミングガイド]には、     
 
3Dモデルノードは、 
標準ではモデル全体を覆う 
スフィア(球体)をコリジョンとして作成します。 
 
と書かれていますが、 
 
この、コリジョン(モデル全体を覆うスフィア(球体))自体を 
簡易なワイヤーフレームなんかで、 
表示可能にできると、 
視覚的にもプログラミングしやすくなると思います。 
 
グループごとの色分けや座標指定などできれば、容易にコリジョンの状態が把握でき、 
コリジョン調整の手間削減や、 
わざわざ別にコリジョン用の簡易モデルを設けることも 
いらなくなるかな?これを使えばいいから? 
 
 |   
  
| 
 | 
 
2024/2/12(Mon) 21:12:32|NO.101204 
お世話になっております、Drakujiです。 
Linux(Raspbian)上のゲーム制作でフルスクリーンの書き方について、 
bgscr命令で実行環境の解像度で実行すると、描画されない不都合が発生し、 
view_test.hspにていくつか書き方を検証しました。 
(環境はLinux Raspbian bullseye x86で確認)
  
bgscr 0,ginfo_dispx,ginfo_dispy,256以外 //【問題】動作はしているようですが、実行時の解像度を指定すると描画されません
bgscr 0,ginfo_dispx,ginfo_dispy - 1,256以外 //実行環境の解像度からxでもyでも1ドット足すか引くかすると、正常に描画できます
 
現状screenもしくはbgscr命令で第4引数を256にすればフルスクリーンにできますので、 
bgscrで動的に実行環境の解像度をもとにウィンドウ枠のない画面を定義する方法で、 
フルスクリーンの機能を実装する場合は、第4引数を256にすることでこの問題は回避できます。
  
screen 0,ginfo_dispx,ginfo_dispy,256 //フルスクリーンのときはscreen命令で第4引数を256にすると対応は可能
bgscr 0,ginfo_dispx,ginfo_dispy,256 //ウィンドウ枠を表示しない画面の初期化(これも問題なく描画できる)
 
調査よろしくお願いいたします。
  
 |   
  
| 
 | 
 
2024/2/14(Wed) 11:05:57|NO.101212 
>うし さん 
 
>この、コリジョン(モデル全体を覆うスフィア(球体))自体を 
>簡易なワイヤーフレームなんかで、 
>表示可能にできると、 
>視覚的にもプログラミングしやすくなると思います。 
 
球状のGPBモデルを作成して、それをワイヤーフレーム表示すればいいのではないでしょうか? 
例えば、半径1.0mの球状モデルを作成すれば、ノードのスケール1.0と1対1の大きさになります。(スケール1.0が半径1.0ということになるということ) 
つまり、当たり判定が半径1.0mなら、スケール1.0の球状モデルをワイヤーフレーム表示すればいいわけです。 
当たり判定が半径2.0mの場合なら、球状モデルのノードのスケールを2.0にすればいいわけです。 
 
>グループごとの色分けや座標指定などできれば、容易にコリジョンの状態が把握でき、 
>コリジョン調整の手間削減や、 
>わざわざ別にコリジョン用の簡易モデルを設けることも 
>いらなくなるかな?これを使えばいいから? 
 
コリジョン用のモデルは必要です。コリジョン判定というのは「当たり判定」という意味でもあります。 
コリジョン用モデルを見た目用のモデルと別で作る(作った方がいい)理由は、コリジョン判定というのはアルゴリズム的に負荷が高く、見た目用のポリゴンより簡易的なローポリで作らないと動作パフォーマンスに大きな悪影響を与えるからです。 
 
 |   
  
| 
 | 
 
2024/2/14(Wed) 12:40:12|NO.101213 
●HGIMG4の上記について 
 参考ですが、物理設定を行うと、視覚的に確認できます。 
オプションを指定しなければ、球状のモデルとして認識されて表示されます。 
ただ、youdaiさんの言う通り、球状のgpbモデルを作成するほうが管理しやすいかなと思います。
  
gpdraw ,GPDRAW_OPT_DEBUG_PHY ;物理デバッグオプションによる確認
 
https://sites.google.com/view/buhio/%E3%83%9B%E3%83%BC%E3%83%A0/hgimg4
手前味噌ですが、前作2023コンテスト作品No.2365では、上記の物理確認オプションがゲーム内で表示をONにできるので、見ていただければ幸いです。
 
●あらためてお願いですが、getsize命令が欲しいです。やはり難しいのかな、、、
 
 3Dモデルのなにかしらサイズが取得できると、すべてのモデルのスケールを統一的に管理できると思うのですが、 
 現状はモデラ―でサイズを確認しながらスケール値で調整している状態です。
 
 あるモデルのサイズをゲットできれば、その値を1として他のモデルのスケールを決められると思うのですが、 
 あんまり需要無いのかな、、、初版HGIMGの時代からずっと欲しかった、、
  
 |   
  
| 
 | 
 
2024/2/14(Wed) 13:26:31|NO.101214 
>buhio さん 
 
>3Dモデルのなにかしらサイズが取得できると、すべてのモデルのスケールを統一的に管理できると思うのですが、 
>現状はモデラ―でサイズを確認しながらスケール値で調整している状態です。 
 
>あるモデルのサイズをゲットできれば、その値を1として他のモデルのスケールを決められると思うのですが、 
>あんまり需要無いのかな、、、初版HGIMGの時代からずっと欲しかった、、 
 
実は、3Dモデルには統一された「オブジェクトのサイズ」に関するスケール値はないのです。 
スケール値どころか、右手系や左手系など座標系すらバラバラなのです。 
例えば、他のツールから出力したobjファイルをBlenderで読み込むと、作ったツールのそれとスケールが全く違うことがあるのはそういう理由からです。 
仮にBlenderで全長1.0mと表示されていても、それはBlender上でだけなのです。 
 
自分の場合は、オブジェクトのサイズの基準はBlenderのそれに合わせています。 
バラバラのツールで作成したモデルでも、最終的にBlenderを通してFBX出力すればその過程でBlenderのスケール感に合わせられますから、スケール感の統一が可能です。 
 
 |   
  
| 
 | 
 
2024/2/14(Wed) 14:11:52|NO.101215 
>>youdaiさん 
 
 はい。それはそうだろうと承知しております。 
しかし、例えばメタセコイアで大きさ1のボックスをgpbに変換すると、HGIMG4でも大きさ1のgpboxと同じ大きさで表示されます。 
blenderを通しても同じだったと記憶しています。 
 確かに作成したモデルによって、サイズが10000だったり1000だったりというのは制作者のディテールや扱いやすさなので、それは構わないのですが 
 
 それはそうとして、HGIMG4に実際に計算表示される際に、スケールを適用する前でも後でも内部でサイズは持っているのではないかと思い、 
でなければ、モデルを表示することができないと思いますので。 
 その表示に係るHGIMG4内部のサイズを取得したいと思っています。 
 
もしくは、バウンディングボックスの半径、コリジョンの半径など、実際に表示するための計算値を内部で持っていないのかなと。 
もっているなら取得したいなと思う次第です。 
 
 例えばたまねちゃんとpuronamaちゃんの3Dモデルサイズは違いますが、コリジョン半径など、何かHGIMG4内の基準が分かれば同じ身長にスケーリングできないかという悩みです。 
たまねがサイズ1000で、プロナマが10000だと取得できればsetscaleでどちらかに基準を合わせられます。 
 
 うまく伝わるかな( ;∀;) 
 
 |   
  
| 
 | 
 
2024/2/14(Wed) 16:01:12|NO.101216 
>buhio さん 
 
>それはそうとして、HGIMG4に実際に計算表示される際に、スケールを適用する前でも後でも内部でサイズは持っているのではないかと思い、でなければ、モデルを表示することができないと思いますので。 
>その表示に係るHGIMG4内部のサイズを取得したいと思っています。 
 
3D描画というのは決して「サイズというのが決まってないと表示できないもの」ではありません。 
3Dモデルというのは端的にいえば、頂点座標の行列でさえあれば、3Dとして画面に写ります。 
3Dモデルデータというのはあくまで、相対的な「画面に映る前の頂点等の座標データ集まり」でしかないんです。 
逆にいうと「座標変換行列を送ってやらない限り、サイズが決定されない」とも言えます。 
そしてどのような仕組みの座標変換行列を出力するかは、その3Dエンジンごとに異なるわけです。 
つまり、「3Dを画面にどのように表示するかはモデルが決めるのではなく、3Dエンジン側(もしくはシェーダー側)が決める」ことなのです。 
 
ていうか、アレですよ。そもそもHGIMG4では3Dモデルのスケールを頂点データに対して生のまま扱っているか(もしくは何かFBXからスケール値を参照しているかどうなのか)どうなのかをHGIMG4の開発者のおにたまさんに尋ねてみるのがいいんじゃないでしょうか? 
 
 |   
  
| 
 | 
 
2024/2/14(Wed) 18:50:48|NO.101217 
 せっかくなので、質問を変えます。 
  
 getcoli命令のHELPにこうあります。 
 
 「HGIMG4では、distanceにマイナス値を指定した場合、 
  3Dモデルが持つ衝突範囲(バウンディングボックス)にdistanceを掛けた値をもとに衝突検出を行ないます。 
  たとえば、-1.5を指定した場合は、衝突範囲を1.5倍に拡大した状態で、衝突検出が行なわれます。 
  また、より正確な衝突の情報を作成するために、gppcontact命令を使用することが可能です。」 
 
 このバウンディングボックスのsizeを取得することはできませんか? 
 これができれば、gpboxをワイヤーフレームで表示して、衝突範囲を視覚的に表示することが可能になります。 
 このsizeは、gploadで読み込んだスケール1.0fの状態のサイズで構いません。 
 これが分かれば、あとはスケールを掛ければ計算できるんじゃないかなと。 
 gploadしたモデルは、getcoliできないのかな。その辺ちょいあいまいです。 
  
 そんなことしなくても、こうすれば分るよというのがあれば、知りたいです。 
 これができないので、モデリングソフトで長さを測って、電卓たたいてます、、 
 たびたび失礼しました。。 
 
 |   
  
| 
 | 
 
2024/2/14(Wed) 22:09:49|NO.101220 
> このバウンディングボックスのsizeを取得することはできませんか? 
 
私も常々こういう命令ほしいなと。 
gpbファイルのビューアツールとか作ろうとすると必要になる命令です。 
 
 
今はバウンディングボックスの表面をgppraytestで測定するぐらいしか大きさを調べる手段が無い。これはこれでドコをレイを飛ばす始点にするかという問題が…。 
 
 |   
  
| 
 | 
 
2024/2/16(Fri) 17:34:25|NO.101245 
>buhio さん 
>genki さん 
 
>バウンディングボックスのサイズの取得について 
 
HGIMG4上でバウンティングボックスを参照している機能があるということは、nodeの中に何か情報があるんじゃないでしょうか? 
少なくともHGIMG4の中では何か値を持っていそうです。 
それ以上のことは自分も分かりません。もしそれをnodeから取得する方法があれば、自分も知りたいです。 
 
 |   
  
| 
 | 
 
2024/2/20(Tue) 12:07:41|NO.101264 
hgimg4で気になったこと。 
 
3Dmodelのモーションですが、 
今の、一つのmodelに集約する方法だと、 
長くなったり、修正に手間取らないかな。 
 
run、walkなど 
分割ファイルでの読み込みの方が、 
編集、修正しやすいんじゃないかな? 
hgimg3みたいな。 
 
 |   
  
| 
 | 
 
2024/2/20(Tue) 21:56:02|NO.101270 
hgimg4の要望です。 
glBlendFuncやglBlendFuncSeparateに相当する命令や設定を追加していただきたいです。 
現状α値を任意に操作するのが難しく、レンダリングバッファで想定通りの作画を行うのが困難です。 
glBlendFuncSeparateが使えればレンダリングバッファにおけるα値の問題が大抵解決可能で、 
grectなどの描画命令でα値のみを直感的に操作する等も可能になります。 
しかしglBlendFuncSeparateを直接呼び出した場合、 
gmode 0による描画やboxf等の挙動と何らかの衝突があるようで、不都合な点がありました。 
詳しくはこちらのスレッドをご覧ください。
 http://hsp.tv/play/pforum.php?mode=all&num=101252
ご検討のほどよろしくお願いします。
  
 |   
  
| 
 | 
 
2024/2/21(Wed) 23:30:46|NO.101277 
> うし さん 
 
>hgimg4で気になったこと。 
 
>3Dmodelのモーションですが、 
>今の、一つのmodelに集約する方法だと、 
>長くなったり、修正に手間取らないかな。 
 
>run、walkなど 
>分割ファイルでの読み込みの方が、 
>編集、修正しやすいんじゃないかな? 
>hgimg3みたいな。 
 
それだとアニメーションの分割分だけファイルサイズが大きくなってしまいます。 
例えば、10分割するとそれだけでGPBモデルが10個必要ですから、ファイルサイズが10倍になってしまいます。 
だから現状の1つに統合した状態の方がファイルサイズの面で効率的だと思います。 
 
ただ、アニメーションが1つに統合した状態の編集はやりにくいと思うのは自分も同感です。 
BlenderのNLAのStripsの状態でアニメーションを取り込めれば、HSP3のスクリプト上でのアクションの編集には便利だと思います。 
 
 |   
  
| 
 | 
 
2024/2/22(Thu) 16:26:07|NO.101281 
あのー 
HSP3.7β7についてなんですが、スクリプトエディタの置換ウィンドウがたまに動作しません 
文字が入力できず、BackSpace押すと豆腐□が出てきます 
delキーで消せますが... 
この問題が発生した場合は一度エディタを再起動しないと治りませんでした 
 
他の3.7βは試していませんが、少なくとも一般版3.6では見たことない問題です 
 
#pack " → #packdir " 
と書き換える置換をしようとした際に観測されました 
 
 |   
  
| 
 | 
 
2024/2/23(Fri) 14:36:10|NO.101284 
>うし さん 
>youdai さん 
>buhio さん 
 
ご意見ありがとうございます。 
確かに当たり判定で使用されるバウンディングスフィアが取得できた方がいいですね。 
次回のバージョンで実験的に取得できるよう対応させて頂きます。 
モーションを複数のfbx等で用意して変換する方法についても、今後導入したいところです。もう少しお待ち頂ければと思います。 
 
>Drakuji さん 
 
ご報告ありがとうございます。 
bgscr命令の解像度については、システム側で何か制限を行っているわけではないので 
LinuxのウインドウマネージャかSDL側の制約かもしれません。 
こちらで修正ができるようならば対応させて頂きます。 
 
>moss さん 
 
ご報告とご意見ありがとうございます。 
レンダリングバッファに書き込むα値については、統一されていないのが現状なので、今後何らかの指定ができるよう検討させて頂きます。 
glBlendFuncSeparateに相当する機能は入れられそうですが、他のプラットフォームなどの動作検証と併せて動作確認していきたいと思います。 
 
>ABATBeliever さん 
 
ご報告ありがとうございます。 
こちらでも確認して原因がわかれば対応していきたいと思います。 
 
 |   
  
| 
 | 
 
2024/2/23(Fri) 14:58:56|NO.101285 
HSP3.7β7でご指摘頂いた問題も含めて、いくつかの不具合を修正したバージョンとしてHSP3.7β8版をテストしていきたいと考えています。 
先行してプレビュー版を公開しておきますので、致命的な問題などありましたらお知らせ頂けると助かります。 
プレビュー版の動作状況を見ながら広く公開していきたいと思います。
 
HSP3.7β8(フルセット版)
 https://www.onionsoft.net/hsp/file/hsp37b8.zip
HSP3.7β8(ネットワークインストール版)
 https://www.onionsoft.net/hsp/file/hsp37upd.zip
今回、新規にHSP3アップデーター (HSP3Update)を追加して 
最小のセットからインストールを行うネットワークインストール版を用意しています。
 https://www.onionsoft.net/hsp/v37/doclib/hsp3update.html
android版やHGIMG4の修正なども含まれていますので、検証頂けたら嬉しいです。 
引き続きよろしくお願いいたします。
  
2024/02/21 3.7 beta8
HSP3機能の更新をサポートするHSP3Update(hsp3upd.exe)を同梱
#var,#varint,#vardouble,#varstr等で指定される変数がモジュール名に対応していなかった不具合を修正
スクリプトエディタの検索置換で終了ダイアログが複数表示される不具合を修正(inovia)
スクリプトエディタのファイル選択ダイアログでファイル作成の確認が出ないように修正(inovia)
β7版でスクリプトエディタから実行ファイルのアイコン書き換えが無効だった不具合を修正
oncmd命令による割り込みのON/OFFをメッセージIDごとに指定できるように修正
珠音ちゃん・プロ生ちゃん SD 上半身コラボ素材を更新
ZLibWrap.dllプラグインに格納ファイル一覧を取得するzipextractlist命令を追加
[hspcmp] #useプリプロセッサ命令で検索されるスクリプトファイルの拡張子を、.as、.hspの2種類に修正
[HGIMG4] gpnodeinfo命令で複数のマテリアル情報取得ができない不具合を修正
[HGIMG4] gpmatprmf命令のfilter設定でエラーダイアログが表示されることがある不具合を修正
[HGIMG4] 頂点カラー(VERTEX_COLOR)テクスチャなしのモデルが光源計算時消えることがある不具合を修正
[HGIMG4] getobjcoli命令に3Dモデルの外周を囲むバウンディングスフィアのサイズを取得するオプションを追加
[HSP3Dish][android] ターゲットAPIを34に変更、AGPバージョンを8.2に更新
[HSP3Dish][android] AdMobのインタースティシャル広告の再表示に対応
[HSP3Dish][android] hsp3dhでManifest、HSPActivityフォルダを開くボタンを追加
[HSP3Dish][android] hsp3dhでリリース時のキーファイル(keystore)生成時にpemファイルも出力するように修正
[HSP3Dish][android] サウンドデータのロードが終わるまで待つ処理を追加(inovia)
[HSP3Dish][android] mmload でロードしたファイルが適切に解放されない不具合を修正(inovia)
[HSP3Dish][Windows] sysinfoで取得されるバージョンを標準ランタイムと合わせるためマニフェストファイルを更新
[HSP3Dish] es_fade命令のESSPF_EFADE,ESSPF_EFADE2で完全な透明にならない不具合を修正
[HSP3Dish] 無効なスプライトに対してes_fade,es_apos,es_adir命令が実行できてしまう不具合を修正
 
 
 
  |    |   
  
| 
 | 
 
2024/2/23(Fri) 22:34:08|NO.101287 
>おにたまさん 
各種対応と、β版の公開、ありがとうございます!
 
早速HSP3.7β8の環境でビルドしてみましたが、やはりインタースティシャル広告が 
表示されるのは最初の1回だけです。
 
ソース的には
  
/* 
 この前にゲームオーバーの処理
*/
await 5000
devcontrol "AdMob",16
goto *title
 
といった感じです。 
devcontrol "AdMob",16は、ゲームオーバー処理以外には実行していません。 
何か追加すべきソースや、環境の変更などありますでしょうか。
 
ちなみに、プロジェクトフォルダは、手動で削除して新規作成し、 
HspActivity.javaの内容が変更されていることは確認しています。 
その状態からアプリIDと広告IDを書き換えました。
  
 |   
  
  
| 
 | 
 
2024/2/23(Fri) 22:52:36|NO.101290 
>おにたまさん 
ドキュメントが更新されていることを確認せずに申し訳ありません… 
確認して試してみます。ありがとうございました! 
 
 |   
  
| 
 | 
 
2024/2/24(Sat) 09:33:15|NO.101293 
>おにたまさん 
たびたびすみません。 
更新されたドキュメントを参考にプログラムを作ってみましたが、やはり2回目以降の 
広告表示ができません。 
広告表示のテスト用アプリも作ってみましたが、同様でした。 
実装方法が間違ってますでしょうか。
  
#include "hsp3dish.as"
title "Adtest"
adcnt=0 ;ゲーム回数
*main
;ゲーム部
adcnt++
repeat 1000
 redraw 0
 pos 0,0
 color 128,255,255
 boxf 0,0,480,800
 color
 	mes "広告表示テスト"
 	mes str(cnt)
 redraw 1
 await 16
loop
;ゲームオーバー処理
redraw 0
 pos 0,0
 color 128,255,255
 boxf 0,0,480,800
 color
 mes "ゲーム終了→3秒await"
redraw 1
await 3000
*gameover
		getreq v_platform,SYSREQ_PLATFORM
		if ( v_platform = PLATFORM_ANDROID ) {
			;広告表示する
			if adcnt>1 { ;2回目以降の表示ならリクエスト
				devcontrol "vibrate",50 ;デバッグ用
				devcontrol "AdMob",17
			} else { ;初回表示
				devcontrol "AdMob",18
				res=stat
				if res>0 : devcontrol "AdMob",16
			}
		}
goto *main
 
 
 |   
  
| 
 | 
 
2024/2/24(Sat) 10:09:47|NO.101294 
>CORO3 さん
検証ありがとうございます。 
「devcontrol "AdMob",17」は新しい広告をリクエストするだけですので、 
データがロードされるのを待って「devcontrol "AdMob",16」で再度表示する必要があります。 
こちらで再度試してみて頂けますか。
  
	;広告表示する
	if adcnt>1 { ;2回目以降の表示ならリクエスト
		devcontrol "vibrate",50 ;デバッグ用
		if addcnt=1 {
			devcontrol "AdMob",17
			addcnt=2		; 何度もリクエストしないように
		}
		devcontrol "AdMob",18
		res=stat
		if res>0 : devcontrol "AdMob",16
	} else { ;初回表示
		devcontrol "AdMob",18
		res=stat
		if res>0 : devcontrol "AdMob",16
	}
 
 
 |   
  
| 
 | 
 
2024/2/24(Sat) 12:01:17|NO.101295 
とりいそぎご報告を 
>スクリプトエディタの検索置換で終了ダイアログが複数表示される不具合を修正(inovia)
これは改善されていました。
 >[HSP3Dish][android] AdMobのインタースティシャル広告の再表示に対応
β8にアップし、プロジェクトを作り直し、HspActivityが新しくなっていることを確認し、 
僭越ながら下のように書き換えて実行しましたが、
  
*admob_set
;広告表示する
	if addcnt>0 { ;2回目以降の表示ならリクエスト
		devcontrol "vibrate",50 ;デバッグ用
		if addcnt=1 {
			devcontrol "AdMob",17
			addcnt=2		; 何度もリクエストしないように
			dialog "ok17"
		}
		devcontrol "AdMob",18
		res=stat
		if res>0 : devcontrol "AdMob",16
	} else { ;初回表示
		devcontrol "AdMob",18
		res=stat
		if res>0 : addcnt++ : devcontrol "AdMob",16
	}
	return
 
実機で、addcnt=0状態での admob16は実行され、インタースティシャル広告が表示(1回)されます 
二度目以降、addcnt=1 の時に、admob17が実行され「ok17」は表示され 
addcnt=2の時に、loadIntersAd後に準備ができた後の広告が表示(2回目)されますが、 
3度目以降はインタースティシャル広告は表示されないように見えます。
  
 |   
  
| 
 | 
 
2024/2/24(Sat) 12:46:52|NO.101296 
プログラム作成側が「一定(admobの何度もリクエストしないという頻度に該当しない)時間」あけて 
devcontrol "AdMob",17 でリクエストして、devcontrol "AdMob",16 する 
という意味なら、おにたま(管理人)様の仰るとおりの 事象は起きています。 
 
一定時間後に17でリクエスト、18で準備ができたら、表示16すれば、 
インタースティシャル広告が表示されました。 
 
 
 
「何度もリクエストしないように」ということで、 
リクエストは1回したらいいのかと思いましたが、 
 
 広告が閉じられた後に再度、インタースティシャル広告をリクエストする場合は、 
「devcontrol "AdMob",17」を実行してください。ということで、 
再度リクエストするべきなのですね。 
 
失礼しました。 
 
 |   
  
| 
 | 
 
2024/2/24(Sat) 13:01:44|NO.101297 
>おにたまさん きせんさん 
あれからプログラムをいろいろと変えて、私もきせんさんと同じく、 
広告を閉じた後に、一定時間経過してから、「devcontrol "AdMob",17」を実行して 
表示されるようになりました! 
 
この方法で自分のアプリで表示できるかを試してリリースしたいと思います。 
ありがとうございました。 
 
 |   
  
| 
 | 
 
2024/2/24(Sat) 16:31:12|NO.101298 
HSP3.7β8同梱のHSP3Dish Helper ver1.96でhtmlへの変換を行った所、 
HSP3Dish Helperのコンソールにてdataフォルダ内の画像ファイルがnot foundとなりましたので報告いたします。 
HSP3Dish Helper ver1.94では問題ありませんでした。 
 
 |   
  
| 
 | 
 
2024/2/24(Sat) 22:54:09|NO.101302 
>> おにたまさん 
 
> #var,#varint,#vardouble,#varstr等で指定される変数がモジュール名に対応していなかった不具合を修正 
> スクリプトエディタの検索置換で終了ダイアログが複数表示される不具合を修正(inovia) 
> [HGIMG4] getobjcoli命令に3Dモデルの外周を囲むバウンディングスフィアのサイズを取得するオプションを追加 
 
いつもありがとうございます。 
この3つの修正確認できました。今のところ問題ありません。 
 
 |   
  
| 
 | 
 
2024/2/25(Sun) 07:28:53|NO.101306 
おにたまさま 
要望なのですが、DPMファイルの容量をぜひHSP3.7で拡張していただけないでしょうか。 
現在、1ファイルで最大2GB、全体で4GBということですが、全体で10Gぐらいあるとうれしいです。 
よろしくお願いします。 
 
 |   
  
| 
 | 
 
2024/2/25(Sun) 15:02:04|NO.101307 
HSP3.7beta8プレビュー版の動作テストをしました。 
 
>[HGIMG4] gpnodeinfo命令で複数のマテリアル情報取得ができない不具合を修正 
>[HGIMG4] gpmatprmf命令のfilter設定でエラーダイアログが表示されることがある不具合を修正 
>[HGIMG4] 頂点カラー(VERTEX_COLOR)テクスチャなしのモデルが光源計算時消えることがある不具合を修正 
 
上記の不具合の修正を確認しました。 
いずれも不具合が修正されていることを確認しました。 
 
filter関連の不具合が修正されたので自作のシャドウの解像度を8分の1に、自作の屈折の解像度を2分の1にまで下げられるようになり、大幅な効率化ができるようになりました。 
ありがとうございました! 
 
>[HGIMG4] getobjcoli命令に3Dモデルの外周を囲むバウンディングスフィアのサイズを取得するオプションを追加 
 
取得できることを確認しました。 
ありがとうございました! 
 
 |   
  
| 
 | 
 
2024/2/25(Sun) 15:42:18|NO.101309 
HSP3アップデーター試してみました。カードバトルゲームをインストールすることができました。 
早速、自作のモジュールでもパッケージデータを作成してみたのですが、インストールまで出来ませんでした。 
「プラグイン/素材」欄に表示させることができ、「アップデート開始」のボタンまでは押せました。 
この次にエラーメッセージが表示されてインストールに失敗します。ファイルは何もできていませんでした。
 
表示されたメッセージ
 > Error:win32/mod_mjd
> Done...
mod_mjdは、IDに指定した文字列です。
 
表示されたダイアログボックス
 > No Hash:mod_mjd.zip
なお、インストールに失敗していますが、「(インストール済み)」表示が付くようになります。 
さらにこのままアンインストールすると「(インストール済み)」表示は消えます。
 
作成したものはこちらになります。
 https://mclab.uunyan.com/dl/package/u10_index.hspupd
と、ここまで書いて気が付いたのですが…「忍者ホームページ」は直リンク出来ない仕様なのでそのせいなのでは。(´・ω・`)
  
 |   
  
| 
 | 
 
2024/2/26(Mon) 20:05:45|NO.101310 
最近、win11のノートパソコンを購入したんすけど 
デフォエディタでマウスで上手く文字列をコピーしたり切り取りしたり出来ません 
なんとゆうかマウスで上手く選択出来ないかんじ 
小さいファイルなら大丈夫っぽいっす 
inoviaさんのエディタなら大丈夫っぽいっす 
 
マウスが悪いのか、パソコンが悪いのか、win11が悪いのか、HSPが悪いのか 
よくわかりません 
自分もそろそろデフォエディタ卒業しろってことなんすかね 
 
 |   
  
| 
 | 
 
2024/2/26(Mon) 21:03:27|NO.101311 
追記:HSP3.7β7でやってもダメでしたw 
 
 |   
  
  
| 
 | 
 
2024/2/26(Mon) 23:30:47|NO.101313 
>GENKI さん 
 
検証ありがとうございます。こちらで確認したところ、u10_index.hspupdにu10_mod_mjdのインデックスが含まれていないようでした。 
u10_mod_mjd.hspupdではなく、mod_mjd.hspupdが作成されているということはありませんか? 
 
 |   
  
| 
 | 
 
2024/2/27(Tue) 23:52:04|NO.101318 
>> おにたまさん 
メイン画面で「Save」ボタンを押して出来たファイルは、「u10_mod_mjd.hspupd」でした。 
何度か最初からu10_mod_mjd.hspupdとu10_index.hspupdを作り直してみましたが、同じ内容のファイルが作成されました。 
 
 |   
  
| 
 | 
 
2024/2/28(Wed) 14:38:46|NO.101323 
HSP3アップデーター試しているのですが、GENKIさんと全く同じ状態です。 
インストール時に No Hash:mod_sharedmem.zip とダイアログが出てインストールされません。
 
テスト中のものはこちらです。
 https://miecat.com/hsp/package/u572_index.hspupd
u572_index.hspupd に書かれているSHA-256ハッシュは合っているようです。 
FastHash というソフトで出したハッシュ値と比較しました。
  
 |   
  
| 
 | 
 
2024/2/28(Wed) 21:33:57|NO.101326 
なんか可能性として 
edgeブラウザを開いた状態だと 
マウス選択が変になるかんじでした 
 
ノートパソコンにマウスが付属してなかったので 
古いマウスを使ってましたが 
新しいマウスを購入したら 
いいかんじな気もしますw 
 
お騒がせしましたw 
 
 |   
  
| 
 | 
 
2024/2/28(Wed) 21:44:49|NO.101327 
>GENKI さん
>窓月らら さん
返信ありがとうございます。大変失礼しました。 
ツールで.hspupdを保存する際に間違ったインデックスを生成していました。 
以下のURLのアーカイブにある、「mkupdate.ax」ファイルを 
HSPインストールフォルダの「support」内のファイルに上書きしてもらえると、mkupdateツールが修正されます。
 https://dev.onionsoft.net/hspupd/mkupdate.zip
引き続きよろしくお願いいたします。
  
 |   
  
  
| 
 | 
 
2024/2/29(Thu) 00:11:20|NO.101334 
> MIZUSHIKIさん 
 
> と書いてあるのですが、やってみるまで挙動は分かりにくかったです。 
> 見た目ぐちゃぐちゃになってしまいそうかも、と思いました。 
 
配布する側はモジュール自作するくらいなので、ある程度スキルがあるはずです。 
ZIPの作成方法等に最初迷ってもすぐ気が付くと思うのでさほど心配いらないかも。 
説明のところに具体例へのリンクもありますし。(hsptvsample_cardbattle) 
 
 
> 〜.dll 
> commonフォルダ / 〜.as 
> sampleフォルダ / mod_〜フォルダ / 〜.hsp 
> hsphelpフォルダ / 〜.hs 
> doclibフォルダ / mod_〜フォルダ / 〜.txt, 〜.html 
 
サンプルとHSファイルとその他ファイルは、doclibにフォルダ作ってまとめてぶち込んじゃいましょう。 
 
〜.dll 
commonフォルダ / 〜.as, 〜.hsp 
doclibフォルダ / mod_〜フォルダ / 〜.txt, 〜.html, 〜.hs, サンプル.hsp 
 
 
 
 
アップデーターで一番注意したいのはファイルの上書き。 
同じファイル名があると上書きされると思うので、モジュールのファイル名やフォルダ名がかぶらないように注意が必要そうな気がする。 
common\u**_mod_〜.hsp や doclib\u**_mod_〜フォルダ とするか、あるいは 
common\u**\mod_〜.hsp や doclib\u**\mod_〜フォルダ とするか…。 
これも心配しすぎなのかな。現実的に名前が競合してるモジュール/プラグインは見たことないし。 
 
 |   
  
| 
 | 
 
2024/2/29(Thu) 00:54:30|NO.101335 
ああぁぁ・・・、GENKIさん ごめんなさい。 
「mkupdate.ax」の件、検証不足だったみたいで私も再検証したら解決したのでコメント全体を消してしまいました。 
(「INDEX作成」だけでなく最初の「Save」からやり直せば解消しました。)
 
懸念点として挙げていた部分を再掲載します。 
GENKIさんのコメントと時系列が前後してしまいますが、皆様ご容赦ください。 
======================================================== 
いざ使ってみて、利用者が気を付けないといけない点としてはやはり『HSP3インストールフォルダ[hsp37(beta)]を起点としてそのまま展開される』ということでした。
 
実際、ちゃんと以下のマニュアルに、
 https://www.onionsoft.net/hsp/v37/doclib/hsp3update.html
>これは、HSPのインストールフォルダにそのまま展開される内容となります。 ドキュメントであれば、「docs/kensaku/kensaku.html」のように既存のフォルダに合わせた形で追加することができます。
>サンプルスクリプトであれば、「sample/kensaku/test.hsp」のような形になります。 プラグインDLLは、ルートのフォルダにそのまま配置してください。モジュールであれば、「common/kensaku.as」のような形で追加してください。
と書いてあるのですが、やってみるまで挙動は分かりにくかったです。
 
私がzip化するときよくやるのは例えば「mod_〜フォルダ」を1つ作ってその中にモジュール,サンプル,ドキュメントを入れて「mod_〜フォルダ」を右クリックして「圧縮先>ZIPファイル」として圧縮してます。 
が、今回これではダメで hsp37(beta)フォルダ直下に「mod_〜フォルダ」が作られ、その中に全てのファイル,フォルダが存在することになりました。
 
どうすれば良いかというと例えば、
 
〜.dll 
commonフォルダ / 〜.as 
sampleフォルダ / mod_〜フォルダ / 〜.hsp 
hsphelpフォルダ / 〜.hs 
doclibフォルダ / mod_〜フォルダ / 〜.txt, 〜.html
 
上記の構成でパッケージを作った場合、これら全て(ここでは〜.dll,commonフォルダ,sampleフォルダ,hsphelpフォルダ,doclibフォルダの5つ)をエクスプローラから複数選択し、右クリックして「圧縮先>ZIPファイル」として圧縮する必要があります。 
このエクスプローラの操作方法も知らないと詰まる原因になるかもしれません。 
(それか、common,sample,hsphelp等の既存のフォルダ名と被らないトップフォルダが1つだけ存在する場合はそれを無視するようにするとか。)
 
また、よっぽど統制を取らないとすぐhsp37(beta)フォルダ内が見た目ぐちゃぐちゃになってしまいそうかも、と思いました。 
特にsampleフォルダは、その中に「mod_〜フォルダ」を作るよう強く要請しないとsampleフォルダ直下に有象無象のファイルが乱立するような気がします。
 
じゃあ、統制を取るってどうすれば良いのかと言うと マニュアルに挙動の詳細とフォルダ構成例を画像込みで分かりやすく書く くらいしか思いつかないのですが。。。(不甲斐ナイです・・・ 
======================================================== 
ついでに要望も復活させちゃいますが、 
アップデーターを利用してパッケージを削除したときに、ファイルは消えますがフォルダは残ってしまいましたので出来れば不要となった空フォルダは削除されると嬉しいなと思います。
 >GENKIさん
>サンプルとHSファイルとその他ファイルは、doclibにフォルダ作ってまとめてぶち込んじゃいましょう。
>
>〜.dll
>commonフォルダ / 〜.as, 〜.hsp
>doclibフォルダ / mod_〜フォルダ / 〜.txt, 〜.html, 〜.hs, サンプル.hsp
私もこれが良いなと思っているんですが、いくつかのプラグインやモジュールを見てきた限りあまり主流ではない(知られていない)なと思いまして、、、 
逆にこれを機に推して広めても良いかもしれませんね。
  
 
  |    |   
  
| 
 | 
 
2024/2/29(Thu) 07:15:57|NO.101336 
> おにたま さん 
 
アップデーター動作しました。ありがとうございます。 
%index の下の u???_ が無いからでしたか・・・ 
 
動作は一通りokなのですが、アンインストールでフォルダが残ってしまう点は 
できれば削除されたほうがスッキリだと思いました。 
私の mod_sharedmem だと、sample内にフォルダを作成しているのでこれが残っておりました。 
 
とりあえず、リリースさせて頂きます♪ 
 
 |   
  
| 
 | 
 
2024/2/29(Thu) 07:49:34|NO.101338 
HSP3アップデーターのインストール先のフォルダ構造については、 
明確にルールを決めたほうがよさそうですよね・・・ 
見ればわかるだろ・・って話ではありますが。
 
こちらの説明の
 https://www.onionsoft.net/hsp/v37/doclib/hsp3update.html
docs/kensaku/kensaku.html もこのままだと docs という新たなフォルダが 
作られてしまうと思いますが、doclib の間違いでしょうか・・・。
 
そして先陣を切って?対応パッケージを公開させて頂きました。
  
 |   
  
| 
 | 
 
2024/3/1(Fri) 00:39:48|NO.101346 
多くの検証ありがとうございます。 
一般向けにもHSP3.7β8版を公開しました。こちらのスレッドで引き続きご意見いただければと思います。
 https://hsp.tv/play/pforum.php?mode=all&num=101344
以下、返信させて頂きます。
 >Tsuyoshi さん
ご報告ありがとうございます。 
こちらではちょっと確認できなかったのですが、不具合が発生するスクリプトとdataフォルダも含めてご提示頂いても宜しいでしょうか。 
原因がわかりましたら対応したいと思います。
 >KAZ さん
HSP3についてのご要望ありがとうございます。 
DPMファイルの容量は、今後大きなサイズにも対応していきたいと考えていますが、おそらく全体が64bit化されてからになるかと思います。 
当面は、実行中にDPMファイルの切り替えが可能ですので、そちらをご検討ください。
 >GENKI さん
>MIZUSHIKI さん
>窓月らら さん
HSP3アップデーターのテストとご意見ありがとうございます。 
まだ試行錯誤の部分がありますが、参考にさせて頂きたいと思います。 
mkupdateツールの不具合については、正式版のHSP3.7β8で修正しています。 
アップデータに含めるフォルダの構造は確かに、何か取り決めとツール側でのチェックが必要だと思います。 
sampleやdoclibフォルダの下にパッケージごとのファイルを入れておくルールはいいですね。 
commonフォルダなどもファイルの衝突があり得るので、なかなか悩ましいところではあります。 
アンインストールでフォルダが残ってしまう点も、今後改善していきたいと思います。 
色々なご意見をもとに、皆さんで使えるパッケージ管理システムにできれば嬉しいです。 
HSP3アップデーター自体は、随時アップデートしているので、本体のリリースとは別に更新される可能性があります。
  
 |   
  
	
	
	
	
						 |