SDLスレ
■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin
01/11/11 17:59ID:u0HMN7qCSDLについてのスレッドです。
最新情報、参考になるソース、質問等
とりあえず、本山
http://www.libsdl.org/
0658名前は開発中のものです。
04/12/07 03:29:12ID:rKYpM/4I2.0 に対する意欲は薄れてるのかもね。
もしくはローカルで作業してて CVS にアップしてないだけとか。
最近は 1.2 系への修正ばっかりだよ。
>>657
Sam 氏のサイト
http://www.devolution.com/~slouken/
SDL のクレジットページ
http://www.libsdl.org/credits.php
まあ、あとはクレジットページの名前から検索するといいんじゃないかな。
0659名前は開発中のものです。
04/12/07 04:24:02ID:WXuC6Mfhhttp://www.libsdl.org/cvs.php
でpatchとかportに貢献した人の名前がある。こっちの方が新しいのかな。
日本人らしい名前も(なんか飛行機が落ちたみたいで縁起悪いな)ちらほらある。
0660名前は開発中のものです。
04/12/07 06:18:30ID:IoiJT6G7機能的に増やす必要があるんだろうか
2.0はどんな機能があるの?
0661名前は開発中のものです。
04/12/07 14:42:11ID:zJp3gdV70662名前は開発中のものです。
04/12/07 16:54:27ID:rU7nZmmhそういえば前に特集でやってたな
0663名前は開発中のものです。
04/12/08 02:09:23ID:WW1dHwS0ヤター1000ゲット!
0664名前は開発中のものです。
04/12/08 14:40:00ID:6ys+AMtGまだ切り番ネタひっぱるかいw
0665名前は開発中のものです。
04/12/12 23:04:35ID:9PWUm/vk0666名前は開発中のものです。
04/12/13 00:13:40ID:Yp5fFNZwこれだよね?
ttp://www.grinninglizard.com/kyra/
Kyra - A simple and powerful Sprite engine written in C++.
日本語使えるっていうのは日本語表示ができるかってことでいいの?
コンパイルするの面倒くさかったから落としてざっとソース見てみたけど
そのままでは表示できないっぽい
とりあえず使ってみたら?
0667名前は開発中のものです。
04/12/13 17:59:28ID:xU9HqyFK0668名前は開発中のものです。
04/12/14 01:19:16ID:xXMquf8f0669名前は開発中のものです。
04/12/16 05:52:56ID:gfzztnrc0670名前は開発中のものです。
04/12/16 15:51:35ID:2yv4uz3U0671名前は開発中のものです。
04/12/17 01:17:36ID:fR88sufxん?何があったの?
それよりも個人的には、SDL_imageとSDL_mixerの新バージョンが出て、
* Updated libtool support for new mingw32 DLL build process
と書いてあるのが嬉しい。
これで、いちいちローカルでパッチ当てたりする必要が無くなった。
0672名前は開発中のものです。
04/12/17 04:08:26ID:ZhP17Bn3空のメールを送ったりしてtake2が流れた。
0673名前は開発中のものです。
04/12/18 00:21:44ID:hgLc83K7なるほど。おちゃめさんだな > Sam氏
パッケージミスとかかと心配したんだけどそうじゃなかったようで良かった。
0674名前は開発中のものです。
04/12/18 13:07:34ID:tTWYdvmpMacOS Xの名前が見られるけどよくわかんね
>671
>1.2.7: Updated libtool support so Mingw32 builds work.
公式のところには1.2.7のところに書いてあるけど、どうなの?
0675名前は開発中のものです。
04/12/19 20:43:56ID:pOhGxows1.2.7 のアナウンスでは DLL じゃなくて so って書いてるから、
その頃はまだ .so ファイルしか出力してなかったんだと思う。
今回から添付してあるファイルで DLL を作れるようになってる。
0676671
04/12/19 22:51:20ID:JJa4+n8jSDL本体は直ってたのに、
SDL_imageとかmixerとかは修正後一度もリリースが無かったので直ってなかった、
ってことだよ。
0677名前は開発中のものです。
04/12/20 03:01:45ID:lAq5Jb7WSDL_OPENGLを使うという所まで調べましたがそれだけだと例外がでて終了してしまいます。
初期化が全然わからないので解説やコードがあるサイトがあれば教えてください。
0678名前は開発中のものです。
04/12/20 07:39:21ID:cqrg6fzo漏れもちょうどやってるとこだ。
http://www.tacoworks.jp/software/SDLdoc-jp/html/guidevideoopengl.html
0679名前は開発中のものです。
04/12/20 07:54:55ID:S5drrZekSDL_SetVideoModeのオプションにSDL_OPENGLを追加
画面の更新はSDL_GL_SwapBuffers
多分>678のサンプルの
SDL_GL_SetAttribute( SDL_GL_RED_SIZE, 5 );
SDL_GL_SetAttribute( SDL_GL_GREEN_SIZE, 5 );
SDL_GL_SetAttribute( SDL_GL_BLUE_SIZE, 5 );
SDL_GL_SetAttribute( SDL_GL_DEPTH_SIZE, 16 );
はなくても大丈夫だったと思う
0680名前は開発中のものです。
04/12/20 09:22:16ID:YhejNCYYtestgl.c, testdygl.cを読んでみるのがいいんじゃないかな。
0681名前は開発中のものです。
04/12/22 14:36:39ID:CGEi7xRnできませんね?
0682名前は開発中のものです。
04/12/22 17:23:40ID:Jj/U5P+K2つ以上のアプリケーションを作ってアプリケーション同士でプロセス間通信とか?
0683名前は開発中のものです。
04/12/22 22:45:23ID:l4mvVylpFOX だったか FLTK だったかを使ったサンプルプログラムを本家 ML で見かけたぞ
0684名前は開発中のものです。
04/12/22 22:57:29ID:+5iFGnK3SDL で利用するウィンドウは一つだけだと開き直ってるために
環境ごとのビデオ情報(ウィンドウハンドルとか)を
ほとんどの場合グローバル変数で持ってる。
ウィンドウが二つ以上生成されるようなことを実現するのは、
SDL 単体じゃ無理だろうな。
>>683みたいなごり押しが必要。
0685名前は開発中のものです。
04/12/24 01:04:03ID:D6kFgiLiたとえば、SDL::WM.set_caption の引数、つまり窓のタイトルが文字化けします。
$KCODE の設定を確認したのですが、文字化けの原因にはなってませんでした。
SDL 側に正しい文字コードを認識させる方法はないのでしょうか。
0686685
04/12/24 03:50:56ID:D6kFgiLi0687名前は開発中のものです。
04/12/25 15:48:19ID:jmQKZrGb書いてないけど日本語でってことかな、多分
Rubyはさっぱりだけど、タイトルの文字化けはOS(というかWindowシステム?)の問題では?
多分SDLはもらった文字列をそのままOS(というかWindowシステム?)のキャプション表示に渡してるだけだろうから
SDLが文字コードを認識できたとしても何も解決できないと思われ
キャプションに日本語を表示させるのをあきらめるしかないのでは?
あとは表示させる文字列をSJISのファイルにして、それをロードしてそのままわたせば
変換の必要はなくなると思うけど
0688名前は開発中のものです。
04/12/25 23:37:26ID:A/zeU39xSDL 本体自体は、そもそも多言語化を意識してないもんなあ。
http://www.libsdl.org/cgi/cvsweb.cgi/SDL12/src/video/wincommon/SDL_syswm.c?rev=1.7&content-type=text/x-cvsweb-markup
Windows
http://www.libsdl.org/cgi/cvsweb.cgi/SDL12/src/video/x11/SDL_x11wm.c?rev=1.9.2.2&content-type=text/x-cvsweb-markup
X11
ちょっとよく見てないんだけど、X11 版は内部で UTF-8 を使ってるように見える。勘違いかな。
ただ Windows は確実にほったらかしだね。これじゃマルチバイト文字は通らない。
Ruby/SDL のことはわからないけど、すっきりした解決策は無いと思うよ。
本家にパッチ送るって手もあるけどね。
0689名前は開発中のものです。
04/12/25 23:52:50ID:A/zeU39xごめん、これ間違い。
マルチバイト文字が通らないんじゃなくて、UTF-8 が通らない。
アプリケーション本体のソースで Unicode 統一とかやってんだったら、
プリプロセッサで分けて Windows の場合は WideCharToMultiByte 使うとか、
X11 で通らなかった場合は iconv で nl_langinfo(CODESET) に変換するとか、
そういう対処する以外無いと思う。なんか SDL 使ってる気が薄れるけど。
もしくはタイトル部分は ASCII で開き直るとか。
0690685
04/12/26 00:25:42ID:7MVm4DuB>>687
> 書いてないけど日本語でってことかな、多分
そうです。書き忘れました。すみません。
マルチバイト文字の部分だけ文字化けしました。ASCII文字は大丈夫でした。
> 多分SDLはもらった文字列をそのままOS(というかWindowシステム?)のキャプション表示に渡してるだけだろうから
> SDLが文字コードを認識できたとしても何も解決できないと思われ
そうなのですか。残念です。
SDLが、OSを意識することなくアプリケーションを組めるライブラリであるなら、
OSのデフォルトの文字コードも意識する必要はないのかな、と思っていました。
>>688=>>689
> ちょっとよく見てないんだけど、X11 版は内部で UTF-8 を使ってるように見える。勘違いかな。
> ただ Windows は確実にほったらかしだね。これじゃマルチバイト文字は通らない。
URLありがとうございます。
ソースを見てもさっぱりですが、マルチバイト文字関連は手薄である、と解釈してよいのですね。
> プリプロセッサで分けて Windows の場合は WideCharToMultiByte 使うとか、
> X11 で通らなかった場合は iconv で nl_langinfo(CODESET) に変換するとか、
まだ僕の技術が未熟なもんで、何がなにやらさっぱりわかりませんが…
OS毎になにかいろいろ変える必要があるのですね。
> もしくはタイトル部分は ASCII で開き直るとか。
一番簡単な解決策ですね。
0691名前は開発中のものです。
04/12/26 01:54:22ID:PcH7Hb9Yそれっぽいアルファベット数文字
0692名前は開発中のものです。
04/12/27 12:57:06ID:kl2IaoBJ0693名前は開発中のものです。
04/12/28 15:51:44ID:N7uXumosまじでRubygame作っている香具師がいたのか。
http://rubygame.seul.org/
0694名前は開発中のものです。
04/12/28 20:02:35ID:qJ+0ZIybリファレンスをぱっと見て、 Ruby/SDL と何が違うのかわからんとおもた
0695名前は開発中のものです。
04/12/28 23:53:10ID:T/yIjxhSRuby + SDL ってこれで3つ目だっけ
0696名前は開発中のものです。
04/12/29 01:07:47ID:9zkeURY60697名前は開発中のものです。
04/12/29 22:11:54ID:QcwKrDG0いったいどうすりゃいいのって状態なもんで。
0698名前は開発中のものです。
04/12/29 22:21:36ID:enz/1/yxみんな最初はDirectXから入るだろうけど、そこから別の環境に移行するのが面倒になって、止まってるんじゃないかな?と思う。
楽をする為の努力をするのも、悪くは無いと思うんだけどな。
とまあ、友達にオススメしたら環境構築すら出来なかったようなので、素人には敷居が高いことは、確からしい。
素晴らしいものなのに、残念。
0699名前は開発中のものです。
04/12/30 00:23:35ID:4YT/UF4y0700700ゲト
04/12/30 13:31:40ID:F+nUJbkY0701名前は開発中のものです。
04/12/31 14:52:58ID:YiI4iQlZ情報も豊富なのに
0702名前は開発中のものです。
04/12/31 16:50:22ID:SOfdUrI9ヘッダファイルとかライブラリファイルとかがどういう用途で
コンパイラがどこに読みに行ってどこに置けばいいのか、
ってとこを把握しないといけないから、
「プログラミング初めてで、SDL 使います」という場合はまあ環境構築できなさそう。
結局は能力が低いってことなんだけど。
0703名前は開発中のものです。
04/12/31 17:06:36ID:tVjZ5Y/d0704名前は開発中のものです。
05/01/03 00:21:36ID:VVWAXKVfOpenGLでなんか作るときにも、最近はもう必須。
俺は、MinGWを入れて、SDL-1.2.8.tar.gzを展開して
configure
make
make install
で、環境構築してる。
でも、printf()が出力されない。。。
0705名前は開発中のものです。
05/01/03 04:05:53ID:XjwGZAam標準では、stdout.txt(標準エラー出力はstderr.txt)に出力されるようになってる。
freopen("hoge.txt","w",stdout);
freopen("err.txt","w",stderr);
とかすれば、任意のファイルに変更可能。
0706名前は開発中のものです。
05/01/03 16:32:46ID:ZXvyJ+mPfreopen() の呼び出しをコメントアウトして DLL 作り直すとかね。
コマンドプロンプト以外から実行した時におかしくなるかもしれないけど。
0707名前は開発中のものです。
05/01/03 17:10:56ID:AuOfObHU> SDL is compiled with stdout redirection to stdout.txt by default.
> if you want to use stdout, and not write to a file:
> recompile SDL with --disable-stdio-redirect
--disable-stdio-redirect でコンパイルすればよいらしい
0708名前は開発中のものです。
05/01/03 21:21:46ID:eVd45ytG0709704
05/01/04 00:21:35ID:mAqS2ZUA情報ありがと。
なんか明示的に fflush(stdout); しないと、すぐに出力されないっぽいけど
出ないよりは全然ましなんで大助かりです。ヽ(´▽`)ノ
0710名前は開発中のものです。
05/01/05 21:06:07ID:Fu+0McaAhttp://www.delphi-jedi.org/Jedi:TEAM_SDL_HOME
0711名前は開発中のものです。
05/01/07 00:34:20ID:CLwECnQA0712!omikuji!dama
05/01/07 05:38:32ID:0S/nEBb80713名前は開発中のものです。
05/01/07 12:45:53ID:yQVHr4560714名前は開発中のものです。
05/01/08 08:31:08ID:fQ+RSRIGきた。なんかすげーうれしかった。次は音の再生に挑戦だー。
0715名前は開発中のものです。
05/01/18 17:37:22ID:ryRr+/i40716名前は開発中のものです。
05/01/19 23:39:08ID:a+5Y5g4L0717名前は開発中のものです。
05/01/25 23:29:35ID:07kZ0jkr0718名前は開発中のものです。
05/01/26 00:57:22ID:Egrx4uTH0719名前は開発中のものです。
05/01/26 23:53:59ID:RsxoOfEk0720名前は開発中のものです。
05/01/28 01:34:50ID:wBBSI5ZQ。・゚・(ノД`)・゚・。
0721名前は開発中のものです。
05/01/28 11:25:41ID:n0TYWdiVPhysicsFS(http://icculus.org/physfs/)てのもある。
0722名前は開発中のものです。
05/01/28 12:06:15ID:c7hSiyKLわらた。すばらしいセンスだな
0723名前は開発中のものです。
05/01/28 21:51:32ID:Kx/lmu1/これいいな。
UNICODEも使えるらしい。
http://www.bms-austria.com/projects/paragui/index.php?module=photoshare&func=showimages&fid=1&viewkey=&template=slideshow&iid=5
0724名前は開発中のものです。
05/01/30 02:54:35ID:ZqJ4QIJa0725名前は開発中のものです。
05/01/30 18:01:17ID:CoRN48KR誰か、教えてください・・・・。
0726名前は開発中のものです。
05/01/30 19:05:11ID:ZqJ4QIJa0727名前は開発中のものです。
05/01/31 15:55:29ID:+zMMv/Vu何を泣くことがあろうかっ。
アーカイブ内のファイルを開いて SDL_RWops が直に取得でき、
そのまま SDL_image や SDL_mixer に突っ込めて便利っす。
0728名前は開発中のものです。
05/02/01 12:53:08ID:AedVJiz/使いでハードコアなゲーマーっているの?
0729名前は開発中のものです。
05/02/01 13:27:33ID:RQLopvSf0730名前は開発中のものです。
05/02/01 13:49:34ID:9oXWEfX6ゲーム用途が多いけど、(SシンプルDダイレクト)メディアLレイヤーなんだよな。本当は。
他のフレームワークはよく知らないけど、SDLの存在意義はあると思うよ。
実際そっちの実益は大きいと思う。
0731名前は開発中のものです。
05/02/01 14:37:11ID:SiZP0IufそもそもSDLはLinuxのライブラリとして作られたんじゃないのか?
と思いつつちょっと気になったんで簡単にググってみた。
ここら辺り見てると居るんじゃないかな、って気はする
http://www.linux-gamers.net/
本当のハードコアゲーマーはCedega使ってWindowsのゲームしてそうだけど
>>729
できるよ
0732名前は開発中のものです。
05/02/01 22:44:27ID:9oXWEfX6最初の開発動機に関しては、確かインタビューか何かで
「色んなマシンにアプリケーションを移植してたらアホ臭くなったのでライブラリを作った」
みたいなこと言ってたと思うよ。
ページは失念、検索したけど見付からなかった。すまん。
0733名前は開発中のものです。
05/02/02 01:04:00ID:9d2HU8RLこれかな
ttp://www-6.ibm.com/jp/developerworks/linux/sdl/sdl.html
0735名前は開発中のものです。
05/02/06 19:38:19ID:GSZ53bwFSDL_mixerでは、RWopを使ってストリーム再生するMix_LoadMUS_RWはオプションだから、直接RWopが全てに突っ込めるわけではないです。
USE_RWOPSを定義しておいてやれば使えるけど、SMPEGを利用したmp3再生には対応していない模様。
どうも、Mix_LoadMUSでしかmp3は使えないよう。
ってことは、mp3でなく、oggを推奨していますってことなのかな?
0736名前は開発中のものです。
05/02/11 22:56:34ID:dXQ7K1nlTTF_OpenFont("fonts/bdfmplus.ttf", fontSize);
TTF_OpenFont("fonts/bdfUMplus.ttf", fontSize);
サイズ1〜100まで試したけどだめぽ。
環境はWindows
SDL_ttf-2.0.6
freetype-2.1.8
フォントは香り屋で落としてきたやつ。
0737名前は開発中のものです。
05/02/11 23:14:02ID:3rQbAxiHフォントのパスを絶対パスにしてみてはいかが
0738名前は開発中のものです。
05/02/11 23:17:14ID:XuEZhlNi詳しくは知らないが、bdfUMplus.ttfはBITMAPフォントらしいのでダメポ
M+のトップからOUTLINEに飛んで、落としたやつは中に18コくらいttfが入ってて
全部は試してないがいくつかはTTF_OpenFontで開けた
M+
ttp://mplus-fonts.sourceforge.jp/
0739736
05/02/11 23:43:02ID:dXQ7K1nl絶対パスでもだめでした。
>>738
ビットマップ埋め込みのやつでは駄目なんですね。
公式サイトから落としたやつは出来ました。
ありがとうございます。
0740名前は開発中のものです。
05/02/13 00:50:02ID:phhxXInx御意。うちは USE_RWOPS を定義して ogg を読み込んでます。
SDL_mixer の music.c を見てると、Mix_LoadMUS_RW() は
ogg, mikmod 以外は実装されてないですね…。
ということは mp3 に限らず cmd, wav, midi もダメっぽい。
ところで cmd て何?って調べてみたら
外部プログラムを実行して曲を再生するんですね…。
music_cmd.c を読んでみたら
冒頭に /* This is a UNIX-specific hack */
再生時に music->pid = fork();
一時停止時に kill(music->pid, SIGSTOP);
再開時に kill(music->pid, SIGCONT);
停止時に kill(music->pid, SIGTERM);
とかやってて、ビビリました。
0741378
05/02/13 10:02:12ID:msvBWsr3> ってことは、mp3でなく、oggを推奨していますってことなのかな?
ogg の実装が一番楽だったってだけだよ。
libogg の方に登録する読み込み関数のポインタを
FILE 系から RWops 系にするだけだったから。
SDL_mixer は、USE_RWOPS の場合は RWops 版と FILE 版をコンパイルして、
そうでない場合は FILE 版だけをコンパイルする、というスタンスを取ってるせいで、
mp3, wav, midi は実装なんて読み込む部分以外全部同じなのに
両方のバージョンが必要になってる。
以前、全ソースを RWops 版で統一して、
Mix_LoadMUS は内部で単に Mix_LoadMUS_RW か cmd を呼ぶだけ、
という実装でパッチ投げたんだけど返答は無かった。
Mix_LoadMUS(_RW) レベルじゃなくて、
mp3, wav, midi それぞれの実装に FILE 版と RWops 版のインターフェイスを作らないと
受け入れてもらえそうにない。
めんどいなあ。ほとんど関数名置き換えるだけだから簡単なんだけど。
0742名前は開発中のものです。
05/02/14 18:46:49ID:pz8RlDejSetColorKeyを使って透明色を持たせたテクスチャを表示するのは
SDL_BlitSurfaceでできますが、このテクスチャを拡大、回転をさせたい場合はどうすればよいの
でしょうか?
SGE_Transeformを使うとどうも透明色の効果が発揮しません。
0743名前は開発中のものです。
05/02/14 19:59:14ID:ea+EL2qX適当に扱ってもそこそこ動いてしまうことが多いから、
仕様を厳密に守ってるライブラリは少ないよ。
http://www.ferzkopp.net/~aschiffler/Software/SDL_gfx-2.0/
こっち使ってみたらどうかな。
ちょっと前にソースを覗いたときはまだ不完全な実装してたから、
透明色周りの処理全部がちゃんとしてるかどうかはわからないけど。
0744名前は開発中のものです。
05/02/14 21:00:13ID:pz8RlDejさっそくのご回答ありがとうございます。
警告がばしばし出たうえに、多少手を加えないとコンパイルが通らない
ほどいまだ不完全な実装でしたが、透明色まわりは解決されていたようです。
0745名前は開発中のものです。
05/02/15 19:44:14ID:YKXR9FxL\Borland\freebcc>make -f SDL.mak
で
..\..\src\video\windib\SDL_dibevents.c:
Error E2342 ..\..\src\video\windib\SDL_dibevents.c 189: Type mismatch in paramet
er 'lpPrevWndFunc' (wanted 'int (__stdcall *)()', got 'long (__stdcall *)(void *
,unsigned int,unsigned int,long)') in function DIB_HandleMessage
*** 1 errors in Compile ***
とかいうエラーが出て止まる……
makeall.bat動かしたらtestディレクトリに色々とデモらしきものが出来てるけど。
フリーBCC使ってる皆さんちゃんと動いてます?
0746名前は開発中のものです。
05/02/15 19:48:01ID:TwJPXr3V0747745
05/02/15 19:56:12ID:YKXR9FxLSDL-1.2.8-win32.zipのSDL.dllをtestディレクトリに入れたらサンプル群がちゃんと動きました。
コンパイルできなくてもなんとかなる、というよりコンパイルする必要が無いからその辺テキトーなのかな…。
ソースに付いてるインストールガイド(Borland.html)ではSDL.dllもコンパイルされるみたいに書かれてるのに。
0748名前は開発中のものです。
05/02/15 20:31:16ID:+9+lxg8U>Error E2342 ..\..\src\video\windib\SDL_dibevents.c 189: Type mismatch in paramet
とりあえずキャストしてみたら?
intとlongの違いなら害は無さそうだし。
0749名前は開発中のものです。
05/02/15 20:48:20ID:6CIQh+ICDirectX と WinDIB の両方でエラーになるから、片方潰して回避することもできない。
結構粘ってみたんだけど、問題解決できなかった。
単に一つ定義が足りないっつってるだけかと思ったら、
手動で定義しても次々別のエラーが出てくるだけ。終わらない。
他に根本的な原因があるんだろうけど、解明できなかった。
ちなみに VC も DirectX のソースでエラー吐く。
こっちも問題を解決できなかったので、
プロジェクトの設定 -> 左の'SDL'を選択 -> C/C++ -> プリプロセッサ -> 定義から ENABLE_DIRECTX を消す
とやって、これでもまだ足りないから、
ファイルビューから名前に dx5 を含むファイルを全部削除した。
これで DirectX 無しでだがコンパイルできるようになる。
ちなみに、初期状態だと afxres.h が無いとか言い出すけど、
#include <windows.h>
とだけ書いた afxres.h を SDL-1.2.8\VisualC\SDL に置けば回避できる。
まさかちゃんとした afxres.h を持ってこないと
DirectX 付きでコンパイルできないってんじゃないだろうな……。
1.2.7 の時の話だから、今はまた少し事情が違うかもしれないけど、
手元で確認した限りだと 1.2.8 も BCC VC 共にそのままではコンパイル不可。
もう Cygwin でしかテストしてないのかね。
0750名前は開発中のものです。
05/02/15 20:57:08ID:YKXR9FxLreturn CallWindowProc(userWindowProc, hwnd, msg, wParam, lParam);
てとこのおそらく第一の引数なんだが、関数の型キャストのしかたわからんです (´・ω・`)
でもここをなんとかしても駄目なのか……
>>749
情報ありがと。BCC使ってる人自体がもう少数なのか?
まあdll作れなくても動くみたいだからいいや。他のSDL_image なんかが使えるか心配だが。
0751名前は開発中のものです。
05/02/15 22:58:42ID:+KOUJpD5SDL_dibevents.cの189行
SDL_dx5events.cの547行
return CallWindowProc((FARPROC)userWindowProc, hwnd, msg, wParam, lParam);
SDL.makeの
OBJFILES=に..\..\src\cpuinfo\SDL_cpuinfo.objを追加
PATHCPP=に..\..\src\cpuinfoを追加
これで、make出来ると思う。(動くかどうかは(゚听)シラネ)
VC++だとerrorじゃなくてwarningだから、コンパイル通るみたいだね。
>>749
1.2.7も1.2.8もVC++6.0、VC.NET2003両方とも普通にコンパイルできるけど?
0752名前は開発中のものです。
05/02/15 23:00:06ID:V7EcU05uBCC使ってるけどDLLをコンパイルし直すということはしないなぁ
0753749
05/02/16 05:37:50ID:ASwNW9Kwありゃ。俺んちだと次のエラーが出る。
SDL-1.2.8\src\Video\Windx5\SDL_dx5events.c(171) : warning C4013: 関数 'GetAncestor' は定義されていません。int 型の値を返す外部関数と見なします。
SDL-1.2.8\src\Video\Windx5\SDL_dx5events.c(171) : error C2065: 'GA_ROOT' : 定義されていない識別子です。
SDL-1.2.8\src\Video\Windx5\SDL_dx5events.c(171) : warning C4047: '=' : 間接参照のレベルが 'struct HWND__ *' と 'int ' で異なっています。
SDL-1.2.8\src\Video\Windx5\SDL_dx5events.c(655) : warning C4047: '=' : 間接参照のレベルが 'struct HWND__ *' と 'int ' で異なっています。
俺の環境がおかしくなってるだけかも。VC 入れ直してみる。
>>751
やべー、ほんとだ通った。ありがとう!
>>752
stdout.txt が鬱陶しいから直接コンソールに出力して欲しいとか、
パッチ書いたから BCC でもコンパイルできるか試すとか、
大抵そんなんじゃないかな。
0754名前は開発中のものです。
05/02/19 00:06:37ID:G5VXh4sKimageとmixerしか使ってないけど…。
0755名前は開発中のものです。
05/02/19 17:54:05ID:vHiopGBSSDL_CreateRGBSurfaceFrom ないしは、 SDL_CreateRGBSurface を
使用しようと、してるのですがなぜか
Fatal signal: Segmentation Fault (SDL Parachute Deployed)
といわれてしまいます。
少々ながいのですが、sample 乗せますので、どこがわるいのか
識者のかた、見ていただけないでしょうか?
------- cut here ----------------------------------------
#include <SDL.h>
#include <stdlib.h>
#include <string.h>
#define XXX (60)
int main( void )
{
int j;
Uint16 **data;
Uint32 rmask = 0x0000001f;
Uint32 gmask = 0x000007E0;
Uint32 bmask = 0x0000F800;
Uint32 amask = 0x00000000;
SDL_Surface * screen;
if ( 0 < SDL_Init( SDL_INIT_VIDEO|SDL_INIT_TIMER ) ) {
fprintf( stderr, "Colud not initialize: %s\n", SDL_GetError() );
exit(3);
}
atexit( SDL_Quit );
if ( NULL == SDL_SetVideoMode( 800, 600, 16, SDL_ANYFORMAT ) ) {
fprintf( stderr, "Could not set video mode... :%s\n", SDL_GetError() );
exit(4);
}
data = (Uint16 **)malloc(sizeof(Uint16) * XXX);
0756名前は開発中のものです。
05/02/19 17:56:23ID:vHiopGBSexit(10);
for (j = 0; j < XXX; ++j) {
data[ j ] = (Uint16 *)malloc(sizeof(Uint16) * 80 * 80 );
if ( NULL == data[ j ] )
exit(10);
memset( data[ j ], 0xff, sizeof(Uint16) * 80 * 80 );
}
screen = SDL_GetVideoSurface();
for ( j = 0; j < XXX; ++j ) {
int z;
SDL_Rect r = { 0, 0, 0, 0 };
printf("sprite index[%d] ...\n", j );
// SDL_Surface * surface = SDL_CreateRGBSurfaceFrom(data[ j ], 80, 80, 16, 80 * sizeof(Uint16),
// rmask, gmask, bmask, amask);
SDL_Surface * surface = SDL_CreateRGBSurface(SDL_SWSURFACE,
80, 80, 16, rmask, gmask, bmask, amask);
if ( SDL_MUSTLOCK( surface ) ) {
if ( 0 < SDL_LockSurface( surface ) ) {
fprintf( stderr, "Could not lock surface.: %s\n", SDL_GetError() );
return 0 ;
}
}
for ( z = 0; z < 80 * 80; ++z)
((Uint16*)(surface->pixels))[ z ] = data[ j ][ z ];
if ( SDL_MUSTLOCK( surface ) ) {
SDL_UnlockSurface( surface );
}
0757名前は開発中のものです。
05/02/19 17:56:54ID:vHiopGBSif ( NULL == surface ) {
fprintf( stderr, "Could not make surface...:%s\n", SDL_GetError() );
exit(1);
}
if ( j >= 10 ) {
int xx = j % 10;
int yy = j / 10;
r.x = xx * 80;
r.y = yy * 80;
} else {
r.x = j * 80;
r.y = 0;
}
SDL_BlitSurface( surface, NULL, screen, &r );
SDL_UpdateRect(screen, 0, 0, screen->w, screen->h);
SDL_Delay( 100 );
SDL_FreeSurface( surface );
}
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています