2022年10月30日日曜日

HSP3DishでのAndroid実機のスケーリング時の上下余白に余計なバッファが表示されてしまう不具合について

Android実機のスケーリング時の上下余白に余計なバッファが表示されてしまう不具合について、現在(2022/10/30)の時点で現象が特定の端末もしくは特定のAndroidのバージョンで発生している模様です。

通常画面のクリアは「redraw 0」の後に「color 0, 0, 0 : boxf」で画面を初期化しますが、上下余白に余計なバッファが書き込まれてしまう現象が起こる場合は、画面の自動クリア命令「setcls」命令を使用すると現象が起こらなくなります。

具体的には、

setcls CLSMODE_SOLID, $000000

とソースの頭あたりで一度だけ呼び出してあげるだけで、「redraw 0」を実行するするたびに自動で画面のクリアをしてくれます。

HSP3のドキュメントには手動による画面クリアのほうが処理速度が出るそうですが、自動画面クリアでも特に問題ないと思います。

2022年10月26日水曜日

イヤホンが認識されない不具合

イヤホンジャックを一度入れて、抜いて、再度入れると、イヤホンが認識されない不具合を解消できた。

手順は、設定→アプリ→スタートアップアプリ→「Realtek HD Audio Universal Service」をオンこれだけ。

2022年8月28日日曜日

HSP3.7β2での「hsp3dish.ini」の扱いについて

 HSP3.7β2ではスクリプトと同フォルダにあるdpmファイル内にhsp3dish.iniが含まれている場合、同フォルダにhsp3dish.iniが存在してもdpmファイル内のhsp3dish.iniが読み込まれる模様。

2022年4月10日日曜日

Windows上でHSP3Dishを使ったWindows用アプリを作る際の画面サイズをディスプレイサイズに自動的に合わせるソース

//このコードは、[F5]ではなく、エディタの[コンパイル+実行(C)]で実行してください。


#include "hsp3dish.as"


#const SCREEN_WIDTH_SIZE 720

#const SCREEN_HEIGHT_SIZE 1280

#const MINUS_SIZE 250


#module

; ---------- zoomxy(元の横大きさ, 元の縦大きさ, 変更したい横大きさ)

#defcfunc zoomxy int moto_x, int moto_y, int henkou_x

return (henkou_x * 1000 / moto_x) * moto_y / 1000


; ---------- zoomyx(元の横大きさ, 元の縦大きさ, 変更したい縦大きさ)

#defcfunc zoomyx int moto_x, int moto_y, int henkou_y

return (henkou_y * 1000 / moto_y) * moto_x / 1000

#global


plat_form = PLATFORM_WINDOWS

getreq plat_form, SYSREQ_PLATFORM

if plat_form == PLATFORM_WINDOWS {

if ginfo_dispx > ginfo_dispy {

display_size = ginfo_dispx - MINUS_SIZE

} else {

display_size = ginfo_dispy - MINUS_SIZE

}


window_size_width = SCREEN_WIDTH_SIZE

window_size_height = SCREEN_HEIGHT_SIZE

window_size_change_width = display_size

window_size_y = zoomxy(window_size_width, window_size_height, window_size_change_width)

window_size_x = zoomyx(window_size_width, window_size_height, window_size_y)


if window_size_y > ginfo_dispy {

display_size = ginfo_dispy - MINUS_SIZE

window_size_change_h = display_size

window_size_x = zoomyx(window_size_width, window_size_height, window_size_change_h)

window_size_y = zoomxy(window_size_width, window_size_height, window_size_x)

}


screen 0, window_size_x, window_size_y, 0, (ginfo_dispx - window_size_x) / 2, (ginfo_dispy - window_size_y) / 2

scale_x = double(window_size_x) / double(window_size_width)

scale_y = double(window_size_y) / double(window_size_height)

viewcalc vptype_2d, scale_x, scale_y

}


repeat

redraw 0

color 0, 0, 0 : boxf 0, 0, SCREEN_WIDTH_SIZE, SCREEN_HEIGHT_SIZE

redraw 1

await 16

loop


2022年2月2日水曜日

HSP3Dish使用での#defcfunc内から別の#defcfuncを使用すると落ちる

タイトルの通り、HSP3Dish使用での#defcfunc内から別の#defcfuncを使用すると落ちる現象が未だに直っていない。

mod_smart.as, mod_dstr.as でそれぞれモジュール内で同じルーチンを使用している箇所があるのだが、これを別の#defcfuncにして値を返すように修正すると、Windows上では正常に動作するが、Android実機では落ちてしまう。

仕方がないので同じルーチンを長々と書いております。


2021年12月27日月曜日

HSP3Dish備忘録

プロジェクトフォルダの「assets」フォルダにあらかじめ好きなフォルダを入れておいても大丈夫みたい。

画像は「test」フォルダを作って中に「abc.txt」を入れてあるプロジェクト。

Android上で実行させるとちゃんと「abc.txt」の中身を表示してくれた。

2021年11月9日火曜日

メモリ増設

 メインPCのInspiron 14 5405のメモリを16GBから32GBに増設した。

Windows11 home Bitlocker解除

  設定→プライバシーとセキュリティ→デバイスの暗号化(オフ)