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


HSPTV!掲示板


未解決 解決 停止 削除要請

2022
0103
おにたま(管理人)HSP3.7に向けたβテストについてのお願い192解決


おにたま(管理人)

リンク

2022/1/3(Mon) 21:37:34|NO.94865

明けましておめでとうございます。
HSP3.6リリース版についての色々なご報告や要望ありがとうございます。
皆様のご意見などをもとに、HSP3.7に向けた修正とβテストを続けていきたいと考えています。
以前に作成したβ版についてのスレッドに続く形で会話が進められると嬉しいです。
http://hsp.tv/play/pforum.php?mode=all&num=92295#94845

とり急ぎ、HSP3Dishのandroid版ビルドの修正を進めています。
新しいAPIとPlayStore用のaabファイル出力に向けて、Gradleと呼ばれる新しいビルドシステムに乗り換えています。
現在まだ途中ですが、Gradle対応プレビュー版を以下からダウンロード頂けますので、お時間がある方はSDKのセットアップやビルドをテストして頂けると助かります。
(現在まだaabの出力やHGIMG4には対応していませんので、あくまでも環境のセットアップとビルドのテストになります)

HSP3Dish Gradle対応プレビュー版
https://www.onionsoft.net/hsp/file/hsp3dish_220103.zip

皆様のご意見を参考にしながら、不具合の修正や機能の拡充を行っていきたいと考えています。
今年もどうぞよろしくお願いいたします。



この記事に返信する


しまくろねこ

リンク

2022/1/4(Tue) 12:31:12|NO.94867

開発お疲れ様です。
今日で正月休みも終わります。

HSP3Dish Gradle対応プレビュー版を試してみました。
readme.txtを読みながらセットアップし、APKビルドまでできました。
Android実機でも動作確認できました。
Androidバージョンは9.0です。

APKファイルは「app」-debug.apkという形で出力されました。
>C:\プロジェクトフォルダ\プロジェクト名\app\build\outputs\apk\debug\app-debug.apk

画面サイズ/スケーリングは、
>C:\プロジェクトフォルダ\プロジェクト名\app\jni\main.cpp

画面の向きは、
>C:\プロジェクトフォルダ\プロジェクト名\app\src\main\AndroidManifest.xml

しかし、バージョンコードやバージョンネームは
>C:\プロジェクトフォルダ\プロジェクト名\app\src\main\AndroidManifest.xml
にありませんでした。

また、DPMファイルが使えないようです。
DPMファイルに.pngファイルを入れて下記を実行すると "cg.pngがありません" と表示されます。
>C:\プロジェクトフォルダ\プロジェクト名\app\src\main\assets
に.pngファイルを入れることで表示されるようになりました。

exist "cg.png" if strsize == -1 { dialog "cg.pngがありません" }
HSP3.7βではAndroid Studioをインストールすることなく、Dish Helperで完結できると思ってよいのでしょうか?

それから3.6からと同じですがmmloadで読み込める数が30個までとなっています。
31個目を読み込むと落ちます。

#include "hsp3dish.as" repeat 30 mmload "test1.wav", cnt loop dialog "OK" stop



おにたま(管理人)

リンク

2022/1/5(Wed) 22:38:57|NO.94892

>しまくろねこ さん

プレビュー版の貴重なご報告ありがとうございます。まずは、動作してよかったです。
バージョンコードとバージョンネームは、app/build.gradle のファイル内で指定されます。
また、dpmファイルについては以前の方法が使用できないため、今後androidのセキュリティに引っかからない範囲でサポートする方法を探っていきたいと思います。
mmloadで読み込める数についても、APIの問題によるもので、今後のバージョンで改善していきたいと考えています。

>HSP3.7βではAndroid Studioをインストールすることなく、
>Dish Helperで完結できると思ってよいのでしょうか?

はい、Android Studioのインストールは不要でaabの出力まで行う形になります。
最初に入れる必要があるのは、Javaとcmdline-toolsのみになる予定です。

これから試すという方は、少しだけ内容が更新されたバージョンがありますので、こちらをご利用ください。
HGIMG4のビルドと、androidエミュレーターの起動に対応しています。
HSP3Dish Gradle対応プレビュー版
https://www.onionsoft.net/hsp/file/hsp3dish_220105.zip



きせん

リンク

2022/1/6(Thu) 22:30:34|NO.94904

開発お疲れ様です。
私も「hsp3dish_220105.zip」試してみました。
apkビルド、転送 も「BUILD SUCCESSFUL」できていますが、
私の環境では一瞬黒くなって落ちます。

block3.hspで試してみましたが、それでも落ちます。
openJDKのJDK17、Android Studio\jre でも同様にダメでした。

途中

> Task :app:compileDebugJavaWithJavac 注意:C:\andtest\test2\app\src\main\java\tv\hsp\HspActivity.javaは推奨されないAPIを使用またはオーバーライドしています。 注意:詳細は、-Xlint:deprecationオプションを指定して再コンパイルしてください。

と、表示されました。

どこが原因なのか少し調べてみます。


ビルド中及び「オプション」でSDKをダウンロード中「console」画面の進捗状況がその都度、反映されていないように見えます。



おにたま(管理人)

リンク

2022/1/6(Thu) 23:32:18|NO.94905

>きせん さん

ご検証ありがとうございます。
注意のメッセージはこちらでも出ています。落ちてしまう原因がちょっとわからないですね…。
もし宜しければビルドされたapkファイルをお送り頂ければこちらで調査させて頂きます。
サブ画面の進捗状況はいまのところ逐次反映されていません。いずれ何とかしたいところではあります。



しまくろねこ

リンク

2022/1/7(Fri) 20:32:52|NO.94912

気になったので私もhsp3dish_220105.zipで試してみましたが、私の環境では特に落ちることなくビルドも正常に完了し、作ったプログラムがAndroid実機で動いています。
一応ご報告まで。

JDKは16.0.2です。



きせん

リンク

2022/1/7(Fri) 21:10:42|NO.94913

readme内のところに、

2. オプションの項目で、Javaフォルダ、SDK Gradle、プロジェクトのフォルダを設定する必要があります
  JavaフォルダはJavaSE17またはJDK17以降を指定してください。

、、とのことでしたが、どうなんでしょう。
javaのバージョンはすこしややこしいんですよね。

Java SE Development Kit 17.0.1
https://download.oracle.com/java/17/archive/jdk-17.0.1_windows-x64_bin.exe

オラクルならいいのかもしれません。
ためしてみます。



しまくろねこ

リンク

2022/1/7(Fri) 21:34:36|NO.94914

すみません。readme.txtよく読んでいませんでした。
JDK17.0.1をダウンロードしてプロジェクト作成し直してビルドしなおしました。
結果はビルド完了、Android実機でも正常に動作でした。

JDKは以下からダウンロードしました。

https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html

https://download.oracle.com/java/17/archive/jdk-17.0.1_windows-x64_bin.zip



おにたま(管理人)

リンク

2022/1/7(Fri) 21:41:40|NO.94915

>きせん さん

ありがとうございます。
ちょっと起動を調べた感じですとAdMobのエラーが出ていました。
AdMobが有効になっていますでしょうか? 今回まだAdMobのオプションに対応していません。



おにたま(管理人)

リンク

2022/1/7(Fri) 21:44:29|NO.94916

>しまくろねこ さん

追加のテストありがとうございます。
こちらでは、OracleのJDK16を使用して検証しています。おそらく17でも大丈夫だと思われます。



きせん

リンク

2022/1/7(Fri) 22:01:56|NO.94917

>おにたま(管理人)さん
>しまくろねこ さん

admobチェックを外したら動きました!

すみません  命令文いれなければよいかと思いましたが・・・
HspActivity.java 違いますよね。すみません。
お騒がせして申し訳ございませんでした。

ちなみにOracleJDK17.0.1でも同様に起動しました。
android10です。



きせん

リンク

2022/1/7(Fri) 22:23:46|NO.94918

openJDK-17.0.1でも同様に起動しました。

UTF-8でのテキストファイルも読み込みでき、文字化けせず表示されています。
PNG-24形式の画像も表示されています。

アイコンも反映されています。
「strings.xml」のアプリネームも反映されています。
「build.gradle」での「versionName」はアプリのバージョンに反映されています。
現状のところ、androidスタジオでのビルドと
同等のビルドに成功しているように見えます。



hashikemu

リンク

2022/1/14(Fri) 00:34:40|NO.95019

開発お疲れ様です。「hsp3dish_220105.zip」を使ってPC向けに作ったHGIMG4のゲームを移植し、
Android実機上で動作できています。dishHelperの設定ではCドライブ直下に作成したフォルダ
「dish-sdk」、「dish-project」をSDKフォルダ、プロジェクトフォルダに割り当て、
HGIMG4とセンサを使用する設定でプロジェクトを作成しています。
PC環境はWindows10で、JDKはOracleの17.0.1を入れています。

使っていて見つけた問題点や不満点についてです。

問題点
・ユーザー定義命令/関数の全モジュール合計での上限数があるように思えます。 生成されたcpp内の
 char __HspDataName[]の改行数が200あたりを超えるとcpp変換に失敗するような傾向です。
・あるモジュールが1関数でも呼び出されるとモジュール内の他関数まで変換対象に含まれるようです。
 実行経路に含まれていない関数にエラーがある場合でも変換に失敗します。
・hspファイルと同一階層に生成されるcppファイルが既にある状態でdishHelperによるcpp変換が
 失敗するプログラムをビルドさせると、既にあるcppファイルでビルドが開始されてしまいます。
 この現象が起きると、生成成功したように見えてもapkファイルは更新されない状況になりました。
・a(0,0)=1,2,3,4のように2次元配列に連続代入するとPCでは平気ですがビルドができませんでした。

不満点
・完了後にしかコンソールが更新されないため、進捗が分かりにくいです。
・パンチホール式カメラを搭載したAndroid機でテストしていますが、
 ステータスバーの部分は真っ黒で何も表示されないため、ここも表示領域にできれば嬉しいです。
・HGIMG4のビルドは初回20分程度、2回目以降2分程度、転送に2分程度かかります。
 buildフォルダ内を見るとarmとx86系それぞれ32bit,64bitの計4種類がビルドされるようですが、
 テスト中は特定CPUだけにビルドできればビルド時間が減らせないかな?と思いました。
・cpp変換のエラー表示が「エラーが発生しました」のみ、logcatのエラー表示も
 エラー番号のみであるため、何が原因でエラーが起きているか分かりにくいです。



おにたま(管理人)

リンク

2022/1/15(Sat) 02:01:52|NO.95047

>hashikemu さん

android版のHGIMG4についてのご報告ありがとうございます。
症状について、こちらでも確認していきたいと思います。
不満点についても、今後改善していきたいところです。

androidのGradle対応を含む更新と、いくつかの不具合を修正したバージョンとしてHSP3.7β1版を公開する予定です。
以下、プレビュー版を置いておきますので、もし致命的な問題などあればお知らせください。
先行してテストにご協力頂いた皆様、ありがとうございました。
引き続きどうぞよろしくお願いいたします。

HSP3.7β1(プレビュー版)
https://www.onionsoft.net/hsp/file/hsp37b1.zip


2022/01/14 3.7 beta1 アルファチャンネルを含む.pngファイルの読み込み時にブレンドの誤差が起こる不具合を修正 hsp3cランタイムの運用を廃止、Peasエディタの同梱を廃止 HSPスクリプトエディタのレガシーメニューを廃止 hsedsdkでメモリリークとハンドルリークが起きる不具合を修正 UTF8ランタイム使用時のコンパイルに_hsputf8ラベルを定義するように修正 複数行文字列の終端がない場合に落ちることがあった不具合を修正 mod_joystick2モジュールでジョイスティック複数接続時のエラー処理を修正 モジュール型配列変数の要素1以降の書き込みでエラーになる不具合を修正 #constで定義されたdouble型実数値の有効桁数が少なかった不具合を修正 [HSP3Dish][android] HSP3Dish HelperのGradleビルドに対応 [HSP3Dish][android] 端末エミュレータ上で単色描画が正しく行われない不具合を修正 [HGIMG4] fbx->gpb変換時のマテリアル名修正オプションを追加



しまくろねこ

リンク

2022/1/15(Sat) 11:43:07|NO.95052

開発お疲れ様です。
hsp37b1.zip試してみました。

Dish Helper内のDPMファイル指定が無くなりましたね。
個人の感想なので他の利用者の方がどう思うかは分かりませんが、今作っているゲームがassetsファルダ内に全部入れているのでDPMファイル指定が無くなってもいいのかなと思いました。



しまくろねこ

リンク

2022/1/15(Sat) 12:16:49|NO.95055

Dish Helper ver.1.8についてです。
リリースから「KEY作成」でキーファイルを作成すると、ファイル名が「ファイル名.keystore.keystore」となってしまいます。
とりあえず作成されたキーファイルで「aab作成」ボタンをクリックすると、
> キー準備中...
> プロジェクト名ビルド処理中...
のまま進みません。

試しにDish Helper ver.1.77で作成したキーファイル「hspapp.keystore」を指定して「aab作成」ボタンをクリックすると、これまた上記と同じ状態になり進まなくなります。



しまくろねこ

リンク

2022/1/15(Sat) 20:43:34|NO.95065

Dish Helperでビルド後にビルドしてもapkファイルが更新されません。
その場合一度クリーンボタンからクリーンすれば新しいapkファイルが作成されます。



おにたま(管理人)

リンク

2022/1/16(Sun) 21:07:22|NO.95094

>しまくろねこ さん

ご報告ありがとうございます。
失礼しました。「aab作成」の機能が正しく動作していませんでした。
「aab作成」の部分だけ修正したものを再度アップロード致しました。

HSP3.7β1(プレビュー版)
https://www.onionsoft.net/hsp/file/hsp37b1.zip

ビルド後にビルドしてもapkファイルが更新されない件ですが、
.hspファイルなど内容を修正しても更新されないでしょうか。
Gradleの場合は、内容に変更がない場合apkファイルが更新されないようです。

DPMファイル指定については、HSP3.7でdpmファイルの仕組みそのものを変更する予定なので、それまでは一旦無効にしています。
同等の機能はいずれサポートしたいと考えています。



しまくろねこ

リンク

2022/1/16(Sun) 22:20:44|NO.95095

開発お疲れ様でございます。

> ビルド後にビルドしてもapkファイルが更新されない件ですが、
> .hspファイルなど内容を修正しても更新されないでしょうか。
> Gradleの場合は、内容に変更がない場合apkファイルが更新されないようです。
.hspファイルの内容を少し変更してビルドしたところapkファイルが更新されました。
これは盲点でした。

> DPMファイル指定については、HSP3.7でdpmファイルの仕組みそのものを変更する予定なので、それまでは一旦無効にしています。
> 同等の機能はいずれサポートしたいと考えています。
頭が下がる思いです。
ありがとうございます。

また、aabファイル作成は無事成功しました。

app\build\outputs\bundle\release\app-release.aab

という名前で作成されましたが、このaabファイルはAndroid実機にインストールできるのでしょうか?
ファイラー(X-plore)から開いたら、「パッケージの解析中に問題が発生しました。」と表示されました。
aabファイルはGoogle Play Storeにアップロード専用のファイルということでしょうか?



youdai

リンク

2022/1/17(Mon) 13:14:47|NO.95100

HSP3.7ベータのHGIMG4プログラミングガイドの記述についての問題の報告と、その他に要望について書きます。

●HGIMG4プログラミングガイドの記述についての問題

HGIMG4プログラミングガイドの「3.使用方法」に


HGIMG4 DirectX9版ランタイムを使用する場合には、 #include "hgimg4dx.as" をスクリプトの先頭に記述してください。 #include "hgimg4.as" を記述した場合は、OpenGL版ランタイムが使用されます。 どちらのランタイムも使用できる機能に違いはありません。

とありますが、実際にはhgimg4とhgimg4dxの動作は大きく異なります。
例えば、hgimg4dxではhgimg4では動作する自作のシェーダーの9割9分が動作しません。
これはおそらく、hgimg4dxによるGLSLの変換が上手くいっていないためだと思います。

また、以前も報告しましたがpronama3dのサンプルに同梱されるpronamachanのgpbモデルも
hgimg4dxではアニメーションさせると表示されないという不具合があります。
ただし、tamaneなどの軽量モデルではアニメーションは動作するようです。
ちなみにhgimg4では問題なく表示されます。
(hsp3.7ベータ版でも試しましたが、結果は同じでした)

また、アニメーションさせなければ、hgimg4dxでも100万頂点程度のモデルでも60FPSが安定して出せるので
単純にグラボに負荷がかかれば動作しないという問題ではないようです。シェーダーは標準のcoloredで試しました。
前記しましたが、やはりhgimg4dxによるGLSLの変換に何か問題があるのではないでしょうか?

ですので、HGIMG4プログラミングガイドの「3.使用方法」にある
「どちらのランタイムも使用できる機能に違いはありません。」という記述は誤解を招くと思います。

動作環境は以下の通りです。


HSP3バージョン HSP3.6とHSP3.7ベータ1 OS Windows 10 Pro CPU Intel Core i7 S860 2.53GHz メモリ 8GB(DDR3) グラボ nVidia GeForce GT 740(DDR3 2GB)

●hgimg4のセキュリティの問題

HGIMG4プログラミングガイドの「43.PACKFILEの対応について」に


.gpb、.material など一部のファイルはサポートされていません。

とありますが、他の方も指摘していましたが、これはやはりできるだけ早く対応した方がいいと思います。
今現在、モデルを盗作したり、FBXに逆変換して作者に無許可で違法に販売しようと思えば
簡単にできてしまう現状は非常にまずいと思います。

海外ではプロアマ問わず、市販されているゲーム作品や、公開されているアマチュア作品の3Dモデルを
抜き出して違法に販売しているサイトが複数存在します。
今はまだHGIMG4が海外では無名のせいもあって被害にはおそらくあっていないと思いますが、
もしそれらの違法行為常習者の目に留まれば、標的になることは火を見るより明らかです。

●HSPスクリプトエディタのレガシーメニューの廃止について

HSP3.7ベータ1でレガシーメニューを廃止されたことについて、初心者にはおそらく混乱が生じているものと思われます。
廃止された機能の代替手段をマニュアルに明確に記述した方がいいと思います。

例えばPACKFILE編集機能は廃止されましたが、
その代わり「その機能は#pack命令でスクリプトに記述することで行います」等のアナウンスがあれば、
今までPACKFILE編集で行っていたユーザーにとっては分かりやすいと思います。
代替手段があることはリファレンスを深く読み込まないと初心者は気づかないかもしれません。

また、リファレンスにも「5.20.PACKFILEと暗号化」の項目にまだPACKFILE編集機能の記述が残ってしまっています。
この部分のリファレンスは削除するか、変更した方が混乱が生じないと思います。

また、PACKFILE編集は機能として便利だったので、その代替になるものがあればいいのになと思いました。
例えば、#packの羅列記述するのを補佐するツールなどがあるといいと思いました。
例えば、数個の#packであれば問題ないのですが、100個以上の多くの#packをしなければならない場合、
手動で記述しなければいけなくなったのは面倒だと思いました。

●HGIMG4のGPB converter ver.0.7について

エディタの「HGIMG4ツールを開く」から起動する「HGIMG4のGPB converter ver.0.7」についてですが、
ウィンドウのサイズが大きすぎると思います。
自分のディスプレイの画面は最大で1024*768なのですが、現在のGPB converter ver.0.7は
表示させると下側の部分が隠れてしまいます。
ウィンドウの大きさを変更できるといいと思います。

また、GPB converter ver.0.7がもしHSP製ならの話ですが、
可能ならオープンソースにしてHSP3フルパッケージに同梱してしまった方が
ユーザー側が自由にカスタマイズできていいと思います。
少なくともこのツール表示部分だけでも自分でカスタマイズできたらいいなと思いました。

●HGIMG4の組み込み済みのuniformやattributeの情報について

HGIMG4のシェーダーの組み込み済みのuniformやattributeの情報について、
公開できる部分はして頂けるとシェーダー作りに非常に便利になると思います。

今現在、その部分の仕様はgameplay3Dと同じものなのか、それとも異なるものなのかが明示されていないため、
ユーザー側では不明となっている現状です。

今現在、HGIMG4に組み込まれているuniformとattributeで自分が把握しているものは


平行ライト関係 uniform vec3 u_directionalLightColor[DIRECTIONAL_LIGHT_COUNT]; uniform vec3 u_directionalLightDirection[DIRECTIONAL_LIGHT_COUNT]; ポイントライト関係 uniform vec3 u_pointLightColor[POINT_LIGHT_COUNT]; uniform vec3 u_pointLightPosition[POINT_LIGHT_COUNT]; uniform float u_pointLightRangeInverse[POINT_LIGHT_COUNT]; スポットライト関係 uniform vec3 u_spotLightColor[SPOT_LIGHT_COUNT]; uniform vec3 u_spotLightDirection[SPOT_LIGHT_COUNT]; uniform float u_spotLightRangeInverse[SPOT_LIGHT_COUNT]; uniform float u_spotLightInnerAngleCos[SPOT_LIGHT_COUNT]; uniform float u_spotLightOuterAngleCos[SPOT_LIGHT_COUNT]; アンビエント関係 uniform vec3 u_ambientColor; カメラ関係 uniform vec3 u_cameraDirection; uniform vec3 u_cameraPosition; attribute関係(gameplay3Dのソースから推測) attribute vec4 a_position; attribute vec2 a_texCoord0; // a_texCoord0からa_texCoord7まで存在? attribute vec3 a_normal; attribute vec3 a_binormal; attribute vec3 a_tangent; attribute vec3 a_color; // 頂点カラーのこと。1つのみ存在? attribute vec4 a_blendWeights; attribute vec4 a_blendIndices;

というものくらいです。
これらがパスとしてHGIMG4上からシェーダーへuniformとして常時送られているパス及び設定ではないかと自分では推測しています。
これらのパスは、HGIMG4上でカメラの設定やライトの設定が反映される部分だという理解で合っているのでしょうか?

例えばHGIM4上で


setcolor GPOBJ_LIGHT, 1,1,1 // GPOBJ_LIGHTが平行ライト型のライト設定だと仮定した場合

とすると、シェーダー上のu_directionalLightColor[DIRECTIONAL_LIGHT_COUNT]がvec3(1.0, 1.0, 1.0)になるという具合です。
これで合っているのでしょうか?

その他にもマテリアルのMaterial Enumsについてですが、これもgameplay3Dと全く同じという理解でよいのでしょうか?


Material Enums(gameplay3D Githubから抜粋) WORLD_MATRIX VIEW_MATRIX PROJECTION_MATRIX WORLD_VIEW_MATRIX VIEW_PROJECTION_MATRIX WORLD_VIEW_PROJECTION_MATRIX INVERSE_TRANSPOSE_WORLD_MATRIX INVERSE_TRANSPOSE_WORLD_VIEW_MATRIX CAMERA_WORLD_POSITION CAMERA_VIEW_POSITION MATRIX_PALETTE

今まではHGIMG4のシェーダーについての詳細情報が全く存在しないため、当てずっぽうでシェーダーを作っていたのですが、
HGIMG4でパスが通っている組み込み済みのuniformとattributeが分かれば、
シェーダー作りがもっと楽になるのにと思いました。
これらの部分の詳細もHGIMG4プログラミングガイドに記述してくれると便利だと思います。
特にHGIMG4上での命令が、シェーダー側ではどのパスでどのように繋がっているかが分かれば良いと思います。



アキアキノヒロロ

リンク

2022/1/18(Tue) 03:49:10|NO.95102

youdai さんのご意見のいくつかに同意です。

私の能力を超えた事柄については、何とも言えませんが、
PACKFILEに関しては、特に[hgimg4]3Dモデルで問題になっていると感じます。

>『HSP3 概要』の「5.今後の予定」で
>・packfileの刷新、暗号化機能の見直し
とあり、対応予定ではあるものの、[hgimg4]当初から、引っかかっていました。
初心者同然の私は、モデルを盗作されるくらいなら、逆に嬉しいなんて思いますが、
HSP3としては、暗号化する・しないを選べないことは、大きな欠点になっています。
このために、作品の公開をためらったり、抵抗を感じる方がおられるはずです。

2020/21年のArueさんの作品は、Arueさんご自身の技術力で暗号化されていますが、
一般の[hgimg4]利用者も可能になれば、作品公開も更に進むはずで、
そのことは[hgimg4]にとっても、必ずや、好ましい結果をもたらすものです。


「GPB converter ver.0.7」(& 0.6)については、
何故ここまでのウィンドウサイズが必要なのかと疑問で、
変換でのログ表示や、マテリアル編集は別ウィンドウにするとかすればいいのに、
と思ったりしました。



おにたま(管理人)

リンク

2022/1/19(Wed) 01:07:22|NO.95110

>しまくろねこ さん

aabファイル生成のご確認ありがとうございます。
aabファイルは、Play Consoleにアップロードするための形式で、そのまま実機にインストールすることはできません。

>youdai さん
>アキアキノヒロロ さん

HGIMG4についてのご指摘とご要望ありがとうございます。今後の参考にさせて頂きます。
HSP3.7β1版は、HSP3.6のリリース以降にご指摘頂いた問題の中で取り急ぎ対応可能なものを入れたバージョンになります。
今後の更新でPACKFILEの対応も含めまして、既存のDPMファイルと同様の扱いでファイル名の長さなど不便な部分を解消していく予定です。
GPB converterについては、案内が足りなくて申し訳ありません。
hspsdk/hgimg4フォルダ内にhspのソースが同梱されています。こちらはユーザー側で自由に改変して頂いて構いません。
シェーダーの記述についても、今後のバージョンで説明を追加していければと考えています。(基本的なキーワード(名称)はgameplay3Dと全く同じです)



しまくろねこ

リンク

2022/1/19(Wed) 14:57:57|NO.95111

>youdaiさん

> また、PACKFILE編集は機能として便利だったので、その代替になるものがあればいいのになと思いました。
> 例えば、#packの羅列記述するのを補佐するツールなどがあるといいと思いました。
> 例えば、数個の#packであれば問題ないのですが、100個以上の多くの#packをしなければならない場合、
> 手動で記述しなければいけなくなったのは面倒だと思いました。

#packの羅列記述するのを補佐するツールを作りました。

#pack/#epackリスト作成ツール
https://sites.google.com/site/simakuroneko/home/product/hsp3dish/epack_make_list



youdai

リンク

2022/1/20(Thu) 11:30:32|NO.95122

しまくろねこさんへ

「#packリスト作成ツール VER 0.4」を使った感想と、不具合の報告を書きます。
(VER 0.5についてはまだ試していません)

●良い点
・文字数オーバー時はERROR表示でコメントアウトされるのが便利だと思う
・拡張子で一括リスト作成できるのが便利だと思う

●不具合
・HSPスクリプトエディタに外部ツールとして登録した上で、
 管理者権限でHSPスクリプトエディタを起動時に「クリップボードにCOPY」ボタンでコピーするとツールが強制終了する。
 外部ツールとして登録しない状態でも同様。

・HSPスクリプトエディタに外部ツールとして登録した上で、
 通常権限でHSPスクリプトエディタを起動時に「クリップボードにCOPY」ボタンでコピーしても、実際にはコピーされない。
 外部ツールとして登録しない状態でも同様。

●要望
・メッセージボックスはテキストを編集可能設定にした方が便利かもしれない。
 登録しない部分のpackを除外したり、コメントを加筆したりすることができるから。

・リストをテキストファイルや.asでファイル保存できたら便利かもしれない。
 別ファイルとして保存しておけば、バックアップとして使えるから。

●全体的な印象
 全体的に使いやすく、pack関係のリスト編集に理に適ったツールだと思いました。

 今回の感想については、しまくろねこさんのホームページの掲示板に投稿しようと思ったのですが、
なぜか禁則ワードで弾かれてしまうため、こちらの掲示板で書かせて頂きました。(投稿内容は同じです)



しまくろねこ

リンク

2022/1/20(Thu) 16:48:22|NO.95124

>youdaiさん

返信ありがとうございます。

> ●不具合
> ・HSPスクリプトエディタに外部ツールとして登録した上で、
>  管理者権限でHSPスクリプトエディタを起動時に「クリップボードにCOPY」ボタンでコピーするとツールが強制終了する。
>  外部ツールとして登録しない状態でも同様。
Ver0.4で管理者権限でこちらでも現象を確認しました。
Ver0.5で修正されています。

> ・HSPスクリプトエディタに外部ツールとして登録した上で、
>  通常権限でHSPスクリプトエディタを起動時に「クリップボードにCOPY」ボタンでコピーしても、実際にはコピーされない。
>  外部ツールとして登録しない状態でも同様。
こちらもVer0.4で現象を確認しました。
Ver0.5で修正されています。

> ●要望
> ・メッセージボックスはテキストを編集可能設定にした方が便利かもしれない。
>  登録しない部分のpackを除外したり、コメントを加筆したりすることができるから。
>
> ・リストをテキストファイルや.asでファイル保存できたら便利かもしれない。
>  別ファイルとして保存しておけば、バックアップとして使えるから。
なるほどです。
今後のバージョンに反映させたいと思います。

>  今回の感想については、しまくろねこさんのホームページの掲示板に投稿しようと思ったのですが、
> なぜか禁則ワードで弾かれてしまうため、こちらの掲示板で書かせて頂きました。(投稿内容は同じです)
すいません。私の掲示板にスパム書き込みが定期的に書き込まれてしまうので禁則ワードを設定しております。
投稿出来ないのは多分そのためです。



しまくろねこ

リンク

2022/1/20(Thu) 20:18:42|NO.95125

#pack/#epackリスト作成ツールをバージョンアップしました。
バージョンは 0.6 です。
https://sites.google.com/site/simakuroneko/home/product/hsp3dish/epack_make_list

追加、変更点は以下のとおりです。
・「リスト作成」ボタンで作成されたテキストボックス内を入力可能に変更。
・ファイル文字数のエラーとする文字数入力テキストボックスを追加。
・「ファイルとして保存」ボタンを追加。テキストファイルとして保存可能。

これ以上はスレと関係なくなってくるので書き込みはこれで終了したいと思います。
失礼しました。



zezenana

リンク

2022/1/21(Fri) 07:59:33|NO.95129

HSP3.7β1(プレビュー版)の HSP3Dish Helperと Androidビルドについての
範囲限定ですが、何とか正常動作したので報告します。


結果としてはこの掲示板の NO.95047 から始めて
HSP3.7β1(プレビュー版)を【クリーンインストール】することです。

注意としては、この掲示板の流れ通りに
HSP3Dish Gradle対応プレビュー版の環境をそのまま使うとダメでした。
推奨フォルダ名の変更もリネームではダメです。
(プロジェクトも SDK環境も引き継がないこと)

このスレッドの前の Androidビルドの流れである
http://hsp.tv/play/pforum.php?mode=all&num=94396
「HSP3Dish googleplayに公開するときaab形式ですが...」で
行った環境やプロジェクトも使ってはいけません。

私の場合これのために、
数日ビルドエラーまたは apkインスト>実行>即落ちの状態で暫くハマりました。

動作とは別問題ですが、バナーの挙動が変わり今はこちらでハマっています。
(下表示が何かの条件で上表示になる、消してもフレームだけ残るなど)



-----
>おにたま(管理人) さん

>[HSP3Dish][android] 端末エミュレータ上で単色描画が正しく行われない不具合を修正

AVDエミュレータで2Dグラフィック描画が(celputは正常描画)全て黒になる現象が
しばらく続いて悩んでいましたが、
この現象の修正であっていますか?現状は正常にグラフィック表示されています。
(hgtex.cppの ChangeTex()の修正?)


それと要望なのですが、HSP3Dish Helper 1.8 の
設定ファイル(hsp3dh.cfg)を ver 1.77以前と別ファイルにするか、

ver 1.77以前の設定と重複しない新規の設定にして欲しいです。
(ただこれだと 1.8の設定が 1.77以前を起動すると削除される・・)

現時点(beta)で安定していないこともあり、旧環境を使いたい時に
ver 1.77以前と 1.8 を交互に使うと以下の設定書き換えが行われるので、
併用時に毎回入力が必要となり、クリーンやビルド、SDKマネージャーの利用とかで
困っています。


・実行環境が異なると困る設定(使う環境とプロジェクトが別なので・・)

%path_java、%path_proj

・1.8 起動時に 1.77以前の削除される設定(PACK機能削除のため?)

%and_pack

・1.77以前起動時に 1.8の削除される設定(1.77以前には設定がないので保存されない)

%and_keyfile、%and_keypass
%path_gradle
%and_gradle、%and_gradleapi、%and_gradlesdk
%flag_andrun


プログラミングガイドの「HSP3Dish Helperの設定」にも書いてありますが、

>※HSP3.6までのHSP3Dish HelperとはSDKやプロジェクトの構成が異なるため、アップデートした際には別なフォルダを指定してください

設定以前にプロジェクトもビルド処理の互換性も無いようですので、
見た目はほぼ同じですが設定ファイルも別にした ver 2.00にするのはどうでしょうか?



MIZUSHIKI

リンク

2022/1/21(Fri) 20:09:22|NO.95137

おにたまさん お疲れ様です。

HSP3.7β1(プレビュー版)を試してみました。

>2022/01/14 3.7 beta1
>アルファチャンネルを含む.pngファイルの読み込み時にブレンドの誤差が起こる不具合を修正
上記の件で気付いたので報告ですが、不具合がまだ修正されていないみたいです。

screen 0, 375,80 screen 1,,,,ginfo_wx1, ginfo_wy2+10 mes "picload : モード 1" repeat 200 gsel 0 title "読み込み × "+(cnt+1)+"回" picload dir_tv+"koma.png", 1 pget 0,0 kekka = strf( "cnt=%2d / pget 0,0 → RGB(%d,%d,%d)", cnt, ginfo_r, ginfo_g, ginfo_b ) gsel 1 mes kekka await 100 - 90*(cnt>=30) loop gsel 0 screen 2,,,,ginfo_wx2+10, ginfo_wy1 picload dir_tv+"koma.png" pget 0,0 kekka = strf( "pget 0,0 → RGB(%d,%d,%d)", ginfo_r, ginfo_g, ginfo_b ) screen 3,,,,ginfo_wx1, ginfo_wy2+10 mes "picload : モード 0" mes kekka #include "a2d.hsp" gsel 2 screen 4,375,80,,ginfo_wx2+10, ginfo_wy1 alCreateImageByFile 0, dir_tv+"koma.png" alCopyImageToScreen 0,4 redraw 1 pget 0,0 kekka = strf( "pget 0,0 → RGB(%d,%d,%d)", ginfo_r, ginfo_g, ginfo_b ) screen 5,,,,ginfo_wx1, ginfo_wy2+10 mes "Artlet2D" mes kekka

元の報告はこちらのDripさんのものと思います。
https://hsp.tv/play/pforum.php?mode=all&num=92295#93133

ただその後、↓でaaaさんから対応策が示されており、
https://hsp.tv/play/pforum.php?mode=all&num=92295#93282

OpenHSPの↓を見る限り、対応はされているみたいですよね。私も何が原因なのかわかりませんでした。
https://dev.onionsoft.net/trac/openhsp/changeset?reponame=&new=1216%40trunk%2Fhsp3%2Fwin32gui%2Fhspwnd_win.cpp&old=1196%40trunk%2Fhsp3%2Fwin32gui%2Fhspwnd_win.cpp

計算式は間違っていないように思います(?)

2052行目 : a1 = *p2++; a2 = *p2++; a3 = *p2++; a4 = *p2++; a4 += a4 >> 7; a4r = 256 - a4;
アルファ値 a4 を (+= a4 >> 7)→「128以上で+1、それより下は+0」なので a4==0 なら a4r=256


2059行目 : ha=((((short)*p)* a4r)>>8) + (((short)a3)*a4>>8); 2060行目 : *p++=(BYTE)ha;
a4==0なら右の項は0、左も256(=a4r)を掛けた後に (>>8)→「256で割る(のと同等)」をしているので、元の*p つまりは 255のままで 白になるはずじゃ?とは思うのですが。
(まだHSP3.7β1にこの変更が適用されていないとかってあったりしますか?)



TOMATO

リンク

2022/1/21(Fri) 21:56:03|NO.95139

>まだHSP3.7β1にこの変更が適用されていないとかってあったりしますか?

多分そうだと思います。

SVN上は2022年1月14日にコミットされていますが、
beta1のhsp3.exeのタイムスタンプが2022年1月7日になっています。
https://dev.onionsoft.net/trac/openhsp/timeline?from=2022-01-14T19%3A07%3A23%2B09%3A00&precision=second

一応、OpenHSPのソースを落として自前でビルドしたもので試したら、直ってました。



MIZUSHIKI

リンク

2022/1/21(Fri) 22:25:27|NO.95141

TOMATOさん
>SVN上は2022年1月14日にコミットされていますが、
>beta1のhsp3.exeのタイムスタンプが2022年1月7日になっています。
なるほど!そういう風に確認すれば良かったんですね。

>一応、OpenHSPのソースを落として自前でビルドしたもので試したら、直ってました。
安心しました。ありがとうございます!



おにたま(管理人)

リンク

2022/1/21(Fri) 23:42:17|NO.95142

ご報告が遅くなりましたが、HSP3.7β1版を公開致しました。
https://www.onionsoft.net/wp/archives/3516

頂いたご意見の中で、GPB converterのウインドウサイズや、HSP3Dish Helperのビルド内容表示などは修正しています。
引き続き問題などありましたらご報告いただけると助かります。

>しまくろねこ さん

便利なツールを作成頂きありがとうございます。
こういったツールも併用できると良いと思います。

>zezenana さん

ご指摘とご意見ありがとうございます。
古いバージョンのHSP3Dish Helperとの共存は確かに問題がありそうですね。
設定ファイルを分けるなどの対策を今後検討したいと思います。
ただ、ストアに登録ができないので古い環境を残すメリットはほとんどないかと思います。
Gradleビルドでより安定して動作できるよう、今後も作成していきたいと考えています。

>MIZUSHIKI さん
>TOMATO さん

ご指摘ありがとうございます。
バイナリの更新にミスがあったようです。お手数おかけして申し訳ありません。
次に更新ができるタイミングで反映させたいと思います。



mkt

リンク

2022/1/23(Sun) 21:38:29|NO.95170

管理人様
皆様
お世話になっております。

公開されたB1、hsp3dhにて生成されたapkは
Android10と9で正常に動作しています。
aabの生成は確認できました。
現在、playstorで正常にアップロードできるかをテストしようとしています。

現在直面している問題として、アップロードテストしたところ
キーストアが変わってしまうので、同一アプリとして認識できないところです。
Javaのバージョンを変えるといつも直面する問題ですが、Javaのバージョンを下げれば解決するものでしょうか。
いろいろ取り組んでみて、またコメントします。
駄文、失礼いたしました。



窓月らら

リンク

2022/1/26(Wed) 10:32:32|NO.95188

お疲れ様です。私もこれから試すところなのですが、署名については
Google側でやるようになったとの認識です。
参考(unityの説明ですがやることは同じだと思われます)
http://blog.lab7.biz/archives/20448250.html

ここが面倒でわかりづらく感じるところです。
できれば、HSP3Dishのドキュメントに手順などを記載して頂ければユーザーが助かると思われます。



mkt

リンク

2022/1/26(Wed) 22:06:39|NO.95193

>窓月らら様
お世話になっております。情報をいただきありがとうございます。
ご教示いただいたサイトは新規アップロードの場合でしょうか。
既存のアプリでもkeyのアップデートはできそうですが、いくつかの問題があり実行していません。
1.1アプリについて全期間で変更は1回のみ
2.同じキーストアを利用するアプリは変更不可

1についての問題は、今後も長期で見てJavaのバージョンが変わるたびに鍵の更新が必要と思われるが変更可能なのは原則1回のみ。
どうも、Javaのkeytoolを利用してアップグレードする方法があるようですが、自分ではまだ理解しきれません。
実行できないのでやってませんが、playconsoleで鍵を登録すればhsp3dhでリリース時に使った鍵と登録した鍵が異なっていてもアップロード可能なのでしょうか。

そもそもほかの環境でアプリを作成している人たちは、どうしているのでしょうか。
Javaのバージョンが違っていても同じkeystoreでビルドできるということなのでしょうか。
・・・とたくさんの疑問符を入れてしまいましたが、自分でも日々調査中です。もしも情報があればどなたか教えていただけると幸いです。
また、こちらではあまり聞いてしまうと板違いになってしまうと思いますので、今後なにか発見したら私の方では新しいスレッドを立てたいと思います。
お騒がせしました。汗汗



窓月らら

リンク

2022/1/27(Thu) 13:51:12|NO.95204

署名問題についてスレを立てさせて頂きました。
お待ちしています♪
http://hsp.tv/play/pforum.php?mode=all&num=95203



窓月らら

リンク

2022/1/27(Thu) 17:56:38|NO.95206

スレ立てつつも流れでこちらに書きますが
mktさんと恐らく同じ問題だと思われますが、

HSP 3.7b1
JDK-17.0.2 (Oracle)
Windows10 64bit
他最新

・・・の環境で試しに block3.hsp をビルドしてみました。
apkは作成されましたが、今までの署名ファイル *.keystore ではaabの作成ができませんでした。
古い形式(1024bit)なのがダメなんでしょうか?しかしこれでは更新のときに困ってしまいます。
皆さんこの問題はどうしてるんでしょうか?



窓月らら

リンク

2022/1/27(Thu) 18:39:31|NO.95209

Play アプリ署名を使用する
https://support.google.com/googleplay/android-developer/answer/9842756?hl=ja

一部引用
注: 2021 年 8 月より前に作成されたアプリの場合は、Play アプリ署名を使用し、Android App Bundle を使って公開する代わりに、引き続き、APK をアップロードして、独自の鍵を管理することができます。ただし、キーストアを紛失したり、不正使用されたりした場合は、アプリを更新できなくなり、新しいパッケージ名で新しいアプリとして公開することが必要になります。このようなアプリについては、Play アプリ署名を使用し、App Bundle に切り替えることをおすすめします。

こちらを読んで気づいたのですが、2021年8月以前にPlayストアで公開済のアプリについては、引き続きapkでのアップロードに対応していて、署名も従来の方法でいいということでしょうか? だとしたら勘違いしていました・・・すべてaabにしないといけないのかと。これだと旧開発環境も当面は残しておく必要がありますね。



zrs90(5さい)

リンク

2022/1/27(Thu) 19:35:58|NO.95213

