HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2023
1019
おにたま(管理人)HSP3.7に向けたβテストについてのお願い(3.7β7)119解決


おにたま(管理人)

リンク

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

ありがとうございます!



buhio

リンク

2023/10/21(Sat) 18:30:51|NO.100322

早速ダウンロードしたんですが、
hspvoicevox test1及びtest2を実行すると、

 #Error 38 in line 25
(C:\〜hsp37beta\common\hspvoicevox.as)
-->外部DLLの呼び出しに失敗しました

が表示されます。

なんも変なところはさわらず、試しに実行しただけのはずですが、一応報告いたします。



TOMATO

リンク

2023/10/21(Sat) 18:58:16|NO.100323

>hspvoicevox test1及びtest2を実行すると

VOICEVOX CoreのDLLやファイルが別途必要じゃないかと思います。
https://github.com/VOICEVOX/voicevox_core/releases/tag/0.14.5



buhio

リンク

2023/10/21(Sat) 19:08:52|NO.100324

>VOICEVOX CoreのDLLやファイルが別途必要じゃないかと思います。

おぉ、、ごめん。やってみます



buhio

リンク

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

こちらのページ、文字化けで読めません・・・
https://www.onionsoft.net/hsp/v37/doclib/hspvoicevox.html



おにたま(管理人)

リンク

2023/10/22(Sun) 00:56:56|NO.100330

>窓月らら さん

文字化けのご報告ありがとうございます。
お手数おかけしました。修正させて頂きました。



莉琉

リンク

2023/10/22(Sun) 23:21:09|NO.100339

自作ゲームで確認しましたが、#packopt icon が機能していないように見えます。
(3.7β6に戻したら機能しました)



BAT

リンク

2023/10/22(Sun) 23:33:08|NO.100340

Shift_JISにない文字を含むファイル名のHSPファイルをコンパイル・実行したいのですがhspcmp.dllがユニコードに対応してないのでできないです。
いったん別名に変更してからコンパイルするようにしたんですが、それだと__FILE__マクロがうまくいかないです。



BAT

リンク

2023/10/22(Sun) 23:51:57|NO.100341

希望なんですが#useで検索するファイルの拡張子をasだけでなくhspも探す仕様になるとうれしいです。
a2d.hspのように幾つかのヘッダファイルの拡張子はhspですので。



inovia

リンク

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の標準ランタイムに合わせる形で修正したいと思います。



youdai

リンク

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の自作シェーダーでの不具合も変化ありませんでした。
前回報告した通り、ダイアログでエラーメッセージだけは出て、実際は正常に動作しています。
これはエラーメッセージ自体のエラー判定の不具合だと思います。



ゆっくりXP

リンク

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」
についても文字化けしています。修正お願いいたします。



kの字

リンク

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
標準ダイアログで改善できないのであれば
自前のダイアログにして常に手前に表示をセットして頂ければ
改善できると勝手に思ったのですが・・・



zrs90(5さい)

リンク

2023/11/3(Fri) 21:07:35|NO.100427

>標準スクリプトエディタで文字検索
>文字検索をした時にでるダイアログ

検索の「次を検索(F)」ボタンを
スクリプトエディタ上で検索終了している状態で
連打していると...
検索終了時のダイアログが複数個
出ている事がありませんか?

この件も可能であれば修正を
検討して頂きたいです

⬇️(※図がヘタですが、コレです)

ーーーーーーーーーーーーーーーーー
script editer message    ❎


⚠️終わりまで検索しました
   
              ok

ーーーーーーーーーーーーーーーーー



inovia

リンク

2023/11/4(Sat) 01:27:21|NO.100428

>kの字 さん
>窓月らら さん
>zrs90(5さい) さん

スクリプトエディタの検索ダイアログを直すのは、
そんなに難しくないかなぁという印象です。
というわけで、「終わりまで検索しました」が表示されている間は、
検索ダイアログを触れないようにしてみました。

【動作確認用バイナリ】
https://hsp.moe/download/hsed3_rev1414_bin.zip

【ソースコード rev1414時点】
https://hsp.moe/download/hsed3_footy2_rev1414.zip

