|
|
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:34:36|NO.94914
|
|
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スタジオでのビルドと
同等のビルドに成功しているように見えます。
|
|
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にアップロード専用のファイルということでしょうか?
|
|
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/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/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にするのはどうでしょうか?

| |
|
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にこの変更が適用されていないとかってあったりしますか?)

| |
|
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 さん
ご指摘ありがとうございます。
バイナリの更新にミスがあったようです。お手数おかけして申し訳ありません。
次に更新ができるタイミングで反映させたいと思います。
|
|
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のドキュメントに手順などを記載して頂ければユーザーが助かると思われます。
|
|
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
|
|
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にしないといけないのかと。これだと旧開発環境も当面は残しておく必要がありますね。
|
|
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) 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/10(Thu) 20:34:28|NO.95367
連続ですみませんが、上記のダイアログボタンの問題はビルドかターゲットAPIが関係してそうな雰囲気なので、再現しないかもしれません。こちらで調査してなにかわかったら報告します。
最近ビルドして公開したアプリでは問題無さそうでした。
|
|
2022/2/10(Thu) 22:27:08|NO.95369
上記ダイアログボタンですが、どうやらビルドツール(apache-ant)を新しくすると解決するっぽいです、直せました。HSP3.7b1はapache-antではなくなったので既に関係無さそうですが、とりあえずビルド環境によってこんなことがありました。
お騒がせしました。
|
|
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) 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で問題ないですけどね。
>しまくろねこ さん
そうだと思います! ですが標準のスケーリングでは問題があるのも事実なので、私なりの解決策を提示してるだけなのです。
標準のスケーリングを使用しても、逆算すれば同じことが可能だと思います。
|
|
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) 18:53:25|NO.95395
Android 11 12でダイアログボタンがおかしい件ですが、やはりあります。
ですが、私のリリースしたCoinFZだけ発現しないらしいのです。
色々試したのですが、原因不明です。
アプリ切り替えで直るという報告も受けてます。
HSP3Dishについてはこちらにもスレを立てさせて頂きましたので、合わせてご覧頂けたら幸いです。
https://hsp.tv/play/pforum.php?mode=all&num=95389
|
|
2022/2/14(Mon) 16:15:12|NO.95413
HSP3.7b1についてでなくてすみませんが、この掲示板のHPリンクの部分について。httpじゃないと飛びませんよねw httpsだとエラーです。それはこの掲示板がhttpだからだと思ったのですが、いちおうご報告です。
|
|
2022/2/14(Mon) 20:36:58|NO.95418
>zrs90(5さい)さん
読みました! まさにそれですねー。
掲示板の説明に記載がほしいですね。
|
|
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
|
|
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) 16:01:27|NO.95427
おにたまさん HSP関連の開発/改修お疲れ様です。
先日、Dish版で、動作報告のあった celput 命令ですが
メルクーフ さんのHP内に、HSP3のバージョン、
Windows版、Dish版か、詳細は不明ですが
gmode 7 との組み合わせ使用時の注意と
拡大の処理の不具合(らしい?)記述がありました。
(※ HSP3備忘録 メルクーフ で検索、
トップに出ますので、内容を精査の上で
メルクーフ さん、ご本人に直接ご確認
願えませんでしょうか?
後、celput 命令以外にも、2〜3件気になる
記述があります。
HPには、リンクフリーとありますが、そのまま
掲示板に記載して良いか、私では判断出来ません。
お手数をおかけしますが、よろしくお願い致します。)
|
|
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) 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 さん、私の勝手な振る舞いをお許し下さい。
|
|
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 に繋げる必要があります。
本来なら、文法か、パラメータ関係のエラー?
になるはずですが、何故か実行出来ます。
それとも、将来的に、パラメータ 追加の
予定があるのでしょうか?
|
|
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
|
|
2022/3/1(Tue) 21:50:10|NO.95612
TOMATO さん ありがとうございます。
...こんな、条件で、起こる物だったとは
想像もしませんでした。
|
|
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
使っている機能ではないのでまったく困らないのですが、見つけてしまったのでとりあえず報告だけ上げておきます。
|
|
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
|
|
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
|
|
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でも影響出てくるのか、他の方から情報を得るまでわかりませんでした。
|
|
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版と仕様が合わせられた場合は、ソースの手直しが必要になりそうですねこれは。
|
|
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
|
|
2022/3/18(Fri) 00:29:22|NO.95757
HSPスクリプトエディタの挙動について報告です。
分割ウィンドウを利用した状態で元に戻す(Ctrl+Z)を2回行うと、全ての分割ウィンドウで同じ位置が表示されてしまいます。別の位置を見ながら使うものなので意図した動作ではないと思います。
また分割ウィンドウを利用すると、カーソル位置が分割されたウィンドウごとに記憶されません。カーソル位置が共有されているようです。ルーラーをクリックしてアクティブな分割ウィンドウを切り替えて確認しました。この仕様が「元に戻す」実行時の動作に影響しているのではないでしょうか。
|
|
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/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 として説明されています。
|
|
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を作成することもあります。
|
|
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
|
|
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
|
|
2022/4/14(Thu) 22:56:21|NO.95991
fvinner
fv(1), fv(2)に不明な値が残っています。
fv(0)しか使用しないので放置してもまったく問題ありませんが、意味のない数値が残っていることで、内積をよく理解されていない方が誤解や混乱をしないかと心配になりました。
とも思う一方で、fvsetが要素を4つ作っていても特に気にならなかったので、これはこのままでもいいような気もしています。
|
|
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
|
|
2022/4/15(Fri) 23:53:27|NO.96016
開発お疲れ様です。
既出なら申し訳ありません。
HDLの修正?についてになります。
setcls 命令 (画面クリア設定)
第3引数 の tex は、間違えて記述された物でしょうか?
説明自体から記述がありませんが
サンプルをいくつか、見た感じでは
第3引数は、使用されてませんでした。
|
|
2022/4/16(Sat) 02:24:46|NO.96018
GENKI さんへ
hsp3.6
froti 命令ですが、hgimg3.txt の
1620行に説明が記載されています。
恐らく、hgimg3 と hgimg4 の互換命令?
ではないかと。
こういった場合、適当なテキストエディタの
検索機能で、簡単に出てくる場合があります。
まだ確認してませんが、他の命令も
説明が見つかる可能性があります。
|
|
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 両方に、命令の記述があれば
ドキュメントに、↑が両方表示されます。
(※同じスペルの命令、説明等があれば表示されて
しまうので、あまり使えないと思います。)
|
|
2022/4/16(Sat) 04:56:06|NO.96020
↑申し訳ありません。追記します。
直接、検索キーワード(※ fsin 等、正確な命令名)
の指定後、検索ボタンを押さないとダメです。
hsp3.5 と3.6のhsファイルを並べて
簡単に見た所、分かった事ですが
hgimg_common.hs を %dll のタグ等の
変更等(※登録命令の構成が一部違うので
hgimg3 互換とは書けない??)
で、hgimg4dx、hgimg4用のhsファイルに
してしまっているのが原因と思われます。
|
|
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などで使用している角度の整数値とも仕様が合いません。
まだ移植が完了していない機能をマニュアルから消し忘れたという感じかなと理解しました。
|
|
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
|
|
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?
から使われています。
(※文献なしの為、それ以前は不明です。)
|
|
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/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を追加することで利用できます。
|
|
2022/4/25(Mon) 23:09:08|NO.96128
setclsを使用したサンプルプログラムの中にCLSMODE_SOLID が頻繁に出てきていますが、HDLなどのマニュアルに記載がありません。
なお、CLSMODE_SOLIDが1であることはわかっているのでどのように動作するものかは理解できています。
|
|
2022/4/27(Wed) 23:18:58|NO.96147
buffer命令のパラメータの screen_offscreen, screen_usergcopy についての説明がHDLにはありません。
HGIMG4プログラミングガイドやサンプルの中で突然出てきますが、説明の記述がありません。
|
|
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を読む必要があります。
---------------
|
|
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
|
|
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の記述がありません。
|
|
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
|
|
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
|
|
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だとなるのですかね。
|
|
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"
少し強引に合わせてみました。距離が離れると不自然になりますが、元よりは鏡面っぽくなります。
しかしこれ以上はカメラ調整だけではどうしようもありません。投影面の方を変形させるなどの方法を取る必要があります。
|
|
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

| |
|
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です。
|
|
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に文字列が設定されますが、
終了して再度実行すると、変数を保存したファイルの値が取得されません。
|
|
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
私の勘違いでした。
失礼しました。
|
|
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にて、確認しました。
|
|
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 参照
② キーボードのチャタリング(誤動作)
ウチのキーボードはスイッチの構造上
誤動作が起こりにくいので
これについては不明です。
|
|
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は起動しても現象は起きません。
|
|
2022/5/5(Thu) 16:26:12|NO.96259
> zrs90(5さい)さん
> 最大化したアプリケーションのウィンドウで最小化
> 最大化、および閉じるボタンを使用できない問題を解決
ちょっとわかり難いのですが、プログラム自体は正常に動いているのですが、ウィンドウ上の全てのクリック自体が無効になっている状態です。
|
|
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」で実行してみたところ何度やっても現象は起きませんでした。
|
|
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さん
ありがとうございます。頼りになります。
次回バージョンアップで直っていることを期待しています。
|
|
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
|
|
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)
---------------------------
|
|
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/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
よろしくお願いします。
|
|
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 さん、申し訳ありません。お願いします。
|
|
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の 有無をチェックしていない
|
|
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] にしたものなら、なお親切だと思います。
|
|
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 にとって、不幸です。
礼を失した言い方になってしまいました。お許し下さい。
|
|
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
|
|
2022/5/24(Tue) 22:18:59|NO.96439
β2プレビュー版に ahtman.exe が復活しています。
|
|
2022/5/24(Tue) 22:39:04|NO.96440
>> NO.95639
>> NO.95976
修正を確認しました。ありがとうございます。
|
|
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
マルチレンダリングターゲットが使えるようになれば、遅延シェーディングの高速化ができるようになると思います。