iPhone投稿の部外者です。

窓月ららさんへ
この.apkの審査の方法、現在も通用するか
不明です。去年10月位?は通用してたらしいですが。

もし、この.apkの審査の方法が、今でも出来るなら
混在環境になるので、3.7βとは別のPCにしておいた方が
無難と思います。
上で、zezenanaさんが、書いておられます。

後、おにたまさんに質問したいのですが
hspdish の M1版Mac の対応は
現在、どうなっていますか?



しまくろねこ

リンク

2022/1/27(Thu) 21:26:23|NO.95214

>窓月ららさん

> apkは作成されましたが、今までの署名ファイル *.keystore ではaabの作成ができませんでした。
> 古い形式(1024bit)なのがダメなんでしょうか?しかしこれでは更新のときに困ってしまいます。
> 皆さんこの問題はどうしてるんでしょうか?

こちらでは今までの署名ファイル *.keystore でaabファイルが作成できました。
アップロードしていないのでアップロード可能なファイルかどうかは不明です。
ちなみにaab作成に使用したソースは block3.hsp ではなく別のソースです。

HSP 3.7b1
JDK17.0.1
Windows11

以上ご報告まで。



窓月らら

リンク

2022/1/28(Fri) 01:08:06|NO.95217

>しまくろねこさん

ご報告ありがとうございます。
たぶんうちのkeystoreがJava6(JDK1.6)で作ったもので相当古いからだと思ってます。しかしこれは今更どうしようもないのでどうしようかなーと。やり方はあるんでしょうけどね。

とりあえず、アプリの更新についてはapkでもPlayストアに登録できることは今確認してきました。が、API-31になるとまた別の問題があって対応を迫られそうです;

こちらに書きました。引き続き情報共有頂ければ幸いです。
http://hsp.tv/play/pforum.php?mode=all&num=95203


>zrs90(5さい)さん

いちおうまだできる様子です。
署名については問題なさそうでしたが、別の対応をしろと怒られましたw



窓月らら

リンク

2022/1/28(Fri) 07:57:03|NO.95219

> apkは作成されましたが、今までの署名ファイル *.keystore ではaabの作成ができませんでした。
> 古い形式(1024bit)なのがダメなんでしょうか?しかしこれでは更新のときに困ってしまいます。

これについてですが、どうやらうちの勘違いですね。
今までのapkの署名と同じものを適用するのかと思ってましたが、よく考えるとapkの生成と署名はGoogleに任せる形になるので、こちらで署名するのはアップロード鍵です。新規に取得するものですから、過去のkeystoreは関係なさそうでした。
なんか認識間違ってたら教えてください。



アキアキノヒロロ

リンク

2022/1/28(Fri) 09:51:38|NO.95222

[3.7β1] の 「かんたん入力」 / 「EZinput」 使用不能について

zrs90(5さい) さんが
「●HSP3.6のかんたん入力が、使用不能に(※原因不明。)」
でおっしゃっていることを横取りするようで申し訳ありませんが、
そのスレッドでも、報告しましたように、
[3.7β1]に、[3.6]の[aht]フォルダと[ahtman.exe]をコピーすることで、「かんたん入力」も「EZinput」も実行出来ました。



窓月らら

リンク

2022/1/29(Sat) 05:59:13|NO.95228

おにたまさんへ

HSP3.7b1 の HSP3Dish Helper ですが、可能でしたらapkのリリースビルド(署名)にもご対応頂けませんでしょうか。従来アプリはapkでもPlayストアに登録可能なことがわかったので、必要な方がいらっしゃると思います(例えば私とかw)。dh1.77のapk署名の部分を移植して改造するだけなので自分でもできそうですが、公式に対応して頂けると助かります。



きせん

リンク

2022/1/30(Sun) 23:56:14|NO.95255

>おにたまさんへ

HSP3.7β1版をダウンロードし
https://www.onionsoft.net/wp/archives/3516

ビルドしてみたところ、ビルドでき、
以前のバージョンの署名鍵「hspapp.keystore」でリリースも完了し、
aabファイルでの playconsoleアップデートできました。

今回のheplerで、できたaabそのままで
APIレベル21以上、対象SDKは31、でのApp Bundleになっています。

次回は非推奨 HspActivity.javaを変更してadmobいけるか試してみます。



きせん

リンク

2022/1/31(Mon) 00:27:49|NO.95256

署名問題ですが、パスワード間違えていると、aab作成されませんでした。
パスワードが間違っていないか、確認してみてください。
おにたまさんの作成された標準なファイル構成でビルドできています。

私の環境かもしれませんが、最初のベータ版では実機転送できたような気がしますが、
今回の新しいベータでは実機転送に失敗しています。
デバッグapkを手動でインストールすれば動いています。



窓月らら

リンク

2022/1/31(Mon) 09:55:30|NO.95257

aabの署名ですが、RSA2048bit以上である必要があります。
過去のdhで作成したkeystoreは1024bitなのです。だから使えませんし、新規aabには使う意味がありません。
最新のHSP3.7b1のdhで作成したkeystoreであればaab署名に使えます。



きせん

リンク

2022/1/31(Mon) 11:57:19|NO.95263

>おにたまさんへ

HSP3.7β1版で作成したaabを公開したところ、playconsoleに無事アップロードでき、
公開され、インストールできます。


個人的には・・・
フル画面にするなら、下のナビゲーションバーの表示を改善しないと、
具体的には、

1.ナビゲーションバーを消す
2.ナビゲーションバーの重ならない部分までを描画範囲とする
3.他

標準状態でのアプリ作成では、描画範囲とナビゲーションバーの範囲が重なります。
作成者側で避けられる問題ではありますが、改善した方がよいかと思います。

作成者が避けても、現状では
admobの画面下バナー広告が、おそらくナビゲーションバーと重なります。



しまくろねこ

リンク

2022/2/1(Tue) 20:42:11|NO.95285

今更で申し訳ないのですが、
Dish Helper ver.1.81についてです。
リリースから「KEY作成」でキーファイルを作成すると、ファイル名が「ファイル名.keystore.keystore」となってしまいます。
「ファイル名.keystore」の形で出力するように修正お願いします。
失礼しました。



テクノけいさつ

リンク

2022/2/4(Fri) 00:19:28|NO.95306

中途から失礼します。
別スレッドにも投稿したのですが、HSP3dishでcelput使用時、表示倍率にマイナス値を指定すると上、左に1ドットの画像ズレが発生するようです。
(私はwindows版の3.6、3.7betaで現象確認しました)
仕様か不具合か不明ですが、他の方からも修正のご要望がありましたので、ご確認いただけると幸いです。
詳細は下記に記載しております。

http://hsp.tv/play/pforum.php?mode=all&num=95295



窓月らら

リンク

2022/2/4(Fri) 17:48:40|NO.95310

きせんさんご指摘のAdMobがナビゲーションバー(ジェスチャー)に重なる問題ですが、うちは独自に対応しています。公式に対応していただけると助かりますが・・・
うちのアプリでは現状こんな感じで表示されます。
https://twitter.com/miecat_can/status/1489516218352812033

うちが行っている改造は以下にあります。
http://hsp.tv/play/pforum.php?mode=pastwch&num=90561

広告のポップアップの範囲内で縦方向だけセンタリングしているため、たまたまこのような結果になってます。



おにたま(管理人)

リンク

2022/2/4(Fri) 20:02:31|NO.95311

皆様、β版の検証とご報告ありがとうございます。
今後のバージョンの参考にさせて頂きます。

>mkt さん
>窓月らら さん
>しまくろねこ さん
>きせん さん

署名とアップロードの方法について検証ありがとうございます。
こちらでも過去のバージョンに対してアップデートは確認できていなかったので助かります。
今後、ドキュメント等で補足していければと考えています。
ナビゲーションバーの表示についても参考にさせて頂きます。
apkのリリースビルドと署名も今後対応していきたいと思います。
リリースビルドのみであれば、hspsdk/hsp3dh/hsp3dh.hsp内の「gradlew assembleDebug」となっている文字列を
「gradlew assembleRelease」にすれば生成されるはずです。後は署名が必要になりますが。

>アキアキノヒロロ さん

ご報告ありがとうございます。
かんたん入力については、3.7でも引き続きサポートされる予定です。
Peasエディタを除外した影響で動作しなくなっているもので、今後対応していきたいと思います。

>テクノけいさつ さん

ご報告ありがとうございます。
画像の反転については、今後のバージョンで改善していきたいと思います。



窓月らら

リンク

2022/2/8(Tue) 12:49:02|NO.95354

おにたまさん、よろしくお願いいたします。

Android10からある下部のジェスチャーナビゲーションバーですが、これの高さを取得して、現状の disp_height から引けば広告が隠れる問題に対処できますね。
いま別の方法を試してますが、なかなか位置合わせに難儀してます。



窓月らら

リンク

2022/2/8(Tue) 15:36:38|NO.95355

AdMobの表示の件ですが、とりあえずベストではないけどベターなのができたので報告します。すべてのジェスチャーナビゲーションな環境でテストしてないのできっとまだ重なる問題等ありますが、概ね達成しました。
参考までに、ソース等公開します。

まず、こちら
http://hsp.tv/play/pforum.php?mode=pastwch&num=90561
のスレに貼った HspActivity.java の改造部分から、以下の部分を書き換えます。

ad_height = disp_height/10; //独自

ad_height = disp_height/10; // 独自 if ( disp_height/disp_width >= 2 ) { ad_height += disp_height/48; // 独自(アス比1:2以上の縦長の場合) }

そして、HSP側は

sw=ginfo_winx // 実行端末の画面サイズX sh=ginfo_winy // 実行端末の画面サイズY ady=sh-(sh/10)+(sh/160)-(sh/22)*(sh/sw>=2) // AdMobのY座標 redraw 0 : : // AdMob背景 color: boxf 0,ady,sw,sh redraw 1

このように背景を塗り潰します。最適な値を見つけるのに試行錯誤しました。。
参考までに。

実行結果のキャプ。
https://twitter.com/miecat_can/status/1490927807761117184


>たぶんうちのkeystoreがJava6(JDK1.6)で作ったもので相当古いからだと思ってます。
それとこれについてですが、Javaは関係なくて、当時のdhがRSA2048を指定していなかったからでした。1.0から使ってたので…。2018年に作った鍵はRSA2048になってました。

(Version 1.0) tmp+="keytool -genkey -keystore "+and_keystore+".keystore -alias "+and_keystore+" -validity 10000\n" (Version 1.77) tmp+="keytool -genkey -keystore "+and_keystore+".keystore -alias "+and_keystore+" -keyalg RSA -keysize 2048 -validity 10000\n"

-validity 10000 この部分は個人的には18250(50年)以上にして使ってます。



窓月らら

リンク

2022/2/9(Wed) 18:45:39|NO.95361

上記AdMob対応ですが、Android 12でも問題なしです。
キャプチャーは下記に貼りました。
https://twitter.com/miecat_can/status/1491345927835353093

最近は2:1(18:9)以上の縦長端末が多く、こういう端末では高確率でジェスチャーナビゲーションだと思われます。なのでアス比2:1以上で位置調整する処理で大半は問題ないかもしれません。



窓月らら

リンク

2022/2/10(Thu) 18:22:45|NO.95365

HSP3Dish Android版でダイアログボタンの表示がおかしいようです。
Android 11 12 で確認しましたが、ボタンのサイズや位置が変です。OKボタンのみ確認で、Yes/Noは未確認。Android 9では問題なしで、10は未確認です。
下記にキャプを置きましたので、ご確認をお願いします。
https://twitter.com/miecat_can/status/1491702534121357314



窓月らら

リンク

2022/2/10(Thu) 20:34:28|NO.95367

連続ですみませんが、上記のダイアログボタンの問題はビルドかターゲットAPIが関係してそうな雰囲気なので、再現しないかもしれません。こちらで調査してなにかわかったら報告します。
最近ビルドして公開したアプリでは問題無さそうでした。



窓月らら

リンク

2022/2/10(Thu) 22:27:08|NO.95369

上記ダイアログボタンですが、どうやらビルドツール(apache-ant)を新しくすると解決するっぽいです、直せました。HSP3.7b1はapache-antではなくなったので既に関係無さそうですが、とりあえずビルド環境によってこんなことがありました。
お騒がせしました。



zezenana

リンク

2022/2/11(Fri) 06:43:07|NO.95372

HSP3.7βテストについてではありませんが、Android版 Dishの
ジェスチャーナビゲーションバー用の HspActivity.java のバナー位置改良スクリプトに
ついて質問させてください。


>窓月らら さん

>AdMobの表示の件ですが、(中略)参考までに、ソース等公開します。

HspActivity.java の ad_height について端末画面サイズのアスペクト比にて
追加で画面の48分の1する(バナー位置を上げる)対応をしておりますが、

この対応は アスペクト比が縦長=最新端末である(スマホ限定?)=
ジェスチャーナビゲーションバー機能があると決め打ちしたものでしょうか?


指定された過去スレのスクリプト(HSP3.51)はスマートバナーで処理されていますが、
HSP3.7βのスクリプトではアダプティブバナーの処理に変更されているのですが、
この改良はこちら(HSP3.7β)に改造部分を追加すれば良いのでしょうか?


それとHSP3側スクリプト(背景塗り潰し)についてですが、main.cppにて
hgio_viewや hgio_autoscaleでの画面サイズやスケール指定がある場合、
高さとアスペクト比が変化すると思われます(端末解像度利用のアプリ限定?)



窓月らら

リンク

2022/2/11(Fri) 09:57:58|NO.95374

>zezenanaさん

>追加で画面の48分の1する
これは2:1(18:9)以上の縦長であれば概ねジェスチャーであろうという決め打ちです。ですからそういう環境で従来のナビゲーションバーだった場合はやや余分に余白が追加されることになりますが、致命的に崩れることは無いと思われます。なのでベストではなくベターなのです。
スマホやタブレット向けです。

>HSP3.7βのスクリプトではアダプティブバナー
これはまだ未確認でした。調整してみてください。

>hgio_viewや hgio_autoscaleでの画面サイズやスケール指定がある場合
そうでした。スケーリングは独自でやる前提です、忘れてました。私は独自で0.25倍単位で端末にあわせて拡大する方法をとってます。過去スレでチラッと解説してあったと思いますが、0.25単位にしないと綺麗にスケーリングできないのでそうしています。



窓月らら

リンク

2022/2/11(Fri) 10:17:35|NO.95375

宣伝みたいですが、上記の独自スケーリングについては私のアプリで確認ください。
抽選機
https://play.google.com/store/apps/details?id=com.miecat.chusenki

英数字などはgzoomの転送ですが、倍率を必ず0.25単位にしてます。こうすることで計算誤差による歪みや謎のゴミが描画される不具合を回避できます。
このアプリはこのあたりのテストも兼ねていましたので、README画面で確認できるようになってます。別スレでも立てて頂けたら詳細を解説できます。



きせん

リンク

2022/2/11(Fri) 18:12:23|NO.95380

バナーの改変はサイズも含めてadmobのルール違反になることがあり、
バナーの一部が隠れるだけでも警告がくる場合があるので、
呼び出し、表示をいじるのは推奨できない気がします。

すでにステータスバーを消している環境ですから、
ナビゲーションバーを消した方がスマートな気がします。


ナビゲーションバーの非表示ですが、

HspActivity.java内の、onResume()の所に
-----------------------------------

View decor = getWindow().getDecorView();
decor.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_FULLSCREEN |
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
);
-----------------------------------
を追記することで改善できました。

ただし、ダイアログを表示すると、ナビゲーションバーが表示されます。
そこから先は検証していませんが、

onStart() あたりに記述すれば改善されるかもしれません。

これならば環境に影響されない筈です。



しまくろねこ

リンク

2022/2/11(Fri) 18:14:30|NO.95381

>そうでした。スケーリングは独自でやる前提です、忘れてました。私は独自で0.25倍単位で端末にあわせて拡大する方法をとってます。過去スレでチラッと解説してあったと思いますが、0.25単位にしないと綺麗にスケーリングできないのでそうしています。

私はAdMobを使用しないアプリしか開発していないので広告については良くわかりませんが、殆どのユーザは独自のスケーリングは行わないんじゃないでしょうか?
違っていたらごめんなさい。



窓月らら

リンク

2022/2/11(Fri) 19:34:51|NO.95382

あったー。スケーリングについてはこのスレで書きました。
http://hsp.tv/play/pforum.php?mode=pastwch&num=88343

最近気づいたのですが、AdMobの調整部分、公式にうちのコード取り入れられてたんですね。-5とか+4の謎の調整は省かれてますけど、あれは複数の実機でテストした際の私なりの微調整なのです。大半では0で問題ないですけどね。

>しまくろねこ さん
そうだと思います! ですが標準のスケーリングでは問題があるのも事実なので、私なりの解決策を提示してるだけなのです。
標準のスケーリングを使用しても、逆算すれば同じことが可能だと思います。



GENKI

リンク

2022/2/11(Fri) 20:23:18|NO.95383

HPS3.7β1の動作確認実施しました。
> mod_joystick2モジュールでジョイスティック複数接続時のエラー処理を修正
この部分を確認しました。


複数のゲームパッドを認識させようとすると、 mod_joystick2.as の36行目でエラーが出ます。

if modjoy_err@(p2) : goto *jstick_resume
原因は、modjoy_errの配列が確保されていないのに参照しようとしているためです。
jstick 命令を実行する前に、modjoy_errの配列をdimで宣言しておく必要があります。

#include "mod_joystick2.as" dim modjoy_err, 16 ; ←ここで事前に使用する個数分の配列を確保する。ここをコメントにするとエラーが再現できます。 *main redraw 1 : await 16 : redraw 0 : color 255, 255, 255 : boxf : color : pos 0,0 repeat 16 jstick key,0xFFFFFFFF,cnt mes key loop goto *main
対策をユーザーに任せない方針で行くなら、mod_joystick2.as 内の #global の次の行に「dim modjoy_err, 16」など適当なサイズを確保してしまうとかでしょうか。
実際には16どころか8も同時接続はしないと思うので、適当な固定値で十分だと思います。


またマニュアルに modjoy_err の説明がありません。
一度エラーが出たら、「modjoy_err = 0」としないとエラーからの復帰ができないので記述が必要だと思います。


次にjstickでキーボードの入力に同時に対応する機能についてです。
キーボード入力をすると使用している複数のゲームパッド全てに同じ入力が反映されてしまいます。
もともと期待していた動作でしょうか。1人用を開発するときはいいのですが、この仕様では一人はゲームパッド、二人目はキーボードで対戦といった使い方ができません。
…と書いてみたものの、命令増やして仕様を複雑にするよりは、現在の仕様のほうが扱いやすい・わかりやすい気がする。後者は稀な利用ケースですし mod_joystick.as 使えば実装できるし。
というわけなので、挙動についての説明をHDLに追記していただければいいかなと思います。



窓月らら

リンク

2022/2/12(Sat) 11:54:28|NO.95387

きせんさんの方法、他の言語についてのサイトにも書いてありますねー。
ひとつの方法として要検討ですね。

シンプルに考えると、ジェスチャーバーの高さはだいたいどの端末も似たり寄ったりなので、Android 10以上であれば下部の余白を多めにとっておく、だけでもいける気がします。ほんの少し位置を上げるだけです。
私がとりあえず実装したのはアス比を見る方法ですが、Androidバージョンを見れば確実だと思います。



窓月らら

リンク

2022/2/12(Sat) 12:09:13|NO.95388

何度もすみません、こちらにヒントがありましたー。
ジェスチャー ナビゲーションとの互換性を確保する
https://developer.android.com/training/gestures/gesturenav?hl=ja

もしかして、透明化だけでいいのでは、、、



窓月らら

リンク

2022/2/12(Sat) 18:53:25|NO.95395

Android 11 12でダイアログボタンがおかしい件ですが、やはりあります。
ですが、私のリリースしたCoinFZだけ発現しないらしいのです。
色々試したのですが、原因不明です。
アプリ切り替えで直るという報告も受けてます。

HSP3Dishについてはこちらにもスレを立てさせて頂きましたので、合わせてご覧頂けたら幸いです。
https://hsp.tv/play/pforum.php?mode=all&num=95389



アキアキノヒロロ

リンク

2022/2/13(Sun) 10:46:31|NO.95404

〓youdai さん〓の
https://hsp.tv/play/pforum.php?mode=all&num=92411
での要望に対する、おにたまさんの返答が頂けていないようですが、

>・gploadで3番目のパラメータ"name"に対して、
> 複数の組み合わせのオブジェクトが指定できるようにしてほしい

と言う要望が叶えられたら、自分が立てたスレ
>[hging4] 列車用の物理挙動用ノードについて
http://hsp.tv/play/pforum.php?mode=all&num=95399
の解決につながるようにも思うのですが、どうなんでしょうか。

また、〓ひつじ さん〓の、ノードオブジェクトの親子関係の設定に関する質問
http://hsp.tv/play/pforum.php?mode=all&num=95343
も、その方向から取り組めそうにも思えます。

オブジェクト指定について、何か方策が考えられないでしょうか。
それとも、これは、おにたまさんの返答を待つしかないのでしょうか。



窓月らら

リンク

2022/2/14(Mon) 16:15:12|NO.95413

HSP3.7b1についてでなくてすみませんが、この掲示板のHPリンクの部分について。httpじゃないと飛びませんよねw httpsだとエラーです。それはこの掲示板がhttpだからだと思ったのですが、いちおうご報告です。



zrs90(5さい)

リンク

2022/2/14(Mon) 20:27:34|NO.95417

窓月らら さんへ

多分、この事ではないでしょうか?
NO.94896で、TOMATO さんが
回答されています。

http://hsp.tv/play/pforum.php?mode=all&num=94893



窓月らら

リンク

2022/2/14(Mon) 20:36:58|NO.95418

>zrs90(5さい)さん

読みました! まさにそれですねー。
掲示板の説明に記載がほしいですね。



zezenana

リンク

2022/2/14(Mon) 23:05:05|NO.95420

>窓月らら さん

>NO.95374、NO.95375、NO.95382
改良スクリプトについてご回答ありがとうございます。
比率による決め打ちとスマホやタブレット向けについて理解しました。

アダプティブバナーについては、
日本では縦に大きな比率の広告取得がなかなかされないので
(広告サイズを遵守する会社が多いため?)確認できていませんが
広告下に空白多めな感じにはなりました。

hgio_viewや hgio_autoscaleを利用しない独自スケーリングについては、
過去スレで言われている gfilter 1と hgio_uvfix(1)を利用した際の不具合について
少数の倍率変化を調整しても回避することは出来ませんでした。

過去スレの説明を理解していないだけかも知れませんが、
標準スケーリングを利用した場合でも同様の結果でした。

>倍率を必ず0.25単位にしてます。こうすることで計算誤差による歪みや謎のゴミが描画される不具合を回避できます。

※Dish Android版にて確認、標準スケーリングは未使用、gfilter 1 設定

celput - hgio_uvfix(1)の効果なし。外周1pxにスムージングの色ドットが出る。倍率により1pxズレ不具合あり
gzoom - hgio_uvfix(1)の効果はあるが外周1pxのカット痕が目立つ。負倍率は外周1px余計に表示される
grotate - hgio_uvfix(1)の効果なし。外周1pxにスムージングの色ドットが出る。倍率により1pxズレ不具合あり

※celput、grotateの倍率による1pxズレ不具合については以下参照
http://hsp.tv/play/pforum.php?mode=all&num=95295



zezenana

リンク

2022/2/14(Mon) 23:22:41|NO.95421

>おにたま(管理人) さん

HSP3.7テストや現HSP3を含んだ要望やバグ、未サポートなどの報告に
HSPバグトラッッキングシステムを利用しようと思って開いてみたのですが、

2014年から現在最新の件数(IDが)が26件?ということもあり活用されている
感じが見られません。このシステムは機能しているのでしょうか?

やはり報告などは利用者の多いこちらでしたほうが良いのでしょうか?

ただこちらの場合、仕様と不具合の回避策などの助言やログ流れなどもあり
根本的な修正やアップデートに反映されない気がしています。
(HSP3使い始めてまだ浅いので仕組みを理解してないだけかもですが・・)

ちなみにHSPバグトラッッキングシステムの更新修正者が onitamaさんしか
いないのですが、2008年?にオープン化してからも開発や修正は onitamaさん
1人だけで行っているのでしょうか?

OpenHSP tracは十数年前とかに数名おりますが、GitHub(英語版HSP)は1人で
行っているように見えます。

それと現状活動されているHSP開発有志の方ってどのくらい居るのですか?

HSP周辺ツール開発協力者募集のページも更新されていなかったり、
hsp-dev メーリングリストのリンクも死んでいたりするので
活動してない、または他のコミュニティに移行したようにも見えます。



窓月らら

リンク

2022/2/15(Tue) 00:12:55|NO.95423

>zezenanaさん

説明不足がありました、hgio_uvfix(1) は使いません。
このスレでやる内容ではないので、下記スレで後日サンプルをつけて説明します。しばらくお待ちください。
http://hsp.tv/play/pforum.php?mode=all&num=95389



zrs90(5さい)

リンク

2022/2/15(Tue) 16:01:27|NO.95427

おにたまさん HSP関連の開発/改修お疲れ様です。
先日、Dish版で、動作報告のあった celput 命令ですが

メルクーフ さんのHP内に、HSP3のバージョン、
Windows版、Dish版か、詳細は不明ですが
gmode 7 との組み合わせ使用時の注意と
拡大の処理の不具合(らしい?)記述がありました。

(※ HSP3備忘録 メルクーフ で検索、
トップに出ますので、内容を精査の上で
メルクーフ さん、ご本人に直接ご確認
願えませんでしょうか?

後、celput 命令以外にも、2〜3件気になる
記述があります。

HPには、リンクフリーとありますが、そのまま
掲示板に記載して良いか、私では判断出来ません。
お手数をおかけしますが、よろしくお願い致します。)



zezenana

リンク

2022/2/16(Wed) 07:48:30|NO.95433

HSP3.6β2以降の HSPアシスタント run実行と editスクリプトにて
以下の Dishサンプルでエラー#3が発生します。ちなみに HSP3.51での動作は確認しています。

HSPアシスタントの hsp3dish フォルダ内

tamane_s2_dish
tamane_s_dish


これは以下ドキュメント「のスクリーンサイズ変更について」(「の」は誤記?)
にもあるように screen命令の追加対応が行われたことで動かなくなったようです。

hsp3dish_prog.htm#SCREEN

>のスクリーンサイズ変更について
>
>HSP3Dish、HGIMG4のWindows/Linux版において、スクリーン(ウインドウ)サイズの
>動的な変更に対応しました。(HSP3.6β2以降)
>
>(中略)
>
>また、スクリーンサイズ変更時は、通常ランタイムとは異なり、
>それまでに読み込んだすべての画像バッファは失われますので注意してください。


スクリプトは celload実行後にある HSP3.51で未処理だった screen命令が機能するように
なったことで、画像バッファやIDの情報がクリアされるようになり
celputのID指定にてエラー#3が発生しているようです。

celload前に screen命令を移動するか screen命令自体を削除することで改善されます。



しまくろねこ

リンク

2022/2/22(Tue) 18:10:39|NO.95541

HSP3.7β1バージョンのHSP3Dish講座を作り直しましたのでお知らせします。
仕事が早く終わったので急いで作りました。

https://sites.google.com/site/simakuroneko/home/hsp3dish_course



窓月らら

リンク

2022/2/22(Tue) 21:17:42|NO.95542

HSP3.6正式版のほうでしか確認できてないのですが
HSP3Dish Android版のほうで mes 命令の改行、つまり

mes "メッセージ1\nメッセージ2\nメッセージ3"

というように改行コードを入れると、Android上では2行目から半角スペース程度横にズレが生じています。
HSP3.7b1でどうなってるかは確認できてないのですが、もしそのままなら修正をお願いします。



窓月らら

リンク

2022/2/22(Tue) 22:15:33|NO.95546

AdMob広告についてですが、ここは思い切って上部に表示するようにするのも手だと思い始めてます。
いま私の「いろぷち」がAdMobポリシー違反で広告に制限(停止ではないらしい)をかけられてるのですが、広告に何かが重なってるらしいのです。HSP側の描画が重なることはありえないので、ジェスチャーバーかナビゲーションバーだと思われます。
対策は入れたつもりなのですが、それでも重なってるらしいですw
いつものごとく、グーグルは細かく教えてくれませんので推測を元に対応するしかないのですが、これが原因であれば上部にすれば一発で解決になります。

というわけで、試しますね。。。



窓月らら

リンク

2022/2/22(Tue) 23:25:16|NO.95549

何回かお伝えしてあった HSP3Dish Android版で特定の機種でmes命令の描画がおかしい(白く塗り潰される)件ですが、問題なかったのは HSP3.6b1 で b2 ではありませんでした。b1とb2の間に何かあったんでしょうね・・・



窓月らら

リンク

2022/2/23(Wed) 14:24:04|NO.95554

HSP3.6正式版、HSP3Dish Android版にて、Androidのタスクボタン(■)でアプリを一旦引っ込めてから再びアクティブにすると、mes命令の文字がすべて小さくなってしまうようです。
ループ中に font命令でサイズを指定すれば回避できますが、もし最新版でもこのままなら修正をお願いいたします。
Android 9 で確認しました。

ダイアログのボタンが小さくなってしまうのも似た挙動です。こちらはHSP側のメインコードが走り出す前の例えばAdMobについてのJavaルーチンから直接ダイアログを呼び出した場合は発生しないのを確認しています。
こちらは Android 11,12 で確認できております。少なくとも 9 までは発生しません。



窓月らら

リンク

2022/2/23(Wed) 15:04:21|NO.95561

私事ですが、只今AdMobポリシーへの対応をしているのですが、結論としてはAdMobを上部に配置するで修正を試みます。
一旦はグーグルにも審査してもらい通っていたアプリなのですが、以前はなかったポリシーが次々と追加されて引っかかることがあります。
Android 10 から挙動が変わって問題が出ている場合もありえます。
下のナビゲーションバーに隣接していてもNGらしいです。ですが、これがNGならいままでのアプリすべてアウトではないでしょうかw そしてそういうアプリはかなり見かけます。要は、偶発的クリックを防ぐ適切なスペースを確保しろってことだと思われます。

個人的な暫定コードを以下に置いておきます。
私のもHSP3.7b1のも縦px/10としていましたが、これを少し多めに確保するよう変更。

