Departure from the Voidの大規模リファクタリングの開始から一週間近くが経過・・・ 作業完了までの道のりは長いですが、少しずつ進行しているところです。 進捗はまだ1割にも満たないと思います。 今後はMac版のものも配布する予定のため、Windows/Mac共通で動作するためのゲームの共通ライブラリを...
May 2014( 4 )
Month
COMオブジェクトをスマートポインタで管理する方法のメモ書きです。 boost::shared_ptrはnew/deleteでインスタンス生成・開放するオブジェクトに対して使えますが、 COMオブジェクトのようにReleaseでオブジェクトを開放するものに対しては使えません。 そこで、boost::intrusive_...
VisualStudioのビルドで嵌ったことについてのメモです。 VS2013を使っていて、同じ名前のソースファイルが無いにもかかわらず以下のエラーが表示されてしまうことがあります。 1>DebugSource.obj : warning LNK4042: オブジェクトの指定が重複しています。余分なものは無視されます...
WinAPIでウィンドウをクライアント領域の矩形でウィンドウの位置とサイズを変更する方法についてのメモです。 ウィンドウの位置とサイズはSetWindowPos()関数で変更します。 BOOL SetWindowPos( HWND hWnd, // ウィンドウのハンドル HWND hWndInsertAfter, //...
Departure from the Voidの次回リリース作業が滞っている状態です。 ゲームデータの暗号化処理を実装しようと考えていましたが、今後ステージ制作を行っていくことを考えるとリファクタリングしたほうが良さそうという結論に至り、基本システム部分の作り直しを行っています。 以下がその一部分のソースコードです。 ...
.htaccessを使って特定のIPアドレスに対して表示するページを変更する方法のご紹介です。 これを用いることで、プライベートIPだけログインページを表示させたり、アクセス制限しているIPに対して別ページにリダイレクトさせたりすることが可能です。 これらは、RewriteEngineを使って実現できます。 以下がその...
サーバ上にあるフォントをクライアントPCのブラウザで扱えるようにすることで、PCの環境に依存しないフォントを表示させることが可能です。(Webフォント) しかし、注意しなければならない点もあります。 それは、InternetExplorerが認識できるフォントはEOT形式のみであることです。 しかし、このEOT形式はI...
WindowsアプリケーションからPCMデータをリサンプリングする方法についてのメモ書きです。 リサンプリング処理はプログラマが直に書いても良いですが、出来れば楽したいのでAPIを用いて実現できないかどうかと考えていました。 結果、ACMを用いれば実現できることが分かりました。 ACM自体はMP3データのデコードでも使...
Webサイトのデザインを少し整理しました。 今まではWebサイトのタイトルやアイコンなどを画像で表示させていましたが、これらをすべてWebフォントに置き換えました。 高解像度ディスプレイで見るとどうしても画像の部分が粗く表示されてしまうためです。 以下が修正後のサイトを拡大したときの画像です。 フォント部分が粗くならな...
前回の記事の続きです。 アプリケーション上で保持しているPCMデータをWAVEファイルとして保存するプログラムについての解説です。 WAVEファイルの構造につきましてはこちらをご覧ください。 WAVEファイルはRIFF形式で保存され、フォーマットチャンクとデータチャンクが最低限必要になります。 まず、RIFFチャンクの...