| |
|
2022/5/28(Sat) 10:37:45|NO.96484
HSP3.7beta2(プレビュー版)について
HSP3.7beta1と仕様が変わったようですのでご確認願えますでしょうか?
■HSP3Dish利用時の hsptvフォルダ内ファイルが無指定で読み込めない
HSPTVフォルダ素材はドキュメントに記述があり、HSP3.6以降は
hsptvフォルダ無指定にてファイルを読み込むことが出来るとなっていますが
HSP3.7beta2(プレビュー版)ではエラー13となるようです。
HSP3.51 素材の提供のみ。フォルダ未対応
https://www.onionsoft.net/hsp/v35/doclib/hsptv_res.htm
HSP3.6 HSP3Dishではhsptvフォルダは無指定で対応
https://www.onionsoft.net/hsp/v36/doclib/hsptv_res.htm
HSP3.7 HSP3.6と同じなはず?
https://www.onionsoft.net/hsp/v37/doclib/hsptv_res.htm
以下サンプルにて確認することが出来ます(Dish Win版にて確認)
-----
サンプル-A(フォルダ指定あり)
#include "hsp3dish.as"
celload dir_tv+"hsptv_img.png",1:celput 1:redraw 1
サンプル-B(フォルダ指定なし)
#include "hsp3dish.as"
celload "hsptv_img.png",1:celput 1:redraw 1
HSP3.51の結果
A-正常表示
B-エラー13(hsptvフォルダ未対応のため)
HSP3.6の結果
A-正常表示
B-正常表示(フォルダ無指定対応)
HSP3.7beta1の結果
A-正常表示
B-正常表示(フォルダ無指定対応)
HSP3.7beta2 previewの結果
A-正常表示
B-エラー13(仕様変更?)
この状態により HSPアシスタントの一部 hsp3dishサンプルでは
run/editともにエラー13が出るようになりました。
以下の実行にて確認できます。
tamacard_dish
tamadot_dish
tamane_s2_dish
tamane_s_dish
hsptvフォルダ無指定の仕様が変更となるのであれば
スクリプト内ファイル名にhsptvフォルダ追加(dir_tv)することで回避できます。

| |
|
2022/5/28(Sat) 14:09:34|NO.96490
一部の文字が文字化けしてしまいます。
;例
mes"◣▶🔺🔻🔼🔼▴►◄🔶☒▩"
ご確認お願いします。
|
|
2022/5/28(Sat) 15:04:43|NO.96492
>youdai さん
NO.96456
>●iconins.exe v1.00 関係の不具合
実際にDPMファイルを利用した exeを自動生成しないと状況がわからないので確認させてください。
生成される game.exe内部をバイナリで検索していただいて
1.「.rsrc」という文字列はありますか?
2.「DPM2」という文字列はありますか?
上記が見つからないと「DPMX」文字列を検索するようになっています。
1.2.ともに見つかっている場合には DPMファイルや exe生成時に問題があると思われます。
ちなみにDPMファイルなしで exeを自動生成した場合ではどのようになりますか?
掲載された#packopt、version.txt サンプルでは正常終了でした。
|
|
2022/5/28(Sat) 19:01:10|NO.96494
hgimg4のgppset命令について(HSP3.6、3.7β1、3.7β2)
GPPSET_MASS_CENTERは「中心座標のオフセット」と説明されていますが、画面上に表示される物体の位置がオフセットするだけで、物理挙動の実体の位置は動いていません。
このため見た目の位置と物理挙動の接触判定が一致しなくなっています。これは意図した動作でしょうか?
#include "hgimg4.as"
; 物理エンジンテスト
randomize
; シーン作成
gpreset
setcls CLSMODE_SOLID, $808080
; カメラを作成
setpos GPOBJ_CAMERA, -2,1 ,4
gplookat GPOBJ_CAMERA, 0,0.5,0
; 箱を作成
gpbox id_box, 0.5, -1
setpos id_box, 0, 0.25, 0
gppbind id_box;, GPPBIND_MESH
gppset id_box, GPPSET_MASS_CENTER, -0.6, 0, -0.5 ; 中心座標のオフセット
; gppset id_box, GPPSET_MASS_CENTER, 0,-0.3,0
; 上に箱を作成
gpclone id_boxc, id_box
setpos id_boxc, 0, 1.5, 0
gppbind id_boxc
; 床を作成
gpfloor id_floor, 30,30, $804040
gppbind id_floor, 0
*main
stick key,15
if key&128 : end
; 描画
redraw 0
gpdraw
redraw 1
await 1000/60
goto *main
パラメーターIDがMASS_CENTERなので重心位置のオフセットが、本来の意図した動作ではないかと考えています。
|
|
2022/5/30(Mon) 07:30:18|NO.96507
>zezenana さん
バイナリエディタで実行ファイル生成時にiconins.exe関係のエラーが発生したgame.exeを閲覧した所、.rsrc、DPM2の文字列はありました。
DPMファイルを使った場合、使わなかった場合共に調べましたが、両方ともありました。
この場合のgame.exeはversion.txtで指定した部分は反映されていません。
この場合のgame.exeのHSP3の環境はHGIMG4でした。HSP3のバージョンは3.7beta2です。
それで、いくつか条件を変えて、実行ファイルを自動生成してみました。
以下のような結果になりました。
1.HGIMG4でDPMを使った実行ファイルを作成ではiconins.exe関係のエラーが発生する
2.HGIMG4でDPMを使わなかった場合の実行ファイルを作成ではiconins.exe関係のエラーが発生する
3.HSP3通常版でDPMを使った実行ファイルでは生成時にエラーが起きない
4.HSP3通常版でDPMを使わなかった場合の実行ファイルを生成ではエラーが起きない
以上のような結果でした。
このエラーはHGIMG4と関係がありそうです。
もしかしたら、これは他のHSP3通常版ではない環境でも同様のことが起きている可能性があります。
|
|
2022/5/30(Mon) 10:25:18|NO.96510
HSP3Dish helper 不具合?
Win10 : HSP37 b2 : HSP3Dish helper ver.1.94 使用
WinではEXEも作成でき、正常に動作しますので
WebGL/html5版を使ってUPしたのですが
※[デバッグ情報を出力]チェック
-----------------------------------------------
1: #include "hsp3dish.as"
2: #include [ モジュール・関数・変数定義 ]
3:
4: onerror *errmsg
5: onexit *mainexit
6: randomize
7: chdir "data" //※ディレクトリ移動(WEB/Dish)
-----------------------------------------------
↑[ 7: chdir ] で [ 12 "ファイルが見つからないか無効な名前です" ]
になり、デバッグ情報も出力されません
これ以上、前には処理がありませんので原因不明です
※モジュール・関数・変数定義はしています
-----------------------------------------------
#defcfunc MOVE_check int cx, int cy, array ddat
↑1箇所だけパラメーターに配列を使ってますが、対応してないのでしょうか?
-----------------------------------------------
|
|
2022/5/31(Tue) 09:28:46|NO.96522
zakkiさん、御返事ありがとうございます。
おにたまさんの、修正を待ちます。
|
|
2022/6/1(Wed) 07:58:03|NO.96530
dataフォルダを作成し、dataファイルをUpLoadしましたが
エラーになるようです
|
|
2022/6/1(Wed) 08:41:12|NO.96531
>youdai さん
バイナリでのご確認ありがとうございます。
>それで、いくつか条件を変えて、実行ファイルを自動生成してみました。
>:
>(中略)
>:
>このエラーはHGIMG4と関係がありそうです。
>もしかしたら、これは他のHSP3通常版ではない環境でも同様のことが起きている可能性があります。
DPMファイルの問題と思いこんでいたので、この結果には興味があり調査を続けたところ
エラー20が発生する状況が再現できたので以下にまとめてみました。
-----
■HSP3.7beta2(プレビュー版)の「実行ファイル自動作成」を実行することによって
「[ERROR] No.20「DPMX」文字列が見つかりません」が発生します。
HSP3Dish Win版、HGIMG4 Win版にて発生しています。 無印Winでは発生しません。
エラーのため、#packoptの情報が exeファイルに反映されません。
HSP3.7beta2(プレビュー版)、Win版にて確認を行っています。
HSP3.7beta1、HSP3.6では Dish、HGIMG4ともに正常に自動生成されます。
以下にサンプルによる「実行ファイル自動作成」の結果と exe内データを記載します。
無印、Dish、HGIMG4の切り替えは #includeのコメント切り替えにて
3種類の自動生成の確認を行いました。
;#include "hsp3dish.as"
;#include "hgimg4.as"
#packopt version "version.txt" //空ファイルで良い※
※空ファイルでもリソースが追加される不具合?があるため確認はできます。
■無印Winにて自動生成・・正常終了
リソース書き換え前 hsptmp.exeより
DPM2取得先アドレスは「.rsrc」文字以降の [] 箇所
00:0280 2E 72 73 72 63 00 00 00-80 0D 00 00 00 A0 05 00
00:0290 [00 0E 00 00] [00 60 05 00]
0x0290 の [] から ulong 2つを加算した値がアドレスとなる
0x00000E00 + 0x00056000 = 0x00056E00
05:6E00 44 50 4D 32 ←「DPM2」あり
■Dish Winにて自動生成・・エラー20が発生
DPM2取得先アドレス
00:02C0 00 00 00 00 40 00 00 C0-2E 72 73 72 63 00 00 00
00:02D0 E8 0B 00 00 00 60 0D 00-[00 0C 00 00] [00 B0 09 00]
0x00000C00 + 0x0009B000 = 0x0009BC00
09:BC00 00 10 00 00 ←「DPM2」なし
検索して見つかった「DPM2」のアドレス
0A:0C00 44 50 4D 32
■HGIMG4 Winにて自動生成・・エラー20が発生
DPM2取得先アドレス
00:0280 00 00 00 00 40 00 00 C0-2E 72 73 72 63 00 00 00
00:0290 E8 0B 00 00 00 A0 19 00-[00 0C 00 00] [00 14 16 00]
0x00000C00 + 0x00161400 = 0x00162000
16:2000 00 10 00 00 ←「DPM2」なし
検索して見つかった「DPM2」のアドレス
17:0C00 44 50 4D 32
> おにたま(管理人) さん
私自身 DPM2についてよく理解しておりませんが、
確認した結果より、「DPM2」文字列の取得アドレスに「DPM2」が存在しないために
旧形式?の「DPMX」を検索しているようです。
実際には別なアドレスに「DPM2」が存在しているので exe生成時の「.rsrc」上の
格納したアドレス値が異なっているか DPM2の格納先が間違っている可能性が
あるように思われます。

| |
|
2022/6/2(Thu) 23:37:49|NO.96540
新しいβテスト版となるHSP3.7β2を一般向けに公開しました。
プレビュー版から、いくつかの不具合を修正してドキュメント類の更新を行っています。
先行してテストにご協力頂いた皆様、ありがとうございました。
β2版はサイズが大きいため、マルチプラットフォーム向け開発環境HSP3Dishを含む「フルセット版」と、
Windows上の開発セットのみを含む「Windows開発版」の2つのパッケージを用意しました。(「Windows開発版」は、「フルセット版」からandroid,iOS,html5(WebGL)等のランタイムを削除してサイズを削減したものです。)
必要なバージョンをダウンロード頂けますので、引き続き検証いただけたら嬉しいです。
HSP3.7β2
https://www.onionsoft.net/wp/archives/3553
2022/06/02 3.7 beta2
HSPDAプラグインにバイナリデータ検索を行うbinmatch命令を追加
β1版でhsptvフォルダ参照の動作がHSP3.6と異なっていたのを修正
DPMファイル及びexe埋め込みファイルにフォルダ名と長いファイル名が使用できるように修正
#pack,#epack命令のファイル指定に'*'記号によるワイルドカードが使用できるように修正
button gosubによるボタン処理時にエラーが発生した際にウインドウが閉じる不具合を修正
コールバック先でonkey gotoの割り込みがかかった際にエラー43が出る不具合を修正
packoptリスト作成ツールを同梱、スクリプトエディタのメニューに追加
簡易的な麻雀の処理をまとめたmod_mahjongモジュールとサンプルを追加
[HSP3Dish] boxf命令の塗りつぶし範囲が標準ランタイムと異なる不具合を修正
[HSP3Dish][android] スタティックライブラリ導入によりHGIMG4のビルド時間を短縮
[HSP3Dish][Windows] デバイスロスト時にアプリが停止する不具合を修正
[HSP3Dish][Windows] celload命令により選択したフォントがリセットされる不具合を修正
[HSP3Dish][hsp3js] HSP3.7beta1でstick命令の入力が正しく動作しなかった不具合を修正
[HSP3Dish][hsp3js] ブラウザのローカルストレージに保存するIDBFSサポートを追加
[HSP3Dish] Dish P Helper 及び、Android/iOSアイコン作成ツールをパッケージに同梱
[HSP3Dish] mmload命令でwavファイルを同じIDに読み込む際にメモリリークが起こる不具合を修正
[HGIMG4] gpsetprm命令でマテリアルID書き換え時に反映されるように修正
[HGIMG4] get~系の命令で指定された変数が配列の場合に要素が拡張されない不具合を修正
[HGIMG4] イベント内で複数のパラメーター変化を行った際にHGIMG3との差異が出る不具合を修正
[HGIMG4] OBJ_TIMERによるタイマーが正しく動作していなかった不具合を修正
[HGIMG4] 3Dモデルのclone時に正しくマテリアルがクローンされないことがある不具合を修正