>おにたま さんへ
Subversion で guestアクセスできなくなっているようです。
https://dev.onionsoft.net/trac/openhsp/wiki/RuleSvnSource

また、ブラウザからのZipダウンロードもできなくなっているので、
最新のソースコードの取得が難しくなっています。
https://dev.onionsoft.net/trac/openhsp/browser/trunk



inovia

リンク

2023/11/5(Sun) 11:57:39|NO.100433

>...はKの字 さんの要望通りには
>なっていませんでしたが

サクラエディタと同じ仕様にしました。
(検索時のメッセージボックスは、エディタ側までは操作不可にはしていない)

メッセージボックスがウィンドウ裏にひっくり返ったり、
複数表示されないようにすれば問題ないのかなと思います。



KAW

リンク

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」が出力されてしまいます。
よろしくお願いします。



DIET

リンク

2023/11/12(Sun) 15:10:15|NO.100541

エディタでファイルを開いた状態で別のファイルを開こうとするとファイル選択ダイアログが出ますが
その時に現在開いているファイル名がダイアログに入力されているので、別のフォルダに移動すると
windowsの仕様により

*****.hsp このファイルは存在しません。 作成しますか? [はい(Y)] [いいえ(N)]
というダイアログがいちいち開きます。
地味に面倒なのでファイル名は空白の状態でファイル選択ダイアログを開くようにしてほしいです。

だたし「名前を付けて保存」の時のファイル選択ダイアログは現状通り現在開いているファイル名が入力されてる方が便利だとは思います。



inovia

リンク

2023/11/12(Sun) 18:48:39|NO.100546

>DIETさん

スクリプトエディタ側で OFN_CREATEPROMPTフラグ
(現在存在しないファイルを作成するかを求めるプロンプトを表示する)を立てているので、
それを外して代わりに OFN_FILEMUSTEXISTフラグ(既存のファイル名しか入力を許さない)
を立ててもよさそうかなと。

OPENFILENAMEA 構造体 (commdlg.h)
https://learn.microsoft.com/ja-jp/windows/win32/api/commdlg/ns-commdlg-openfilenamea

PopFileOpenDlg 関数の122行目の処理
https://dev.onionsoft.net/trac/openhsp/browser/trunk/tools/win32/hsed3_footy2/Popfile.cpp#L95


というわけで、改良してみました。

【動作確認用バイナリ】
https://hsp.moe/download/hsed3_rev1414_bin_v2.zip

【ソースコード rev1414時点】
https://hsp.moe/download/hsed3_footy2_rev1414_v2.zip



inovia

リンク

2023/11/13(Mon) 00:28:22|NO.100552

大文字小文字違いの変数名が考慮されていないのか、
定義への移動や参照が正常に動作しないようです。


aaaa = 1 mes AAAA // この行の AAAA で実行しても、1行目が見つからない



TOMATO

リンク

2023/11/14(Tue) 16:24:19|NO.100561

>data.dpmに「wav」ファイルを含めて作り、mmloadで読み込み時に落ちることがわかりました。

仕様なのでは?
https://www.onionsoft.net/hsp/v37/doclib/hsp3dish_ndk.htm#NOTICE


サウンドのファイルは必ずプロジェクトディレクトリ内のassetsフォルダに入れるようにしてください。 data.dpmに含めるとOSのシステム側から読み取ることができません。



窓月らら

リンク

2023/11/14(Tue) 21:00:07|NO.100565

それは仕様ですねー。
私もwavはてっきりDPMでいいのかと思ってました(少なくともWindowsはそうでした)。
Androidではサウンド系ファイルはすべて表に出さないとダメみたいですね。



TOMATO

リンク

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のシステム側から読み取ることができません。



inovia

リンク

2023/11/16(Thu) 01:54:06|NO.100578

>NO.100374
>NO.100379
>NO.100448
>NO.100449
>NO.100450
>NO.100455
>NO.100456
>NO.100462
>NO.100464

mmload周りの不具合が以下の修正で直ったかもしれませんので、よかったら試していただけると幸いです。

修正ファイル
https://hsp.moe/txt/20231116_mmload_fix/mmman.cpp

差分表示
https://hsp.moe/txt/20231116_mmload_fix/mmman.htm

