SDL
SDLと同様にSDL_imageについてもパッチを提出した。 1720 – Fix solution/project files for VS2012 パッチの内容もSDLの時と似たようなもので、パスを修正したり、不要な設定を削除したり、showimageにSDL2_image.libがリンクされるようにしたりした。
ちょっとしたことだけど気になることがあってSDLのBugzillaにパッチを提出したのでメモ。 1719 – Remove unnecessary PrecompiledHeaderOutputFile. VisualC\SDL_VS2012.slnを使ってSDLをビルドすると、たまに空のDebugやReleaseなどのディレクトリが作成さ…
iMac上で久しぶりにビルドして動かしたらいくつかの個所で落ちるので手を加えてみた。 std::string::erase()の使い方と、SDL 1.2とSDL 1.3の違いを修正しただけ。
ウィンドウにメニューとか付けたくなったので、あれこれ考えた結果wxWidgetsを使うことにした。まずwxWidgets単体でウィンドウの表示、メニューの表示まで行えるのを確認して、それではSDLと一緒に使おうと思ったらやり方を思いつかなかった。そこで、ググっ…
Perlを使って生成したソースファイル*1は既にリポジトリで管理されていたことがわかった。エラーが出た原因はVisualCのプロジェクトファイルにその生成したファイルが登録されていないからだった。かー、うかつ過ぎ。 結局src/audio/SDL_audiotypecvt.cと、s…
リポジトリから入手してビルドするにはPerlが必要だということを思い出した。Perlで書かれたスクリプト*1が、コンパイルに必要なソースファイル*2を作るんだよね。なんかソースが足りないと思ってたんだけど、作業場所が変わってすっかり忘れてた。 *1:src/a…
SDL 1.3を使ったWindows上のアプリを、Macからネットワーク越しに見る必要があって、RDCと各種VNCを試した。RDCはレンダラーの種類に関係なく起動時にエラーが発生した(SDL_VideoInit()内?)。VNCではものによってはレンダラーがd3dだとうまく画面が更新され…
今作っているアプリケーションのメインウィンドウを最小化して元に戻すとタイトルバーの高さくらい、幅は数ピクセルくらいのものが表示される。かろうじてタイトルバーの左端が見えている感じ。そこからダブルクリックでウィンドウを閉じることもできる。 原…
SDL_Audioで音をミックスしていくにはSDL_MixAudio関数を使うが、ミックスしたデータをヴィジュアライザーなどに再利用する場合には一旦SDL_MixAudioFormat関数を使ってメモリ上でミックスして、その結果をSDL_MixAudio関数で再度ミックスするのが良い、のか…
先日Pygameで加算合成 - ゲームプログラムめも日記というページを見つけてブックマークしました。その時は将来的な機能かと思っていましたが、コードはすでにあるみたいですね。Pythonは使っていないので動作までは確認してませんが、ソースはなんとか読めそ…
SDLといえば、先日SDLのMLを一通りsubscribeした。というのもhttp://www.libsdl.org/pipermail/sdl/2006-October/076941.htmlというメールを送りたかったからなんだけど、今のところ無反応。さすがにいきなりすぎたかなあ。 今日、というか先程もう一通送っ…
先日より、sge_transform_surface関数を使って生成したサーフェス(以下dst)のうち生成元サーフェス(以下src)のbppが8のものだけがなぜか真っ白に表示されるという現象が起きていた。今日になってようやく調べた結果、dstにsrcのパレットを設定することで色が…
SDL_Audioを使っていると波形の途中から変な音が鳴ることがあったので調べたがなかなか直らなかった。今回別の理由からSDL_Audioを使うところを再実装していたら、SDL_ConvertAudio関数の説明の以下の部分を見落としていたのが原因だということがわかった。…
SDLとして音を鳴らすにはいくつか方法があるようだ。 SDL_audio SDL自身に含まれる、SDLのサウンド処理の基本的なもの。 SDL_mixer SDL_audioよりも手軽に音を扱えるライブラリ。ソースファイルはSDLと同じリポジトリ(http://www.libsdl.org/cgi/viewvc.cgi/…
SDLの方にあまり時間をとられなくなりそうなので、SDL_Texture云々はしばらく保留とする。また時間があれば再チャレンジしたいところ。ちょっと残念。
テクスチャーを使っている最中にフルスクリーンモードに切り替えると、テクスチャーIDからテクスチャーを参照できなくなる。SDL_QueryTexture関数を呼び出して、-1が帰ってきたらテクスチャーの実体が無くなったとみて、再度テクスチャーを作成する。手元で…
ウィンドウIDといえば、SDL_RenderCopy関数などの描画対象はSDL_SelectRenderer関数で指定するが、この関数にはウィンドウIDを指定する。これはウィンドウとレンダラーが一対になっている(ビデオカードとディスプレイの組み合わせと似たようなものか)から来…
昨日よりは少し進み、画像の描画に関しては8割がたSDL_Textureを使うようにできた。残り二割は解像度の問題と、まだ未確認の全画面モード切替だけど、それらは後回し。あとはSGEの線分描画と、SDL_ttfの文字列描画が対応できればいいんだけどなあ。 現在SDL_…
SDL_Textureを扱えるようにはなった。今度は既存のSDL_Surfaceを対象としたライブラリをどうするか、ということ。しかし、SDLのソースを読んでいるうちに何とかなるかもしれないと思いはじめた。 先程知ったが、SDL_SetVideoMode関数で得られるサーフェスに…
testsprite2をベースにしたサンプルを作りながら、SDL_Textureの使い方を勉強する。SDL_RenderCopy関数に渡すdstrectのwとhが有効になり、拡大・縮小はこれを使って行えるようだ(画像の幅が64pxの場合、w = 128とすると幅が倍になる)。しかしながら回転はサ…
自宅サーバが使えないので、こちらにメモ。 SDLを使って画像の加算合成を行う方法を調べていたら、SDL_Textureで画像を持てばいけそうなことがわかった。SDL 1.3のサンプル testsprite2.c ではその SDL_Texture を使ったデモが見られるようだ(動作は未確認)…