| |
|
2022/6/2(Thu) 23:52:44|NO.96541
>zezenana さん
>youdai さん
プレビュー版の不具合ご報告ありがとうございます。
hsptvフォルダ内ファイル指定と、iconinsの不具合については修正させて頂きました。
iconinsについては、まだバージョンの指定など細かい部分で不具合が残っているかもしれません。
HGIMG4の更新については、この後まとめて行いたいと考えています。
>餃子 さん
「chdir "data"」の行を削除して試して頂けますでしょうか。
dataフォルダは、.htmlと.dataを作成した時点で自動的に(カレントフォルダとして)内包されます。
β1までのWebGL/html5版では、chdirは無効でしたがβ2では仮想的なフォルダとして扱われてしまいます。
>GENKI さん
プレビュー版について色々なご報告ありがとうございます。
今後、検証しながら対応していきたいと思います。
ahtman.exeは、かんたん入力動作のために残しています。
従来のPeasエディタの機能は省いてあります。
>アキアキノヒロロ さん
プレビュー版について色々なご報告と要望ありがとうございます。
珠音のfbxファイルについては、オガワコウサク氏とともに新しいものに更新したいと考えています。
その他の要望とともに、今後のβ版では反映していきたいと思います。
|
|
2022/6/3(Fri) 08:30:10|NO.96543
>「chdir "data"」の行を削除して試して頂けますでしょうか。
ありがとうございます(*^▽^*)
正常に動作しました。
①Win版は、有効にして
②Web版は、コメントする
で、良いでしょうか?
今後の仕様として、決定しましたらマニュアルにも
記載していただければと希望します。
|
|
2022/6/3(Fri) 18:44:56|NO.96547
jsonの読み込みの不具合について
hsp3utfでjsongetsで文字列のオブジェクトを読み込ませようとすると、自動的にUnicodeエスケープシーケンスに変換されると思うのですが、サロゲートペアの文字がうまく取得できず、文字化けしてしまいます。
これは仕様なのか不具合なのでしょうか?
#include "hspinet.as"
#include "hsp3utf.as"
test = {"
{
\t\"text\": \"\\ud83e\\udd23\"
}
"}
tex = ""
jsonopen jsonptr,test
jsongets tex,"text",jsonptr
jsonclose
mes tex
|
|
2022/6/4(Sat) 09:10:32|NO.96554
3.72βにて、bsaveのオフセット指定が正しく動作していないようです。
以下のスクリプトで変数bのみが保存されております。
ご多忙の折、大変恐縮ですが、ご検証の程よろしくお願いいたします。
a = "aaaa\n"
b = "bbbb\n"
bsave dir_desktop + "/test.txt", a, 6
bsave dir_desktop + "/test.txt", b, 6, 6
|
|
2022/6/4(Sat) 12:37:29|NO.96555
>>No.96490
>>雪月夜 さん
>>一部の文字が文字化けしてしまいます。
>>
>>;例
>>mes"◣▶🔺🔻🔼🔼▴►◄🔶☒▩"
>>ご確認お願いします。
フォントを変えれば文字化けしないはずです。
そこらへんは詳しくないのですが...
|
|
2022/6/4(Sat) 22:35:27|NO.96562
SMOPU さん
ご指摘ありがとうございます。
私の場合、Windows7pro 32ビット
MSOffice2013 、ネット環境なし なので
元々、表示出来ません。(+ 標準エディタ使用
スマホ投稿です。)
Windows8.1update 辺り(詳細不明?)から
この絵文字(で合ってますか?)は
対応しているらしい?です。
また、Windows10の初期バージョンでは
この絵文字、対応してましたでしょうか?
大型アップデートで対応していたとすれば
Windows8.x もその時期と同じ頃と思います。
また、スマホ等の環境で、微妙に絵文字の形が
違うケース等、もあるようです。
その為、機種依存文字、環境によって文字化け
(※サイト丸写し)...と書きました。
utf-8 の件に関しては、Win10最新版以降
hsp3utf.as、vscode等の組み合わせで
確実に表示出来るなら、私の勘違いによる
投稿ミスです。申し訳ないです。
|
|
2022/6/8(Wed) 12:30:25|NO.96599
HSP3.7beta2にて以下スレッドなどで取り上げられております mes命令の改行問題が
発生しております。
http://hsp.tv/play/pforum.php?mode=pastwch&num=89273#89378
HSP3.6β2テストのお願い
http://hsp.tv/play/pforum.php?mode=all&num=94748
HSP3.6Dishのmes表示でドットが出てしまう
http://hsp.tv/play/pforum.php?mode=all&num=94865#96015
HSP3.7に向けたβテストについてのお願い
■mes命令の改行処理が HSP3.51の改行処理と異なっている
以下のサンプルスクリプトを実行することで確認することができます。
mes命令のテスト箇所は、[](カギ括弧)内の改行表示となります。
HSP3.6から HSP3.7beta2の Dish Win、HGIMG4 Winにて発生しています。
無印Win、Dish Win、HGIMG4 Winの確認の際には #includeのコメントを
切り替えて下さい。
;#include "hsp3dish.as"
;#include "hgimg4.as"
gosub *screen_font
color 150,150,150:boxf:color
pos 0:mes "1)mes -- [",1:mes:mes "]"
pos 0:mes "2)mes \"\" -- [",1:mes "":mes "]"
pos 0:mes "3)mes \" \" -- [",1:mes " ":mes "]"
pos 0:mes "4)mes \"\\n\" -- [",1:mes "\n":mes "]"
pos 0:mes "5)mes \"\\n\\n\\n\" -- [",1:mes "\n\n\n":mes "]"
redraw 1
stop
*screen_font
#if (__hspver__>>8)=$35
#ifdef __hsp3dish__
#ifdef __hgimg4__
dialog "hgimg4 v351 not support",1:end
#endif
#else
screen 0,640,480
#endif
#else
screen 0,640,480
#endif
font msgothic,30,1
return
-----
■HSP3.51のテスト結果
mes命令の改行処理は以下となります。
無印Win、Dish Win、ともに同じ結果となります。
HGIMG4 Winについては確認しておりませんが、同一結果となるようです。
1-3)は改行が1つ・・(正常)
4)は改行が2つ・・(正常)
5)は改行4つ・・(正常)
■HSP3.6から HSP3.7beta2のテスト結果
無印Win版では HSP3.51と同じ結果となります(正常)
Dish Win、HGIMG4 Winは以下の異なった結果となります。
1-2)は改行しない・・(異なる)
3)は改行1つ・・(正常)
4)は改行1つ・・(異なる)
5)は改行1つ・・(異なる)
すみませんが、ご確認よろしくお願いします。