修正ファイルは app\jni\hsp3dish\ndk に上書き保存したうえで、再ビルドしてみてください。
パスの例:C:\and_project\test1\app\jni\hsp3dish\ndk\mmman.cpp

【メモ】
内部実装がOpenSL ESを使用して再生しているようでしたが、ほとんどの関数が非同期処理とのことで、
完全にロードできていないのに再生しようとしたり、
ロードデータを解放しようとしてトラブルが起きているような感じに見受けられました。
ですので、ロードが終わるまで待つような処理を追加しています。

【実装参考】
https://developer.android.com/ndk/guides/audio/opensl/opensl-prog-notes?hl=ja
https://android.googlesource.com/platform/system/media/+/gingerbread/opensles/tests/examples/slesTestPlayFdPath.cpp
https://registry.khronos.org/OpenSL-ES/specs/OpenSL_ES_Specification_1.0.pdf
ChatGPT-4(有償版) および GitHub Copilot



窓月らら

リンク

2023/11/16(Thu) 16:58:21|NO.100582

>inovia さん

すごいのだGJなのだ。
うちも同期できてないような挙動だと思ってはいたのですが
どこで処理してるのかしらなかったので、これでわかりました。
他にもちょくちょくあるんです・・ウエイトいれないとコケる部分。
mmload については試して結果を報告いたします。



inovia

リンク

2023/11/16(Thu) 21:50:19|NO.100584

Android版mmloadに別の不具合を見つけましたので、修正してみました。

mmload でロードしたファイルが適切に解放されていないため、
32767回程度mmloadを繰り返すとアプリがクラッシュしていました。

修正ファイル(※ NO.100578の修正も含んでいます)
https://hsp.moe/txt/20231116_mmload_fix_v2/mmman.cpp

差分表示
https://hsp.moe/txt/20231116_mmload_fix_v2/mmman.htm

【メモ】
16万回程度ループを回してクラッシュしなかったので、多分修正できているはず…。
https://hsp.moe/txt/20231116_mmload_fix_v2/20231116.png



窓月らら