ad_height = disp_height/8; if ( disp_height/disp_width >= 2 ) { ad_height += disp_height/20; // アス比18:9以上の縦長の場合 }

上部に表示する

popUp.showAtLocation(mainLayout, Gravity.TOP|Gravity.CENTER, 0, 0);

割合がわかるので、HSP側で合わせます。

また、実行時の情報を確認するために以下のようなテストを行っています。
ad_height = disp_height/8; の前あたりに配置して確認します。
import android.os.Build; の追加が必要です。

//test if (Build.VERSION.SDK_INT >= 10) { int apilevel = Build.VERSION.SDK_INT; int dw = disp_width; int dh = disp_height; String strdw = Integer.toString(dw); String strdh = Integer.toString(dh); String strapi = Integer.toString(apilevel); String strmes = "デバッグです。\n\n"+strdw+" x "+strdh+"\nAPI-"+strapi; //Toast.makeText(this, strtmp, Toast.LENGTH_LONG).show(); ui_dispDialog( strmes,"debug info",0 ); }

(Build.VERSION.SDK_INT >= 10) を (Build.VERSION.SDK_INT >= 29) とすれば、Android 10〜を判定できます。

Pixel6 Android 12 で確認しましたところ、ナビゲーションバーやジェスチャーバーの高さは反映されていますが、微妙に正確ではない予感もします。
ジェスチャーと従来のナビとを切り替えると、高さが変わるのが確認できるかと思います。
またこの分の高さはHSP側の ginfo_winy には反映されておらず一致しません。



窓月らら

リンク

2022/2/23(Wed) 15:10:15|NO.95562

//Toast.makeText(this, strtmp, Toast.LENGTH_LONG).show();

すみません、これは間違いです。
試してみたい方は strtmp を strmes に変更してください。
改行が反映されるか試してませんが、最初のテストの名残です。



窓月らら

リンク

2022/2/24(Thu) 16:33:09|NO.95573

私事ですが、上記AdMobポリシーの対応は私の暫定方法でグーグルの審査をパスしました。本当に嬉しいですw お墨付きいただきました。
まだ細かい調整はありますが、方法は共有していきたいと考えています。

また、Java側とHSP側で画面高さの取得に違いがある件についても、暫定的ながら方法はみつかりました。後日例のHSP3Dishスレで共有いたします。



窓月らら

リンク

2022/2/24(Thu) 20:43:36|NO.95574

ついでなので暫定コードの変更点。
上記AdMobについて、グーグルの審査を受けたアプリのコードですが
Java側は以下のようになっています。暫定ですがこれで審査はOKです。

ad_height = disp_height/8; if ( (disp_height*10)/disp_width >= 18 ) { ad_height += disp_height/48; // アス比18:9以上の縦長の場合 }

HSP側も同様の式を用いて切り替えるのですが、現状では同じ高さが入ってこないみたいなので注意。Java側が同じか必ず小さい値になる点を考慮。
ただし、HSP3.7b1の新しい方法では変わってくると思いますので、要調整です。

(disp_height*10)/disp_width >= 18 としたのは、例えばきっちり18:9の端末があったとしても、実行時にはナビバーなどの分を削られた値が入ってくるため少しマージンをもって判定したほうが良いと思ったからです。



窓月らら

リンク

2022/2/25(Fri) 16:51:16|NO.95577

HSP3Dish Android版
Android 11,12 でダイアログのボタンがおかしくなる件ですが、どうやらredrawが関係する?感じがあります。
HSP側をdialogのみのコードにしたら発生しませんでした。



きせん

リンク

2022/2/25(Fri) 22:37:25|NO.95582

NO.95546
ららさんのポリシー違反、私もなりました。
おそらく、透明になっているナビゲーションバーと、アプリ部分が重なっているからではないでしょうか。
ナビゲーションバーを消す処理でアップデートしたら私はクリアできました。
広告のサイズや位置をずらすのも基本的にはアウトです。



きせん

リンク

2022/2/25(Fri) 22:40:53|NO.95583

ナビゲーションバーにかかるのはアウトなようなので、
hspの標準状態でつくって下に広告がはいるのは、おそらくすべてアウトです。
みつかったらポリシー違反になるとおもいます。
ほぼナビゲーションバーを隠す処理は広告いれるなら必須の作業です。



窓月らら

リンク

2022/2/26(Sat) 00:41:26|NO.95584

>Google が配信する広告の前面に重なって表示されるコンテンツの扱い

これですよねー。
現状、HSP3Dish標準のままだとこれに引っかかります。Android 10以降で。
9までは隠れないので問題にならなかったのです。

私はこれに加えてもうひとつ食らって、偶発的クリックが起きるからコンテンツから距離をとれってやつです。私のアプリではプチプチとも隣接していて更にナビゲーションバーにも隣接してたんで、両方で言われたかもしれません。
下に表示するならナビバーを消したほうがいいですね。
または私のように上部に変更するかです。
ここはたった1行で変更できるので、HspActivity.java に片側をコメントアウトの形で両方書いてあるといいかもしれません。
下記のように。

// 画面上部に表示する
//popUp.showAtLocation(mainLayout, Gravity.TOP|Gravity.CENTER, 0, 0);
// 画面下部に表示する
popUp.showAtLocation(mainLayout, Gravity.NO_GRAVITY, 0, disp_height-ad_height);



アキアキノヒロロ

リンク

2022/2/26(Sat) 07:09:39|NO.95585

[hsp3dish] 関係が続く中、[hgimg4] についてです。

サンプルの [hgimg4/tamane_tree] は、
[gpnodeinfo] の機能を使って「階層の一部を取り出し座標を取得」
という働きの例が示されるのですが、
このサンプルの使い方では、この目的に沿った「座標取得」になっていません。
カメラを動かして様子を見ると、一目瞭然です。

原因は、hashikemu さんが指摘されています。
http://hsp.tv/play/pforum.php?mode=all&num=95343#95575
>位置(pos)はビュー座標系かつモデルの位置と姿勢が0、スケールが1の時の位置として、
>姿勢(quat)は各ボーンの親ボーンに対するローカル姿勢として、
>それぞれ取得されてしまうため、座標変換が必要になります。
そして、hashikemu さんが、目的に叶ったモジュールを作って、この問題を解決しておられます。

hashikemu さんご自身からは、このこと自体を取り上げて、問題表明されるというようなことはされておられません。
しかし、サンプルとして載せられているものに問題がある以上、このままにしておくことはよくないと思い、差し出がましくも、訂正を求めたいです。
そして、他人ながらも、hashikemu さんのモジュールが、標準仕様になることを求めます。

hashikemu さん、私の勝手な振る舞いをお許し下さい。



zrs90(5さい)

リンク

2022/3/1(Tue) 13:20:13|NO.95606

syscolor 命令の引数書式が、おかしい件。
22.03.01 12:30

動作確認 Windows7 pro 32ビット
HSP3.5〜3.6(※いずれも、書籍版)

syscolor 0, boxf

マニュアルを見た所、この場合、syscolor は
引数が1つなので、マルチステートメント で
boxf に繋げる必要があります。

本来なら、文法か、パラメータ関係のエラー?
になるはずですが、何故か実行出来ます。

それとも、将来的に、パラメータ 追加の
予定があるのでしょうか?



TOMATO

リンク

2022/3/1(Tue) 20:15:55|NO.95609

>syscolor 命令の引数書式が、おかしい件。

syscolorに限らず、本来の想定される引数より多くした場合で、
引数が省略できる命令を記述した場合はエラーとはならないようです。


dialog "aaa", 1, "bbb", 0, boxf mes "ccc", 0, color line 0, 0, 640, 480, screen font "Meiryo UI", 32, 0, 1, cls



さか

リンク

2022/3/1(Tue) 21:07:12|NO.95610

HSP3Dish helperでhtml5変換した際にstick命令が機能しないようです。

確認したバージョンは以下です。

〇 ver 1.77
X ver 1.81



しまくろねこ

リンク

2022/3/1(Tue) 21:26:57|NO.95611

今更ながらですが、#pack/#epackにてフォルダ名を含めて記述できることを知りました。
しかし、フォルダ名と\または/も含めて16文字以上になると、作成したexe実行時に内部エラー(13)が出てしまうのですが、事情を知らずに質問をしてしまうことをお許しください。
なぜPACKファイルは15文字までしか扱えないのでしょうか?
欲を言えば倍の30文字くらいは欲しいです。
HSPの仕様を変えてしまうようなことを言って申し訳ないのですが、どうかご検討のほどよろしくお願いいたします。


#packopt name "test" #packopt type 0 #packopt xsize 640 #packopt ysize 480 #packopt hide 0 #packopt orgpath 0 #epack "123456789/1.png" ;#epack "123456789/12.png" #include "hsp3dish.as" celload "123456789/1.png", 1 //フォルダ名とスラッシュを含めても15文字以内なのでエラーにならず ;celload "123456789/12.png", 1 //フォルダ名とスラッシュも含めて16文字以上になるとエラー repeat redraw 0 color 0, 0, 0 : boxf pos 0, 0 celput 1, 0 redraw 1 await 16 loop



zrs90(5さい)

リンク

2022/3/1(Tue) 21:50:10|NO.95612

TOMATO さん ありがとうございます。

...こんな、条件で、起こる物だったとは
想像もしませんでした。



GENKI

リンク

2022/3/2(Wed) 00:08:15|NO.95615

スクリプトエディタの拡張設定にある「ユーザー定義命令・関数を色分けする」が正しく動作していません。3.6でも同様の症状が出ています。
例えば、下記のようなスクリプトを書いて「hogehoge 1」の後に改行を何回か入れてみると、「hogehoge」に色がついたりつかなかったりします。

#module #deffunc hogehoge int p1 mes p1 return #global hogehoge 1
使っている機能ではないのでまったく困らないのですが、見つけてしまったのでとりあえず報告だけ上げておきます。



zezenana

リンク

2022/3/5(Sat) 00:09:43|NO.95622

既出かもしれませんが、Dish/HGIMG4(WIN版) circle命令の未サポートについてです。
HSP3.51、HSP3.6、HSP3.7βテスト版でも再現できています。

・circle命令オプション p5 の描画モードが無効化されている(塗り潰しのみ)

・円の描画が18角形で描画される(楕円では鋭利な描画となる)

以下サンプルの 1、2行目のコメントを付ける/外すことで 無印/Dish版を確認できます。
HGIMG4(WIN)の結果は、Dish(WIN)版と同様となります。


;#include "hsp3dish.as" ;#include "hgimg4.as" screen 0,300,600 color 255:circle 0,0,150,600,0 color 255,,255:circle 0,50,300,150,0 color ,,255:circle 150,0,300,600,1 color ,255:circle 0,150,300,250,1 color:pos 20,300:font msgothic,30,1 #ifdef __hsp3dish__ #ifndef __hgimg4__ mes "HSP3DISH\n(WIN)" #else mes "HGIMG4\n(WIN)" #endif #else mes "HSP3(WIN)" #endif redraw 1



zrs90(5さい)

リンク

2022/3/6(Sun) 08:47:30|NO.95627

/*

おにたま さん HSP3 関連の改善等
お疲れ様です。

既出、間違いでしたら申し訳ないです。

通常のWin版だと
gradf 命令前の color 命令を反映しますが

Win版Dish/hgimg4 では
gradf 命令前の color 命令を反映しません。

(※ 下記サンプルでは、説明の為、
p5〜p7 パラメータを省略していますが
直接、p6〜p7に、同色で色指定すれば
この件は、回避出来ます。)

2022/03/06 6:30am
Windows7pro 32ビット
HSP3.6

*/

; #include "hgimg4.as"
; #include "hsp3dish.as"

redraw 0

color 255, 0, 0
gradf 0, 0, 16, 16

color 0, 255, 0
gradf 16, 16, 16, 16

redraw 1



GENKI

リンク

2022/3/6(Sun) 20:55:52|NO.95639

#include "hsp3dish.as" を記述すると動作結果が異なります。
boxf命令を使用すると、右下1ドット分小さくなります。
hsp3dish.jsでも発生するそうです。しかしこれはWindows版だけで、Androidでは発生していないとの情報もあります。
http://hsp.tv/play/pforum.php?mode=all&num=95389

;#include "hsp3dish.as" redraw 0 color 255 boxf color pset 10, 8 boxf 10,10, 11, 11 line 10,13, 11, 13 redraw 1

こちらの過去ログのスクリプトのほうがわかりやすいと思います。

Dishにおける描画命令の仕様?
http://hsp.tv/play/pforum.php?mode=pastwch&num=61865

Windows上での動作の違いに戸惑うので、せめてこういう違いが出ることがあるということをどこかに書いていてほしいです。
個人の環境による問題なのかAndroidでも影響出てくるのか、他の方から情報を得るまでわかりませんでした。



zezenana

リンク

2022/3/6(Sun) 22:32:21|NO.95640

HSP3無印/DISH/HGIMG4 WIN版の gsquare命令の未サポートについてです。
以下、描画図形とオプション p1の組み合わせにて何かしらかの問題があります。

 −描画図形 :(A)通常図形/(B)ねじれ図形/(C)左右反転図形
 −オプション:(1)画像/(2)単色/(3)グラデーション

・Dish WIN版のみ circle命令の前後で gsquare命令の挙動が変わります。
・HSP3.51、HSP3.6、HSP3.7βテスト版でも確認できます。
・他のプラットフォームでは未確認・未検証です。

■無印版の未サポート内容

・B-3 ねじれ図形/グラデーションは、反転せず範囲外に表示されます

■Dish WIN版の未サポート内容

・A-1 通常図形/画像は、歪んで表示されます
・B-x ねじれ図形は、範囲外に表示されます
・B-x ねじれ図形は、circle命令後は範囲外表示と反転箇所が表示されません
・C-1 反転図形/画像は、歪んで表示され、circle命令後は表示されません
・C-x 反転図形は、circle命令後は表示されません

■HGIMG4 WIN版の未サポート内容

・A-1 通常図形/画像は、歪んで表示され、反転し上下が逆に表示されます
・B-1 ねじれ図形/画像は、反転し上下が逆に表示されます
・B-x ねじれ図形は、範囲外に表示されます
・C-1 反転図形/画像は、歪んで表示され、反転せず上下が逆に表示されます


以下サンプルの 1、2行目のコメントを付ける/外すことで 無印/Dish/HGIMG4版を確認できます。
※向きや反転を確認するためにサンプル画像の ball64.png を利用しています。
※HSP3.51での確認のみ HSP3サンプルの HGIMG4のリソースフォルダ(res、shaders配下、font.gpb、ball64.png)と hsp3dish.iniが必要です。


;#include "hsp3dish.as" ;#include "hgimg4.as" tx=0,512,512,0:ty=0,0,512,512:gc=$FF00FF,$FF,$FF00,$FFFF screen 0,600,600 #if (__hspver__>>8)==$35 celload "res/ball64.png",1 #else celload dir_tv+"ball64.png",1 #endif repeat:stick k:if k&256:s1++:if s1>2:s1=0 if k&512:s2++:if s2>2:s2=0 if s1=0:gx=100,500,600,0:sq="(A)Normal" if s1=1:gx=100,500,0,600:sq="(B)Twisted" if s1=2:gx=500,100,0,600:sq="(C)Reverse" redraw 0:color 255,255,255:boxf oy=0:gy=oy,oy,oy+300,oy+300:p_gsquare color ,,255:circle 250,150,350,450,0 oy=300:gy=oy,oy,oy+300,oy+300:p_gsquare color ,220,220:pos 210,400 #if (__hspver__>>8)==$35 font msgothic,26,1:mo=0 #else font msgothic,26,1,2:mo=4 #endif #ifdef __hsp3dish__ #ifndef __hgimg4__ mes "HSP3DISH(WIN)",mo #else mes "HGIMG4(WIN)",mo #endif #else mes "HSP3(WIN)",mo #endif mes ""+sq+"-"+op+"\nclick select",mo redraw 1:await 1000/30:loop:stop #deffunc p_gsquare if s2=0:gsquare 1,gx,gy,tx,ty:op="(1)Picture" if s2=1:color 255:gsquare -1,gx,gy:op="(2)Color" if s2=2:gsquare gsquare_grad,gx,gy,gc:op="(3)Grad." return

GENKIさん も仰られているように仕様の議論が雑談として過去ログ流れするなどもあるので
(2014年当時の状況を知りませんが HSP3Dishの利用者が少なかった?)

テスト動作検証をして掲示板で報告した所で何年もそのままになるのかは気になります。

出来ればHSPバグトラッッキングシステムなどのような報告・対応状況が見れる
正規の不具合報告などのレポート先(直接メール等、どこに報告すれば確認して頂けるのか)を
明確にしていただきたいです(Webサイト上では見つけられませんでした)



窓月らら

リンク

2022/3/7(Mon) 00:11:45|NO.95641

私はこちらの掲示板にお邪魔する前はメールでおにたまさんにバグ報告しておりました。掲示板のがお手間をかけさせないので、いまはこちらで報告しております。

HSP3Dish Android10〜でダイアログボタンがおかしくなる件ですが、なんとなくですが redraw 以降の何かが影響してる可能性があります。
というのは、redrawが実行される前に dialog を呼び出した場合は問題なかったのです。ハッキリしたことはまだわかりませんが、ヒントとして。



窓月らら

リンク

2022/3/7(Mon) 19:22:45|NO.95647

GENKIさんご指摘の boxf の指定範囲の違いですが、Androidでは発生していないとの情報のソースは私なのですが、Androidでも-1の可能性はあります。
私が使用してる範囲で問題が起きてないだけかもしれませんので、すみませんがご検証お願いいたしますw(丸投げ)。

例えばスクリーンサイズ 640x480 だった場合に

color: boxf 0,0,640,480

とすれば全画面が黒で塗り潰されるわけですが、Windowsのほうでは厳密には

color: boxf 0,0,640-1,480-1

が正しいわけです。でも結果的にはどちらも同じで問題になることはありません。
(全画面塗り潰しなら color: boxf でいいですが、あくまで説明のためです念のため)

…というような使い方が多いので、表面化してないだけの可能性があります。
逆に通常のWindows版と仕様が合わせられた場合は、ソースの手直しが必要になりそうですねこれは。



zrs90(5さい)

リンク

2022/3/9(Wed) 22:06:32|NO.95670

http://hsp.tv/play/pforum.php?mode=all&num=95389

↑の、3/9 20:24 に
おにたま さん からの返信が、来ております。

3.7βのスレッド等で、最近、動作報告等をして
心当たりのある方は、上のスレッド、95667 を
参照して下さい。



窓月らら

リンク

2022/3/9(Wed) 23:49:16|NO.95673

あら?
おにたまさん、レスするスレ間違えたみたいですね。



おにたま(管理人)

リンク

2022/3/10(Thu) 00:45:02|NO.95674

ああ、すみません。こちらに再掲します。
--------------------
β版について多くの検証とご報告ありがとうございます。
なかなか手が入れられず、お手数おかけする部分があり申し訳ありません。
以下、いくつか返信させて頂きます。

>GENKI さん

mod_joystick2モジュールについての不具合報告ありがとうございます。
次のバージョンで修正させて頂きます。
modjoy_errについては、mod_joystick2モジュールでは復帰処理が入っているのですが、mod_joystickモジュールでの動作でしょうか。こちらについてもドキュメントで補足をしたいと思います。
boxf命令で右下1ドット分小さくなる不具合は、HSP3Dishのプラットフォームごとのソースを共通化した時に間違ってしまったかもしれません、ご指摘ありがとうございます。

>窓月らら さん

ナビゲーションバーと広告の表示位置につきまして、詳細なご報告ありがとうございます。
次のバージョンで改善する際に参考にさせて頂きます。

>アキアキノヒロロ さん

HGIMG4についてのご指摘ありがとうございます。
手間のかかる検証をして頂き大変助かります。
まだすべての状況を検証できていませんが、GPPBIND_MESHで設定した場合、getposが反映されないのは不具合ですので今後修正していきたいと思います。
GPPBIND_MESHの機能については、gameplay3d側の制約などがあるのでそちらも併せてドキュメントに反映していきたいと考えています。
また、gpnodeinfo命令についても現状使い難い部分があると思いますので改善していきたいと思います。

>zezenana さん

gsquare命令の差異についてご報告ありがとうございます。
描画APIの違いや機種ごとのGPUによって異なる場合がどうしても出てきますが、できるだけ同じ見た目になるよう調整はしていきたいところです。
HSPバグトラッッキングシステムにつきまして、登録の不便さもあり現状ではあまり活用されていません。ただし内容については節目で確認はさせて頂いています。
ですので、不具合の報告についてはこちらの掲示板か、GitHubのOpenHSPのissueとして挙げて頂くのが比較的返答が早いかと思います。
HSPの開発についてはタスクを割り振って複数人で行っているわけではなく、OpenHSPの修正や改善などを個別に頂いたものを私の方でマージさせて頂いている状態です。
相互の連絡手段は必要と感じていますので、今後はWindows版も含めた全般についてもgithubに統一する方向で考えています。(今までは文字コードの問題で統一できていませんでした)

>しまくろねこ さん

HSP3Dish講座の更新ありがとうございます。
マニュアル等で足りていない部分を補完頂き感謝致します。
また、#pack/#epackのファイル名制限についても、3.7では互換性のある形で修正したいと考えています。

>zrs90(5さい) さん

ご報告ありがとうございます。
「syscolor 0, boxf」のようなパラメーターが多すぎてもエラーが出ない状態のものがあります。
エラーチェックが足りていないのですが、今後随時修正していければと考えています。
gradf命令のデフォルト色についても今後修正させて頂きます。

>さか さん

ご報告ありがとうございます。
不具合について確認して修正させて頂きます。



法貴優雅

リンク

2022/3/10(Thu) 22:34:33|NO.95678

前スレッドで報告した件ですが、まだver3.7b1で修正されてないようなので再度報告します。
HGIMG4および、HGIMG4DXにてmmloadがメモリリークしています。

#include "hgimg4.as" mmload "0.wav", 0, 1 repeat stick k if (k&256) { mmload "0.wav", 0, 1 } wait 10 loop
上記コードでクリックしまくるとタスクマネージャでメモリ使用量が
増えつづけて、最終的にエラーになって落ちます。
また#includeをコメントアウトするだけで、メモリリークしなくなるため
HGIMG4および、HGIMG4DXでのmmloadだけがメモリリークするようです。

通常このようなコードは書かないと思いますが、メモリリークするということで
報告いたします。



アキアキノヒロロ

リンク

2022/3/15(Tue) 07:08:15|NO.95732

[hgimg4] では、[dialog] は、メッセージボックス型(タイプ0〜3)のみ使用可であることに、つい先日気づきました。
http://hsp.tv/play/pforum.php?mode=all&num=95724
[hgimg4] は、3D描写のための開発が進んでいて、3Dゲームの作り手にはとても嬉しいです。
さらに、ツール製作などの方面にも、その幅が広がると、また一段と魅力や可能性が増すはずです。
そのための一つとして、[dialog] 命令の全機能の標準仕様化が望まれるところです。



窓月らら

リンク

2022/3/15(Tue) 08:23:38|NO.95733

よくわかってないのですが、AdMobについてでてすが、

>Android 12以上(APIレベル31)を対象としている場合、デバイスの広告IDを読み取るにはパーミッションcom.google.android.gms.AD_IDを追加する必要があります。
https://help.adjust.com/ja/article/get-started-android-sdk

<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>

またしても仕様変更ぽい感じですが、API-31以降ではこれの追加が必要ってことなんでしょうか?



窓月らら

リンク

2022/3/15(Tue) 10:14:05|NO.95735

上記パーミッションですが、英語の説明しかもらってないのですが
どうやらAPI-31〜は入れておかないと4/1以降広告に影響がでるっぽいと判断して追記しました。
あと、HSP3.7b1の AndroidManifest.xml を見るとアプリIDも書いてありますので
こちらも追記しました(もちろんIDは自分のに置き換えです)。
いろいろしらない内にポリシーが変更されてるので、対応が地味に大変です。



窓月らら

リンク

2022/3/15(Tue) 11:44:35|NO.95736

上記うちの早とちりかもしれないので、すみませんがご精査ください。なんか関係ない項目のような気もするんですが、GooglePlayから英語で対応しろという趣向のやつがきたので、対応してみたつもりです。ぐーぐるの説明が暗号レベルなのでよくわからんですw



GENKI

リンク

2022/3/18(Fri) 00:29:22|NO.95757

 HSPスクリプトエディタの挙動について報告です。
 分割ウィンドウを利用した状態で元に戻す(Ctrl+Z)を2回行うと、全ての分割ウィンドウで同じ位置が表示されてしまいます。別の位置を見ながら使うものなので意図した動作ではないと思います。
 また分割ウィンドウを利用すると、カーソル位置が分割されたウィンドウごとに記憶されません。カーソル位置が共有されているようです。ルーラーをクリックしてアクティブな分割ウィンドウを切り替えて確認しました。この仕様が「元に戻す」実行時の動作に影響しているのではないでしょうか。



zezenana

リンク

2022/3/20(Sun) 08:07:34|NO.95772

> おにたま(管理人) さん

ご回答ありがとうございます。

>ですので、不具合の報告についてはこちらの掲示板か、GitHubのOpenHSPのissueとして挙げて頂くのが比較的返答が早いかと思います。
>(中略)
>相互の連絡手段は必要と感じていますので、今後はWindows版も含めた全般についてもgithubに統一する方向で考えています。(今までは文字コードの問題で統一できていませんでした)

GitHub日本語版がないこともあり、利用方法など全然理解していませんが
何となく おにたま(管理人) さんの立ち上げたスレに書けば見てもらえる(だろう)という
曖昧な感じにもなっていましたので、どのような形であれ窓口を1つにまとめて頂けるだけで助かります。

あと、公式サイトの「ユーザーサポート」には有償サポートについてしか記載されておりませんので
問い合わせや不具合報告などとして報告方法も明記して頂けると助かります。


-----
HSP3.7βテストの件で一つ、
以下スレの block3admobサンプルの提供から気になっていたのですが、
プロジェクト内 AndroidManifest.xmlの APPLICATION_IDの記述にある アプリID(ca-app-pub)は
架空のIDなのでしょうか?

http://hsp.tv/play/pforum.php?mode=all&num=94396#94638
HSP3Dish googleplayに公開するときaab形式ですが...

調べてみると、hsp.tvのページ内の Google Adsense IDの一部と一致するようです。
影響はないと思いますが、実在するアプリIDなのであればよろしくないのかなと思っています。
(HspActivity.java は Google Developersのテスト広告IDとなっているので問題ありません)

ちなみにこのアプリIDの入った AndroidManifest.xmlは
HSP3.7βのDish Helperプロジェクト新規作成でも展開利用されています。



窓月らら

リンク

2022/3/20(Sun) 23:20:35|NO.95787

zezenanaさんご指摘のアプリIDについては私も気になっていました。
こちら↓で書いたのですが
https://hsp.tv/play/pforum.php?mode=all&num=95389#95768
自分のアプリIDに置き換えが必要だという認識です。
新規プロジェクトではダミーのIDをいれておいて頂いたほうが良いかと思われます。



かの

リンク

2022/3/26(Sat) 22:34:37|NO.95849

地味な指摘で恐縮ですが、
HSPスクリプトエディタhsed3.exeでメニュー([ファイル(F)][編集(E)][検索(S)]...)を選択したときにステータスバーに表示される説明が[検索(S)]以降ずれています。
hsed3le.exeのメニュー構成の説明が表示されているようです。

少なくとも3.5のスクリプトエディタでも同様だったので、かなり前からそうだったかと。



かの

リンク

2022/3/26(Sat) 23:43:05|NO.95851

もう1点、こちらも過去から同様ですが、
ginfo で取れる加速度センサーのマクロが hspdef.as では ginfo_accelx / ginfo_accely / ginfo_accelz と定義されているのに対して、
コマンドヘルプHDLでは、ginfo_accx / ginfo_accy / ginfo_accz として説明されています。



zezenana

リンク

2022/3/29(Tue) 00:15:03|NO.95877

HSP3Dish WIN版の mes/font命令およびセル関連の不具合についてです。

以下のサンプルスクリプト実行後に事前操作を行う(Windows10にて確認済)

・「ユーザーアカウント制御画面」を開いて閉じる

※タスクバーの検索で、cmdを「管理者として実行」>「ユーザーアカウント制御」の選択で
「いいえ」をクリックするなど

もしくは

・スタート>「電源」>「スリープ」の実行からのスリープ解除

これらを行うことで、HSP3Dish(WIN)のみ表示や動作に問題が見受けられます。

HSP3.7β、HSP3.6では同じ挙動となり、HSP3.51は少し異なります。
#include のコメントによる HSP3無印、HGIMG4(WIN)では正常動作します。

またスクリプト内の「入力処理1」と「入力処理2」を入れ替えることで
mesの異常表示が変化します。


#include "hsp3dish.as" ;#include "hgimg4.as" #if (__hspver__>>8)>$35 screen 0,400,400 #endif #if (__hspver__>>8)==$35 font msgothic,24,17 #else font msgothic,24,17,5 #endif celload dir_tv+"hsptv_img.png",1 celdiv 1,64,64 gmode 2:z=10000:x=50:v=20 repeat stick c:if c&256:z++ // 入力処理1 ;stick c:z++:if c&256:z-=100 // 入力処理2 redraw 0:color 100,100,100:boxf y=50:color ,,255:boxf x-v,y-v,x+v,y+v color 255,255,255:pos x,y:mes "[ B O X F ]\n"+z+"-A",4 y=120:color 255:circle x-v,y-v,x+v,y+v,0 color 255,255,255:pos x,y:mes "[ CIRCLE L ]\n"+z+"-B",4 y=190:color 255:pos x-v,y-v:celput 1,20 color 255,255,255:pos x,y:mes "[ CELPUT ]\n"+z+"-C",4 y=260:color 255,255,255:pos x,y:mes "[ TEXT ]"+z+"-D",4 pos 0,0 #ifdef __hsp3dish__ #ifndef __hgimg4__ mes "HSP3Dish(WIN)-test",4 #else mes "HGIMG4(WIN)-test",4 #endif #else mes "HSP3(WIN)-test",4 #endif mes "click",4 redraw 1:await 1000/30 loop


主な不具合は、Verに共通して mes/fontの表示異常や celputの未表示、異常終了となります。
また、HSP3.7β、HSP3.6の fontサイズのリセットについては事前操作に関係なく発生しています。


■HSP3.7β、HSP3.6の不具合内容

HSP3Dish(WIN)・・・font異常
・fontサイズが適用されない(原因:celload処理後に fontサイズがリセットされている?)

HSP3Dish(WIN)入力処理1・・・mes/celput処理異常
・改行なし mesは黒表示(フチ処理ですべて塗りつぶし)
・改行あり mesは未表示
・celputは未表示
・入力処理直後に落ちる

HSP3Dish(WIN)入力処理2・・・mes/celput処理異常
・改行あり mesは [TEXT]の表示が複製される(fontバッファの異常?)
・改行なし mesは 1行目空白、2行目のみ表示
・celputは未表示
・閉じるボタンで砂時計から落ちる

HSP3無印/HGIMG4(WIN)・・・正常処理


■HSP3.51の不具合内容

HSP3Dish(WIN)・・・mes/celput処理異常
・fontサイズは正常
・mes、celputは未表示
・閉じるボタンで砂時計から落ちる

HSP3無印・・・正常処理
HGIMG4(WIN)・・・HSP3.51では文字未対応、正常終了



窓月らら

リンク

2022/4/8(Fri) 02:58:38|NO.95930

細かい話で恐縮なんですが、
HSPのバージョンが新しくなる度にランタイムに機能追加された分exeのサイズが大きくなるわけですが、
実際にプログラムで使用されてる部分だけパッケージ化するってやはり面倒なんでしょうか。
可能だったらexeが小さくできていいなーって思ったりします。

非常に細かい話ではありますが、私などはこれが理由で
新機能を使っていない内容ならば旧バージョンでexeを作成することもあります。



GENKI

リンク

2022/4/13(Wed) 01:03:05|NO.95976

マニュアルの修正漏れについての報告です。

(1) HDLに次の項目がありません。
getcolor
setcolor
addcolor
getcolori
froti


(2) 「命令一覧(メイン)」の中に重複する命令があります。
HGIMG4プログラミングガイド 命令一覧(メイン)
https://www.onionsoft.net/hsp/v36/doclib/hgimg4.html#COMMANDS

gpmatprm
マテリアルのパラメーター設定
マテリアルのパラメーター設定(2)
マテリアルのパラメーター設定(3)
おそらく、以下が正しい命令名だと思います。
gpmatprm
gpmatprm1
gpmatprm4


(3) 「命令一覧(メイン)」の中に記載がない命令があります。
gpmatprm16
gpmatprmt



GENKI

リンク

2022/4/14(Thu) 22:18:46|NO.95990

fvdir fv,x,y,z ベクトル回転
HGIMG4プログラミングガイドとHDL両方とも実際に実装されている引数とは説明が逆です。
現在は、次のような実装になっています。
 fv = 回転角度(実数値)、FV値が代入される変数名
 (x,y,z) = 回転したいベクトル


fvdirの回転方向が一般的な方向と逆になっています。
(1, 0, 0)を(0, 0, π/2)で回転すると、(0, 1, 0)になるはずですが(0, -1, 0)になってしまいます。
確認計算:https://keisan.casio.jp/exec/system/1536110745


fvmin fv,x,y,z ベクトル最大値
fvmax fv,x,y,z ベクトル最小値
マニュアルの記述どおりに動作してしまいます。
命令名が適切ではありません。minなのに最大値、maxなのに最小値となっています。
 fvmin をベクトル最小値
 fvmax をベクトル最大値
としたほうが適切だと思います。


#include "hgimg4.as" ; ベクトル回転 fvset fv, 0, 0, M_PI / 2 ; 回転角 fvdir fv, 1.0, 0.0, 0.0 mes "fv = " + fv(0) + ", " + fv(1) + ", " + fv(2) ; (0, 1, 0)になるはず ; ベクトル最大値 fvset fv, 1, 2, 3 fvmin fv, 3, 2, 1 mes "fv = " + fv(0) + ", " + fv(1) + ", " + fv(2) ; ベクトル最小値 fvset fv, 1, 2, 3 fvmax fv, 3, 2, 1 mes "fv = " + fv(0) + ", " + fv(1) + ", " + fv(2) redraw 1



GENKI

リンク

2022/4/14(Thu) 22:56:21|NO.95991

fvinner
fv(1), fv(2)に不明な値が残っています。
fv(0)しか使用しないので放置してもまったく問題ありませんが、意味のない数値が残っていることで、内積をよく理解されていない方が誤解や混乱をしないかと心配になりました。
とも思う一方で、fvsetが要素を4つ作っていても特に気にならなかったので、これはこのままでもいいような気もしています。



GENKI

リンク

2022/4/15(Fri) 23:20:11|NO.96015

fvface
HDLの説明を読んで触ってみたのですが、挙動が理解できません。
そもそも何を回転する角度なんでしょうか。

froti
HDLに説明文がありません。
「整数値角度を小数値に変換」との記述がありますが、整数値を渡すと必ずゼロを返します。
実数値を渡してみると値を返すようになりますが、どういう意味を持つ値かわからない値が返されます。

mes(hgimg4)
行末に改行がある場合、行末の改行が全て無視されます。
通常のmes命令とは挙動が異なります。

#include "hgimg4.as" mes "行末の改行が\n\n\n\n\n\n\n\n" mes "無効化されてる!" mes "" mes "これも改行されない。" mes "\n" mes "これは改行される。" mes "\\r\\nにすると\r\n" mes "改行される!" redraw 1



zrs90(5さい)

リンク

2022/4/15(Fri) 23:53:27|NO.96016

開発お疲れ様です。

既出なら申し訳ありません。
HDLの修正?についてになります。

setcls 命令 (画面クリア設定)

第3引数 の tex は、間違えて記述された物でしょうか?

説明自体から記述がありませんが
サンプルをいくつか、見た感じでは
第3引数は、使用されてませんでした。



zrs90(5さい)

リンク

2022/4/16(Sat) 02:24:46|NO.96018

GENKI さんへ
hsp3.6

froti 命令ですが、hgimg3.txt の
1620行に説明が記載されています。
恐らく、hgimg3 と hgimg4 の互換命令?
ではないかと。

こういった場合、適当なテキストエディタの
検索機能で、簡単に出てくる場合があります。
まだ確認してませんが、他の命令も
説明が見つかる可能性があります。



zrs90(5さい)

リンク

2022/4/16(Sat) 04:08:49|NO.96019

hsp3.6 の HDL について

3.5までの HDLでは、hgimg3、hgimg4 で
互換のある命令(※fsin 命令等)が
hgimg3 , hgimg4 でカテゴリ分類が入ってました。

3.6の HDL では、hgimg3、hgimg4 で
互換のある命令(※fsin 命令等)が コマンドヘルプ分類に変わった為か
hgimg4 でしか表示されなくなっています。

(※hsファイル構成が変わったのか、HDLの変更による仕様?
なのか、今の所分かっていません。)

ただし、条件付きで見分け方があり
hgimg3.txt、hgimg4.html 両方に、命令の記述があれば
ドキュメントに、↑が両方表示されます。
(※同じスペルの命令、説明等があれば表示されて
しまうので、あまり使えないと思います。)



zrs90(5さい)

リンク

2022/4/16(Sat) 04:56:06|NO.96020

↑申し訳ありません。追記します。

直接、検索キーワード(※ fsin 等、正確な命令名)
の指定後、検索ボタンを押さないとダメです。


hsp3.5 と3.6のhsファイルを並べて
簡単に見た所、分かった事ですが

hgimg_common.hs を %dll のタグ等の
変更等(※登録命令の構成が一部違うので
hgimg3 互換とは書けない??)
で、hgimg4dx、hgimg4用のhsファイルに
してしまっているのが原因と思われます。



GENKI

リンク

2022/4/16(Sat) 13:45:51|NO.96026

>> zrs90(5さい) さん
ありがとうございます。hgimg3.txtにfrotiの説明見つけました。
HDLで検索したときに出てきていたにもかかわらず見落としてました…。

> froti fval,prm 整数値角度を小数値に変換
>
> fval = float値が代入される変数名
> prm = 0〜1023の角度値(整数)
>
> prmで指定された整数値(0〜1023)を角度を示すものとして、
> fvalに-π〜+πのラジアン角度値に変換して代入します。

確認してみました。

#include "hgimg4.as" ; 整数値角度を小数値に変換 froti fval, 1023.0 mes "froti : 1023" mes "fval = " + fval + "rad (" + rad2deg(fval) + "deg)" froti fval, 1023.0 / 2 mes "froti : 1023 / 2" mes "fval = " + fval + "rad (" + rad2deg(fval) + "deg)" mes "\n" redraw 1

1桁小さい…というか40倍すればそれらしい結果になりそうですね。計算精度もよくありません。
何よりsetangrなどで使用している角度の整数値とも仕様が合いません。
まだ移植が完了していない機能をマニュアルから消し忘れたという感じかなと理解しました。



TOMATO

リンク

2022/4/16(Sat) 14:20:15|NO.96027

froti命令はHSP2x時代の初代hgimgにありましたね。
https://docs.hsp.moe/2.61/reference/hgimg/froti/

hgimg3からはマクロとして実装されたようですが、この時点ですでにおかしいことになってるようです。
hgimg4にも引き継がれてしまってる感じでしょうか。

↓hgimg3.as 289行目

#define global froti(%1,%2) %1=%2/6433.98175455188992



zrs90(5さい)

リンク

2022/4/16(Sat) 15:25:00|NO.96028

TOMATO さんが先に書かれているのですが
少し追記させて下さい。

先日のGENKI さんの
Twitterから引用しています。

str2f, f2str, fsin, fcos は存在理由がわからない。
double, str, sin, cos で記述すれば関数だからもっと使いやすいのに。

この疑問は、私もhspext.asのemath 固定小数の精度
を指定する命令で、何故か精度が出ない仕様?で当たりました。
(※float ?になっている)

hsp3は、実数計算は double
桁数指定も、strf があり
特に問題ないので、動作報告も
しませんでした。

私の推測になりますが
この件には、共通の理由があり
過去のhspのスクリプト互換、移植等
の為、残っているのではないか?
と言う事です。

GENKI さんのTwitterの
str2f, f2str, fsin, fcos 命令は
hgimg(無印)から使われています。

emath命令は、hspext.as hsp2.6?
から使われています。
(※文献なしの為、それ以前は不明です。)



GENKI

リンク

2022/4/17(Sun) 20:43:20|NO.96053

hgimg4で selang を使用すると「error 2 : 文法が間違っています」と表示され実行できません。



沢渡

リンク

2022/4/19(Tue) 18:58:20|NO.96064

ここでしていい質問なのかどうかわかりませんが、
HSP3.6から出現するようになった「エラー43」について質問です。

https://hsp.tv/play/pforum.php?mode=all&num=95131
https://hsp.tv/play/pforum.php?mode=all&num=95938
エラー43について、この掲示板では二度ほど話題になっているのですが、
エラー発生時には「#Error 43 in line X (???) --> *」と表示されるだけで
特に説明がないので、具体的にどういうエラーなのかわかりません。
(マニュアルにも記載なし)

上のスレでの報告を見た感じ、発生する条件としては
「gosub系の割り込みで飛んだサブルーチン内でgoto系の割り込みが発生した時」や
「oncmd gotoが絡んだ場合」という辺りなので、割り込みに関するエラーであることは
察しがつくのですが、具体的にはどういう内容で、どういう時に発生するものなのでしょうか?
次期バージョンでは他のエラーと同様説明を表示する必要があるように思いますが。



窓月らら

リンク

2022/4/19(Tue) 19:42:04|NO.96066

相当前に書いたのですが、要望でーす♪
http://hsp.tv/play/pforum.php?mode=pastwch&num=77564

再生周波数はcwsdrvを使えばできるのですが、
上記がhgimg3だけで可能になると外部dllが不要になります。



GENKI

リンク

2022/4/20(Wed) 00:16:33|NO.96068

GPB converter ver.0.8 と ver.0.6 について
変換するFBXファイルのパスに「日本語」や「半角スペース」が含まれていると変換ができません。
エラーメッセージは次の通り。

> Encoding file: D:/000/demあ.fbx
> Call to FbxImporter::Initialize() failed.
> Error returned: Unexpected file type


HGIMG4 Unity連携ガイド
FBX Exporter は現在 Asset Store から入手できません。
パッケージマネージャでFBX Exporterを追加することで利用できます。



GENKI

リンク

2022/4/25(Mon) 23:09:08|NO.96128

setclsを使用したサンプルプログラムの中にCLSMODE_SOLID が頻繁に出てきていますが、HDLなどのマニュアルに記載がありません。
なお、CLSMODE_SOLIDが1であることはわかっているのでどのように動作するものかは理解できています。



GENKI

リンク

2022/4/27(Wed) 23:18:58|NO.96147

buffer命令のパラメータの screen_offscreen, screen_usergcopy についての説明がHDLにはありません。
HGIMG4プログラミングガイドやサンプルの中で突然出てきますが、説明の記述がありません。



zrs90(5さい)

リンク

2022/4/28(Thu) 21:47:12|NO.96157

開発お疲れ様です。

この件は、既出と思われますが
3.7β1のオンラインマニュアルは
修正されていないようです。

HGIMG4プログラミングガイドの目次、34.2D描画時の独自シェーダー設定の目次が、35.とダブっているのと、42.現バージョンでの注意点 の目次がない為
35.〜42.の目次が1つずつ
ズレています。

−−−−−−−−−−−−−−−

HSP3.6で確認。3.7β1で修正済
なら申し訳ありません。

mod_posteffeat.asの命令/マクロについて

● HGIMG4プログラミングガイド 37.ポストエフェクト
で記述されている命令、マクロ
がHDL側に記述がありません。

後、問題なのは、次の2つの命令です。

post_getname
(ポストエフェクト名を取得)

post_getmaxid
(ポストエフェクトID最大値を取得)

...の解説はプログラミングガイド
にも存在しないので、3.6上では
mod_posteffeat.asを読む必要があります。

−−−−−−−−−−−−−−−



zrs90(5さい)

リンク

2022/4/29(Fri) 02:43:50|NO.96160

GENKIさんへ
● fvface 命令について

fvface でサイト内検索 するとhgimg3 (※4はほぼ無い)
で回答例(ソース)が複数あります。

hgimg(無印)からの互換命令で、追補的なマニュアル等は
見つかってないですが、2010頃〜掲示板で投稿されている
方々に直接質問して見ると良いかと。

古い情報で、あてに出来るか不明ですが...

●いなえの鉛筆
https://geolog.mydns.jp/www.geocities.jp/inaeggmon/hgimg3.html

●のぼり坂 一丁目
http://oirahakobito.seesaa.net/article/418420900.html



GENKI

リンク

2022/4/29(Fri) 18:53:17|NO.96169

HDLの説明の中に、screen_offscreenやSYSREQ_FPSなど引数に使用できる定数の説明が無いものが散見されます。
HGIMG4プログラミングガイドを読めばわかるとは言え、HDLからたどれないのは不便さを感じます。


>> zrs90(5さい)さん NO.96160
ありがとうございます。これは懐かしいサイト名…そういえばこの辺からは情報を探してませんでした。
早速確認してみたのですが、いずれもfvfaceに関する有益な情報は見つかりませんでした。
探しているうちにHSPTV掲示板の過去ログにちょっとだけ情報あったのでまた後で確認してみます。



さか

リンク

2022/5/1(Sun) 14:26:52|NO.96215

前からですがhsed_getfootyidで何度もid取得するとそのうち-1しか取得
できなくなります。
その後のhsp実行の動きがおかしくなったりでメモリを壊してるように思
います。


#include "hsedsdk.as" hsed_getacttabid tabid repeat hsed_getfootyid footyId, tabid title strf( "%d footyId[%d]", cnt, footyId ) wait 0 loop



GENKI

リンク

2022/5/1(Sun) 15:06:48|NO.96216

hgimg4のサンプルスクリプトpronama3.hspでgpcnvaxisが使用されていますが、意味のない記述になっています。
次のように修正したほうが良いのではないでしょうか。

修正前

gpusecamera id_camera ; 使用するカメラを選択する gpcnvaxis dx,dy,dz,0,-3,3, 3 ;setpos id_camera, dx,dy,dz setpos id_camera, dx*0.8,dy*0.8,dz*0.8
修正後

gpusecamera id_camera ; 使用するカメラを選択する setpos id_camera, 0, -3, -10

また、HDLのgpcnvaxisの項目にはモード3の説明がありません。
HGIMG4プログラミングガイドについても、命令一覧と本文にgpcnvaxisの記述がありません。



TOMATO

リンク

2022/5/1(Sun) 15:28:27|NO.96217

> No.96215
> 前からですがhsed_getfootyidで何度もid取得するとそのうち-1しか取得
> できなくなります。

記載されていたコードを実行し、
100万回試してみましたが、手元の環境では再現しませんでした。

HSP 3.7 beta1
Windows 10 Pro x64 21H2



アキアキノヒロロ

リンク

2022/5/1(Sun) 16:37:35|NO.96218

GENKI さんの修正

> setpos id_camera, 0, -3, -10

> setpos id_camera, 0, -3, 10

にして、更に、53行目に

> setangr id_floor, 0,128,0

を追加挿入してみて下さい。
出来れば、GPOBJ_CAMERAの位置の初期設定である58行目を

> camx=0.0:camy=3.0+10:camz=3.0+10

のように手前高めに移すと、様子がよりはっきりすると思います。
これで、鏡面反射(反射像が手前)に....。
ただし、こちらの視点移動(GPOBJ_CAMERAの位置)に連動して、
d_cameraの位置も変化させれば、なおいいはずでしょう。

『「pronama3d/pronama3.hsp」鏡面反射について』
http://hsp.tv/play/pforum.php?mode=pastwch&num=88520
2年半ぶりの解決か。



さか

リンク

2022/5/1(Sun) 18:02:03|NO.96219

TOMATOさん、ありがとうございます。
2つ目のタブで実行を数回してみるとどうでしょうか。
当環境では、2回目か3回目の実行で回数も数千回で-1になります。


HSP 3.7 beta1
Windows 11 Home 21H2



TOMATO

リンク

2022/5/1(Sun) 19:10:00|NO.96220

> No.96219
> 2つ目のタブで実行を数回してみるとどうでしょうか。

いろいろ試してみたところ、Windows 10 環境では再現しませんでした。
一方、手元の Windows 11 で試したところ、
HSPが応答なしになったり、-1 が返ってきたりなどの挙動の違いが確認できました。

HSP 3.7 beta1
Windows 11 Pro x64 21H2



zrs90(5さい)

リンク

2022/5/1(Sun) 20:14:39|NO.96221

#96215 さか さんへ

参考になるか分かりませんが
HSP3.6 Windows7pro 32ビット
メモリ4G Core i5 -4590
(※ネット接続なし)

でソースと、exe化した物を用意。
後、私が勝手に

if footy Id = -1 : mes "Error" : stop

を wait 0 の手前に追加した物

の計4種類を、スクリプトエディタとタスクマネージャー起動の上
TOMATOさんと同様に100万回ループテストしました。

パフォーマンスタブで見てましたが
cpu使用率が25〜30%で推移、物理メモリは1.2G弱。

結果は、私の所で追加したソースの方も含めて
単体起動の場合、問題ありませんでした。

-追記-

私、意地が悪いので、私の追加したソースを
11個程コピペして、F5 から同時に動かして見ました。
さすがにcpu使用率75〜90%弱で推移
物理メモリ1.85G弱になりましたが
全部のタブで150万回以上
動かしても問題ありませんでした。

投稿記入している間に、200万を超えて
現在も全て問題なく稼働、エディタも動いてます。



さか

リンク

2022/5/1(Sun) 21:05:17|NO.96222

zrs90(5さい)さん、ありがとうございます。

そうですか。。
自分のPC最近買ったものなのですが、こちらの環境でも毎回なるわけではないのですよね。
エディタのタブが一番左でない2つ目以降の方が発生しやすいように思います。
もしお時間があれば、実行、終了を何度かやってみてもらえたらと。

自作で作成した常駐ものがしばらくするとフリーズ起こすのですがここらへんのせいじゃ
ないかなと思ってるのですが。。



さか

リンク

2022/5/1(Sun) 21:09:55|NO.96223

TOMATOさん、ありがとうございます!

手元に10がないのですが、Windows11だとなるのですかね。



GENKI

リンク

2022/5/1(Sun) 23:05:51|NO.96224

>> アキアキノヒロロさん NO.96218

そういえばpronama3.hspって鏡面反射のサンプルでしたね。確かに紹介文にもそう書いてある。
地面側の像が動かないので、影を投影するサンプルだと勝手に勘違いしてしまってました。

いろいろ試して、私の方でもpronama3.hspの修正案を考えてみました。
まず106行目を次のように書き換えます。

setpos id_camera, camx,-camy,camz gplookat id_camera, 0,0,0 addang id_camera, 0,0,M_PI addang id_camera, 0,0, acos( camz / sqrt(camx*camx + camz*camz) ) * sgn(camx)
1行目でhspmath.asをincludeします。

#include "hspmath.as"
少し強引に合わせてみました。距離が離れると不自然になりますが、元よりは鏡面っぽくなります。
しかしこれ以上はカメラ調整だけではどうしようもありません。投影面の方を変形させるなどの方法を取る必要があります。



GENKI

リンク

2022/5/1(Sun) 23:13:41|NO.96225

あっ別スレッドで同じことをK-sさんがもっとスマートに実装してた!

「pronama3d/pronama3.hsp」鏡面反射について
http://hsp.tv/play/pforum.php?mode=pastwch&num=88520



GENKI

リンク

2022/5/1(Sun) 23:46:36|NO.96227

 hgimg4に関する報告です。
 レンダリングバッファに表示されているgploadで読み込んだ3Dモデルの画像をcelputでウィンドウID0にコピーする際、通常はgmode 0にするところをgmode 1または2に設定すると3Dモデルが存在する部分が透明にくり抜かれてしまいます。
 3Dモデルが非表示になるのではなく、シルエットだけが表示されてその内側は透明色で塗りつぶされているかのような状態になります。

 この症状は、HSP3.6/HSP3.7β1で発生しており、HSP3.51では発生しません。HSP3.51で実行した場合は、gmode 0、1、2は全て同じ結果で正しく3Dモデルが表示されます。

 サンプルです。アヒルのモデルを使用しています。\sample\hgimg4 の res フォルダをコピーして実行してください。

#include "hgimg4.as" gpreset setcls CLSMODE_SOLID, $404040 widMain = 0 ; メインウィンドウ widBuffer = 1 ; レンダリングバッファ buffer widBuffer, , , screen_offscreen ; モデル ;gpbox id_model, 1 ; こっちなら透明にならない gpload id_model,"res/duck" ; モデルを読み込むと透明になる gpfloor id_floor, 8,8, $00ffff ; 床ノード ; デフォルトのカメラ setpos GPOBJ_CAMERA, 0, 2.0, 5 gplookat GPOBJ_CAMERA, 0, 0.3, 0 ; 2台目のカメラ gpnull id_camera gpcamera id_camera, , 640.0/480.0 setpos id_camera, 0, 4.0, 0.1 gplookat id_camera, 0, 0.3, 0.0 gsel widMain *main stick key,15 if key&128 : end ; ノードオブジェクトを回転 addang id_model, 0, 0.02, 0.01 ;----------------------------- ; レンダリングバッファ ;----------------------------- ; 1台目のカメラ映像 gsel widBuffer gpusecamera GPOBJ_CAMERA gpdraw ;----------------------------- ; メインバッファ ;----------------------------- ; 2台目のカメラ映像の上に、レンダリングバッファの画像を貼り付け。 gsel widMain redraw 0 ; 描画開始 gpusecamera id_camera gpdraw pos 300, 200 ; gmode 0 ; 通常のコピー gmode 1 ; アヒルが切り抜かれる?! ; gmode 2 ; アヒルが切り抜かれる?! ; gmode 6,,,128 ; 調整が効かない celput widBuffer, 0, 0.5, 0.5 redraw 1 ; 描画終了 ;----------------------------- ; ループ終了処理 ;----------------------------- await 16 ; 待ち時間 goto *main


より詳しい状況については、長くなるのでお手数ですがこちらのスレッドを確認してください。

バッファからコピーすると3Dモデルが透明になる[hgimg4]
http://hsp.tv/play/pforum.php?mode=all&num=96193



窓月らら

リンク

2022/5/2(Mon) 04:12:24|NO.96228

スレの趣旨と少し違うかもですが、提案です。(Windows環境向け)
現在開発しているWindowsアプリの製作過程で改めて気づいたのですが、
Windows側の問題ではあるのですが、前々からawaitの精度に疑問がありました。
awaitは1msの精度があることになっていますが
実際は環境によっては2ms程度の精度しかなく、かなりふらつきます。
1msの精度があるものと思い込んで書いてると問題になることがあるため
追加で QueryPerformanceCounter を使用した高精度タイマーを
公式に実装頂けると使いどころがあるんじゃないかと思います。
QueryPerformanceCounter はハードウェアが対応している必要はありますが、
私のところの14年前のノートPCでさえ対応しており、非対応環境は既に
ほとんど無いものと思われます。

コピペだけで試せるサンプルを用意しましたので参考までにご覧ください。

#uselib "kernel32.dll" #func global QueryPerformanceCounter "QueryPerformanceCounter" sptr #func global QueryPerformanceFrequency "QueryPerformanceFrequency" sptr #func global Sleep "Sleep" sptr #uselib "winmm.dll" #func timeBeginPeriod "timeBeginPeriod" int timeBeginPeriod 1 // Sleepの精度を1msにする(実際は2msくらいの場合あり) // pwaitを初期化 pwait_init 16.666666666666666,1 // 60FPS(低負荷) ;pwait_init 16.666666666666666,0 // 60FPS(高負荷) *main redraw 0 color: boxf: color 255,255,255 pos 250,200: mes "PC="+pc1+"\nFPS="+fps color 255,128,0 pos 320+sin(double(c)/16)*100,250: mes "★" redraw 1 pwait fps=int(1000.0/d1) // FPS確認用 c++ goto *main // パフォーマンスカウンタ #defcfunc PerformanceCounter QueryPerformanceCounter varptr(p) return double(p)*1000/pcfq // pwait_init 待ち時間(実数), Sleepで待つ時間(0か1) #deffunc pwait_init double _p1, int _p2 QueryPerformanceFrequency varptr(pcfq) if stat=0 { dialog "ハードウェアがパフォーマンスカウンタをサポートしていません。",: end } pw_ns=_p1 pw_d=pw_ns pw_s=_p2 pc2=PerformanceCounter() return // awaitの代わりに呼び出す(パラメータなし) #deffunc pwait pc1=pc2 // パフォーマンスカウンタの値1 repeat wait 0 // OSに制御を渡す Sleep pw_s // ここを0にするとCPU負荷は上がるが精度は最高になる pc2=PerformanceCounter() // パフォーマンスカウンタの値2 if pc1>0 & pc2<0 { pc1=pc2+(pc1+pc2) } // オーバーフロー対策(20分に1回 600000overで発生する) d1=pc2-pc1 // 値1と値2の差分を得る if d1>=pw_d { pw_d=pw_ns-(d1-pw_d): break } // 差分がpw_dに達したら抜ける loop return



zrs90(5さい)

リンク

2022/5/2(Mon) 10:40:48|NO.96230

このタイマー精度の件については
確か、Twitterでメルクーフ さんも
同じような事を仰ってました。


QueryPerformanceCounter
を外部検索した所、ありがたい事に文献が
日本語で多くあり、コピペですが載せて置きます。


●GetTickCount/timeGetTime

DWORD
32ビット符号なし整数


● QueryPerformanceCounter

LARGE_INTEGER
64ビット符号付き整数


●「マザーボードorチップセットのドライバ依存」

対応しているCPUに難があり、2008年以降くらいに
発売されたものでないと正しく動かないかもしれません。
そしてWindowsでしか使えない。CPUの機能なので
ほかの環境でも探せばあると思うのですが。

* WinXPではQueryPerformance系はCPUクロックを返すので上記の現象が起こる
* WinVista以上でHPETが有効の時はQueryPerformance系はHPETより時間を取得するようになっているのでほとんど問題はない
* ほぼすべてのPCにはHPETで参照されるクロックが実装されている

●msdocsからのコピペですが
Windows8以降なら

GetSystemTimePreciseAsFileTime
と言う物も使えるようです。


●Windowsでの精度を計ったサイト

http://vivi.dyndns.org/tech/cpp/timeMeasurement.html

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

事実上、Windows7より前に作られたPCを使って
HSP3でプログラム組んでいる方は
ほぼ居ないと思いますが
実装して頂けるのであれば、環境依存の為
サンプル、注意書き等も必要と思われます。

また、dish系統の Linux、Android、ios等に
使える高精度タイマー命令が存在するので
あれば、こちらも検討して頂けると
ありがたいです。



窓月らら

リンク

2022/5/2(Mon) 11:06:37|NO.96231

上記Sleepを使用していますが、これは精度がawait並です。
ですが、これを入れないとCPU使用率100%いってしまいますので仕方ないのです。

> QueryPerformanceFrequency varptr(pcfq)
> if stat=0 { dialog "ハードウェアがパフォーマンスカウンタをサポートしていません。",: end }

ここミスありましたね。,0 にしといてください。
非対応環境はこれで判定して実行されないようにすればいいだけです。

>zrs90(5さい)さん

Androidでしたら既に getreq t,SYSREQ_TIMER というのがあります。
1ms精度ですが、Android上で動作させる分には高精度で使えます。

ちなみに私はいまだにXP環境でも開発している変わり者ですが、
QueryPerformanceCounter は問題なく動作しています。精度もOKです。



zrs90(5さい)

リンク

2022/5/2(Mon) 12:25:43|NO.96232

窓月ららさん
返信ありがとうございました。

HSP3Dishプログラミングマニュアル
3. HSP3との差異 に、・厳密なタイマー管理
...と言う説明があり、私の要望は必要なかった
ようです。

...Xpでも、例の高精度カウンター?
機能するんですね。sp3?辺りで
対応したんでしょうか?



窓月らら

リンク

2022/5/2(Mon) 12:32:44|NO.96233

>zrs90(5さい)さん

XP SP3 です。



雪月夜

リンク

2022/5/3(Tue) 16:27:49|NO.96241

HSP3.7βの不具合を見つけたので報告します


#include "hspda.as" onexit *exit sdim a exist "save" if strsize>=0{ vload "save" ;定義されているすべての変数をファイルから読み込む } input a,640 dialog "",16 ;ファイルを開く if stat=1{ a=refstr ;変数にパスを設定 objprm 0,a } stop *exit vsave "save" ;定義されているすべての変数データをファイルに保存 end

一度実行して任意のファイルを選択すると、変数aに文字列が設定されますが、
終了して再度実行すると、変数を保存したファイルの値が取得されません。



zezenana

リンク

2022/5/3(Tue) 18:45:51|NO.96242

>雪月夜 さん

確認のため、サンプルスクリプトを動作させました。

dialog命令の選択先によって、実行フォルダとカレントフォルダが別となるので
ファイル「save」の保存場所が移動してしまいます。

exist、vload、vsaveのファイル名を dir_exe+"save" とした所、私の環境では
正常動作しているようですので、ご確認願えませんでしょうか?



雪月夜

リンク

2022/5/3(Tue) 19:32:37|NO.96243

>zezenanaさん

確認有難うございます。
ファイルを開く(もしくは保存する)ダイアログで選択すると、カレントディレクトリが変わってしまうのですね。
以下のようにすると、正常に動作しました。

#include "hspda.as" onexit *exit dircur=dir_cur sdim a exist dircur+"\\save" if strsize>=0{ vload "save" ;定義されているすべての変数をファイルから読み込む } input a,640 dialog "",16 ;ファイルを開く if stat=1{ a=refstr ;変数にパスを設定 objprm 0,a } stop *exit vsave dircur+"\\save" ;定義されているすべての変数データをファイルに保存 end
私の勘違いでした。
失礼しました。



zezenana

リンク

2022/5/3(Tue) 23:21:00|NO.96244

hspcmp.exeと iconins.exeについて
#packopt の一部キーワード処理にて実行ファイル自動作成(ctrl+F9)を行った際に
iconinsが正常に行われません。

今回 HSP3.7βのみで確認しました。
HSP3.6 では以下スレのような報告もありました(私がコメントしたものも含みます)

http://hsp.tv/play/pforum.php?mode=pastwch&num=89295
#packop name versionを使ったらエラーがでました

http://hsp.tv/play/pforum.php?mode=all&num=94222
HSP3.6で #packopt icon "icon.ico" が効きません

http://hsp.tv/play/pforum.php?mode=all&num=94322
常に管理者権限で起動させる


以下に今回確認した正常に処理されないケースを記載します。
----------
■iconinsが実行されない

・#packopt manifest のみ記述した場合
・#packopt lang のみ記述した場合

・packfile は以下のように正しく生成されている
  ;!manifest=test.manifest
  ;!lang=1041

・上記でも iconまたは version の記述があればiconinsが実行される

・HSP3のマニュアルには iconinsが実行されるとあります
https://www.onionsoft.net/hsp/v37/doclib/hspprog.htm#ICONINS

----------
■#packopt versionが空ファイルでもバージョン0.0.0.0で登録される

・空ファイル処理については
  iconins.hspの exist処理 strsizeが0でも登録しているようです。

・_FILEVERSION、_PRODUCTVERSIONの 有無をチェックしていない
・FileVersion、ProductVersionの 有無をチェックしていない

----------
■#packopt name の最終ピリオド以降が含まれない exeファイルと不明ファイルが生成される

例)
#packopt name "test_v1.2.3"
#packopt version "version.txt"

実行ファイル自動作成(ctrl+F9)

packfile生成(正常)
;!name=test_v1.2.3
;!version=version.txt

実行ファイル+不明ファイル作成(.3が削除)
test_v1.2    (DPMX0をヘッダとしたファイル)
test_v1.2.exe

iconins実行(ファイル名が異なる)
-e"xxx\test_v1.2.3.exe" -v"version.txt"

[ERROR] No.10
実行ファイルが見つかりません

----------
■#packopt にキーワードを含めたコメントを付けると iconinsのオプションが変化する

・コメントに「icon」があればオプションが「-i」に変化する
・コメントに「version」があればオプションが「-v」に変化する

例)
#packopt lang "1041" ; version