| |
|
2022/6/8(Wed) 12:51:08|NO.96600
こちらも mes命令についてですが、Dish Win、HGIMG4 Winにて
フォントが一定のサイズ以上の場合、特定の文字出力後の空白部分に
不明なドットが表示されます。
見えにくいですが、button命令と input命令の文字列部分にも
同様のドットが表示されます。
http://hsp.tv/play/pforum.php?mode=all&num=94748
HSP3.6Dishのmes表示でドットが出てしまう
以下のサンプルスクリプトを動作させることで
HSP3.6から HSP3.7beta2の Dish Win、HGIMG4 Winにて確認できます。
#include "hsp3dish.as"
;#include "hgimg4.as"
gosub *screen_font
color 150,150,150:boxf:color 255,255,255
objmode 2,0:objsize 120,40
button goto "T E S T",*btn_test
a="T E S T":input a,120,40,10
mes "AAAA BBBB CCCC ",sw
mes " 000 - 000 - ",sw
mes "DDDD EEEE FFFF ",sw
objcolor 255,255,255:color:pos 0
mes "AAAA BBBB CCCC ",sw
mes " 000 - 000 - ",sw
mes "DDDD EEEE FFFF ",sw
redraw 1
stop
*btn_test
stop
*screen_font
#if (__hspver__>>8)=$35
#ifdef __hsp3dish__
#ifdef __hgimg4__
dialog "hgimg4 v351 not support",1:end
#endif
#else
screen 0,640,480
#endif
font msgothic,30,1:sw=0
#else
screen 0,640,480
font msgothic,30,1,5:sw=4
#endif
return
|
|
2022/6/8(Wed) 20:30:01|NO.96603
HSP3Dish使用時のgzoomでサイズをマイナス値にした時に、
画面に出力される画像の位置がHSP3Dish未使用時と逆になっていました。
この挙動は3.6と3.7b2でテストし両方で確認できました。
|
|
2022/6/11(Sat) 15:24:44|NO.96622
memfile命令が、画像ファイルには効くのですが、音楽ファイルには効きません。
「sample.wav」という音楽ファイルを用意して、
notesel buf
noteload "sample.wav"
memfile buf
mmload "MEM:a.wav",0,1
mmplay 0
stop
……とすれば音楽が鳴るはずなのですが鳴りません。
そんなわけで現在作っているゲーム作成ツールでは、memfileを使わず、ファイルを一時生成して再生しています。
が、これでは一時生成ファイルをコピーされる可能性があり、ゲーム作成ツールとしてはいまいちです。
そんなわけで、どうか正しいやり方があればそれをご教授ください。
よろしくお願い致します!
|
|
2022/6/11(Sat) 22:00:49|NO.96626
hgimg4(HSP3.6/3.7β2)
gpfloorで作成したオブジェクトをsetobjlightで使用しても結果に反映されません。
#include "hgimg4.as"
title "HGIMG4 Test"
gpreset
; ライト
setcolor GPOBJ_LIGHT, 0.3,0.3,0.3 ; 標準ライトカラーを設定
; ライト2
gpnull id_light
gplight id_light, GPOBJ_LGTOPT_NORMAL
setcolor id_light, 0.9, 0, 0
setang id_light, deg2rad(-60)
; カメラ
setpos GPOBJ_CAMERA, 0,2 ,6 ; カメラ位置を設定
gplookat GPOBJ_CAMERA, 0,0.3,0 ; カメラから指定した座標を見る
if 0 {
; カレントライトを変更してからモデル作成
; 箱ノードと床ノードに変更したライトが適用されます。
; カレントライトに登録
gpuselight id_light, 0
gosub *make_model
} else {
; モデルを作った後にカレントライトを変更して再設定
; 箱ノードにだけ変更したライトが適用されます。
; 床ノードには変更結果が反映されません。
gosub *make_model
; カレントライトに登録
gpuselight id_light, 0
setobjlight id_floor ; ここが効いていない
setobjlight id_model
}
*main
stick key,15+256
if key&128 : end
redraw 0 ; 描画開始
gpdraw ; シーンの描画
redraw 1 ; 描画終了
await 1000/60 ; 待ち時間
goto *main
; 3Dモデルを生成
*make_model
gpbox id_model, 1 ; 箱ノードを生成する
setpos id_model, 0, 0.5, 0
gpfloor id_floor, 40,40, $808080 ; 床ノードを追加
return
実行すると床も赤いライトで照らされるはずなのですが、床だけは変更前のライトのままになっています。
「if 0 {」を「if 1 {」に書き換えると、setobjlightを使用しない方法で動作します。
床も新しいライト(赤)で照らされています。この結果が本来期待してる動作結果です。

| |
|
2022/6/12(Sun) 05:03:20|NO.96627
オブジェクトの種類によって、受けるはずのライトの影響に違いがあるように思えます。
[gpbox] での箱と、同じ箱型でも3Dモデルノードの箱でも違うようです。
3Dモデルノードの場合は、UV設定し、かつmaterialファイルで
[defines = DIRECTIONAL_LIGHT_COUNT 1]にする必要がありますが、感覚からだけ言えば、
[gpbox] での箱は、初めからUVもmaterialファイルも設定してあるような感じです。
また、[gpfloor] や [gpplate] での平面は、[gpbox] での箱とも違います。
3Dモデルノードとは違って、[gpfloor] や [gpplate] での平面は、
たとえ、[gptexmat]を使った場合でも、[gpbox] での箱と同様、(平面なので考える必要もないか)
初めからUVもmaterialファイルも設定してあるような感じですが、
ライトの色の反映は、色のオーバーレイ のようで、元の色要素が [0] なら、変化は見えず、
[gptexmat]を使わない単色の場合、変化なしのようになってしまうこともあるようです。
どうも、この [setobjlight] の設定がおかしいのも、オブジェクトの種類によって、
もともとライトの反映の仕組みが違うことが原因のように思います。
|
|
2022/6/13(Mon) 02:06:28|NO.96643
コンパイルの最適化について。
#module "test"
#deffunc test1 int _p1
mes "test1"
mes _p1
return
#deffunc test2 int _p1
mes "test2"
mes _p1
return
#global
test1 1
test1 2
上記では test2 は呼ばれないため不要なコードですが、
最適化で除去されないように見えます。
正しい動作なのでしょうか?
|
|
2022/6/13(Mon) 22:12:00|NO.96645
開発お疲れ様です。
ウチの環境だけかも、知れないです。
でしたら、申し訳ありません。
hsp3サンプルの\basic\memfile.hsp
を実行させると、3.5、3.6は実行出来ますが
3.7β2プレビューだと
エラー13
画像ファイルがありません
...で実行出来ません。
上のサンプルの画像の代わりに
3.6のhsp.tvフォルダ内の音声ファイル
explos.wav を、3.5、3.6、3.7β2プレビュー
のdoclibフォルダへコピー
6行目の、fname = (以下略)
の画像ファイル名を、explos.wavに変更
9行目の、picload 命令 (以下略)のかわりに
下記に書き換えて見ました。
mmload "MEM:a.wav",0,1
mmplay 0
explos.wav の場合ですが(約8KB の音声ファイル)
3.5、3.6では問題なく、連続再生されましたが
また、3.7β2プレビューだけダメでした。
デバッグウィンドウ上の fname は
パスがしっかり通っているので
8行目の、memfile buf
9行目の、picload ″MEM:a.jpg″
の何かの処理で、引っかかっているようです。
追記になります。
このスレッド、現在、200以上になっている為
スクロール、記事を探すのが大変になっています。
もちろん、他の方々の意見等を聞いた上ですが
出来れば、新しい動作報告用のスレッドを
立てて頂けるとありがたいです。
|
|
2022/6/13(Mon) 22:55:51|NO.96646
HGIMG4でスプライト機能を使う際に、バッファーの拡大表示を行うと
スプライトが拡大されず、またスプライト画像も縮小してから拡大したような
画像になってしまいます。
#include "hgimg4.as"
// sample/hgimg4フォルダで実行してください
// 640x360の画面を倍の1280x720にして表示する
screen 0, 1280, 720, 0
gpreset
buffer 1, 640, 360, screen_offscreen + screen_usergcopy
buffer 9:picload "hsp3dish.png"
es_ini
es_size 32, 32, 50
es_pat 0, 24, 156
gsel 0
es_set 0, 304, 164, 0
*update
gsel 1
redraw 0
color 255
boxf 0, 0, 320, 360
color 0, 255
boxf 320, 0, 640, 360
es_draw
redraw 1
// buffer1をscreen0に拡大表示
gsel 0
redraw 0
pos 640, 360
gmode 1, 640, 360
grotate 1, 0, 0, 0.0f, 1280, 720
redraw 1
await 16
goto *update
|
|
2022/6/14(Tue) 17:51:42|NO.96649
不具合というわけではないのですが、hgimg4にて感じたことを。
resフォルダ内で、オブジェクトを下層フォルダから読み込むことが出来ないみたいですが、オブジェクトが増えると管理が大変なので、フォルダ分けできるほうが良いのではないかと思いました。
もし現行で方法があるなら、ごめんなさい。
|
|
2022/6/14(Tue) 18:57:23|NO.96651
2019/2/15 の私のスレッド
http://hsp.tv/play/pforum.php?mode=pastwch&num=86539#86573
でのことと同じことを問題にしていらっしゃるようですが。
どんなに下層のフォルダからでも、英数のフォルダ名でありさえすれば、可能のはずです。
> 「res」フォルダ内に作成のフォルダにまとめて収めても、大丈夫のようです。モデル読み込みを
> id_model,"res/フォルダ名/ファイル名"
> とすればいいだけです。
> モデルが多くなってきたら、モデルごとにフォルダを作って管理したほうが、
> ミスを減らすのに役立つ
> id_model,"res/フォルダ名/ファイル名"
は、
> gpload id_model,"res/folder_name(/folder_name......(以下何層でも))/file_name"
ということです。
ただし、当然ですが、「gpb」「material」「png」を同じフォルダにまとめて入れているのですから、
「material」ファイルの参照画像のパスは、「res/」や「フォルダ名/」は付けずに、
「ファイル名」(拡張子付)のみのかたちに書き換える必要があります。
|
|
2022/6/14(Tue) 22:52:24|NO.96654
\sample\hgimg4 の freemesh.hsp の 69 行目に記述ミスがあります。摩擦係数を指定する箇所に、設定オプションが指定されています。
誤:gppbind id_model, 1, GPPBIND_MESH ; メッシュ形状を物理設定する
正:gppbind id_model, 1, , GPPBIND_MESH ; メッシュ形状を物理設定する
またこのサンプルですが、GPPBIND_MESH「コリジョンとしてノードのモデルを反映させる」が適切に動作しない条件があるようです。
再現するサンプルを書いてみました。
立方体ではない形状のオブジェクトを地面に落下させていますが、立方体の物理挙動になっているようです。最後は空中に静止しています。
結果を確認しやすくするため、カメラは地面スレスレに配置しています。
#include "hgimg4.as"
title "HGIMG4 Test"
; 自由な形状(Mesh)を表示する
;
; gpboxと同様の立方体を作成します(24頂点・4角形6面)
; 1つの頂点を( X,Y,Z, NX,NY,NZ, U,V )というグループで登録して、
; そのインデックスを組み合わせてポリゴン(3角形or4角形)を登録します
;
gpreset
gptexmat id_texmat, "res/qbox.png" ; テクスチャマテリアルを作成
gpmeshclear ; 登録をクリアする
a=0.5 ; サイズ
b = 0.25
; 座標の登録 ( X,Y,Z, NX,NY,NZ, U,V )
gpmeshadd p1, -a, -b, a, 0.0, 0.0, 1.0, 0.0, 0.0
gpmeshadd p2, a, -b, a, 0.0, 0.0, 1.0, 1.0, 0.0
gpmeshadd p3, -a, b, a, 0.0, 0.0, 1.0, 0.0, 1.0
gpmeshadd p4, a, b, a, 0.0, 0.0, 1.0, 1.0, 1.0
; ポリゴンの登録
gpmeshpolygon p1,p2,p3,p4
; 座標の登録 ( X,Y,Z, NX,NY,NZ, U,V )
gpmeshadd p1, -a, b, a, 0.0, 1.0, 0.0, 0.0, 0.0
gpmeshadd p2, a, b, a, 0.0, 1.0, 0.0, 1.0, 0.0
gpmeshadd p3, -a, b, -a, 0.0, 1.0, 0.0, 0.0, 1.0
gpmeshadd p4, a, b, -a, 0.0, 1.0, 0.0, 1.0, 1.0
; ポリゴンの登録
gpmeshpolygon p1,p2,p3,p4
; 座標の登録 ( X,Y,Z, NX,NY,NZ, U,V )
gpmeshadd p1, -a, b, -a, 0.0, 0.0, -1.0, 0.0, 0.0
gpmeshadd p2, a, b, -a, 0.0, 0.0, -1.0, 1.0, 0.0
gpmeshadd p3, -a, -b, -a, 0.0, 0.0, -1.0, 0.0, 1.0
gpmeshadd p4, a, -b, -a, 0.0, 0.0, -1.0, 1.0, 1.0
; ポリゴンの登録
gpmeshpolygon p1,p2,p3,p4
; 座標の登録 ( X,Y,Z, NX,NY,NZ, U,V )
gpmeshadd p1, -a, -b, -a, 0.0, -1.0, 0.0, 0.0, 0.0
gpmeshadd p2, a, -b, -a, 0.0, -1.0, 0.0, 1.0, 0.0
gpmeshadd p3, -a, -b, a, 0.0, -1.0, 0.0, 0.0, 1.0
gpmeshadd p4, a, -b, a, 0.0, -1.0, 0.0, 1.0, 1.0
; ポリゴンの登録
gpmeshpolygon p1,p2,p3,p4
; 座標の登録 ( X,Y,Z, NX,NY,NZ, U,V )
gpmeshadd p1, a, -b, a, 1.0, 0.0, 0.0, 0.0, 0.0
gpmeshadd p2, a, -b, -a, 1.0, 0.0, 0.0, 1.0, 0.0
gpmeshadd p3, a, b, a, 1.0, 0.0, 0.0, 0.0, 1.0
gpmeshadd p4, a, b, -a, 1.0, 0.0, 0.0, 1.0, 1.0
; ポリゴンの登録
gpmeshpolygon p1,p2,p3,p4
; 座標の登録 ( X,Y,Z, NX,NY,NZ, U,V )
gpmeshadd p1, -a, -b, -a, -1.0, 0.0, 0.0, 0.0, 0.0
gpmeshadd p2, -a, -b, a, -1.0, 0.0, 0.0, 1.0, 0.0
gpmeshadd p3, -a, b, -a, -1.0, 0.0, 0.0, 0.0, 1.0
gpmeshadd p4, -a, b, a, -1.0, 0.0, 0.0, 1.0, 1.0
; ポリゴンの登録
gpmeshpolygon p1,p2,p3,p4
gpmesh id_model,,id_texmat ; メッシュノードを追加
setpos id_model,0,5,0
setangr id_model,50,50
gppbind id_model, 1,, GPPBIND_MESH ; メッシュ形状を物理設定する
gpfloor id_floor, 40,40, $008080 ; 床ノードを追加
gppbind id_floor, 0
;setpos GPOBJ_CAMERA, 0,2,10 ; カメラ位置を設定
setpos GPOBJ_CAMERA, 0,0.002,10 ; ほぼ真横から見る
gplookat GPOBJ_CAMERA, 0,0,0 ; カメラから指定した座標を見る
*main
stick key,15
if key&128 : end
redraw 0 ; 描画開始
rgbcolor $00ccdd:boxf ; 背景をクリア
gpdraw ; シーンの描画
color 255,255,255
pos 8,8:mes "HGIMG4 sample"
redraw 1 ; 描画終了
await 1000/60 ; 待ち時間
goto *main
HSP3.6, 3.7β2で確認。
>> zrs90(5さい)さん NO.96645
> このスレッド、現在、200以上になっている為
> スクロール、記事を探すのが大変になっています。
特定記事を探すならブラウザのページ内検索機能。
スマホで開くと下までスクロールが大変!
→「新着一覧」からジャンプすると最新の書き込みの場所を開いてくれます。

| |
|
2022/6/15(Wed) 00:27:30|NO.96656
GENKI さんのサンプル
> 立方体ではない形状のオブジェクトを地面に落下させていますが、
> 立方体の物理挙動になっているようです。
その通りですね。
仮に、
> gpbox id_model, 1, , id_texmat
> setscale id_model, 1, 0.5, 1
したものならば、
> id_model, 1, , GPPBIND_MESH
で、「メッシュ形状を物理設定する」になっています。
さらにまた別に、「freemesh.hsp」の
> gpmesh id_model,,id_texmat
の後に
setscale id_model, 1, 0.5, 1
を加え、69 行目[GPPBIND_MESH] の誤りを正してみると、これも
「メッシュ形状を物理設定する」になっています。
ということは、
> gpmeshclear
> gpmeshadd
> gpmeshpolygon
とは、UV設定で言う参照画像の『座標』の登録は変更できても、これだけでは、
ポリゴン自体の頂点の『座標』の登録は変更できていないように見えます。
|
|
2022/6/17(Fri) 12:04:58|NO.96669
/*
開発お疲れ様です
フォント関係で、2件です。
既出でしたら、申し訳ありません
●メイリオで、文字によってイタリック体に
ならないようです。
Windows7pro 32ビット
hsp3.6、3.7β2プレビューで確認。
*/
font ″メイリオ″ , 64, 3
mes ″Aaあぁアァ亜宇″
font ″メイリオ″ , 64, 1
mes ″Aaあぁアァ亜宇″
mes ″″
font ″MSゴシック″ , 64, 3
mes ″Aaあぁアァ亜宇″
font ″MSゴシック″ , 64, 1
mes ″Aaあぁアァ亜宇″
; redraw 1
/*
↑イタリック体の文字描画の右端が切れないように
過去スレッドに載っていた redraw 1 で対策
*/
/*
●fontdlg 命令のHDL内のサンプルですが
打ち消し線・下線・文字色の状態を表示
するようになっている為
3行目の fontdlg result, 0 より
fontdlg result, 0x100 の方が良いと思います。
(※解説には、ちゃんと記述がありますが
コレでハマりました。)
*/
追記。
GENKI さん #96654 の記事
ありがとうございました。
新着一覧 こうやって使えば良いのですね。
...知りませんでした。
ブラウザのページ内検索機能の方も
私がスマホの機能を使いこなせてなくて
ちゃんと出来ました。ボタン1つ押せば
出来たのに...(恥)
|
|
2022/6/17(Fri) 12:37:44|NO.96670
> ●メイリオで、文字によってイタリック体にならないようです。
"メイリオ 斜体" でググるとわかりますが、
メイリオフォント側の仕様でありHSPの仕様ではないです。
|
|
2022/6/17(Fri) 12:39:23|NO.96671
> ●メイリオで、文字によってイタリック体にならないようです。
メイリオの一部文字がイタリック体にならないのはフォント側の仕様だったはずです。
どうしても斜体字にしたいときは自力で描画する必要がありそうです。
|
|
2022/6/17(Fri) 13:18:40|NO.96672
TOMATOさん、UT-Xさん
ご指摘ありがとうございます。
メイリオの英字がイタリック体に、対応出来ていた為
ひらがな、漢字等がイタリック体に
出来ないのは、気がつきませんでした。
申し訳ありません。
|
|
2022/6/17(Fri) 21:25:11|NO.96675
以下のプログラムを実装すると強制終了してしまいます。
バージョンは3.7βです、ご確認をお願いします。
max=$7fffffff
mes""+max
dim arr,max
repeat max
arr(cnt)=rnd(max)
await
loop
mes"終了"
|
|
2022/6/18(Sat) 02:51:05|NO.96677
雪月夜 さんへ
max=$7fffffff
mes""+max
dim arr,max
repeat max
arr(cnt)=rnd(max)
await
loop
mes"終了"
恐らく、気づかれていてその上での
動作報告かと思います。
3行目の、dim arr,max
それ以降をコメントアウトして実行
デバッグウィンドウを、見て頂くとわかりますが
配列変数の arr
使用サイズ -4
バッファサイズ -4
になっています。その為でしょうか?
一応、32ビット版と64ビット版のWindows7
メモリ4Gの機体 3.7β2プレビューと
標準エディタで、実行/確認しました。
ソースのrepeat〜loopの数を減らして実行した所
17回目までは、実行しているようです。
(※ウチのPCの場合、18回目でウインドウが
閉じられなくなり、結局、強制終了しました。)
細かい事は、これ以上私は分かりません。
|
|
2022/6/18(Sat) 10:50:58|NO.96679
> 96675
> 96677
そもそもメモリ不足が発生して、まともにうごかないと思います。
$7fffffff を10進数に直すと、2,147,483,647。
dim 命令は配列1要素当たり4バイトかつ連続したメモリ領域を確保します。
というわけで、4バイト×2,147,483,647 = 8,589,934,588バイトの
連続したメモリ領域の空きが必要になります。
ギガバイトに直すと 約8.58GB のメモリが必要になります。
HSP標準は32bitランタイムのため、アプリ側で使用できるメモリが合計2GBまでに制限されています。
これはWindowsによる制限であり、32bitアプリが 約8.58GB のメモリを確保するのは不可能です。
なお、/LARGEADDRESSAWAREスイッチを使用してHSPのランタイムビルドされている場合は、
32bit版では3GBまで使用可能です。(この場合でも 約8.58GB は無理ですが)
HSPには64bitランタイムが同梱されており、そちらでは2GBの制限なく動作するはずですが…
連続したメモリ領域を確保するのが難しいのか
(はたまたそれ以外の原因で)やっぱりエラーになりますね。(64GBメモリ搭載PCで確認)
以下のように分割してあげれば、問題なく同等分のメモリ領域を確保できます。
#include "hsp3_64.as"
dim arr1, $1fffffff
dim arr2, $1fffffff
dim arr3, $1fffffff
dim arr4, $1fffffff
|
|
2022/6/18(Sat) 11:53:35|NO.96680
[hgimg4] のライトに関しての質問です。
これも、ツイッターで嘆きの呟きをしていますが、やはり反応がありません。
> でも、[GPOBJ_LIGHT] の [setcolor] と [setdir] の設定による色は、
> どう違うのか。紛らわしくてよく分からない。
> あと、[setdir] のアンビエントカラーは、環境光で陰ができないなら、
> その光源の向きの設定など、あり得ないように思えるのになあ。
ツイッターそのままです。
翻ってみるに、[hgimg4] の [setcolor] は、その使用例(サンプル)はすべて
[GPOBJ_LIGHT] を対象IDとしています。
[setdir] も、色の設定としての使用例の対象はすべて [GPOBJ_LIGHT] です。
まるで、[GPOBJ_LIGHT] 限定の命令のようですが、他に使えない命令でしょうか。
また、[getcolor] は、ヘルプの解説ページはあるものの、ごく簡単にすまされており、
その使用例(サンプル)もなく、具体的にはどう利用できるのか、よく分かりません。
[setcolor] から考えると、こちらも [GPOBJ_LIGHT] 限定のように思えてきますが、
これらのことは、現行の解説では分かりません。
[GPOBJ_LIGHT] ではなく、オプションとして、ポイントライトやスポットライトを使う時、
[setcolor] で、その色指定をしますが、この種のライトに対しては、 [setdir] の設定は
ありえないのでしょうか。
解説、よろしくお願いします。
|
|
2022/6/18(Sat) 13:58:58|NO.96681
TOMATO さん
詳細な解説と、追加の動作検証
ありがとうございました。
|
|
2022/6/18(Sat) 21:25:05|NO.96682
hgimg4のgpmeshpolygon命令について。
HDLの説明では次のようになっています。
> 頂点を指定する順番は、p1,p2,p3の3角形が時計回りに並ぶように配置してください。
このとおりに時計回りに(右回り)に頂点を作ると、作成した面を裏面側から見る形となってしまいます。表面が見える方向側からの説明(左回り)のほうが分かりやすいのではないでしょうか。
もう1点。
> (4角形の場合は、残りの1頂点を最後に追加してください)
という説明なので4点目の位置はどこでも良いように読み取れますが、実際には面が作られない位置があります。
例えば、gpmeshpolygon で頂点IDを左下、右下、左上、右上の順番で指定すると四角形が作成できます。しかし頂点IDの順番をP3、P4を入れ替えて左下、右下、右上、左上にすると4点目がない三角形メッシュが作成されます。HDLの説明と動作結果が場合によっては一致しません。
また、P3まで左回りなのにP4では右回りというのも少し気になります。これは意図した動作ではないような気がします。
面の法線ベクトルと右手系ということを考えると数学的には違和感あるのですが、3D-CGだとよくある仕様なんでしょうか。よくある仕様ならそれにあわせて現状の仕様と説明のままでいいと思います。
>> アキアキノヒロロさん NO.96680
このスレッドは報告を行うためのスレッドです。
質問や解説を求める場合は、新しいスレッドを立ててください。
スレッドの趣旨に沿わないため、解説をすることは出来ません。(ただし新しいスレッドが立っても解説できるかどうかは別の話。)
|
|
2022/6/19(Sun) 07:03:31|NO.96683
GENKI さん、ご忠告有難うございます。
その通りですね。
私も、別スレッドを立てるか迷いました。
迷ったまま書いたので、紛らわしい内容になってしまいました。
今後気をつけていきたいと思います。
ライトについては、自分で色々テストすることで、
その命令の各々の意味を探っていくことをもっとすべきでした。
それを怠ったことを見抜かれてしまったようで、お恥ずかしい次第です。
ただ、『HGIMG4プログラミングガイド』やヘルプにこれらについて、
解説があったら、分かりやすいだろうと思い、
「解説、よろしくお願いします。」
と書いてしまいました。
|
|
2022/6/19(Sun) 08:09:16|NO.96684
出来ればなのですがCELLで
アニメGIF、WEBP形式が使えると
WEBゲームにも使えて便利にるかもです。
|
|
2022/6/19(Sun) 09:29:15|NO.96685
> 96677
> 96679
zrs90(5さい)さん、TOMATOさん、ご確認ありがとうございます。
int型最大値の要素数を指定出来ないのは、そういう理由だったのですか。
64GBメモリでもエラーになるというのは気になるところですが…
32bitランタイムでは要素数が$1fffffffだと、メモリ確保領域が「2,147,483,644」で扱えませんし、
それより若干減らした数でも正常に動作しないこともあるので
HSP標準で扱うなら、要素数は$0fffffff(メモリ確保領域が「1,073,741,820」)までに留めるのが無難なようですね。
|
|
2022/6/19(Sun) 13:44:33|NO.96686
>> アキアキノヒロロさん NO.96683
そういうことでしたか。
文面から「分からないのでここで誰か解説してください」と読み取ってしまいました。
失礼いたしました。
|
|
2022/6/24(Fri) 09:18:25|NO.96714
1ヶ月ほど前に以下で報告していたawaitの件ですが
http://hsp.tv/play/pforum.php?mode=all&num=94865#96356
再度 3.7beta1の exeにて確認した所、問題が発生しませんでした。
await不具合対策版の 3.6beta3や 3.6beta2など他のバージョンでも
実行ファイルを作成して確認しようとしたのですが、
確認前に PCがWindowsの自動アップデートで強制再起動されて
しまったらしく、PC起動時間が 0日に戻っていました。。
ただし、前回の確認では exeのバージョンが 3.6か不明でしたが
exeファイル内部の検査で 3.51と判明したことと
再度確認したことでも 3.51版では awaitがおかしかったことより
3.6beta3の不具合修正で対策されている内容のものと思われます。
ですので報告分は取り下げてください。
気にはなるので、また長時間稼働したときにでも確認してみます。
|
|
2022/6/25(Sat) 19:19:51|NO.96725
await の件ですが、例のあふれ問題とは別に hgimg3 を使うと精度が5ms程度まで悪化する問題もあります。環境によってばらつくかもしれませんが。
どっちにしろ await の精度は実際は1msは無くてせいぜい2~3ms程度です。WindowsのせいなのでHSPのせいではないですが。
なので私は最近は以下のような代替を採用しています。
ただし、Sleepも精度は await と変わりません。
あふれについては時間がかかりすぎるため未検証ですが、Windows APIにバグがあったら放置されるわけがない(と思いたい)。
#uselib "kernel32.dll"
#func global Sleep "Sleep" sptr
#uselib "winmm.dll"
#func timeBeginPeriod "timeBeginPeriod" int
timeBeginPeriod 1 // Sleepの精度を1msにする
repeat
redraw 0
color: boxf
color 255,255,255: pos 8,8: mes cnt
redraw 1
wait 0
Sleep 16
loop
|
|
2022/6/30(Thu) 07:12:29|NO.96751
不具合ではありません。
[3.7 beta2] で更新された内容の項目に載っていませんが、気付いた点です。
[pget] 命令で [ginfo_r] [ginfo_g] [ginfo_b] を取得するプログラムを作っていて、
以前のバージョンのもので取得したものと違うので、調べてみました。
[3.7 beta2] で [picload] して表示した画像と、
以前のもので [picload] して表示した画像とを比べてみると、
ペイントソフト等で確かめたところ、[3.7 beta2] では正確に表示しているようですが、
以前のものでは、1~2ほど低い値になっていることがあります。
なので、[picload] の画像は、[pget] 命令で取得した [ginfo_r] [ginfo_g] [ginfo_b] では、
[beta2] では、条件式に [=] を使えても、以前のものでは使えません。
近似値 [<=] [>=] にしておかないと互換が取れません。
[picload] の画像から取得した値に正確性を求めるほどのことのないものならば、いいですが、
知っておいた方がいいと思えたので、ご報告まで。
|
|
2022/7/15(Fri) 02:16:09|NO.96807
NO.95877にて報告していた件ですが、beta2リリースにて修正が行われましたが
同様に「ユーザーアカウント制御画面」を開いて閉じるなどの操作を行うことで
HSP3Dish WIN版のみ setcls命令が機能しなくなる問題があるようです。
https://hsp.tv/play/pforum.php?mode=all&num=94865#95877
HSP3Dish WIN版の mes/font命令およびセル関連の不具合
主な症状
・redraw 0にてsetclsが適用されないため画面がクリア(背景色描画)されない
・setclsによるクリアが適用されないためテキストや描画などが上書きされる
HSP3.7beta2フルセット版にて確認しています。
-----
以下のスクリプトにて #includeをコメントアウト切り替えすることで確認できます。
Dish/HGIMG4/無印と3つ実行して並列にウィンドウ表示して見比べることで容易に違いがわかります。
※サンプルスクリプトは、NO.95640を少し改良したものです。
そのため、gsquare命令の未サポートについての件が混在しています。
https://hsp.tv/play/pforum.php?mode=all&num=94865#95640
HSP3無印/DISH/HGIMG4 WIN版の gsquare命令の未サポート
※無印WIN版は setcls未対応のため参考比較のみとなります。
※現行仕様なのか、HGIMG4 WIN版のみテキスト文字列が透過処理されます。
#include "hsp3dish.as"
;#include "hgimg4.as"
screen 0,400,400
#ifdef __hsp3dish__
setcls 1,$303050
#endif
gmode 5,,,128
repeat
#ifndef __hsp3dish__
rgbcolor $303050:boxf
#endif
color 255
oy=0:gx=400-(t1\300),150,250+(t1\200),0:gy=200+oy,oy,oy,200+oy
gsquare -1,gx,gy
color ,,255
circle 250,100,350,300,0
color ,255
oy=150:gx=400-(t2\300),150,250+(t2\200),0:gy=200+oy,oy,oy,200+oy
gsquare -1,gx,gy
color 255,255,255:pos 50,150:font msgothic,30,1
#ifdef __hsp3dish__
#ifndef __hgimg4__
mes "HSP3Dish(WIN)"
#else
mes "HGIMG4(WIN)"
#endif
#else
mes "HSP3(WIN)-no setcls"
#endif
mes "count:"+t1:t1++
mes "count:"+t2:t2+=2
redraw 1:redraw 0:await 15
loop
すみませんが、ご確認のほどよろしくお願いします。

| |
|
2022/7/20(Wed) 21:42:44|NO.96834
HSP3Dish.js のメッセージ表示で、ブラウザ実行したとき、
行末の最後の文字が一部欠けることがあるようです。
Windows7+Chrome103 欠ける
iPad Pro iOS 15.5 Safari 欠ける
hsp3dishのWindows上実行では正しく表示されます。
以下のURLの「◆ブラウザ上で動作するページ」から確認できます。
https://junji.jp/net/hsp3/hsp3dish-js-sample_adv0/
とりあえずの対処方法として、文末に全角スペースをよぶんに入れておけば、
見た目としては問題解決できます。
|
|
2022/8/9(Tue) 16:49:46|NO.96927
HSP3.7β2で実行ファイル自動作成で
#packopt icon "icon.ico"
とアイコンファイルを指定していますが、出来上がったexeファイルのアイコンは変わっていません。
別の方法で「lhspicc.exe」というツールでアイコンを変更しようとしましたが、これもまたアイコンはそのままでした。
アイコンキャッシュファイル「IconCache.db」を削除してみましたが駄目でした。
とりあえずご報告まで。
|
|
2022/8/15(Mon) 07:41:17|NO.96957
HSP3DishでAndroid上だとbsaveもしくはbloadが正常に動作していないです。
下記ソースをWindows上で動かすと、1回目は "save ok" と表示され、2回目は "12345" と表示されますが、Android上だと1回目2回目とも "save ok" と表示されてしまいます。
今現在作っているゲームをHSP3.7β2でビルドして正常にゲームセーブされていないことに気づき、発覚しました。
#include "hsp3dish.as"
#define SAVE_FILE "save.dat"
a = "12345"
b = ""
exist SAVE_FILE
if strsize == -1 {
bsave SAVE_FILE, a, strlen(a)
dialog "save ok"
} else {
bload SAVE_FILE, b, strsize
dialog b
}
end
|
|
2022/8/15(Mon) 15:08:46|NO.96960
ゲームに必要な外部データはbloadで読み込んでいるので、bloadは正常に動いている模様です。
どうもHSP3.7β2で新規プロジェクトを作成したものだとbsaveで正常に保存できていないみたいです。
〇HSP3.7β1で新規プロジェクト作成 → HSP3.7β1でビルド → ゲームのセーブロード正常
〇HSP3.7β1で新規プロジェクト作成 → HSP3.7β2でビルド → ゲームのセーブロード正常
×HSP3.7β2で新規プロジェクト作成 → HSP3.7β2でビルド → ゲームのセーブがされていない
|
|
2022/8/15(Mon) 21:22:51|NO.96962
要望でーす。
デバッグウィンドゥですが、変数のところのチェック項目の状態を
次回も保持してくれると便利だなと思います。
毎回チェックするの地味に大変です。
|
|
2022/8/17(Wed) 20:56:27|NO.96966
>用賀じゅんちゃんおじさん さん
>zrs90 さん
「HSP部屋」を含む無効なリンクについてご指摘ありがとうございます。
ほとんどは修正させて頂きましたが、まだ残っている場所やコンテストのサイトでも適宜修正していきたいと考えております。
|
|
2022/8/18(Thu) 15:45:34|NO.96972
全く関係ないけどうちのHPを14年ぶりにリニューアルしました!!(少し前)
zrs90(5さい)さん情報ありがとうございます。
しかしこれは公式で対応するべきだと思うわけです。
タブの位置も復元してくれると便利ですねー。チラッチラッ
おにたまさんへ
HSPTV!について、の説明がhttpのままなのでhttpsに要修正です。
https://hsp.tv/info/about.html
|
|
2022/8/19(Fri) 03:17:48|NO.96980
細かい不具合なんですが、HSPスクリプトエディタで例えば
if m1='\''{ なんか処理 }
とすると、'\''の部分の色分けがそのまま末尾まで適用されてしまいます。
|
|
2022/8/21(Sun) 06:39:03|NO.96990
HSP3.7だからと言うわけではありません。前々から思っていたことです。
あるバージョンのエディタを立ち上げた時、
その時は、もちろんどのバージョンなのかは分かっています。
しかし、立ち上がったエディタ自体には、バージョン表記はありません。
『無題』のまま何も読み込まずに実行した、その画面のタイトルには表示されますが、
エディタ自体にバージョン表記が欲しいです。
ある[hsp]ファイルを実行した時も、その立ち上がったエディタのバージョンも分かりません。
いくつものバージョンを入れて、色々比較しながらやっていると、
エディタ自体に表記がないため、度々混乱します。
確認しながらやればいいことには違いないですが、御一考をお願いします。
|
|
2022/8/21(Sun) 11:10:20|NO.96991
【報告】exec 命令が Safariで動作しない
iOS 15.6.1 同梱の Safariブラウザでは、HSP3Dish.js で変換したJavaScript内からの
exec 命令が動作しないようです。
PCのブラウザからは動作します。
HSP3.7ベータ2 使用。
例:
exec "https://hsp.tv",16
htmlに a hrefリンク を張った場合は問題なく開けます。
【 HSP3Dish.js で作成した実験ページ 】
http://www.junjisuzuki.jp/test15/store_01.html
念のため SSL/TLS の自分のサーバスペースにも設置して動作確認してみましたが同じ結果でした。
(※掲示板のシステムの都合上、一部全角文字で書き込んでいます。
HSPユーザーで掲示板に書き込むとき「投稿ボタン」を押しても「制限されています!」
という表示が出て投稿できないときは、
危険なスクリプト、HTMLタグ、コードと誤認されそうな部分を
全角英字や、意図して置き換えているのがわかりやすい文字などに変えて
投稿すると、はじかれずに投稿できます。
> おにたま(管理人) さんへ
「HSP部屋」を含む無効なリンクの修正作業。
膨大な多岐にわたるHSP3開発作業のなか、対応いただきましてありがとうございました。
|
|
2022/8/21(Sun) 14:55:13|NO.96994
3.7βテストと関連ありませんがコメントさせてください。
>アキアキノヒロロ さん
エディタのバージョン表記は「ヘルプ>バージョン情報...」で見ることが出来ますが
そういう意味ではないですよね。。
私もたまにスクリプト不具合の原因がエディタの起動ミス(コンパイル+実行Ver違い)
だったりとかよくあります(いわゆるヒューマンエラー)
HDL(エディタ非連動)やDishヘルパーでもVer違いのミスをすることがたまにあります。
(特にDishヘルパーは設定ファイル強制上書きなので戻しがツライ)
気にはなりますが複数バージョンを調査利用している人限定の困りごとなのかなと
思っていたので(普通に使う分には不要ですし)要望は出していません。
まあ、βテスト協力のためのミス防止の要望としても良い気もします。
例えばエディタのタイトルバー表記「HSPスクリプトエディタ」を
「HSPスクリプトエディタv3.7 for HSP3.7beta2」とするのは
普通に単体バージョン利用している人にしてみると文字が増えて
スマートじゃない気もします。
ですが隠し機能でも良いので、ツールバー右端にでもコンパイラバージョン表記が
あればパッと見て便利ですが。>おにたま(管理人) さん
ちなみにこのミスを防ぐには以下の手段がありますが試しておりますでしょうか?
私はこれらで済ませてますが、常に表示するならツール作るのが手っ取り早いですね。
1.無題ファイルの空(カラ)実行によるタイトルバー表示(これは記載あり、
Dish/HGIMG4 などのバージョンを見るには#include記述が必要)
2.ヘルプ>バージョン情報の確認(betaやpre、RCなどの表示は未対応)
3.拡張子ファイルの関連付け解除(クリックでHSPエディタを誤起動させない)
4.実行中プロセス hsed3.exeの所在の確認(表示ツールを自作する必要あり)
5.HSPスクリプトエディタを利用しない(コンパイラのみ利用、もはや本末転倒・・)
|
|
2022/8/21(Sun) 17:05:14|NO.96995
標準エディタのバージョン表記等
確かにあると便利ですね。
私の場合、正式版(書籍版)の場合
(※開発期間の関係上、3.51等
マイナーバージョンとβ版はちょっと
分かりませんが)
ヘルプメニュー → バージョン情報内
copyright 1997-xxxx onion software
の xxxx で判断しています。
2021 なら3.6
2017 なら3.5
2014 なら3.4
あれ? 3.4 は、バージョン表記入ってますね。
●追記
hspsdk\sample\sample01.hsp
を.exe化、エディタから外部登録して下さい。
コレで、エディタバージョン等を調べられます。
後、HDL でバージョンで検索すると
色々出てきますので、実験してみて下さい。
|
|
2022/8/21(Sun) 20:17:22|NO.96999
開発お疲れ様です。
既知の内容でしたら申し訳ないです。
忘れてました。前の投稿と一緒に
動作報告すれば良かったですね。
hspsdk\hsed3\sample\sample01.hsp
の footy2 のバージョン表記が
20.17 になってます。
2.017が正解ではないでしょうか?
※footy1版エディタ (3.4) は、正常に表示されてました。
hspsdk\hsed3\sample\sample04.hsp
ソフトのインデントとアンインデントが
footy2版エディタでは動作しません。
※footy1版エディタ (3.4)は、正常に動作します。
●追記
色々お忙しい中、「HSP部屋」リンク等の
修正対応、ありがとうございました。
●#96995 で出したサンプルの
フォルダを間違えました。
正しくは
hspsdk\hsed3\sample\sample01.hsp
です。申し訳ありません。
|
|
2022/8/21(Sun) 20:24:16|NO.97000
> zrs90(5さい) さん
追加の情報ありがとうございます。
hspsdk\hsed3\sample\sample01.hsp 見ました。
hsedsdkモジュールの hsed_getver命令を使うとHSPエディタ起動時のバージョンが
取得できるとは盲点でした。
-----
sample01.hspで簡単なVer表示サンプルを作りましたのでこれで十分かもしれません。
(exe起動のフォルダに hspcmp.dllを置く必要があります)
#packopt name "hsedver"
#include "hsedsdk.as"
screen 0,420,60:gsel 0,2
title "hsedver view"
repeat
color 255,255,255:boxf:color:pos 0,0
hsed_exist
if stat{
hsed_getver ret, HGV_PUBLICVER
if stat:ret="(Err:"+stat+")":else:hsed_cnvverstr ret:ret=refstr
mes "HSP Script Editor Ver:"+ret
hsed_getver ret, HGV_HSPCMPVER
if stat:ret="(Err:"+stat+")"
mes "Compiler Ver:"+ret
}else{
mes "Script Editor が見つからない"
}
await 500
loop
|
|
2022/8/21(Sun) 20:35:18|NO.97002
バージョン表記について、同じように感じている方もおられるんですね。
私は、よく使うバージョンのショートカットをタスクバーに順番に並べて入れています。
バージョンを付けた登録名でです。アイコンを変えてもいいかも。
タスクバーを表示させれば、起動中のものがどれかは、慣れればすぐ分かります。
でもやっぱり、ツールバー上に表記があればなあ、と思います。
|
|
2022/8/23(Tue) 20:46:52|NO.97010
【要望】(?)
テキストを入力するとAIが画像生成してくれる Stable Diffusion が
オープンソース公開されてローカルで動かせるらしいので、
HSP SoupSeed の WebDishサービス で使えるようになったら飛躍的に豪華になって面白い気がします。
(半分くらい本気の要望)
もうすこし現実的な案としては、HSPユーザーのなかから自分で自動生成した画像を100枚くらい
フリー素材提供を募ってWebDish素材に追加するとか。
私が試してみてとりあえず良さそうなモノができたら自サイトにHSP向けフリー素材としてあげておこうと思います。
https://junji.jp/net/hsp3/
|
|
2022/8/23(Tue) 21:52:44|NO.97012
>Stable Diffusion
Stable Diffusionは規約によると「生成した画像は生成した本人のもの」とありますが、
Stable DiffusionはAIによる画像合成の元画像にインターネット上から採取した画像を使っていているので、
実際にはこれは元画像の著作者の権利を侵害する著作権法違反のシステムになっていると思います。
Stable Diffusionを実際に試してみましたが、例えば「mario」と入力すると所謂マリオそのものの画像が生成されます。
Stable Diffusionを使って素材を作ったはいいが、それを配布してしまうと知らぬ内に著作権侵害をしてしまう可能性がかなり高いと思います。
Stable Diffusionは自分で素材を作って、自分だけで遊ぶ分にはいいですが、
Stable Diffusionで作った画像を素材を配布するのは著作権上問題が起きる可能性が高いと思います。
|
|
2022/8/25(Thu) 21:01:24|NO.97022
以下のプログラムでmousex,mouseyの座標がずれます。mtlist,mtinfoでも試しましたが同じずれた数値を示します。
3dish使用。
#include "hsp3dish.as"
//screen 0, 1620,1080
repeat
redraw 0
stick k
if(k&$00100){
logmes mousex
logmes mousey
}
redraw 1
await 100
loop
このときに右の端をクリックすると私はmousex=1293となっています。
また、
//#include "hsp3dish.as"
screen 0, 1620,1080
repeat
redraw 0
stick k
if(k&$00100){
logmes mousex
logmes mousey
}
redraw 1
await 100
loop
通常(3dish未使用)の場合には正常に作動しました。mousex= 1619となります。
確認よろしくお願いします。
|
|
2022/8/25(Thu) 21:19:02|NO.97023
補足です。hsp3dishのプログラムの方は、hsp3dish.iniでwx,wyを1620,1080と定義してます。
|
|
2022/8/26(Fri) 17:36:00|NO.97024
HGIMG4のevent系に以下のような機能を追加してほしいと思いました。
●event_quatとevent_setquatが欲しい
event_angのように、クォータニオン座標版のevent_quat命令が欲しいです。
せっかくクォータニオンが使えるのに、イベントで使えないのは勿体ないと思いました。
●event_pos系の補間オプションに二次曲線補正やベジエ曲線補正が欲しい
event_pos系で曲線的移動を実装しようとすると、例えば
どんなに細かくevent_posの座標を追加していっても、どうしてもガクガクした挙動になってしまいます。
補正オプションに座標に対しての二次曲線補正とベジエ曲線補正があれば、曲線移動をスムーズに実装できるようになると思います。
●setobjmodeのOBJ_XFRONTの正面属性が正しく正面を向いていない
setobjmodeのOBJ_XFRONT設定は、ノードに対して設定すると、ノードのオブジェクトが画面端へ行くほど
正面を向かずに、外側を向いてしまっています。
これは角度にカメラのfar値を反映していないせいだと思われます。
これはfarの角度が急なほど、極端に外側を向きます。
ですので、OBJ_XFRONTの設定に例えば、OBJ_XFRONT2のように新しい正面属性を作って、
真にカメラのfar値を反映した正面属性が必要だと思います。
far値を反映していない旧OBJ_XFRONTについては、おそらくその正しく正面を向いていない方で
ゲームを合わせている人もいると思うので、もし新規にOBJ_XFRONT2属性を追加する場合でも、残しておく必要があると思います。
●OBJ_TREEに逆Y軸、X軸、逆X軸、Z軸、逆Z軸指定が欲しい
OBJ_TREEは現在Y軸のみ正面を向く属性しかりませんが、ゲームによってどの軸が上で、どの向きが正面なのかはバラバラだと思います。
なので、様々な軸に対応したOBJ_TREEの属性が欲しいと思いました。
●event_angに連続性が欲しい
event_angには現在、回転角度に連続性がありません。
連続性がないというのは、どういうことかというと、例えば
newevent ev
event_ang ev, 30, 0.5, 0.5, 0.5
event_wait ev, 30
event_ang ev, 30, 1.0, 0.0, 0.0
event_wait ev, 30
とやると、以下のような動作になります。
1.「0.5, 0.5, 0.5」へオブジェクトが回転する。
2.30フレーム待機する。
3.オブジェクトの回転角度が「0.0, 0.0, 0.0」へ戻る。
4.「1.0, 0.0, 0.0」へオブジェクトが回転する。
5.30フレーム待機する。
つまり、3の地点で一度回転がリセットされてしまうので、回転に連続性がないのです。
これは回転を実装する上では非常に不自然な状態になってしまっています。
event_angに連続性を保つオプションが欲しいと思いました。

| |
|
2022/8/29(Mon) 21:06:48|NO.97037
なんか少し変な書き方になってしまったような気がするので、更に少し書き直します。
>西川亮さん
DPMファイルにhsp3dish.iniファイルを含めて作ってしまったのではないのでしょうか?
(※DPMファイルにhsp3dish.iniファイルを含めても問題はありませんが、本来はDPMファイルには含ませません)
私の環境ではHSP3.7β2で正常に座標を返します。
こちらでも同様の現象が起こるか確認しましたが、現象が起こる条件として、DPMファイルが同フォルダに存在し、尚且つDPMファイルにhsp3dish.iniファイルが含まれている場合、スクリプトを実行した際にはフォルダ内に存在するhsp3dish.iniではなく、DPMファイルに格納されているhsp3dish.iniを読み込んでいるみたいです。
DPMファイルを削除してhsp3dish.iniの中身を
wx=1680
wy=1080
として
スクリプト実行すると、指定された大きさのウィンドウが表示され、右端をクリックすると「1679」の値が表示されました。
|
|
2022/8/30(Tue) 20:32:34|NO.97039
>しまくろねこ さん
HSP3.7β2の実行ファイル自動作成でアイコンが変わらない件について、
sample/new35/packopt.hsp
のサンプルでも同様でしょうか?
こちらでは正常に書き換えができているのですが、環境かアイコンファイルによる問題があるのかもしれません。
いずれにしても原因がわかったら対応していきたいと思います。
|
|
2022/8/31(Wed) 07:25:13|NO.97040
> おにたま(管理人)さん
> sample/new35/packopt.hsp
> のサンプルでも同様でしょうか?
正常にアイコンが変更されたexeファイルが作られました。
こちらでアイコンが作成されない環境として
#packopt icon "icon.ico"
はメインのソースとは別ファイルにして #include する形にしているのですが、これで実行ファイルを作成するとアイコンが標準のまま変わりません。
ならばと
#packopt icon "icon.ico"
だけをメインのソースに直接書き込んで実行ファイルを作ろうとすると、作成途中で
iconins.exe v1.00
Basic program has been created by Kpan.
Modified by inovia.
[ERROR] No.10
実行ファイルが見つかりません
Enterキーを押してください
とDOS窓に表示され、やはりアイコンは標準のままでした。
このソースとは別の最小のソース(ただウィンドウを表示するだけ)だと正常にアイコンが変更されたexeファイルが作られました。
#packopt icon "icon.ico"
#include "hsp3dish.as"
repeat
await 16
loop
どうにもならない状況になったらソース一式メールにて送りたいと思います。
その際はよろしくお願いします。
|
|
2022/8/31(Wed) 08:31:44|NO.97041
HSP3Dish.js初回起動時に音が再生しません(Firefox使用)
※音が再生する前に、ウィンドをクリックしていると再生します
JavaScriptのゲームでも同じような事がありますが
強制的にアクティブにできないのでしょうか?
|
|
2022/8/31(Wed) 18:00:05|NO.97043
> おにたま(管理人)さん
メール送らせてもらいました。
|
|
2022/9/1(Thu) 21:14:47|NO.97046
> おにたま(管理人)さん
Windows11をクリーンインストールし直したり、HSP3.7β2を再インストールしたり、スクリプトが入っているドライブをフォーマットしたり、NTFSドライブとFAT32ドライブで試しましたが結果は駄目でした。
私の環境だけみたいです。
リソースハッカーを使ってみましたが、exeファイルのアイコンは書き換えられましたが代わりに起動できなくなりました。
潔く諦めます。
失礼致しました。
|
|
2022/9/3(Sat) 20:32:02|NO.97057
hsp3dishをインクルードしてscreen命令を使用したソースで実行ファイル(exe)を作成すると、作成されたexeファイルを何度か起動&閉じるを繰り返すと起動したアプリがマウスに反応しなくなります。
#include "hsp3dish.as"
screen 0, 200, 200
repeat
await 16
loop
|
|
2022/9/7(Wed) 16:08:18|NO.97087
> おにたま(管理人)さんへ
先日メールにてお送りした、HSP3.7β2でアイコンが変わらない現象についてアイコンが変更されない原因がわかりましたので、書き込みます。
こちらにも同様のものを書き込みました。
>「実行ファイル自動作成(Ctrl+F9)」でアイコンが書き変わらない
https://hsp.tv/play/pforum.php?mode=all&num=97053
「#packopt icon "icon.ico"」をメインソースではなく、別ファイル(仮に"A.hsp")に置き、メインソースから#includeで "A.hsp" を読み込む形で、実行ファイル自動作成(ctrl+F9)でexeファイルが作成すると、「iconins.exe」が起動していないことを確認しました。
(※ただし、小さい規模のソースでは起動します。ある程度大きな250kb以上のソースだと起動しません)
確認方法は、下記ソースから「iconins.exe」と名前で実行ファイルを作成し、HSPインストールフォルダの既存の「iconins.exe」を「iconins2.exe」にリネームして、作成した「iconins.exe」をHSPインストールフォルダにコピーし、上記のメインソースとは別に「#packopt icon "icon.ico"」を別ファイルにしたものを#includeで読み込む形のメインソースを実行ファイル自動作成(ctrl+F9)すると、本来#include で読み込んだ「#packopt icon "icon.ico"」が「iconins.exe」起動するためのトリガーになるはずですが、起動しません。正常に起動するとこの例では「OK」とダイアログが表示されるはずです。
#packopt name "iconins", 0
dialog "OK"
wait 100
exec "iconins2.exe " + dir_cmdline
end
|
|
2022/9/7(Wed) 20:55:58|NO.97092
>しまくろねこ さん
なるほど、状況がわかりました。
以前にこちらで試した際は、hsed3leの(簡易版)エディタで確認していました。
しまくろねこさんの環境で、hsed3leの実行ファイル自動作成で正常にアイコンが書き換わるようであれば、標準エディタの不具合と思われます。
こちらでも確認して対応したいと思います。色々な動作確認ありがとうございます。
|
|
2022/9/7(Wed) 21:15:40|NO.97093
> おにたま(管理人)さん
> 以前にこちらで試した際は、hsed3leの(簡易版)エディタで確認していました。
確かに hsed3le.exe だとアイコン変わりますね。
hsed3le.exe の存在を忘れていました。
> こちらでも確認して対応したいと思います。色々な動作確認ありがとうございます。
hsed3le.exe が利用できると分かったので、おにたまさんのお時間のある時で結構ですので宜しくお願いいたします。
|
|
2022/9/8(Thu) 02:58:07|NO.97096
開発お疲れ様です。タイミングが
良いのか悪いのか、3.7β2(プレビュー版)
hsed3le.exe の件になります。
●ツール(T)メニュー
標準エディタで廃止になった物が
そのまま存在しています。
(※スクリーンセーバー作成等)
3.7βのスレッド、1/17付 #95100で
youdai さんが、標準エディタのレガシーメニュー
廃止について言及されておりましたが
現在も使えるのでしょうか?
●ヘルプ(H)メニュー
HSPプログラムガイドを開く(P)は
使えないようです。
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
hsed3le.exe から HSPアシスタント を使用
●Ezinput
footyエディタ前提の為、右クリックメニューの
かんたん入力も含めて使えませんが
エディタに入力される物をクリップボード経由
させるソフトで代用出来ると思います。
(※個人的にサンプルのahtman_kw.hsp と
sampleview.hsp を足して 3で割った様な物
を作ったら出来ました。)
●sample
説明等はありませんでしたが
HSPアシスタント内、ネットワークの設定
→ ツールから hsed3le.exe を指定すると可能
(※footyエディタ上で使用不可になるので
使う方は居ないと思いますが)
●Network
(※動作は未確認です。)
|
|
2022/9/9(Fri) 19:58:07|NO.97102
開発お疲れ様です。
別スレで投稿した内容なのですが、ベータ版の不具合かもしれないので、一応こちらに転載します。
dpmファイルを作成して、スロット番号を指定してアクセスするサンプルなのですが、
どうも仕様がよく理解できずにいます。
以下、packリスト作成ツールver2.4を使用して、3つのdpmファイルを作成しました。
data1.dpmの中身m0001.jpg
data2.dpmの中身m0002.jpg
data3.dpmの中身m0003.jpg
//サンプル1
chdpm "data1.dpm",-1,1
chdpm "data2.dpm",-1,2
chdpm "data3.dpm",-1,3
pos 0,0:picload "m0001.jpg",1
pos 150,0:picload "m0002.jpg",1
pos 300,0:picload "m0003.jpg",1
stop
サンプル1では最初のpicloadで「画像がありません」エラーとなります。
//サンプル2
chdpm "data1.dpm",-1,1
pos 0,0:picload "m0001.jpg",1
chdpm "data2.dpm",-1,2
pos 150,0:picload "m0002.jpg",1
chdpm "data3.dpm",-1,3
pos 300,0:picload "m0003.jpg",1
stop
サンプル2ではm0001.jpgは表示されますが、2つめのm0002.jpgは表示されず「画像がありません」エラーとなります。
//サンプル3
chdpm "data3.dpm",-1,3
pos 300,0:picload "m0003.jpg",1
chdpm "data2.dpm",-1,2
pos 150,0:picload "m0002.jpg",1
chdpm "data1.dpm",-1,1
pos 0,0:picload "m0001.jpg",1
stop
サンプル3では問題なく3つの画像が表示されました。
画像を表示する直前にchdpmを実行しなければならないのでしょうか?
それであればhsp3.6と同じであり、スロット番号の意味がないように思うのですが。。。
当方の環境問題や勘違いであればすみません。
|
|