リンク

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 さんの修正によりフリーズだけはなくなったので大きな前進です。
とりあえず暫定的に入れていたウエイト処理は外せそうなので、助かりました・・・



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エディタで、スクリプト中に [//] [;] [/* */] を使って書いていると、
コメントアウトの色に変わらなかったり、逆に[//]等を外したのに、
元の色にならなかったり。
また、スクリプトを実行した時に、コメントアウトにしているのに、
そこを読み取って、エラーになったりすることがあります。
私だけのことでしょうか。
以前のエディタでも、時々ありました。



ゆっくりXP

リンク

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) 11:29:03|NO.100790

> ゆっくりXPさん
> システムロケールを英語にした状態で、dish_p_helper.exeを起動すると文字化けしています。

システムロケールを英語を追加した状態で文字化けしない(英語表記)にしてみました。
そちらの環境で文字化けしないか試していただけますでしょうか?
よろしくお願いします。


Dish P Helper Ver2.9

https://1drv.ms/u/s!AgPvnCgv0eDwg5FtXTVp1E2P0o8UjQ?e=zGmgsc



しまくろねこ(本物)

リンク

2023/12/10(Sun) 15:48:00|NO.100796

> ゆっくりXPさん

別スレを見ましたが、中国語や韓国語などをDish P Helperの「アプリ名(日本語)」で使うのでしょうか?
https://hsp.tv/play/pforum.php?mode=all&num=100792

だとしたらそもそも英語/日本語対応しか想定していませんし、Dish P Helperはそこまで考えて作られていないので、申し訳ないのですが恐らく対応不可です。



ゆっくりXP

リンク

2023/12/10(Sun) 16:19:21|NO.100798

>NO.100796
自分が気になったのは、言語ごとにアプリ名を指定できるかですね。
アプリ名(中国語)とかアプリ名(韓国語)とかですが…。
HSPは国産プログラミング言語なので、これは仕方ないのかな…?



しまくろねこ(本物)

リンク

2023/12/10(Sun) 16:30:34|NO.100799

> ゆっくりXPさん

> 自分が気になったのは、言語ごとにアプリ名を指定できるかですね。
> アプリ名(中国語)とかアプリ名(韓国語)とかですが…。

すいません。Dish P Helperは、デフォルトの英語と日本語しか対応してないです。
現状では言語ごとにアプリ名を指定するには手作業でやるしかないですね。



kの字

リンク

2023/12/10(Sun) 18:19:20|NO.100800

スクリーンセーバーを作ったのですがどうもアイコンを変更する事ができません。
3.6でも同様にアイコンを変更する事ができませんでした。
3.6ではPowerShellが開きエラー表示されます。
3.7ではエラーは表示されませんが、やはりアイコンは変更されませんでした。



youdai

リンク

2023/12/11(Mon) 18:01:18|NO.100821

NO.100355で報告した「HGIMG4のgpnodeinfoの不具合」のせいで、自分の作品の開発が一ヶ月以上、止まっています。
この不具合のせいで、1つのメッシュ(オブジェクト)に複数のマテリアルが設定されている場合、最初の1つ以外のマテリアルIDが取得できません。
マテリアルIDを取得できないということは、シェーダーに対してHSPスクリプト上からuniformを操作できないということですから、とても深刻な不具合だと思います。

レスに対しての反応がないので、これが自分の環境だけで起こる不具合なのか、そうでないのかも分かりません。
もし「自分の環境ではこの不具合は起きない」とか、この不具合を回避する方法があるならば、アドバイス下さい。



buhio

リンク

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



buhio

リンク

2023/12/12(Tue) 10:47:52|NO.100832

あ、ちょっと違う話かな。MATNUMは検証してないわ。ごめんね



youdai

リンク

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実行時のエラーは別な扱いですので、エラーが発生している場合は、コメントになっていないと思われます。



youdai

リンク

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βでは上述の通りエラーは出てないのですが何か参考になれば...



CORO3

リンク

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 がでるのですが・・・



GENKI

リンク

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』では、名無しさんの仰る通り、エラーにならず、正常に起動いたします。
申し訳ありませんでした。



kの字

リンク

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でこっそり復活してしまい、
どんどん使用中スプライトが溜まっていく現象がおきてしまいました。
後半プログラムの書き方が悪いせいで気が付いた現象なのですが、
エラーダイアログが出るようにしていただければと思います。



youdai

リンク

2024/1/26(Fri) 17:54:50|NO.101149

HGIMG4のカスタム3Dメッシュについてのリクエストです。

・頂点カラー登録に対応してほしい
・複数のUV登録に対応してほしい
・頂点ウェイト登録に対応してほしい(できれば複数の頂点ウェイトを登録したい)
・アーマチュアのボーン登録に対応してほしい
・アーマチュア制御に対応してほしい(できれば、簡易的に制御できるアーマチュアの仕組みがほしい)

カスタム3Dメッシュについては、できればGPBのモデルと同じく、HGIMG4の全機能に対応してほしいです。
フルコントロールができるようになれば、このカスタム3Dメッシュはとても使い勝手の良いシステムになれる可能性があると思います。



窓月らら

リンク

2024/2/5(Mon) 20:55:28|NO.101163

当方では確認できない内容ですが、こちら不具合かもしれませんのでご確認をお願いいたします。
Linux環境で音が鳴らなくなるようです。
https://hsp.tv/play/pforum.php?mode=all&num=101162



youdai

リンク

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モデルノードは、
標準ではモデル全体を覆う
スフィア(球体)をコリジョンとして作成します。

と書かれていますが、

この、コリジョン(モデル全体を覆うスフィア(球体))自体を
簡易なワイヤーフレームなんかで、
表示可能にできると、
視覚的にもプログラミングしやすくなると思います。

グループごとの色分けや座標指定などできれば、容易にコリジョンの状態が把握でき、
コリジョン調整の手間削減や、
わざわざ別にコリジョン用の簡易モデルを設けることも
いらなくなるかな?これを使えばいいから?



Drakuji

リンク

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 //ウィンドウ枠を表示しない画面の初期化(これも問題なく描画できる)

調査よろしくお願いいたします。



youdai

リンク

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にすればいいわけです。

>グループごとの色分けや座標指定などできれば、容易にコリジョンの状態が把握でき、
>コリジョン調整の手間削減や、
>わざわざ別にコリジョン用の簡易モデルを設けることも
>いらなくなるかな?これを使えばいいから?

コリジョン用のモデルは必要です。コリジョン判定というのは「当たり判定」という意味でもあります。
コリジョン用モデルを見た目用のモデルと別で作る(作った方がいい)理由は、コリジョン判定というのはアルゴリズム的に負荷が高く、見た目用のポリゴンより簡易的なローポリで作らないと動作パフォーマンスに大きな悪影響を与えるからです。



buhio

リンク

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の時代からずっと欲しかった、、



youdai

リンク

2024/2/14(Wed) 13:26:31|NO.101214

>buhio さん

>3Dモデルのなにかしらサイズが取得できると、すべてのモデルのスケールを統一的に管理できると思うのですが、
>現状はモデラ―でサイズを確認しながらスケール値で調整している状態です。

>あるモデルのサイズをゲットできれば、その値を1として他のモデルのスケールを決められると思うのですが、
>あんまり需要無いのかな、、、初版HGIMGの時代からずっと欲しかった、、

実は、3Dモデルには統一された「オブジェクトのサイズ」に関するスケール値はないのです。
スケール値どころか、右手系や左手系など座標系すらバラバラなのです。
例えば、他のツールから出力したobjファイルをBlenderで読み込むと、作ったツールのそれとスケールが全く違うことがあるのはそういう理由からです。
仮にBlenderで全長1.0mと表示されていても、それはBlender上でだけなのです。

自分の場合は、オブジェクトのサイズの基準はBlenderのそれに合わせています。
バラバラのツールで作成したモデルでも、最終的にBlenderを通してFBX出力すればその過程でBlenderのスケール感に合わせられますから、スケール感の統一が可能です。



buhio

リンク

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でどちらかに基準を合わせられます。

 うまく伝わるかな( ;∀;)



youdai

リンク

2024/2/14(Wed) 16:01:12|NO.101216

>buhio さん

>それはそうとして、HGIMG4に実際に計算表示される際に、スケールを適用する前でも後でも内部でサイズは持っているのではないかと思い、でなければ、モデルを表示することができないと思いますので。
>その表示に係るHGIMG4内部のサイズを取得したいと思っています。

3D描画というのは決して「サイズというのが決まってないと表示できないもの」ではありません。
3Dモデルというのは端的にいえば、頂点座標の行列でさえあれば、3Dとして画面に写ります。
3Dモデルデータというのはあくまで、相対的な「画面に映る前の頂点等の座標データ集まり」でしかないんです。
逆にいうと「座標変換行列を送ってやらない限り、サイズが決定されない」とも言えます。
そしてどのような仕組みの座標変換行列を出力するかは、その3Dエンジンごとに異なるわけです。
つまり、「3Dを画面にどのように表示するかはモデルが決めるのではなく、3Dエンジン側(もしくはシェーダー側)が決める」ことなのです。

ていうか、アレですよ。そもそもHGIMG4では3Dモデルのスケールを頂点データに対して生のまま扱っているか(もしくは何かFBXからスケール値を参照しているかどうなのか)どうなのかをHGIMG4の開発者のおにたまさんに尋ねてみるのがいいんじゃないでしょうか?



buhio

リンク

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できないのかな。その辺ちょいあいまいです。
 
 そんなことしなくても、こうすれば分るよというのがあれば、知りたいです。
 これができないので、モデリングソフトで長さを測って、電卓たたいてます、、
 たびたび失礼しました。。



GENKI

リンク

2024/2/14(Wed) 22:09:49|NO.101220

> このバウンディングボックスのsizeを取得することはできませんか?

私も常々こういう命令ほしいなと。
gpbファイルのビューアツールとか作ろうとすると必要になる命令です。


今はバウンディングボックスの表面をgppraytestで測定するぐらいしか大きさを調べる手段が無い。これはこれでドコをレイを飛ばす始点にするかという問題が…。



youdai

リンク

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みたいな。



moss

リンク

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

ご検討のほどよろしくお願いします。



youdai

リンク

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のスクリプト上でのアクションの編集には便利だと思います。



ABATBeliever

リンク

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命令が実行できてしまう不具合を修正



CORO3

リンク

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:46:51|NO.101289

>CORO3 さん

ご確認ありがとうございます。
すみません、今回からインタースティシャル広告の手順が少し変わっていて、
広告が閉じられた後に再度、インタースティシャル広告をリクエストする場合は、
「devcontrol "AdMob",17」を実行する必要があります。
https://www.onionsoft.net/hsp/v37/doclib/hsp3dish_ndk.htm#ADMOB
基本的な動作は、HspActivity.java を置き換えれば問題ないはずですので、
再度試して頂けると助かります。



CORO3

リンク

2024/2/23(Fri) 22:52:36|NO.101290

>おにたまさん
ドキュメントが更新されていることを確認せずに申し訳ありません…
確認して試してみます。ありがとうございました!



CORO3

リンク

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」を実行してください。ということで、
再度リクエストするべきなのですね。

失礼しました。



CORO3

リンク

2024/2/24(Sat) 13:01:44|NO.101297

>おにたまさん きせんさん
あれからプログラムをいろいろと変えて、私もきせんさんと同じく、
広告を閉じた後に、一定時間経過してから、「devcontrol "AdMob",17」を実行して
表示されるようになりました!

この方法で自分のアプリで表示できるかを試してリリースしたいと思います。
ありがとうございました。



Tsuyoshi

リンク

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では問題ありませんでした。



GENKI

リンク

2024/2/24(Sat) 22:54:09|NO.101302

>> おにたまさん

> #var,#varint,#vardouble,#varstr等で指定される変数がモジュール名に対応していなかった不具合を修正
> スクリプトエディタの検索置換で終了ダイアログが複数表示される不具合を修正(inovia)
> [HGIMG4] getobjcoli命令に3Dモデルの外周を囲むバウンディングスフィアのサイズを取得するオプションを追加

いつもありがとうございます。
この3つの修正確認できました。今のところ問題ありません。



KAZ

リンク

2024/2/25(Sun) 07:28:53|NO.101306

おにたまさま
要望なのですが、DPMファイルの容量をぜひHSP3.7で拡張していただけないでしょうか。
現在、1ファイルで最大2GB、全体で4GBということですが、全体で10Gぐらいあるとうれしいです。
よろしくお願いします。



youdai

リンク

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モデルの外周を囲むバウンディングスフィアのサイズを取得するオプションを追加

取得できることを確認しました。
ありがとうございました!



GENKI

リンク

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
と、ここまで書いて気が付いたのですが…「忍者ホームページ」は直リンク出来ない仕様なのでそのせいなのでは。(´・ω・`)



Y_repeat

リンク

2024/2/26(Mon) 20:05:45|NO.101310

最近、win11のノートパソコンを購入したんすけど
デフォエディタでマウスで上手く文字列をコピーしたり切り取りしたり出来ません
なんとゆうかマウスで上手く選択出来ないかんじ
小さいファイルなら大丈夫っぽいっす
inoviaさんのエディタなら大丈夫っぽいっす

マウスが悪いのか、パソコンが悪いのか、win11が悪いのか、HSPが悪いのか
よくわかりません
自分もそろそろデフォエディタ卒業しろってことなんすかね



Y_repeat

リンク

2024/2/26(Mon) 21:03:27|NO.101311

追記:HSP3.7β7でやってもダメでしたw



GENKI

リンク

2024/2/26(Mon) 22:20:53|NO.101312

NO.101309 の続き。
忍者ホームページではダメそうな気がするので、GitHub Pageを使ってみました。
https://genki-hsp.github.io/HSP3Update/
手動でダウンロードしてみて問題なさそうだったのですが、HSP3アップデーターで読もうとすると同じ症状が出てしまいます。

追加パッケージurl
https://genki-hsp.github.io/HSP3Update/u10_index.hspupd



おにたま(管理人)

リンク

2024/2/26(Mon) 23:30:47|NO.101313

>GENKI さん

検証ありがとうございます。こちらで確認したところ、u10_index.hspupdにu10_mod_mjdのインデックスが含まれていないようでした。
u10_mod_mjd.hspupdではなく、mod_mjd.hspupdが作成されているということはありませんか?



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.100310への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2023(c) All rights reserved.