packfile生成(正常)
;!lang=1041

iconins実行(オプションが「-v」となる)
-e"xxx\hsptmp.exe" -v"1041"

[ERROR] No.42(ファイル名「1041」は無いので)
バージョンファイルが見つかりません


----------
hspcmpのソースの packopt関連処理をたどったのですが、追いきれませんでした。
(そもそも調査したファイルが間違っている?)

・生成された packfileを使用していない?
・win32dll\hspcmp3.cpp:530以降の iconins実行処理条件を使っていない?


#ifdef ICONINS_SUPPORT if ((ici_use_icon+ici_use_version+ici_use_manifest+ici_use_lang+ici_use_upx)>0) { strcat( ici_opt, " -e\"" ); : (中略) : i = WinExec( ici_opt, SW_SHOW ); if ( i < 32 ) return -1; } } #endif

#packoptのキーワードがあれば条件に入るはずですが、実際には処理されていないので
packfile自体使われていない可能性があります。



しまくろねこ

リンク

2022/5/4(Wed) 23:06:05|NO.96245

以下のソースを「F5」で実行すると「×」ボタン等のクリックが一切効かないときがあります。
それとは反対に、メニューバーの「コンパイル+実行(C) F5」だと正常に「×」ボタン等が効きます。
原因となっているのは、「screen」命令のようです。

