Inspiron 14 5425のディスプレイの色が黄色がかっていたので、色調整の備忘録。
AMD Software: Adrenalin Edition → ディスプレイ → 色温度(7500)
Inspiron 14 5425のディスプレイの色が黄色がかっていたので、色調整の備忘録。
AMD Software: Adrenalin Edition → ディスプレイ → 色温度(7500)
mod_screen.asをダウンロード
https://sites.google.com/site/simakuroneko/home/product/hsp3dish/mod_screen-as
1.ウィンドウズマークを右クリック
2.Windowsターミナル(管理者)をクリック
3.「Get-AppxPackage Microsoft.Windows.Photos | Remove-AppxPackage」をコピペ
4.アンインストール完了
1.ウィンドウズマークを右クリック
2.Windowsターミナル(管理者)をクリック
3.「Get-AppxPackage microsoft.windowscommunicationsapps | Remove-AppxPackage」をコピペ
4.アンインストール完了
; このブログのコードはコピペだと正常に動作しません。
; mod_smart-37.zip の sample-smart_analog_4.hsp を読み込んで実行してください。
#cmpopt varinit 1
#include "hsp3dish.as"
#include "mod_smart.as"
//--------------------------------------------------------------------------------------------
#const SCREEN_WIDTH_SIZE 320
#const SCREEN_HEIGHT_SIZE 480
#const SCREEN_WIDTH_CENTER SCREEN_WIDTH_SIZE / 2
#const SCREEN_HEIGHT_CENTER SCREEN_HEIGHT_SIZE / 2
;---------------------------
#const BUTTON_FIRST_TAP 0
#const BUTTON_ANALOG_STICK 1
;--------------------------- タップ関係
#const TAP_DETOUCH 0 ; タップされてない
#const TAP_TOUCH 1 ; タップされている
#const TAP_TOUCH_FINISH 2 ; タップ終了
#const TAP_DOUBLE 3 ; ダブルタップ
//--------------------------------------------------------------------------------------------
*mod_smart_initialize
smart_init
smart_add : act_num(BUTTON_FIRST_TAP) = stat
smart_add : act_num(BUTTON_ANALOG_STICK) = stat
//--------------------------------------------------------------------------------------------
*hensu_initialize
act_first_tap_stat = TAP_DETOUCH
touch_x = 0
touch_y = 0
scroll_x = 0.0
scroll_y = 0.0
me_move_spd = 50
//--------------------------------------------------------------------------------------------
*setcls_initialize
setcls CLSMODE_SOLID, $000000
//--------------------------------------------------------------------------------------------
*main
repeat
redraw 0
gosub *get_tap
gosub *put_me
redraw 1
await 16
loop
//--------------------------------------------------------------------------------------------
*get_tap
color 0, 0, 255
boxf SCREEN_WIDTH_CENTER - 5 + scroll_x, SCREEN_HEIGHT_CENTER - 5 + scroll_y, SCREEN_WIDTH_CENTER + 5 + scroll_x, SCREEN_HEIGHT_CENTER + 5 + scroll_y
act_first_tap_stat = smart_one(act_num(BUTTON_FIRST_TAP), 0, 0, SCREEN_WIDTH_SIZE, SCREEN_HEIGHT_SIZE)
if act_first_tap_stat == TAP_TOUCH {
touch_x = smart_getx()
touch_y = smart_gety()
}
dim analog, 10
smart_analog act_num(BUTTON_ANALOG_STICK), analog, touch_x, touch_y, SCREEN_HEIGHT_SIZE
if analog(0) {
if analog(3) != 0 {
rad_waru_100man = double(analog(8)) / 1000000 ; 角度(ラジアン)/100万
add_x = (cos(rad_waru_100man) * me_move_spd) ; X移動量取得
add_y = (sin(rad_waru_100man) * me_move_spd) ; Y移動量取得
scroll_x += add_x
scroll_y += add_y
}
}
return
//--------------------------------------------------------------------------------------------
*put_me
color 255, 0, 0
circle touch_x - 10, touch_y - 10, touch_x + 10, touch_y + 10
return
Android実機のスケーリング時の上下余白に余計なバッファが表示されてしまう不具合について、現在(2022/10/30)の時点で現象が特定の端末もしくは特定のAndroidのバージョンで発生している模様です。
通常画面のクリアは「redraw 0」の後に「color 0, 0, 0 : boxf」で画面を初期化しますが、上下余白に余計なバッファが書き込まれてしまう現象が起こる場合は、画面の自動クリア命令「setcls」命令を使用すると現象が起こらなくなります。
具体的には、
setcls CLSMODE_SOLID, $000000
とソースの頭あたりで一度だけ呼び出してあげるだけで、「redraw 0」を実行するするたびに自動で画面のクリアをしてくれます。
HSP3のドキュメントには手動による画面クリアのほうが処理速度が出るそうですが、自動画面クリアでも特に問題ないと思います。
イヤホンジャックを一度入れて、抜いて、再度入れると、イヤホンが認識されない不具合を解消できた。
手順は、設定→アプリ→スタートアップアプリ→「Realtek HD Audio Universal Service」をオンこれだけ。
HSP3.7β2ではスクリプトと同フォルダにあるdpmファイル内にhsp3dish.iniが含まれている場合、同フォルダにhsp3dish.iniが存在してもdpmファイル内のhsp3dish.iniが読み込まれる模様。
//このコードは、[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
タイトルの通り、HSP3Dish使用での#defcfunc内から別の#defcfuncを使用すると落ちる現象が未だに直っていない。
mod_smart.as, mod_dstr.as でそれぞれモジュール内で同じルーチンを使用している箇所があるのだが、これを別の#defcfuncにして値を返すように修正すると、Windows上では正常に動作するが、Android実機では落ちてしまう。
仕方がないので同じルーチンを長々と書いております。
設定→プライバシーとセキュリティ→デバイスの暗号化(オフ)