2016年10月11日

GBJAM5

10日の期限でゲームボーイ風ゲームを作るというイベントに参加しました
https://itch.io/jam/gbjam-5
ゲームボーイジャムってイベントですね
プログラマーとして参加したんだけどどの作品かわかるかなあ
軒並みクオリティの高い作品ばかりです
posted by 26℃ at 02:41| 福岡 ☀| Comment(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

2016年08月16日

デバッグとダイアログ

hsp使ってる方はデバッグのためにダイアログをソースの部分に設置して監視する方法など皆やるかと思いますが
ソースファイルをインクルードしてたり、膨大なソースになってくるとダイアログをどこに書いたか忘れてしまい
コメントアウトできなくなってしまうことなどあるかと思います
そういうときのために、ダイアログのマクロを書き直して便利な感じにしてみました

#undef dialog
#module
#define global dialog(%1="",%2=2,%3="") : dialog2 str(%1),%2,str(%3),__line__,__FILE__
#deffunc dialog2 str _p1,int _p2, str _p3, int _line, str _file
dialog@hsp "ソースファイル:"+_file+"\n行:"+_line+"\n--------------------\n"+_p1,_p2,"デバッグモード"+_p3
if _p2=2 & stat=7:end
return
#global

要は__line__と__FILE__のマクロ使えばいいわけですね
WS000332.JPG
ダイアログにダイアログを書いた行とそのファイル名を表示されています
posted by 26℃ at 00:36| 福岡 ☁| Comment(0) | hspメモ | このブログの読者になる | 更新情報をチェックする

2016年06月12日

期日

期日までの日にちを教えてくれるようにしてみた
WS000272.JPG
他に完了した日にちを記録して、進行の進み具合をさらに見やすくしようとした(グラフがごちゃごちゃになった)
posted by 26℃ at 17:59| 福岡 ☔| Comment(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

マイナーアップデート

ずっとマイナーアップデートしてる、公開はまだ落ち着かないとできそうにない
ガントチャート実装したときから期日を設定できるようにしていたんだけど
日にちの設定がめんどくさいな、やること沢山書いたら期日設定がめんどくさくて編集できない…
WS000271.JPG
posted by 26℃ at 00:19| 福岡 ☁| Comment(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

2016年06月10日

些細な事

hspのinputでA+ctrlで全て選択するとWM_COMMANDでキー判定が発生する
エディタを操作したら保存するフラグを立てるようにしてるんだけど
ショートカットキーの全て選択の処理で保存するフラグ立つ原因になります

mesboxでA+ctrl押すとビープー音がでて操作を弾かれる
inputはmesboxと同じエディットコントロールで作られてるんだと思うけど少し特殊な処理させてるのかな…
mesboxでA+ctrlさせたいけど音がうるさいんだよ
posted by 26℃ at 13:56| 福岡 ☀| Comment(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

2016年06月09日

mesboxのスクロール位置の取得と設定

取得方法
;水平方向のスクロール値取得
si = 0, 0x0004, 0, 0, 0, 0, 0;SIF_POS=0x0004
GetScrollInfo ハンドル番号,0, si;
ed_scrX = si.5
;垂直方向のスクロール値取得
si = 0, 0x0004, 0, 0, 0, 0, 0;SIF_POS=0x0004
GetScrollInfo ハンドル番号,1, si;
ed_scrY = si.5

設定方法
;水平方向
PostMessage ハンドル番号, WM_HSCROLL, SB_THUMBTRACK|ed_scrX<<16, 0
;垂直方向
PostMessage ハンドル番号, WM_VSCROLL, SB_THUMBTRACK|ed_scrY<<16, 0

mesboxのスクロール値の設定で簡単な方法があったんだけど、水平のスクロール値がドット単位じゃなく文字数でスクロールするという謎仕様だったので
PostMessageで直接指定しました
posted by 26℃ at 22:29| 福岡 ☀| Comment(0) | hspメモ | このブログの読者になる | 更新情報をチェックする

ドラッグ中のカーソル

自作のスクロールバーを使っているのですがバーをドラッグさせながら
ウィンドウを可変できる部分にもっていくと可変できるカーソルに変更してしまいます
WS000269.JPG
今はスクロールバー動かしてるからその表示はいらない!って場合の対処法なのですが
SetCaptureとReleaseCaptureをつかいます

#uselib "user32.dll"
#func ReleaseCapture "ReleaseCapture"
#func SetCapture "SetCapture" int

ドラッグ開始のときに、SetCaptureを使い、ドラッグを止めるときにReleaseCaptureするだけで
余計なカーソル変更がなくなります
posted by 26℃ at 11:17| 福岡 ☁| Comment(0) | hspメモ | このブログの読者になる | 更新情報をチェックする

mesboxの文字数制限

mesboxは通常32kb最大64kbまでしか対応してないらしい
32kbのテキストなんて書かないけどもしもの場合を想定して対策することにした
保存や読み込みをすると32kbまで文字が丸めこまれる
WS000267.JPG
対策方法はGetWindowTextでコントロールのテキストを取得するやりかたです

sendmsg ハンドル,0x000E,0,0//文字列サイズを取得する
sdim txtbuf,(stat)+1//確保
GetWindowText ハンドル,txtbuf,(stat)+1 //テキストを取得

strlenで文字サイズの取得しても32kbまでmexboxで丸め込まれてるので、WM_GETTEXTSIZE(0x000E)でコントロールのテキストサイズを取得します
WS000266.JPG
posted by 26℃ at 10:47| 福岡 ☁| Comment(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

cpu

メモリとcpuの使用率大分抑えられた、未使用のときはcpu使用率0、高いときで9%ぐらい
内容の更新した時とスクロールバーを触った時にのみ描画処理をさせるようにしました
毎回グラフとリストの部分を毎回こうしんしてたからcpuの使用率が高かった
文字列の表示がかなり負荷がかかるので、全体を更新する必要があるスクロールバー動かすときが一番重い
WS000265.JPG
posted by 26℃ at 00:06| 福岡 ☁| Comment(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

2016年06月08日

つづき

screen 0,ginfo_dispx,ginfo_dispy
これでウィンドウ作るだけで、7.9Mもメモリ使うみたい
screen 0,ginfo_dispx,ginfo_dispy,1
パレットモード(1670万色中256色)で作成したら3.9Mにまで節約できた
でも256色ってグラフの色に影響しそうだ
posted by 26℃ at 00:04| 福岡 ☀| Comment(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

2016年06月07日

メモリとcpu

todolistは画面全体のサイズを確保したウィンドウとバッファを結構つかってるのでかなりメモリ食ってた
文字の描画とか重い処理を毎フレームおこなってるからcpuもかなり負担かかってるみたい
WS000264.JPG
posted by 26℃ at 23:53| 福岡 ☀| Comment(0) | 雑記 | このブログの読者になる | 更新情報をチェックする

ToDoList

データ消滅から、バックアップ機能を強化してみた。数分おきにデータを上書きし。ツールを閉じた時は新しいバックアップのデータを出力するようにした。
バグがなかったらバックアップとか必要ないんだけどね…
このツールを使い始めてからしばらくたつけど使い心地は悪くない、まだ書き込んだ予定が少ないのでリストに溢れるほどに予定を書いたらまだ気づかない不満箇所がでてくるんじゃないかと思う。
WS000263.JPG
posted by 26℃ at 15:55| 福岡 ☁| Comment(0) | 雑記 | このブログの読者になる | 更新情報をチェックする