#include "hsp3dish.as" screen 0, 320, 240 repeat redraw 0 color 0, 0, 0 : boxf redraw 1 await 16 loop



ねんねこ

リンク

2022/5/5(Thu) 12:33:29|NO.96249

>>NO.96245の件について、
HSP3.6にて、確認しました。



zrs90(5さい)

リンク

2022/5/5(Thu) 13:35:20|NO.96251

参考になるか分かりませんが
私もテストしてみました。環境は次の通りです。

HSP3.6 Windows7pro 32ビット
メモリ4G Core i5 -4590
Microsoft Wired keyboard 600(有線)
標準エディタ(※ネット接続なし)

では、問題ありませんでした。

仰るように、screen が原因とすれば
ウィンドウのリサイズで何かの処理に時間が
かかっているか、普通、省略している
引数等のパラメータ??かと思います。


私の勝手な推測ですが、後はこれ位でしょうか?

os が 11 と3.7β1と標準エディタの組み合わせ
最近別件でトラブルがありました。
#96215 、96220 参照

キーボードのチャタリング(誤動作)
ウチのキーボードはスイッチの構造上
誤動作が起こりにくいので
これについては不明です。



TOMATO

リンク

2022/5/5(Thu) 15:39:05|NO.96255

> 以下のソースを「F5」で実行すると「×」ボタン等のクリックが一切効かないときがあります。

以下、環境で再現しました。
ただし、Debugウィンドウ表示をONにしている場合は再現しないようです。

HSP 3.6 & HSP 3.7 beta1
Windows 11 Pro x64 21H2
Windows 10 Pro x64 21H2



しまくろねこ

リンク

2022/5/5(Thu) 15:42:33|NO.96256

> zrs90(5さい)さん

こちらは、
HSP3.6, HSP3.7b1
Windows 10/11
標準エディタ

最近まで「F5」で特に問題なく動かしていたのですが、昨日になって急に「F5」後にクリックが効かなくなって、あれ?おかしいなと思って最小のソース(NO.96245)でテストをして、screen命令を外したところ「F5」で正常に動くようになったので、screen命令が原因だと特定しました。
メニューバーの「コンパイル+実行(C) F5」だと正常に動くのが謎です。

詳細な現象を書きますと、エディタ起動後の一度目は正常に動いても、起動したウィンドウを「×」で閉じて続けて「F5」でソースを起動すると現象が起こるような感じです。

> os が 11 と3.7β1と標準エディタの組み合わせ

Windows10とHSP3.6の組み合わせでも現象がおこるのでOS側の問題ではないと思います。

> キーボードのチャタリング(誤動作)

ノートPCなのでチャタリングは無いと思います。

> TOMATOさん
> ただし、Debugウィンドウ表示をONにしている場合は再現しないようです。

情報ありがとうございます。
とりあえずDebugウィンドウをONにしておきたいと思います。



しまくろねこ

リンク

2022/5/5(Thu) 16:10:06|NO.96257

書き忘れました。

この現象が起こるソースでも、「実行ファイル自動作成 Ctrl+F9」でexe化すると、そのexeは起動しても現象は起きません。



zrs90(5さい)

リンク

2022/5/5(Thu) 16:13:21|NO.96258

7の32ビットだからですかねぇ。
F5 だけなるのも、分かんないです。

今みたら、TOMATOさんから
デバッグウィンドウの話が出ていたので、off にして
試しましたが、ウチのは問題ありませんでした。

後、窓の杜に出ていたosの月例パッチ?
の話なんですが、Windows11だけ?みたいで
...関係なさそう。一応載せて置きます。


最大化したアプリケーションのウィンドウで最小化
最大化、および閉じるボタンを使用できない問題を解決

https://forest.watch.impress.co.jp/docs/news/1405/609/amp.index.html



しまくろねこ

リンク

2022/5/5(Thu) 16:26:12|NO.96259

> zrs90(5さい)さん

> 最大化したアプリケーションのウィンドウで最小化
> 最大化、および閉じるボタンを使用できない問題を解決

ちょっとわかり難いのですが、プログラム自体は正常に動いているのですが、ウィンドウ上の全てのクリック自体が無効になっている状態です。



TOMATO

リンク

2022/5/5(Thu) 16:35:43|NO.96260

screen命令の実行中にキー押下があるのが問題っぽい…
(スクリプトエディタのF5キー入力がHSP3Dish側にも届いてる)

実行ファイル自動生成で作成した実行ファイルでも再現します。


#include "hsp3dish.as" N = 10 dialog "" + N + "回ウィンドウが再生成されます。その間にキーを押し続けてください。" repeat N screen 0, 320, 240 wait 1 loop repeat redraw 0 color 0, 0, 0 : boxf redraw 1 await 16 loop



しまくろねこ

リンク

2022/5/5(Thu) 17:22:00|NO.96262

> TOMATOさん

わざわざ検証ありがとうございます。
実行ファイルでも現象が起こりますね。
とりあえず直るのを待ちたいと思います。

現象が起こり始めの環境で違いがあることを思い出しました。
今までソースファイルトはマイクロSDカードに保存していましたが、M.2のSSDにソースファイルを移動しました。
それからこの現象が起こり始めました。

試しにマイクロSDカードに現象の起こるソースファイルをコピーして「F5」で実行してみたところ何度やっても現象は起きませんでした。



TOMATO

リンク

2022/5/5(Thu) 18:29:41|NO.96264

> 以下のソースを「F5」で実行すると「×」ボタン等のクリックが一切効かないときがあります。
HSP3Dish版のウィンドウ周りの内部管理が通常版HSPと異なっており、
screen命令でウィンドウを作り直すと、新しく作り直す前に以前のウィンドウを破棄する処理が走ります。
破棄するため一時的にプロセスが持つウィンドウが0個になるタイミングが発生します。
どうやら、この0個の状態になるのがダメっぽいです。
(通常版HSPだと同じIDのscreenは破棄せず再利用されるため、原理的にウィンドウが0個になることが起きない)

プロセス上のウィンドウの数が0個にならないように、
DestroyWindowの呼び出し位置を変更すると直るようです。
http://dev.onionsoft.net/trac/openhsp/browser/trunk/hsp3dish/win32/hsp3dish.cpp#L920


917 hsp3dish_drawoff(); 918 if (m_hWnd != NULL) { 919 hgio_term(); 920 DestroyWindow(m_hWnd); // ★ DestroyWindow() 削除( m_hWnd の値もどこかへ退避しておく) 921 m_hWnd = NULL; 922 }


936 #ifdef USE_OBAQ 937 hsp3typeinit_dw_restart(code_gettypeinfo(TYPE_USERDEF)); 938 #endif // ★ このあたりにでも DestroyWindow() を持ってくる(退避したウィンドウハンドルの値を使う) 939 MsgWaitForMultipleObjects(0, NULL, FALSE, 10, QS_ALLINPUT); 940 //hgio_rebuild(hsp_wx, hsp_wy, hsp_fullscr, m_hWnd); 941 hspctx->runmode = RUNMODE_RUN; 942 break;

あと、今回の件は関係ないですが、ウィンドウクラスの登録は1回のみで良さそう。
(screen命令を呼ぶ都度クラス登録し直しますが、2回目以降 RegisterClass() がエラーを返してます)
http://dev.onionsoft.net/trac/openhsp/browser/trunk/hsp3dish/win32/hsp3dish.cpp#L552



しまくろねこ

リンク

2022/5/5(Thu) 18:51:45|NO.96266

> TOMATOさん

ありがとうございます。頼りになります。
次回バージョンアップで直っていることを期待しています。



zrs90(5さい)

リンク

2022/5/5(Thu) 21:37:15|NO.96268

TOMATOさんへ
openhsp まで調べて頂き、その上対策方法まで...
凄すぎます。ありがとうございました。

潜在的にあった仕様??が最近のPCでは
HDD→SSDになって、高速化している為
表面化した物でしょうか??

私のPCはHDDなので、この問題が起こらなかった??
...とすれば私の所で、動作検証しても
無駄だったようです。



窓月らら

リンク

2022/5/5(Thu) 23:42:08|NO.96271

こちらもタイミング問題ですが、Windows10においていくつか割り込みで不具合があることがわかってます。
とりあえず以下にひとつのサンプルを示しますが、クリップボード操作等も同様にwaitを入れないとおかしいことがありました。
概ね50msのウエイトを入れればいいことがわかってます。
下記をWindows10で実行してウィンドウをマウスドラッグで移動するとフリーズすることがあります。

// ウィンドウ初期化 bgscr 0,200,100,0 mes "右クリックで終了。" onclick gosub *move // ウィンドウ移動 stop // ウィンドウ移動 *move onclick 0 ;await 50 // これがないとWindows 10でフリーズする(XPでは不要) // 左ボタン if wparam=1 { sendmsg hwnd,$00a1,2,0 // 画面端に吸着 if ginfo_wx1>-25 & ginfo_wx1<25 { width ,,0 } if ginfo_wy1>-25 & ginfo_wy1<25 { width ,,,0 } if ginfo_wx2>ginfo_dispx-25 & ginfo_wx2<ginfo_dispx+25 { width ,,ginfo_dispx-ginfo_sizex } if ginfo_wy2>ginfo_dispy-25 & ginfo_wy2<ginfo_dispy+25 { width ,,,ginfo_dispy-ginfo_sizey } } if wparam=2 { dialog "終了しますか?",2: if stat=6 { end }} onclick 1 return



GENKI

リンク

2022/5/6(Fri) 20:00:54|NO.96287

hgimg4の gpaddanim 命令でアニメーション長さの範囲外の時間帯を指定すると次のようなエラーが発生します。
事前に gpgetanim 命令で調べておけば回避できる問題ではあるのですが報告いたします。

---------------------------
Microsoft Visual C++ Runtime Library
---------------------------
Assertion failed!

Program: C:\hsp36\hsp3gp.exe
File: d:\onidev\hsp3dish\gameplay\src\curve.cpp
Line: 215

Expression: dst && startTime >= 0.0f && startTime <= endTime && endTime <= 1.0f && loopBlendTime >= 0.0f

For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts

(Press Retry to debug the application - JIT must be enabled)
---------------------------
中止(A) 再試行(R) 無視(I)
---------------------------



GENKI

リンク

2022/5/6(Fri) 22:24:51|NO.96288

カメラの後ろ側にある座標をgpcnvaxisのモード0で2D座標を取得すると、画面外であるはずにも関わらず X,Y座標が取得できてしまいます。
HDL記載の説明と動作が一致していません。
fvinnerなどでカメラの前側か後側かを判定すれば回避は可能ですが、対処できない方が多いような気がします。

参考資料
https://twitter.com/akiakinohiroro/status/1522491837852041216



GENKI

リンク

2022/5/7(Sat) 12:26:41|NO.96304

>>NO.96288
gpcnvaxis モード0の件は、Zバッファ値が0〜1の範囲場合は描画しないことで解決することがわかりました。
すみません。Zバッファ値に関する理解が不足していました。(可能なら説明を…)

Zバッファ値の確認結果に関するスレッド
http://hsp.tv/play/pforum.php?mode=all&num=96292



GENKI

リンク

2022/5/8(Sun) 15:33:33|NO.96313

high_school_girl.fbx/high_school_girlSD.fbx にはそれぞれ3つのアニメーションクリップが入っています。これをGPB converter ver0.8 でgpbに変換すると、含まれるアニメーションが1つだけになってしまいます。残り2つのアニメーションが使用できません。

Unity上で複数のアニメーションクリップを連結して1つのクリップにしてFBXエクスポートしたものを使えばいいのですが、GPB converter側でなんとかならないものでしょうか。



アキアキノヒロロ

リンク

2022/5/9(Mon) 06:45:23|NO.96320

GPB converter についてです。

> hspsdk/hgimg4フォルダ内にhspのソースが同梱されています。
> こちらはユーザー側で自由に改変して頂いて構いません。
http://hsp.tv/play/pforum.php?mode=all&num=94865#95110
とあります。

ところが、私のスレ
「[gpbconv.hsp]から実行ファイル自動作成したGPBコンバーターは、エラー38になる」
http://hsp.tv/play/pforum.php?mode=all&num=96308
の状態です。ユーザーが改変しても、エディタ上では正常実行できても、
自動作成した実行ファイルがエラー38では、その度、エディタで開いて実行しなければならず、
実行ファイルの意味がありません。
この現象は、[hsp37b1] だけでなく、どうも[hsp351] の [GPB converter ver.0.5] あたりから
現在までのものすべてに見られるようです。
エラーダイアログも出ず、空のログファイルができるだけだったりもします。

この状態では、[GPB converter] の仕組みの理解に務め、ユーザーなりの改善、改良を施そうとしても、
そうする意欲が削がれてしまうように思います。

ここの、実行ファイル自動作成、手直しをお願いしたいです。



アキアキノヒロロ

リンク

2022/5/9(Mon) 18:30:46|NO.96330

GPB converter についてですが、原因らしきものが分かりました。
http://hsp.tv/play/pforum.php?mode=all&num=96308#96322
及び、それに対する私のレスNO.96328

で、NO.96328 に書きましたように、
必要な同梱ファイルの旨、スクリプト内コメントが欲しいです。



GENKI

リンク

2022/5/11(Wed) 00:32:59|NO.96336

GPB converter ver.0.8を使用してアニメーションクリップ付きのFBXファイルをBPBファイルに変換したところ、変換結果が元のアニメーションと異なり時折震えてしまいます。
変換前のFBXファイルについてはWindows10付属の3Dビューアーでアニメーションを再生して確認していますが、Unity上での表示と変わらず滑らかに動きます。
状況的には、GPBファイルに含まれるアニメーションデータが正常ではなさそうです。

なお、症状の確認手順とサンプルデータは、下記アドレスで公開しています。

FBXのアニメーションクリップを連結
https://mclab.uunyan.com/lab/hgimg4/hgimg4_015.htm

よろしくお願いします。



kinokawa

リンク

2022/5/13(Fri) 00:32:06|NO.96345

>GPBファイルに含まれるアニメーションデータ
私はGPBファイルの中身に興味がありまして
GPBファイルの分析を個人的にしているのですが
アニメーションデータの最初の部分にフレームの数と
フレーム単位の表示時間のようなものがありましたので
参考になるかと思い簡易的な表示スクリプトを作ってみました
high_school_girlの
フレームレートは1/30秒みたいですね

; GPBファイルのReferences部分のテキスト化 ; GPBファイルのアニメーションms秒のテキスト化 screen 0,800,600 dialog "gpb",16,"gpbファイル" if stat=0 : goto *error exist refstr sdim str_input,strsize sdim str_output,65536 sdim str_output2,65536 sdim str_buf,256 sdim int_buf,4 sdim hex_buf,8 str_buf=" verline serial type offset idframes" bload refstr,str_input ;notesel str_output ;Identifier lpoke str_output,output_adr,lpeek(str_input,input_adr) poke str_output,output_adr,' ' : output_adr+=4 ; Version lpoke str_output,output_adr,lpeek(str_buf,0) : output_adr+=4 ;" " lpoke str_output,output_adr,lpeek(str_buf,4) : output_adr+=4 ;" ver" poke str_output,output_adr,'0'+peek(str_input,0x9) : output_adr++ poke str_output,output_adr,'.' : output_adr++ poke str_output,output_adr,'0'+peek(str_input,0xa) : output_adr++ poke str_output,output_adr,' ' : output_adr++ ;line数 input_adr=0x0b lpoke index_val,0,lpeek(str_input,input_adr) : input_adr+=4; index_val=line数 int_buf=strf("%4d",index_val) lpoke str_output,output_adr,lpeek(int_buf,0) : output_adr+=4 poke str_output,output_adr,lpeek(str_buf,0):output_adr++ lpoke str_output,output_adr,lpeek(str_buf,8) : output_adr+=4;"line" wpoke str_output,output_adr,0x0a0d : output_adr+=2 repeat 6;"serial type offset id" 表示 lpoke str_output,output_adr,lpeek(str_buf,cnt*4+16) : output_adr+=4 loop wpoke str_output,output_adr,0x0a0d : output_adr+=2 ;index repeat index_val ;serial_num int_buf=strf("%4d",serial_num) : serial_num++ lpoke str_output,output_adr,lpeek(int_buf,0) : output_adr+=4 poke str_output,output_adr,' ' : output_adr++ base_val=output_adr ;id string lpoke str_len,0,lpeek(str_input,input_adr) : input_adr+=4 output_adr+=16 poke str_output,output_adr,' ' : output_adr++ if str_len>256 : str_len=256 repeat str_len poke str_output,output_adr,peek(str_input,input_adr) : output_adr+:input_adr++ loop ;type lpoke int_val,0,lpeek(str_input,input_adr) : input_adr+=4 int_buf=strf("%4d",int_val) wpoke str_output,base_val,0x2020 lpoke str_output,base_val+2,lpeek(int_buf,0) wpoke str_output,base_val+6,0x2020 ;offset アドレス lpoke hex_val,0,lpeek(str_input,input_adr) : input_adr+=4 hex_buf=strf("%8x",hex_val) ;if int_val=34 : test_val=hex_val : test_val=0xce00 if int_val=3 : input_adr_bak=hex_val ; アニメーション id lpoke str_output,base_val+8,lpeek(hex_buf,0) lpoke str_output,base_val+12,lpeek(hex_buf,4) poke str_output,output_adr,' ' : output_adr++ wpoke str_output,output_adr,0x0a0d : output_adr+=2 loop font "MS ゴシック",16 objmode 2 pos 0,0 : mes "GPBファイル References" pos 0,20 : objsize 800,200 : mesbox str_output,,,4 if input_adr_bak=0 : stop;アニメーション部 なければストップ" output_adr=0 : input_adr=input_adr_bak repeat 2 lpoke str_len,0,lpeek(str_input,input_adr+4) : input_adr+=8 if str_len>256 : str_len=256 repeat str_len poke str_output2,output_adr,peek(str_input,input_adr) : output_adr+:input_adr++ loop lpoke str_output2,output_adr,lpeek(str_buf,0) : output_adr+=4 ;" " loop ;アニメーション 先頭部分 hex_buf=strf("%8x",input_adr_bak) lpoke str_output2,output_adr,lpeek(hex_buf,0):output_adr+=4 lpoke str_output2,output_adr,lpeek(hex_buf,4):output_adr+=4 poke str_output2,output_adr,lpeek(str_buf,0):output_adr++ lpoke str_output2,output_adr,lpeek(str_buf,30) : output_adr+=4 wpoke str_output2,output_adr,lpeek(str_buf,34) : output_adr+=2 lpoke str_len,0,lpeek(str_input,input_adr+4) : input_adr+=8 hex_buf=strf("%8d",str_len) lpoke str_output2,output_adr,lpeek(hex_buf,0):output_adr+=4 lpoke str_output2,output_adr,lpeek(hex_buf,4):output_adr+=4 poke str_output2,output_adr,lpeek(str_buf,0):output_adr++ lpoke str_output2,output_adr,lpeek(str_buf,40) : output_adr+=4 wpoke str_output2,output_adr,lpeek(str_buf,44) : output_adr+=2 wpoke str_output2,output_adr,0x0a0d : output_adr+=2 repeat str_len hex_buf=strf("%8d",lpeek(str_input,input_adr)):input_adr+=4 lpoke str_output2,output_adr,lpeek(hex_buf,0):output_adr+=4 lpoke str_output2,output_adr,lpeek(hex_buf,4):output_adr+=4 if (cnt \ 8)=7 : wpoke str_output2,output_adr,0x0a0d : output_adr+=2 loop pos 0,240 : mes "GPBファイル アニメーション 先頭部分" pos 0,260 : mes " keyTimes uint[] (milliseconds)" pos 0,280 : objsize 800,200 : mesbox str_output2,,,4 stop *error end



アキアキノヒロロ

リンク

2022/5/13(Fri) 08:40:29|NO.96346

kinokawa さん、とても貴重なものを見せて頂き、驚いています。
自分には、その細かい仕組みは理解できていませんが、
テスト使用の結果表示から、「ああ、なるほど」という程度には
感覚的に分かってきたように思います。

非常に有益ですが、これについて語るのは、このスレ
> HSP3.7に向けたβテストについてのお願い
の主旨から離れてしまいそうなので、
> zrs90(5さい) ○hgimg4、3DCG関係の情報等についてのスレッド
の場をお借りして、そちらに書きたいと思います。
kinokawa さん、申し訳ありません。お願いします。



zezenana

リンク

2022/5/14(Sat) 00:38:27|NO.96354

hspcmp.exeと iconins.exeについて

先週以下の解決済みスレッドに書き込ませて頂いたのですが
スクリーンセーバ形式でアイコンファイルを指定して自動生成した場合、
コンパイラ側の iconins実行パラメータに問題があるようです。

http://hsp.tv/play/pforum.php?mode=all&num=96263#96278
HSP3.7bata でスクリーンセーバー作成

-----
■iconinsの実行ファイル指定拡張子が .scrとならない

以下の指定で実行ファイル自動生成をするとエラー10が発生します。

#packopt type 2 #packopt icon "test.ico"

iconinsの実行ファイル拡張子が .exeであるためエラーとなるようです。

iconins -e"xxx\hsptmp.exe" -i"test.ico"

>[ERROR] No.10
>実行ファイルが見つかりません

HSP3.7βのみ確認しております。

-----
それと以前本スレッドに書き込ませていただいた

「■#packopt versionが空ファイルでもバージョン0.0.0.0で登録される」の補足ですが、

以下の「有無をチェックしていない」とは、#packopt version 指定ファイルからの
ファイルバージョンやプロダクトバージョンのパラメータ取得有無という意味ではなく、

リソースの書き込み時にパラメータの取得の有無にかかわらず無条件で設定追加されている
ことについて示しています。

そのため初期値である 0.0.0.0が設定されているようです。

>・_FILEVERSION、_PRODUCTVERSIONの 有無をチェックしていない
>・FileVersion、ProductVersionの 有無をチェックしていない



zezenana

リンク

2022/5/14(Sat) 01:31:22|NO.96356

HSP生成 exeファイルの実行にて長時間稼働すると動作が停止します。

長時間稼働PCの timeGetTime()を確認すると 26日以上経過していたので
いわゆる24.9日問題が関係していると推測されます。

int値 = -1993905879(HSPのint値。実際の戻り値は符号なしDWORD)
符号を除くと 2301061417
日時計算すると 26日15:11:01.417

再度 exeを実行した場合には再現しませんでした。

確認バージョンは不明ですが、3.6または3.51による制作物です。
3.7βでは未確認です。再確認にはint境界まで25日以上のPC稼働が必要と思われます。。

調査したところ await命令がタイムアップせずに停止してるようです。
await命令には割り込み処理で強制タイムアップする仕様?があるので、
以下の挙動が見受けられました。

・oncmd命令の割り込みで処理が続行する。割り込みがないと停止し続ける
・button命令は awaitまで動作して停止。割り込みを入れると続行する

doclib\history.txt によるとHSP3.6β3で同様の対策があるようですが
関連があるのでしょうか?

>2020/07/09 3.6 beta3
>:
>(中略)
>:
>500時間以上起動したPC上でwait,await命令の待ち時間が正しく反映されなくなる不具合を修正



アキアキノヒロロ

リンク

2022/5/15(Sun) 20:30:16|NO.96368

HSP3同梱の
[high_school_girl.fbx] と[high_school_girlSD.fbx]
ですが、[ASCII] なので、[Binary] のものにバージョンアップしたものに
差し替えて載せていただいた方がいいと思うのですが、
オガワコウサク(チームグリグリ)氏了解のもとでしょうが。

初めて扱う方は、ここですでにつっかえてしまうので。
出来れば、[tga] も [png] にしたものなら、なお親切だと思います。



kの字

リンク

2022/5/21(Sat) 13:57:25|NO.96403

windows11でディスプレイの表示倍率を変えると、
デバッグウィンドウの配列変数等を表示するボタンが、消えてしまいました。
なおwindows10だと倍率を変えても問題無く表示されました。

参照画像
https://drive.google.com/file/d/1G_AfWa3gHO_0K2zE5FPde9WWod0B6L00/view?usp=sharing



zrs90(5さい)

リンク

2022/5/21(Sat) 16:59:23|NO.96407

#NO.96403 kの字さんへ

hsp3.6
Windows7で、私が掲示板に初めて書き込みした時
ほぼ同じ質問をした事があります。
詳しくは、下記リンク参照

恐らく、os設定のフォント倍率に合わせて、オブジェクト
(メッセージボックス、リストボックス、チェックボックス等)
が比例して大きくなったり、小さくなったりしますが
ウィンドウサイズ等は変わりません。

(※Xp付属の電卓のように、リソースハッカーで
フォントサイズを調整したら、電卓自体が巨大化する(※悪用厳禁)
...みたいになってくれたら、多分解決するんですが。

hsp3 のデバッグウインドウの場合
タブコントロールが入っていたりしているので
私では上手く解決出来ませんでした。)

この件は、hsp3のスクリプトエディタの
設定内のチェックボックス等でも
表示が切れてしまう現象が確認されています。

http://hsp.tv/play/pforum.php?mode=pastwch&num=93788



おにたま(管理人)

リンク

2022/5/23(Mon) 21:09:32|NO.96420

現在のバージョンについて多くのご報告とご要望を頂き感謝致します。
メールなどでご指摘頂いた問題も含めて、対応できる部分についてβ版で改修を進めていきたいと考えています。

PACKFILE(DPM)の新規実装及びいくつかの不具合を修正したバージョンとしてHSP3.7β2版を近い時期に公開する予定です。
以下、プレビュー版を先行して公開しておきますので、もし致命的な問題などあればお知らせください。
ドキュメント類はさらに少し手を入れていく予定です。
また、新規の機能やHGIMG4についての要望は今後のバージョンで対応したいと考えています。
引き続きどうぞよろしくお願いいたします。

HSP3.7β2(プレビュー版)
https://www.onionsoft.net/hsp/file/hsp37b2.zip



しまくろねこ

リンク

2022/5/23(Mon) 21:44:44|NO.96422

ご多忙の中改修ありがとうございます。

以前メールでもご報告しましたが、iOSのアイコン作成で、コマンドラインで渡されたパスの最後のフォルダ区切り文字が二重になっています。

E:\SD_CARD\program_source\HSP\Android\test\test\\test_project

「\\test_project」となってしまっています。



アキアキノヒロロ

リンク

2022/5/24(Tue) 05:16:22|NO.96428

改修、ご苦労様です。

> HGIMG4についての要望は今後のバージョンで対応

そうですね。HGIMG4 は、問題が錯綜しているように思えるので、
対応に時間が必要でしょう。バージョン、楽しみにしております。

ただ、[NO.96368] での要望、[fbx]ファイルとその画像は、
HGIMG4 の当初からそのままです。『更新日時 : 2014/06/06』です。
現在では、変換も割と各自で出来るようになってきましたが、
HGIMG4 利用者が増え始めており、初めてここに突き当たる方も多いと思われます。
これらの更新はすぐ出来ることでもありますので、対応して頂けないでしょうか。
このことが、HGIMG4 普及の壁になることは、HGIMG4 にとって、不幸です。


礼を失した言い方になってしまいました。お許し下さい。



GENKI

リンク

2022/5/24(Tue) 21:35:33|NO.96438

改修作業お疲れ様です。
β2プレビュー版ありがとうございます。早速拝見させていただいております。
手近にあったhgimg4関連のスクリプトをチェックしたところ1点問題を発見しました。
str2f命令が機能していないようです。

#include "hgimg4.as" ; 文字列を小数値に変換 str2f fval, "1.23" mes "str2f : \"1.23\"" mes "fval = " + fval mes "\n" ; 本来の出力 ; fval = 1.230000 redraw 1



GENKI

リンク

2022/5/24(Tue) 22:18:59|NO.96439

β2プレビュー版に ahtman.exe が復活しています。



GENKI

リンク

2022/5/24(Tue) 22:39:04|NO.96440

>> NO.95639
>> NO.95976
修正を確認しました。ありがとうございます。



youdai

リンク

2022/5/25(Wed) 21:34:32|NO.96456

HSP3.7beta2関係の不具合を報告します。

●DPM関係の誤記?

HSP Docs Libraryのchdpm命令に

"dpmname" : DPMファイル名(拡張を除いた名前)

とありますが、実際にはchdpm命令は.dpmの拡張子指定が必要でした。




chdpm "data.dpm", 0, -1

このように、.dpmの拡張子を指定しないとエラーになりました。

●iconins.exe v1.00 関係の不具合

HSP3スクリプトエディタから「実行ファイルの自動生成」をした時に
HSP3.7beta2のテストバージョンの時と同じく、
iconins.exe関係の同じ不具合が発生しました。


iconins.exe v1.00 Basic program has been created by Kpan. Modified by inovia. [ERROR] No.20 「DPMX」文字列が見つかりません Enterキーを押してください

#packoptには主にこれらの設定を行っています。


#packopt name "game" #packopt version "version.txt" #packopt lang "1041"

version.txt の中身


_FILEVERSION=2021.10.31 _PRODUCTVERSION=2021.10.31 FileVersion=2021.10.31 ProductVersion=2021.10.31 LegalCopyright=youdai CompanyName=youdai Comments=ゲーム本体 FileDescription=ゲーム本体 InternalName=game OriginalFilename=game.exe ProductName=game

iconは設定していません。

●HGIMG4のGPBモデルの.materialをHSP3スクリプト上から動的に変更したい

HGIMG4では基本的にgpbモデルを用いて3Dモデルを表示するわけですから、
gpbモデルの.materialファイルをHSP3スクリプト上から動的に変更できる機能があるといいと思います。
以前も同じリクエストをしていますが、gpsetprm関係のマテリアルの変更のTIPSがマニュアルに記載されたことで改めてそう思いました。
例えば形は同じで、テクスチャだけが異なるモデルというものはたくさんありますから、
gpbモデルでそのような命令があると非常に便利だと思います。
gpsetprm命令そのものでなくともいいのですが、gpbモデルのマテリアルをHSP3のスクリプト上から動的に変更できないのは勿体ないなぁと思いました。

●将来のバージョンでサポートされる予定の機能についての質問

将来のバージョンでサポートされる予定と書かれた項目に、

・ステンシルバッファ及びシャドウのサポート

とありましたが、これは将来はマルチレンダリングターケッドがHGIMG4に実装されるということでしょうか?
HGIMG4の動作環境はOpenGLバージョン3.1以上ですから、マルチレンダリングターケッドがOpenGL上としては可能だったような気がします。
GPBのシェーダーと、ポストエフェクトのシェーダーでマルチレンタリングターゲットが使えるようになると、
遅延シェーディングが実装しやすくなるので、できるようになるといいなと思います。

ちなみに実験的段階ですが、HGIMG4でマルチレンダリングターゲットを使わずに通常の描画パイプラインを複数使って
遅延シェーディングを今やっています。
遅延シェーディングそのものについては、単純なものなら現在のHGIMG4の仕組みでも可能でした。

HSP3のHGIMG4で遅延シェーディング - Youtube
https://youtu.be/MuZ6HRQgQ48

マルチレンダリングターゲットが使えるようになれば、遅延シェーディングの高速化ができるようになると思います。



記事削除

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

NO.94865への返信

マスコット

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

名前

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

削除用パスワード

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

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