SDLスレ
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001login:Penguin
01/11/11 17:59ID:u0HMN7qCSDLについてのスレッドです。
最新情報、参考になるソース、質問等
とりあえず、本山
http://www.libsdl.org/
0002名無しさん@お腹いっぱい。
01/11/11 18:15ID:jfiPYGosSDL関係のニュースはSDL Watchで
http://www2.jan.ne.jp/~zinnia/sdl/watch/cur/rent/
0003名無しさん@お腹いっぱい。
01/11/11 23:04ID:???こういうものに見向きもされないね・・・。
0004名無しさん@お腹いっぱい。
01/11/11 23:26ID:???まだ何もやってないのでなんとも書けないのだ
0005名無しさん@お腹いっぱい。
01/11/12 01:18ID:DmTmPUJOそんなことないよ。
0006名無しさん@お腹いっぱい。
01/11/12 01:57ID:Owf81e9Y煽り for 1 with SDL
http://pc.2ch.net/test/read.cgi/linux/999430299/107-108
及び、そのパッチ
http://pc.2ch.net/test/read.cgi/linux/999430299/152
0007名無しさん@お腹いっぱい。
01/11/12 11:59ID:???0009名無しさん@お腹いっぱい。
01/11/12 19:20ID:DmTmPUJO改善されたのでしょうか?ちなみにWindowsの話です。
0010名無しさん@お腹いっぱい。
01/11/12 20:48ID:???だからいろんな機種に対応できるのかな。
0011名無しさん@お腹いっぱい。
01/11/12 21:32ID:???PS2のLinuxにも対応してたしなー。ま、そんなに速度は出なかったようだが。
0012名無しさん@お腹いっぱい。
01/11/12 21:47ID:kcOnH9jVWin版のソース見たこと無いけどライブラリ内でDirectX使ってるんじゃないかな?
もしかしたら前使ったバージョンってのがソフトでやってたのかもしれないけど・・・。
0013名無しさん@お腹いっぱい。
01/11/12 22:09ID:???ソース見てないけど。
0014名無しさん@お腹いっぱい。
01/11/13 10:53ID:PbpUkqCTSDL library documentation(japanese)
http://www.wakhok.ac.jp/~momma/SDL/
Adas' Linux ゲームプログラム
http://www.geocities.co.jp/Berkeley/2093/
ruby/SDL
http://www.kmc.kyoto-u.ac.jp/~ohai/
Just Another Ruby/SDL
http://www6.tok2.com/home/tamura/rubysdl/index.php3
0015名無しさん@お腹いっぱい。
01/11/13 20:04ID:ClbS1BbeSDLみたいな使い方を解説しているHPとかないでしょうか?
0016名無しさん@お腹いっぱい。
01/11/13 20:26ID:???解説も何も、そうすれば良いじゃん
0017名無しさん@お腹いっぱい。
01/11/14 22:16ID:yJ3mZr76http://www.freeml.com/ml_info.php?ml=sdl-fan-jp
>SDLはDirectXが入ってる環境では自動的に使ってくれるらしい。
ヘッダとライブラリは必要。
既出の
Adas' Linux ゲームプログラム
http://www.geocities.co.jp/Berkeley/2093/
に解説あり。
0018名無しさん@お腹いっぱい。
01/11/15 00:58ID:???開発環境にはってこと。
実行時にはDirectXを自動的に使ってくれる。
0019名無しさん@お腹いっぱい。
01/11/18 08:00ID:l+W9gEoZ変なディレクトリ構成でインストールしちゃったり、
SDL.hがフレームワークに入ってなかったり
PBProjects.tar.gzの最新版が壊れて(?)たり
鬱だ、、、
0021名無しさん@お腹いっぱい。
01/11/18 14:16ID:uGlRUOgoKore Kai?
http://www.talula.demon.co.uk/allegro/index.on.html
0022名無しさん@お腹いっぱい。
01/11/21 02:04ID:8gboFG9qインストールの段階でつまづいて困ってるんですけど…
002322
01/11/21 23:16ID:???とりあえずインストールまで完了。
002422
01/11/23 10:39ID:???とりあえずここのチュートリアルを一通り読んでみました。
0025名前は開発中のものです。
01/11/23 21:49ID:???ウチはver3.9.40 +Win2k でmakefile.bcc の記述ミスによる
コンパイルエラーを確認したが。
※出力を良く見たら、ソースのパスから\が抜けていたので、
エディタで行末以外の\を\\に置き換えてやったらうまくいった。
002622
01/11/24 21:25ID:???all3940.zipを解凍してfix.bat bcc32と実行するところまではOKなんですけど、
その後makeしようとすると「指定されたファイルが見つかりません」って出てしまいます。
\を\\で置き換えるのもやってみましたけど、同じでした。
mingwでインストールできちゃってるので、あんまり深くは追求しないことにします。
すいません。
002725
01/11/25 01:32ID:???…とは言わん。対応するコンパイラの多さもAllegroのウリだし。
ところで「指定されたファイルが見つかりません」等と下手に
翻訳するより、原文載せた方が原因判明しやすいと思うヨ。
何となく BCC32DIR のパス指定ミスとか、
GNU make じゃなくてBCC付属のmake使ってるとか、
必要なファイルの不足とかいった原因が思い浮かぶが、
実際のエラー文を見てみないと良くワカラン。
002822
01/11/25 02:13ID:???BCC32DIRの設定は
> set BCC32DIR=f:\w2k\Borland\CBuilder5
とやりました。
make しようとすると、
H:\temp\all3940\allegro>f:\w2k\mingw\bin\make.exe
process_begin: CreateProcess((null), echo Compiling Allegro for BCC32, optimised
. Please wait..., ...) failed.
make (e=2): 指定されたファイルが見つかりません。
f:\w2k\mingw\bin\make.exe: *** [msg] Error 2
と出てしまいます。
もうちょっと調べてみます
002925
01/11/25 14:57ID:???内部用コマンドであるはずのecho が外部コマンドとして
実行されようとして、結果エラーになってるみたいですナ。
自分もヘタレ何でよくわからんけど、もしかしてdos上で
cygwin用make実行してるとか、逆にcygwin上でdos用makeを
実行してない?
一応DOS/Win用のGNU-Makeの在処を。
http://sourceforge.net/projects/mingw/
003022
01/11/26 07:45ID:???cygwinのmakeを使うと
copy: not found
って出ます。
一応makeだけ落としなおしてみましたけど結局同じでしたんで、
今回はあきらめることにします。
どうもありがとうございました。
003122
01/11/26 07:45ID:???0032名前は開発中のものです。
01/12/05 01:12ID:???0033名前は開発中のものです。
01/12/23 23:10ID:lg6LImo60034名前は開発中のものです。
01/12/24 00:27ID:???0035名前は開発中のものです。
01/12/24 01:51ID:L8voSXpAやっぱ型付けが強い言語がゲームとか複雑な実装には
向いているのかなぁと。
(Rubyとかは業務機関とか単純な実装に使うのがいいやね。)
0036名前は開発中のものです。
01/12/24 02:08ID:9LVHa4NS0037名前は開発中のものです。
01/12/24 02:47ID:???0038名前は開発中のものです。
01/12/24 05:10ID:ducal9m3よろしければ具体的な理由(そう感じた決定打?)を教えてください。
Ruby/SDLのサンプル見た感じではそんなに悪い印象を感じませんでしたが、
Cとかの方が有利な点があればぜひ知りたいです。
0039名前は開発中のものです。
01/12/24 09:14ID:???感染しちゃうよ。ソース公開だとかどうしてるの?みんな
0040名無しさん@Emacs
01/12/24 09:56ID:8rf6wve4SDL_OPENGLBLITのことでしょうか?今でも遅いですよ。
SDL_OPENGLでハードウェア使える環境なら、少なくとも2Dでは充分な速さが出ます。
>>39
SDLはLGPLです。ソースは公開しなくても良いです。
ただ再リンクが可能なようにオブジェクトも配布しないといけないんだっけか?
ヘタレなので詳しくはわかりませぬ。調べて下され。
0041名前は開発中のものです。
01/12/24 10:31ID:???OpenGL使うのは、Windows以外の2D描画でハードウェアアクセラレーションを
利用する手段が無いことじゃなかったかな。
0042名無しさん@Emacs
01/12/24 12:17ID:8rf6wve4Windowsの2Dで提供されているぐらいのハードウェアアクセラレー
ションならSDLの各環境でも可能なら利用するように実装されてま
すね。
0043名前は開発中のものです。
01/12/24 13:54ID:L8voSXpARuby は Cよりはよっぽどいいんですけども、ただ、
JavaやC++は型が間違っていると実行前に気づかせて
くれるので、ゲームのようにテストのしづらいものを
作る場合は型づけが強いほうが楽かなー。と思ったん
ですけども。
0044名前は開発中のものです。
01/12/24 23:08ID:UrCj+faVということは、以下のスレと関連する話って事ですか。
型なし言語逝ってよし
http://pc.2ch.net/test/read.cgi/tech/986355498/
実際にRuby/SDLなりその他のバインディング(っていうんでしたっけ?)での
ゲームの実例があればもう少し話を広げられそうなんですが、
詳しく知らないです。
0045名前は開発中のものです。
01/12/25 14:58ID:fIdcRD6/> ゲームの実例があればもう少し話を広げられそうなんですが、
いろいろ考えてみたんですけど、まぁ、型づけが強くないとテスト
しづらいっていうのは、もともとテストしづらい設計で、こ
のまま作っていても、あんまりよくないっていうことを暗に
示しているのかなと思うようになりました。
型づけの強い言語でもそうだけど、型づけの弱い言語ならなおさら、
徹底した XP 張りのテストが必要になるなぁ、と。
0046名前は開発中のものです。
01/12/27 05:06ID:zYDgayx3>>45
XPといってもRubyUnitをほんの少し触ったことしかありませんが、
単に型に注目するだけでしたら、引数の型が正しいかどうかを
確認するテストを各メソッド毎に用意する、みたいな。
C等のプロトタイプ(宣言?)をテストで補う感じでしょうか。
それとは別にゲーム…特にリアルタイム系のゲームにに特化した
テストがあると良いのかもしれませんね。
例えば入力機器(マウスとかジョイスティックとか)が吐き出すデータを
仮想的に生成して、それをリアルタイムにテストしていく…
なんか自分で書いてて良くわかりませんが。
0047名前は開発中のものです。
01/12/27 14:35ID:zrY5itRv> 単に型に注目するだけでしたら、
つまりたとえば、シューティングゲーム作るときに、ステージの最期に
ボスシーンがあるわけですが、多分、多くのゲームプログラマは、
ステージの構成を Scene クラスとして、それを継承して BossScene クラス
みたいなものを作ると思うんですけども。
もし、間違えて Scene オブジェクトじゃなく int オブジェクトを
渡してしまっても、その間違いに気づくには、ボスシーンまで辿り
つかないといけないという、、、。ちょっと、これは、、、、うーん。
(まぁそれを未然に防ぐ手だてはいくつかあると思うんですけどもね。)
Ruby のような気軽に使われることを想定しているプログラミング言語
の場合は型なんて無いほうがメリットが多いので、それはそれでいいん
ですけども、ちょっと複雑なものになってしまったとき、Ruby じゃなく
C++ や Java の方がいいんじゃないかなと。
0048名前は開発中のものです。
01/12/27 16:28ID:???結局はロジックの間違いなんだよね、ほとんど。
Java の null pointer exception もしかり。
型があることで設計がしやすいケース以外では
型が無くて困ることはないなあ。特にユニットテストし始めてからは。
ただ、ゲームではまだ試してないからわからないけど。
0049名前は開発中のものです。
01/12/28 01:43ID:???そんなことしてないって言うんなら、バグの出る危険性は型なしでも強い型付けでも同じ。
まぁ、タイプミスやボケててで紛らわしい変数渡しちゃったりするのの防止には
なるかもね>強い型付け言語
経験的に>>47が言ってるようなバグで苦しんだことは無いぞ。
ゲームじゃない分野の話だけど。
0050名前は開発中のものです。
01/12/28 03:26ID:???Rubyは変数自体に型が無いだけで、変数が指すオブジェクト自体には
型があります。ですからそれを本チャン前にチェックするような手順を
踏めば、CやC++のコンパイル時の型チェックと似たようなことを行う
事は可能です。ただ、CやC++は言語仕様として型チェック機能
があって(っていっても良いの?)、RubyやPerl等には無いと。
コードを書く際に言語を選択する時、おそらくどのようにして開発していくのか
というのは予め考えられていると思うんですよ。なので、Perlで書くにしても
Javaで書くにしてもそれなりに作っていけるものだと思います。
ですので>>47さんがC++やJavaの方が良いという話は、
その方が「自分に向いている」ということと解釈しました。多分そうですよね?
強引にSDLがらみに話を持っていくと、Ruby/SDLのコード量を見て
Cで書いた場合より少ない、というのがとても好印象でした。ただ、Rubyの
優位性の話をしたいわけじゃなくて、同じ機能のコードを書くのであれば、
書く量が少ないほど不具合に対処しやすいのではないかと。
ちょっと強引でしたねsage。
0051名前は開発中のものです。
01/12/28 03:28ID:???>>50
誤: Ruby/SDLのコード量を見て
正: Ruby/SDLのサンプルコードのコード量を見て
0052名前は開発中のものです。
01/12/28 10:53ID:???流し読みしたけど。見るだけでもう疲れちゃった( ´∀`)
0053名前は開発中のものです。
01/12/30 05:45ID:apMyMob6undefined reference エラーがたくさんでるのですが
cygwin で -mno-cygwin オプションって鬼門なんでしょうか?
005453
01/12/31 03:52ID:???0055名前は開発中のものです。
01/12/31 06:52ID:???0056名前は開発中のものです。
02/01/02 01:49ID:VzsaD8C7ゲームは乱数・ユーザー入力などの不確定要素の影響が大きい
↓
単体テスト・自動テストが難しく、レアケースも多い
↓
型付けが弱いと凡ミスの発見が遅れる
っていうのはあったよ。
やっぱり型は合った方がいいけど、
まあ事前に相応の開発手法をちゃんと練っておけば
対処できない範囲内でもない、といったところかな。
生Cをつかうくらいなら圧倒的にRuby使った方がいいと思うけど。
C++と比べたらC++を採る。俺なら。
0057名前は開発中のものです。
02/01/11 01:41ID:f0gNm/Wmhttp://www.cmagazine.jp/contents/next.html
0058名前は開発中のものです。
02/01/18 20:47ID:???まさか Sam へのインタビュー付きとは思わなかった。
0059名前は開発中のものです。
02/01/23 03:38ID:???0060名前は開発中のものです。
02/01/23 14:53ID:???256倍?
0061名前は開発中のものです。
02/01/24 02:54ID:???0062名前は開発中のものです。
02/01/24 15:24ID:???絶対買う。
ソースきぼーん。
0063名前は開発中のものです。
02/01/24 22:16ID:???3月号はP/ECEの記事があるyo!
0064名前は開発中のものです。
02/01/27 21:41ID:???http://slashdot.jp/journal.pl?op=display&uid=4115&id=36514
0065名前は開発中のものです。
02/01/28 04:13ID:???サンクス。
0066名前は開発中のものです。
02/01/28 12:59ID:z3on8a9k0067名前は開発中のものです。
02/01/28 16:53ID:???http://www.nostarch.com/game_contest_results.htm
0068名前は開発中のものです。
02/02/01 02:53ID:???上位ランクの方から順に試そうとしたんだが、正直、げんなりした。
センスの違いとゆーか。
0069名前は開発中のものです。
02/02/01 10:36ID:???そのまえにSDLだと日本語表示が問題なんだっけ?
0070名前は開発中のものです。
02/02/02 05:37ID:???おめーが作れよ。
0071名前は開発中のものです。
02/02/23 06:33ID:a2u9firLウインドウが停止してしまいました。
N64やGameCubeみたいにイベントとビデオを別のスレッドで動かすことは
できないよう少しがっかりしています。WindowsではDirectInputで直に
取ってくるしかないのでしょうか。
0072名前は開発中のものです。
02/02/23 15:21ID:???SDL_SetEventFilter() 使ってメッセージをフックすれ。
フック後の処理を別スレッドしたいなら、フック関数内でスレッド生成すれ。
あとmutex忘れるなよ。
007371
02/02/23 20:17ID:+rToCvhxあ..なるほど...! この手法ならうまく書けそうですね。
72さんご助言大変参考になりました。ありがとうございます!
0074名前は開発中のものです。
02/02/23 21:30ID:???がんばれヨ。
あと質問する前にリファレンスをじっくり見ような。
英語が辛いならこーいのもあるぞ。(ちと古い&有名すぎるが。)
http://www.wakhok.ac.jp/~momma/SDL/
007571
02/02/26 07:13ID:nHGqkL6j数日かかりましたが、別スレッドでうまく動かせるようになりました。(^^;)
74=72?さんのおかげです。ありがとうございました。
ようやくスタートラインでゴールは遠いですが…。
これからはリファレンスじっくり見るように心がけます。
007671=75
02/02/26 11:35ID:O5eBq1eXSDL_SetEventFilter() のフィルタリングは SDL_PumpEvents() の直後
にしか発生しないようでした。私としては、PumpEvents とは非同期で
イベントが発生したときに来ると思っていたのですが
SDL_PumpEvents() で汲み取らないとフィルタリングも発生しないようです。
ある時点のマウスの状態をそのまま取得できれば良いのですが…
そういう関数は無いですよね…。どうしたら良いのでしょうか…。
--- モニタ ---
[VIDEO/CORE] ユニットイニシャライズ
[CORE] 処理開始(インターバルタイム 25 ms)
[CORE] フレーム 9 : マウス( 590, 242 )
[VIDEO] シーン描画開始(CondSignalを受けて)
[CORE] フレーム 10 : マウス( 292, 466 )
:マウス位置の更新がフリーズ < フィルタリングが機能していない...? >
[CORE] フレーム 22 : マウス( 292, 466 )
[VIDEO] シーン描画終了(SDL_PumpEvents 実行)
[CORE] フレーム 23 : マウス( 148, 43 )
[CORE] フレーム 24 : マウス( 149, 21 )
[CORE] 終了リクエスト
[VIDEO/CORE] シャットダウン
0077お節介な72
02/02/27 00:33ID:???Document Projectのページ(http://sdldoc.csn.ul.ie/)をざっと見てみたら、
8.Events (http://sdldoc.csn.ul.ie/event.php)
Eventfunctions (http://sdldoc.csn.ul.ie/eventfunctions.php)
にチミが求めているモノらしい関数があったゾ。
・SDL_GetMouseState (http://sdldoc.csn.ul.ie/sdlgetmousestate.php)
書式:
#include "SDL.h"
Uint8 SDL_GetMouseState(int *x, int *y);
引数:
x,y … マウスポインタの座標を受け取るint型変数へのポインタorNULL値。
戻り値:
ボタンの状態。
SDL_BUTTON(X) マクロとの論理積をとる事で、X番目のボタンの状態を取出せる。
# リファレンスはブックマークしておくよーに。
0078お節介な72
02/02/27 00:35ID:???Document Projectのページ(http://sdldoc.csn.ul.ie/)をざっと見てみたら、
8.Events (http://sdldoc.csn.ul.ie/event.php)
Eventfunctions (http://sdldoc.csn.ul.ie/eventfunctions.php)
にチミが求めているモノらしい関数があったゾ。
・SDL_GetMouseState (http://sdldoc.csn.ul.ie/sdlgetmousestate.php)
書式:
#include "SDL.h"
Uint8 SDL_GetMouseState(int *x, int *y);
引数:
x,y … マウスポインタの座標を受け取るint型変数へのポインタorNULL値。
戻り値:
ボタンの状態。
SDL_BUTTON(X) マクロとの論理積をとる事で、X番目のボタンの状態を取出せる。
007976
02/02/27 02:06ID:JQVw0zDdGetMouseState は使っているのですが PumpEvents(またはPollEvent)を
呼ばないと、更新されないようで…。
えっと…、やりたいことは以下の通りなのですが(↓任天堂方式)
イベントスレッド:イベントだけを処理
ビデオスレッド:必要なら描画
メインスレッド:イベント・描画に関係なく一定時間で起動(コマ落ち対策あり)
SDLの制限ではビデオとイベントは分離できない仕様になっていて
ビデオ処理→イベント処理を繰り返し一つのスレッドで行わないといけないようです。
状態を取得したくても PumpEvents() を置かないと読みとってくれないので(^^;)
非同期で割り込みでイベントを感知する手段がSDLになくて、イベントの入力が
画面の描画後でしか読みとってくれない(^^;)です。
ビデオの速いマシンでは問題ないのですが、遅いマシンでは入力まで遅くなって
しまいます。(^^;)
これって、イベントドリブン式の弱点…なんですよね…。
リアルタイムゲームをつくるとき、イベント直後に割り込みでフックしてくるか
そのまま入力を読み取るパターンがないと困ると思うんですが、PumpEvents()
(PollEvent) が前提になってるみたいで…。
0080名前は開発中のものです。
02/03/09 01:07ID:cjQ6leFrwww-6.ibm.com/jp/developerworks/linux/sdl/sdl.html
0081名前は開発中のものです。
02/03/10 18:06ID:149HiR+ppart 5 made aruyo.
0082名前は開発中のものです。
02/03/18 08:47ID:???0083名前は開発中のものです。
02/03/18 08:48ID:5Rsci23c0084taku
02/03/18 13:52ID:???ゲーム作りに興味がある人は、メールをください♪
思っているだけで、まったくゲーム制作をしたことがない人でも結構です♪
とりあえず、私も少しは、やっていますが、初心者なので、みんなで勉強をしながらゲームを作っていきたいと思ってます♪
基本的に、web上でやる、フリーゲームで、ジャンルとしては、RPGを考えています。(いろいろなジャンルも作ろうと考えていますが・・・)
それでは、とりあえず、メールをください♪
0085名前は開発中のものです。
02/03/19 14:38ID:???0086名前は開発中のものです。
02/04/14 11:55ID:lp2DMwsU0087名前は開発中のものです。
02/04/14 11:56ID:lp2DMwsU0088名前は開発中のものです。
02/04/15 02:17ID:???安心したかい?
0089名前は開発中のものです。
02/04/15 22:40ID:???009087
02/04/17 01:40ID:B2sY58ogちょっと覚えるために弄ってたら、
簡単にMODが再生出来てかなり感動したんだけど、
みんなは、これに魅力を感じないのかな?
0091名前は開発中のものです。
02/04/17 09:04ID:JVlCUCtAお気楽だよね、SDL。
英語読むのたるいから、LinuxJapanの連載で情報収集してるけど、
周辺ライブラリも含めると、ほんと、楽。
Win用のソースをちょこっといじってLinuxで動いたときは
正直感動した。
>>89
SDLはLGPLだから、自分のソースをGPLにする必要ねーだろ。
DLLつかうか、リンク前のオブジェクトを一緒に配ればOKだ。
0092MLをRomってる七資産
02/04/17 11:09ID:???ライセンスの問題が把握できず躊躇している人が多いと思われ。
漏れもその一人だが。
>>91
SDL-MLの有志の方々がdocのja化を進めてます。
最近、SDLでデモ作るコーダーも少なからずいますね。
それらのアーカイブには、ソースついてないから、ソースはつけなくて・・・いいのかな?
0093名前は開発中のものです。
02/04/17 18:44ID:???0094名前は開発中のものです。
02/04/17 19:30ID:???009589
02/04/17 23:55ID:???RPG等の文字情報の多いゲームが作りづらいっつーか作れん。
AllegroでTTFを扱う為のライブラリがあったはずなんだが、
今は影も形も無い…
0096名前は開発中のものです。
02/04/18 06:46ID:???0097名前は開発中のものです。
02/04/19 14:03ID:???(ライブラリの設計見ただけで分かるけど(ワラ)
その辺の好みで使い分けるのもいいかも風来のシレン。
0098名前は開発中のものです。
02/04/24 06:39ID:es9pDMEYAllegro はゴテゴテしすぎ。
0099名前は開発中のものです。
02/04/24 13:35ID:???0100名前は開発中のものです。
02/04/24 21:51ID:???http://www.ya.sakura.ne.jp/~logion/SDLdoc-jp/
http://slashdot.jp/article.pl?sid=02/04/23/1458249&mode=thread
0101名前は開発中のものです。
02/04/27 10:11ID:???0102名前は開発中のものです。
02/05/01 14:49ID:???サウンドの再生。つーか、シンプルすぎてSDL_mixer使わんと、ちょっと...
0103名前は開発中のものです。
02/05/02 03:43ID:sX.bsevcスプライン曲線、ポリゴン、スプライト、テキスト描画といったもの、
サウンドではネイティヴでのMIDI再生だとか、
場合によっては余分な機能が含まれている。
SDLではグラフィックの描画はFillとBlitのみ。
サウンドはPCMを垂れ流すだけ、みたいな。
これはシンプルだと思うけどなー。
ま、なんでも自分でやりたい俺みたいのは SDL が好きだ、
という話。
ライブラリ内部の話となると、SDL もシンプルじゃないけどね。
0104名前は開発中のものです。
02/05/02 03:45ID:???こういうのが分離出来るようになっているほうが落ち着く。
0105名前は開発中のものです。
02/05/02 09:20ID:???DirectXと比較して(w
初代Direct3Dの初期化書いてみな。ゲイツ殺したくなるから。
0106名前は開発中のものです。
02/05/02 11:30ID:???書いたことあるけど、別に。
0107名前は開発中のものです。
02/05/02 12:29ID:???0108名前は開発中のものです。
02/05/02 18:18ID:???俺は二度と書きたくない。
何をどう初期化したのか後から見ても理解できんし。
初期化ごときに時間かけるのもアホらしい。
0109名前は開発中のものです。
02/05/02 18:47ID:???0110名前は開発中のものです。
02/05/02 23:06ID:???0111名前は開発中のものです。
02/05/03 00:49ID:???別にAllegroでもFillとBlitのみ利用して、
スプラインとかポリゴンは自分でってのは可能だと思うが。
ライブラリに余分なバイナリが含まれているからって、
実行形式ファイルも太るわけではないし。
むしろSDLのように複数のライブラリを組合わせて使うという方式は、
無駄(コードの重複)が生じやすい。
0112名前は開発中のものです。
02/05/03 11:52ID:QXZFUo7o0113名前は開発中のものです。
02/05/03 18:22ID:P7bmG2Tgmingwを使っています.
実行ファイルが
SDL.dllを必要としないように
コンパイルすることは可能ですか?
0114名前は開発中のものです。
02/05/04 01:19ID:???それはライセンス違反ですにょ。>>113
SDLはLGPLなのでソースを公開する、しないにかかわらず
DLLリンクで十分なはずです。
0115名前は開発中のものです。
02/05/04 02:46ID:IDR1uRSYLGPLの勉強します
0116113
02/05/04 02:50ID:IDR1uRSYmingwでリソースもコンパイルして
exeにいれますよね?
SDLのAPIみたら
画像の読み込みは
fileポインタ渡してたみたいなんです
これはどういうことなんですか?
あとexeに画像ファイルを埋め込むプログラムは
Linuxに移植は容易にできるのでしょうか?
0117名前は開発中のものです。
02/05/04 06:19ID:???実行ファイルに絵のファイルを結合してるだけなら、その実行ファイルと
絵の開始位置さえわかれば fileポインタで十分読み込めるのではないかと。
fp = fopen( ... ); fseek( fp, ... ); // 実行ファイルを開いて開始位置までシーク
ReadPicture( FILE *fp, ... ) {
fread( ... ); // いきなり読み込みでも開始位置まで来てるので問題ない
}
そこんところの仕組みがわからないけど、(WINネイティブな何かを使っているのか)
仕組み的には難しくなさそうですが…。
俺は素人なので偉い人タノム…。
0118名前は開発中のものです。
02/05/04 11:29ID:wX/OJnJI0119113
02/05/04 11:47ID:IDR1uRSYまだソース書いてないです
疑問に思ったもんで。
初心者でよくわからないのですが
fopenの引数はファイル名
だったと
>>118
見てみます
「書けば行けるんじゃない」
ということは
こんな風に普通はしないのですか?
画像はexeに入れないのでしょうか?
0120名前は開発中のものです。
02/05/04 12:39ID:???fileポインタって何の事を言っているのかちゃんと書けや、このボケが。
0121113
02/05/04 12:52ID:IDR1uRSYchar* filename
初心者でごめんなさい
0122名前は開発中のものです。
02/05/04 17:58ID:???数やサイズが結構あるなら実行ファイルと他データをまとめた
データファイルに分けるほうがスマートだと思う。
SDLを使うとかに関わらず・・・。
0124名前は開発中のものです。
02/05/04 20:33ID:???小細工しながら固めるけど趣味でSDL使うんなら、
外部から生のファイルを読むようにオープンに作ってほしいね。
0125名前は開発中のものです。
02/05/04 20:52ID:???0126名前は開発中のものです。
02/05/04 21:06ID:???wavが見えたら
冷めるから
一個に固めたいです
0127名前は開発中のものです。
02/05/04 22:50ID:???俺は、wav見えても気にしないけど、そーゆー問題じゃないんだよね?
root権を使わせてもらってもいいなら、ext2フォーマットのファイル
システムイメージを配って、それをloopディバイスつかってmountして
読み込ませるってのも手だねぇ。もちろん、ローダの中で自動化して
しまえば、ユーザには(表立っては)見えない。
普通は、中身をtarファイルにしておいて、実行時に/tmpに展開ってのかな。
HDDの空き容量必要だけど。
0128名前は開発中のものです。
02/05/04 23:12ID:???なかなか難しいですね
レスありがとうございました
研究してみます
0129名前は開発中のものです。
02/05/04 23:23ID:???OSに依存しそうだな・・・せっかくのSDLやAllegroが・・・。
0130名前は開発中のものです。
02/05/05 00:57ID:???がんばれやとしかいえんな。萎え。
0131名前は開発中のものです。
02/05/05 05:20ID:???データが見えて萎える? つまんねー奴だな。
データを簡単に交換出来れば色々改造出来て楽しいだろーが。
0132名前は開発中のものです。
02/05/05 06:49ID:???生でも気が付かないものだ。
というか、実際気が付かないことが多かった。
0133名前は開発中のものです。
02/05/06 03:48ID:1PpldsKY> bcc32 -tW -O2 -DWIN32 -c SDL_main.c
しようとすると Must use C++ for STDCOMP.H というエラーが出てしまい、
だったらと今度は -P をつけると今度は
$(bcc)\include\alloc.h 107: オーバーロード関数群の中の一つだけしか"C"にできない
などと怒られてしまいます。
どうしたらいいのでしょうか?
0134偽ASIMO
02/05/06 08:00ID:???どうしたら良いんだろう。
0135_
02/05/06 09:05ID:???0136名前は開発中のものです。
02/05/06 18:16ID:U532U/fU(無効にしてコンパイルされている)んじゃない?
0137名前は開発中のものです。
02/05/07 09:25ID:???http://www.gnu.org/licenses/gpl-faq.ja.html
SDLは、LGPL(FAQ訳では劣等GPL)だから、もっと緩いけど。
0138宣言されていない名前
02/05/14 18:42ID:???サイキョーまんせー。
0139名前は開発中のものです。
02/05/14 21:44ID:x.mXxrcs0140名前は開発中のものです。
02/06/13 11:18ID:???日本語入力に関しても解決の兆しが…?
0141名前は開発中のものです。
02/06/17 14:14ID:???0142名前は開発中のものです。
02/06/28 01:18ID:EdGR6DaM0143名前は開発中のものです。
02/09/09 02:42ID:???, ‐ァ'⌒ヾヽ ァ'⌒-‐-、
{___{==O}}.}⌒ ⌒ー-::,,.}ユ、 ∧∧
r「-‐ヾ、ァ'´,::'´/ハヾ::、、ヽ、ノ < 2
ハ _,、_/:::/::::/ ノ }ノ \i} ト、 < g
. /:..l`ト⌒ヾ.、::/⌒` ⌒`// .:ヽ. < e
{:::::|::iヽ、 、 ){ァ'T.ヽ .ハヾ/ハ::::::::l < t
ヾ、::l ヽ 'ヾ:l {__ツ {ツ.'{ノ .l:i::ツ. < !
ヾ ハ ,__ト, ''.'' (⌒ ツ::} レ'^ < !
〉ニ,,_ノヽ` ー‐''´ヾシ' < !
l、 ノl/iニ)、ヾ、 <!!
`} '´ 〈 〉^ツ ∨∨
/ == `ー' 〉‐っ
/、_...._ ヾ〉┘
〈ー、 ,,..,, .``ヽ、... ,べヽ
 ̄ ~`´iー`ヽ、_,,..=-、ハノ
l | | l
{,、,、,i, l,、,、|
[ ェュソ[ ,ェ}_
F=ィ⌒ヽ =ィ'⌒ヽ
[、_ノ⌒l_ノ⌒}
0144フォント使いたい
02/09/09 19:58ID:bRdadYVofreetypeをインストールしたあと、SDL_ttfでリンクに失敗してしまいます。
コンパイルオプション等を付け加えなければいけないのでしょうか。
情報お持ちの方、よろしくお願いします。
0145名前は開発中のものです。
02/09/12 06:36ID:???エラーメッセージをコピペしてみてちょ。
0146名前は開発中のものです。
02/09/24 20:22ID:???http://cefiro.homelinux.org/SDL/sdl-devel-msys.html
0147超初心者
02/10/10 03:49ID:TCFGsPft落としたファイルは"SDL-devel-1.2.5a-VC6.zip"です。
解凍後出来たサブディレクトリ"Include"と"lib"はVC6.0のどこに入れたらいいんでしょうか?
また何か設定があるのでしたら是非教えてください!! お願いします!!
0148名前は開発中のものです。
02/10/10 08:01ID:???ツール->オプション の ディレクトリ を
選択して、インクルードファイルとライブラリ
ファイルの場所をそれぞれ指定すれば良い
のではなかろうか。よく知らんけど。
0149名前は開発中のものです。
02/10/13 01:14ID:7Mz0/fi+するんでしょうか?
0150名前は開発中のものです。
02/10/13 05:49ID:???0151名前は開発中のものです。
02/10/14 16:08ID:???0152名前は開発中のものです。
02/10/19 18:08ID:???↑のとおりにやったんだがmp3が鳴らねえです。
oggとかmodは鳴るんだがなあ。
なんか他に必要なもんとかあるのかしら。
0153名前は開発中のものです。
02/10/19 18:55ID:???BCCで遊んでたときにWindowsフォルダにつっこんでたDLLが
呼ばれてたぽいでした。迂闊。
0154問題提起
02/10/21 21:47ID:???開発者としては好きなものを組み合わせて作れる、
という大きなメリットになんですが、遊ぶ側としてはどうでしょう?
個々に集めるのは面倒ですし、同梱は若干無駄(場合によってはGPL違反)です。
別々のアーカイブにまとめて一緒に配布、というのが理想だと思いますが、
旧Verのdllを持ってるユーザーが、本体のみ落としてエラーに悩む、
といったバージョン管理の問題や、dll配布元へのリンクのみ掲載していた
場合のリンク切れ、といった問題もあります。
この辺、一度考えるべきだと思ったのですがどうでしょう。
0155名前は開発中のものです。
02/10/25 11:16ID:???スタティックライブラリにコンパイルすれば良いんでは?
0156名前は開発中のものです。
02/10/25 12:22ID:???ソース非公開のゲームとかに SDL をスタティックにリンクして配布
したら LGPL 違反になったりしない??
0157名前は開発中のものです。
02/10/25 22:30ID:???本家
http://alleg.sourceforge.net/
ポータル
http://www.allegro.cc/
FontLiblary。日本語表示の際必須。
http://nekros.freeshell.org/delirium/alfont.php
機能が集約されている分、必要なdllの数が少なく済む上、
ライセンスが緩いから安心してstaticlinkできる。
周辺LibはGPLも混じってますが。
(上に挙げたALFontはBSDライク)
0158名前は開発中のものです。
02/10/26 05:32ID:???インストール時か初回実行時に DLL を自動ダウンロード。
0159名前は開発中のものです。
02/10/26 16:27ID:???0160名前は開発中のものです。
02/10/26 17:25ID:???0161名前は開発中のものです。
02/10/27 01:43ID:???Windows でバイナリを配布する場合の話だとして…
>同梱は若干無駄(場合によってはGPL違反)です。
同封してGPL違反ってのはどういう場合なんでしょうか??
俺は開発に使ったdllをゲームに同封するのが最善…っていうか
別配布は現実的じゃないと思ってるんだけど…
理由はバージョンよるAPIの非互換性だけじゃなくて各種dllをコンパイル
するときのオプションによっても使える機能(oggやmp3の再生は?とか)
が変るせいで,他サイトで配布しているdllが自分の作ったゲームに
使えるかわからない.
一元的な配布元のあるdllですら非互換性に苦しめられることを考えると
同封が一番確実っぽい気がします.
配布物の容量が増えるのは確かに無駄だけど最近のネットワーク速度
やHDD容量を考えたらたいしたことはないと思うし…
0162名前は開発中のものです。
02/10/27 04:05ID:???0163名前は開発中のものです。
02/10/27 10:29ID:???SDL は LGPL じゃねーの?
0164名前は開発中のものです。
02/10/27 17:47ID:???0165名前は開発中のものです。
02/10/30 10:13ID:???なるからそれだけでOKかと思ってたよ…(鬱
#こうしてソース非公開な人はAllegroに流れるのだろうか…?
じゃあどこまでがdll同梱になるんだろうか?
1.プログラムとdllを同じzipアーカイブに含めて配布(×らすぃ)
2.プログラムとdllを別ディレクトリに置いた一枚のCD-ROMを配布
3.プログラムを入れたzipとdll入れたzipを同じCD-ROMに入れて配布
4.プログラムを入れたzipとdll入れたzipを同じサイトで配布
0166名前は開発中のものです。
02/10/30 10:42ID:???すげー、giftwareだってよ。贈り物だなんていえないねえ、なかなか。
Delphiからも使えるみたいだし、ちょっと試してみる。
0167名前は開発中のものです。
02/10/31 22:28ID:???>>164 でのソース未公開とは、ライブラリのソースの事だと思ふ。
ライブラリのバイナリを配る時には、ライブラリのソースを同梱するか、
ソースを別のアーカイブなどにして、同じサイトで同時にダウンロードできるようにしておくと、
ライブラリのバイナリを得る時に、ソースを得るチャンスがあったっていうことで、
後腐れが無くて良いらしい。
0168名前は開発中のものです。
02/11/01 12:12ID:???「ソース未公開」と「LGPL」が矛盾してるから,ここで言ってるソースがLGPLなライブラリのソースだとは思いもしなかったよ…(鬱
公開,未公開の話しじゃなくてSDLのバイナリを配るときにそのバイナリの元になったソースを入手可能な状態にしておけって話ね…
そのための唯一確実な方法がSDLのDLLの入ったアーカイブにSDLのソースを同梱することであると…
でも実際GPLなソフトのバイナリを配布してるところでも同じアーカイブにソース入れて配布することってほとんどないよね…
ってことでプログラムのバイナリのアーカイブにSDLのDLLを同梱しても同じ場所(WebとかCD-ROMとか)にDLLの元になったSDLのソースを置いておけばほぼOKってこと?
0169名前は開発中のものです。
02/11/01 18:57ID:???> 同じ場所(WebとかCD-ROMとか)にDLLの元になったSDLのソースを置いておけば
> ほぼOKってこと?
そう思わないと、やっていけないでつ。
0170名前は開発中のものです。
02/11/01 21:47ID:???本体とdllを単一アーカイブにまとめてしまうと、
LGPLを正しく理解してない厨房が騒ぐ元になるから、
本体とdllは別アーカイブにしとくのが吉かと。
0171名前は開発中のものです。
02/11/02 21:22ID:???ドキュメント読まない厨房のことまで知らんよ…
と,言いたいところだけど過去なにかのソフトでそういう騒ぎが
あったんかな??
0172名前は開発中のものです。
02/11/03 07:38ID:???ttp://game.2ch.net/test/read.cgi/gamedev/1005818191/l50
0173名前は開発中のものです。
02/11/30 05:44ID:ER3K77Ku0174名前は開発中のものです。
02/12/06 07:48ID:c2Ro9O0h0175名前は開発中のものです。
02/12/15 22:25ID:HUkl6Mhv0176名前は開発中のものです。
02/12/20 18:54ID:Af1U/qQxSDLってほんと素晴らしいですね。
0177名前は開発中のものです。
03/01/07 08:32ID:Myj5i+Ih0178名前は開発中のものです。
03/01/28 22:37ID:65gdd7Ia0179名前は開発中のものです。
03/01/29 17:53ID:vjQjG8Ot現在のクロスプラットフォームゲーム開発のトレンドですか?
0180名前は開発中のものです。
03/01/29 19:48ID:QoTB+m21Windowsだけで充分なんだがなぁ。ELですかやっぱり。
0181名前は開発中のものです。
03/01/29 20:09ID:2TLqok57ささやかな甘い夢を見ていましたが、徒労も虚しく散りました。
0182名前は開発中のものです。
03/02/03 15:01ID:yc2uzOwX誰かに勝手に再配布してほしかったんですか?
>distribute
>〈動)〈他〉1 を分配する,配給する;
0183名前は開発中のものです。
03/02/03 15:16ID:vVlJ+JQZ。・゚・(ノД`)・゚・。
つっこんでくれてありがとう。
こういうのは、もっともらしい言葉ではなんて言うんだろう。
「誰かが勝手に、*改変、配布*してくれるという」
と言いたかっただけです。
0184名前は開発中のものです。
03/02/03 15:16ID:vVlJ+JQZバリアントとでも言えばいいのか・・・。
0185名前は開発中のものです。
03/02/03 21:02ID:uW4hr5IH0186名前は開発中のものです。
03/02/04 21:12ID:DYzm7D9n0187デフォルトの名無しさん
03/03/07 04:08ID:kGU2rVVwところでSDL.dllはアーカイブに同梱してもよいのでしょうか。
SDL本家HPへのリンクをドキュメントに書いておけば平気と
理解しているのですが
0188名前は開発中のものです。
03/03/07 07:46ID:GOIf6vhG/⌒~~~⌒\ ( ,,) (,,・Д・)
/ ( ゚>t≡ )y─┛~~ 〜(___ノ 〜(___ノ ,γ_
(_ ノγ U ∩_∩) THANK YOU 2ch ┌───────┐ \
α___J _J and (| ● ● | ヽ
/ ̄ ̄ ̄ ̄\ GOOD-BYE 2ch WORLD! /.| .┌▽▽▽▽┐ .|____|__||_| ))
/ ● ●、 ( ┤ .| | .|□━□ )
|Y Y \ またどこかで会おうね \. .└△△△△┘ .| J |)
|.| | .▼ | | \あ\ | ∀ ノ
| \/ _人|∧∧∩゛冫、 .∧_∧ | \り.\ . | - ′
| _/)/)/( ゚Д゚)/ ` . (´∀` )..ヽ(´ー`)ノ \が\ . | )
\ / 〔/\〕 U / ∩∩ ( ) (___) \と.\ .|/
| | | c(*・_・) | |ヽ(´ー`)ノ_| | | | |〜 /\.\う\| (-_-)
(__)_) UUUU /∪∪ (___)(_(__) ◎ ̄ ̄◎─┘ .└──┘.(∩∩)
0189名前は開発中のものです。
03/03/07 09:41ID:DwiBfiZfそれで良いと思うけど、SDLのソースくれっていう奴のために手元にソースを
おいといた方が良いと思う。
本家にも古いバージョンのソースはないみたいだし。
0190名前は開発中のものです。
03/03/07 18:05ID:LfCbi5mk/  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
/ このスレは無事に /
/ 終了いたしました /
/ ありがとうございました /
/ /
/ モララーより /
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
∧_∧ / /∧_∧
( ・∀・) / /(・∀・ )
( )つ ⊂( )
| | | | | |
(__)_) (_(__)
0191名前は開発中のものです。
03/03/08 16:23ID:H/Rnpk5k187じゃないがいいことを聞いた。
ありがとう。
0192名前は開発中のものです。
03/03/24 23:47ID:m8VXMJDL0193名前は開発中のものです。
03/04/02 23:30ID:No5TJrgx0194名前は開発中のものです。
03/04/19 15:18ID:Thepg4nc0195動画直リン
03/04/19 15:39ID:uRI4tDpp0196名前は開発中のものです。
03/04/19 15:48ID:WqwViPZg□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0197うんこ
03/04/21 12:06ID:bNIVCvJyちょっとした2DゲームでAPI使うぐらいなら
SDL使った方がいいかなって思って使ってるんですが
盛り上がってないですね、このスレw
「みんなageれ、なだれこうげきだ!!」
0198うんこ
03/04/21 12:21ID:bNIVCvJy本家ライブラリ(落とすのはdevelがついたファイル名の方)
ttp://www.libsdl.org/
ドキュメントマニュアル日本語翻訳サイト
ttp://www.ya.sakura.ne.jp/~logion/SDLdoc-jp/html/
日本語で大体のライブラリの使用例など
ttp://www.wakhok.ac.jp/~momma/SDL/
VCで使う方法など
ttp://www.mediawars.ne.jp/~freemage/progs/sdl/build.html
ttp://user.ecc.u-tokyo.ac.jp/~rr26303/develop/sdl/intro.html
0199うんこ
03/04/21 12:32ID:bNIVCvJy○VCでコンソールウィンドウを殺す
(OpenGL + GLUT と同じ方法です)
#pragma comment(linker, "/SUBSYSTEM:WINDOWS /ENTRY:\"mainCRTStartup\"")
○ライブラリのリンクとか
(マルチスレッド用ライブラリに切り替える方法を
ソースで設定する方法がわからなかったので
プロジェクトで指定してください。
ていうか誰か博識な方、ソースで設定する方法教えてください…)
#pragma comment(lib, "SDL.lib")
#pragma comment(lib, "SDLmain.lib")
#pragma comment(linker, "/NODEFAULTLIB:\"libcd\"")
#ifdef _DEBUG
#pragma comment(linker, "/NODEFAULTLIB:\"msvcrt.lib\"")
#endif
0200うんこ
03/04/21 12:33ID:bNIVCvJy0201動画直リン
03/04/21 12:39ID:DDjPtBC+0202名前は開発中のものです。
03/04/21 13:41ID:rzY1hX/0□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0203名前は開発中のものです。
03/04/22 23:45ID:WSEhSK/d最近大きな動きあったっけか?
SDL-Watchの真似事デモする?
もしくは、SDLのC言語以外のバインディングの評価をしてみるとか。
・Perl/SDL(前使ったときは、まだ未完成だった)
・Pygame(よく出来てる。描画関係以外のクラスをどううまく使うかが高速化のカギ)
・Ruby/SDL(使ったこと無い)
・Lua/SDL(ってあったっけ?)
・C++Wrapper(いくつかあるけどよく知らない)
:
とか。
0204名前は開発中のものです。
03/04/23 00:00ID:hWrxwtjz(,,゚Д゚) < なんだ、このスレもう終りか
/ つつ∬ \___________
〜(,,_,,)旦 【THE END】
0205名前は開発中のものです。
03/05/02 03:44ID:9f0uLKqK作成を順を追って説明してください
日本語情報少なくてcygwinとかmingwとか入れたけど訳わからん。なんでコンパイル
通らないんだー
趣味プログラマ苦戦一日目
0206名前は開発中のものです。
03/05/02 04:01ID:t/WTsdV7ここじゃ駄目?Eclipseじゃないけど。
0207名前は開発中のものです。
03/05/05 09:57ID:Glaet3INだれか教えれ
0208名前は開発中のものです。
03/05/05 13:55ID:baR9vPTYテーブルは探せばすぐ見つかる.
ftp://ftp.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS とか
でも面倒だからソースコードやデータファイルを最初から
UTF-8で書くという手も…
0209名前は開発中のものです。
03/05/06 15:01ID:hsPppZCr0210bloom
03/05/06 15:11ID:E5msO/hk0211名前は開発中のものです。
03/05/06 16:29ID:EvzuZlvt,,,,,,iiiil!!!llllll!゙°
,,,,,,iiill!!!゙゙゙`,,iill!l゙’
liill!!l゙゙゙’ .iiiiil!!゙゜
` lllllll
,,iiil,,,,,,iiiillll゙′ lllllll
,illll!!l゙゙゙,ill!゙′ lllllll
.,iilll",,,,,,,ill!!llliiiiilllll,,,,,,,,,,, .,,,,,lllll!″
,,iill!゚,,ill!゙゙,,il!゙’.,,lill!!!!!!!!!!!!゙′ ゙!!゙゙゙″
..,,iillllliiiill!゙liliiii,,.,,iill!lll,iiiiiiiiilト
`゙”゙゙lllllliil!!゙゙゙゙lll!l゙’'゙゙゙゙゙,,,,,,,,,,,i、
.,iiill!!゙゙llllll.lllllli,、.,iiiillll!!!!!!!!!°
..゙',iiii"llllll ゙!!゙"  ̄
: ,lllll`.llllll
..l゙゙゙゜ .!!゙゙′
0212名前は開発中のものです。
03/05/16 09:05ID:8fxTipKaスプライトが透過部分のある画像転送って意味なら標準でできるよ。
スプライト用のライブラリもあるみたいだけど、機能を要求しないなら
自分で作ってもそれほど手間はかからないと思う。
0213名前は開発中のものです。
03/05/30 01:32ID:NvOwcZ2Ntestsprite.exeで-fastオプションつけたらFPSが60以下だった。他の
オプションだと全部200超えてるのになんでだ??
-fastつけたとき、コンソールにはスクリーンもスプライトもビデオメモリに
とって、ダブルバッファ使ってるらしき表示が出てたけど、それがまずいの?
0214サンプルです
03/05/30 01:53ID:scAvCgtehttp://endou.kir.jp/betu/linkvp2/linkvp.html
0215名前は開発中のものです。
03/05/30 02:13ID:jFjVeOlq< 終 了ーーーーーーーーーーーーーーーー!!!!
<
∨∨∨∨∨∨∨∨∨∨∨\ /∨∨∨∨∨∨∨∨∨∨
/:|. | | /:|
/ .:::| ∨ / :::|
| ...:::::| / ::::|
i  ̄ ̄⌒゙゙^――/ ::::::::|
/_,,___ . _,,,,__,_ :::::::::::\
/ ゙^\ヽ.. , /゙ ¨\,.-z ::::::::::\
「 ● | 》 l| ● ゙》 ミ.. .::::::\
/i,. .,ノ .l| 《 ..|´_ilト ::::::::::\
/ \___,,,,,_/ .'″ ^=u,,,,_ v/.. :::::::::::::l!
|  ̄ ,,、 i し./::::::::.}
| / ,,____ _,/ ̄ \ \ ノ ( ::::::::::|
| |.. | /└└└└\../\ \ '~ヽ ::::::::::::::}
| .∨.|llllllllllllllllllllllllllllllllllllllll| ::::::::::{
| |.|llllllllllll;/⌒/⌒ 〕 :::::::::::}
| |.|lllllllll; ./ . . | ::::::::::[
.| |.|llllll|′ / . | .| :::::::::::|
.| |.|llll| | .∧〔 / :::::::::::::/
/ }.∧lll | ../ / / :::::::::::::::::\
/ /| \┌┌┌┌┌/./ /::: :::::::::::::::::\
( ゙゙^^¨^¨゙゙¨  ̄ ̄ ̄ /::::::::::: ::::::::::\
ヽー─¬ー〜ー――― :::::::::::::
0216名前は開発中のものです。
03/05/30 03:37ID:byC9n7r3http://bbs.gamdev.org/gamedev
0217名前は開発中のものです。
03/05/30 13:18ID:micRbbrC>testsprite.exeで-fastオプションつけたらFPSが60以下だった。
60近辺なら、vsyncに同期取ってるってオチはないのかな?
0218名前は開発中のものです。
03/05/30 21:34ID:RjyFpLrWあ、そっか!
謎が思いっきり解けますた。
0219名前は開発中のものです。
03/05/31 02:44ID:vXSdP3DW出来ればこちらに移動するのをお勧めします。
ゲ製作技術板(避難所)
http://bbs.gamdev.org/gamedev/
↓こんな感じにするのがお勧めです。
-----
9 名前:名無しさん@ゲムデヴ[] 投稿日:2003/05/28 21:33
とりあえずOpenJaneに登録した
板一覧の上で右クリック→新規追加→板名とアドレス入れるだけ
0220名前は開発中のものです。
03/06/19 07:12ID:wnNHJfqcコンソールに文字を出力する方法を教えてください。
SDL_netのデモでは printf 関数でコンソールに出力されてますけど
どうすればいいのでしょうか?
プロジェクトの設定は↓のを見てやりました。
ttp://user.ecc.u-tokyo.ac.jp/~rr26303/develop/sdl/intro.html
SDL_netのデモは↓
ttp://jcatki.no-ip.org/SDL_net/SDL_net_demos.zip
よろしくおねがいします。
0221名前は開発中のものです。
03/06/19 08:03ID:+MtqR3wChttp://homepage3.nifty.com/coco-nut/
0222名前は開発中のものです。
03/06/19 09:33ID:1pLGOhoe>>220
win98とXPだけど
「Win32 Application」
でなく
「Win32 Console Application」
にしても動いたよ
0223名前は開発中のものです。
03/06/19 10:14ID:sQJsiDlbSDLで、日本語を使うには、どうすれば良いのか
SDLで、日本語を使うには、どうすれば良いのか
SDLで、日本語を使うには、どうすれば良いのか
SDLで、日本語を使うには、どうすれば良いのか
SDLで、日本語を使うには、どうすれば良いのか
SDLで、日本語を使うには、どうすれば良いのか
SDLで、日本語を使うには、どうすれば良いのか
0224名前は開発中のものです。
03/06/19 14:14ID:wnNHJfqc出来ました。
「Win32 Console Application」 で
>>同「オブジェクト/ライブラリモジュール」に、SDL.lib SDLmain.libを追加する。
>>この2つ以外は消去してもかまわない(結局SDLライブラリから使用されるが)。
↑の所の 「この2つ以外は消去してもかまわない」の 所を消さずに追加してやったら
コンソールに出力されるようになりました。
どうもありがとうございました。
(Win32 Console Applicationでも出来たんですね)
0225名前は開発中のものです。
03/06/20 02:13ID:1Kt71I93一行でいいだろ・・・。やったことはないがC MAGAZINEの2002年2月号のp.40に書いているが
0226名前は開発中のものです。
03/06/20 02:22ID:1Kt71I93追加:
UnicodeマッピングのTrueTypeフォントを使うんだってさ
0227名前は開発中のものです。
03/06/20 08:50ID:EJThDH7bフリーのビットマップフォント持ってきてそれを表示するでもいいと思うよ。
SDL_Kanjiとか。
http://user.ecc.u-tokyo.ac.jp/~s31552/wp/sdlkanji/
0228名前は開発中のものです。
03/06/20 09:24ID:Z3ggKriTこれって、フォントファイルは自分で用意すんの?
0229名前は開発中のものです。
03/06/20 12:01ID:TSajcp/+XFree86の配布物に含まれてる奴とかは、フリーで使ってもいいんじゃないかな。
あとは、ここ↓で配布されてる奴とか。
http://openlab.jp/efont/
0230名前は開発中のものです。
03/06/20 12:09ID:Z3ggKriTおぉ、おりがとう、なんだか、みんな親切だな。
0231名前は開発中のものです。
03/06/20 18:53ID:0Xcg3ACJ0232名前は開発中のものです。
03/06/20 19:52ID:7hDLB5/8英語の読めなささに苦労させられる
0233名前は開発中のものです。
03/06/21 00:23ID:io2aWcyG0234名前は開発中のものです。
03/06/21 06:56ID:FhIWF/bfなんか、レベルの差を感じて質問するのに
気が引けますが?
0235名前は開発中のものです。
03/06/21 11:06ID:O6kSeEmgでも漏れはSDLそのもので苦労することはあまりないか
結局OpenGLと一緒に使ってるからGLの方で苦労することはあるが
0236名前は開発中のものです。
03/06/21 12:56ID:emyIgRH4ttp://www.ya.sakura.ne.jp/~logion/SDLdoc-jp/html/
があったから入ってこれたけど最初から英語だけだったら
やってなかったと思う。
(英語の弱さを悔やむこの頃)
やってみればDirectXより簡単だし、ソース付きで公開されているから
低レベルな所もわかるし良いもんだと思う。
サブライブラリが英語なのはWeb翻訳とかしながらやってるから
なんとなる。めんどうなファイル読み込みをライブラリに任せて自分は
ネットの勉強が出来るからおもしろい。
OpenGLもそのうちやりたいけど。今はネットゲームを作りたいのですた。
0237名前は開発中のものです。
03/06/21 17:22ID:dwUdFpe5英語力も結構高い英語力が要求されるのがいやーん。ネットで使われる口語英語なんか嫌いでつ
0238名前は開発中のものです。
03/06/21 17:40ID:n1Py3ccO0239名前は開発中のものです。
03/06/21 18:31ID:vLrCifNgLinuxでもMacでもSDL使った開発はできるよ
0240名前は開発中のものです。
03/06/22 12:47ID:i61swhchSDL_Kanjiに、付いてた testSDL_kanji.c の文字列部分が、
DEV-C++のエディターで、文字化けするんだけど、
どうすればいいですか?
きちんと書き換えると、こんどはプログラムのほうで、
文字化けするし。
0241名前は開発中のものです。
03/06/22 12:57ID:YvL0dB5P文字コードの問題。
testSDL_kanji.cは、EUCで書いてあるね。
READMEより引用
------------------
void Kanji_SetCodingSystem(Kanji_Font* font, Kanji_CodingSystem sys);
文字コードを指定します。sys には、
KANJI_JIS, KANJI_SJIS, KANJI_EUC が指定できます。
デフォルトでは KANJI_JIS が入っています。
------------------
0242名前は開発中のものです。
03/06/22 20:12ID:OOlHJ2ZOこのスレの人が作ったゲームがやりたいのぉ
0243名前は開発中のものです。
03/06/22 23:47ID:yqY4tb/I0244名前は開発中のものです。
03/06/23 18:25ID:tF2WCm4T0245名前は開発中のものです。
03/06/23 18:29ID:GrByEcFz自分で作るかサイト探せ
/NODEFAULTLIB:library を使用してください
って警告でたんですけどさっぱりどうすればいいのかわかんないです・・・わかるひと教えてください。゚(ノД`)゚。
0247名前は開発中のものです。
03/06/28 05:59ID:PdiVeFTn前に見たけどどうやったっけなあ・・・
ttp://user.ecc.u-tokyo.ac.jp/~rr26303/develop/sdl/intro.html
をよく読んでその通りにやってみるとか
プロジェクト->設定->一般->Microsoft Foundation Classを「共有DLLでMFCを使用」とかで直るのはこれだったっけ??
0248名前は開発中のものです。
03/06/28 13:26ID:Qu9eHBux選択すればOKだったようなきがする。禿げしくうろ覚えなままかいてるけど。
0249名前は開発中のものです。
03/07/09 19:52ID:G+nI3ASeランタイムライブラリの種類を選べるので、これを正しく設定。
同じプロジェクトで違うライブラリをリンクしてるとそのメッセージが出ます。
その手のメッセージは、たとえばLNK4098とかmsvcrt.libとかでぐぐると、
いろいろ参考資料が見つかるよ。
0250名前は開発中のものです。
03/07/09 20:39ID:9uNK8Vnf激しくオソレス藁タ
0251名前は開発中のものです。
03/07/12 10:07ID:I3wA914C0252名前は開発中のものです。
03/07/14 08:00ID:CqF5pBWz3Dでおすすめのライブラリ
ありますか?
0253名前は開発中のものです。
03/07/15 15:48ID:CmcjizOdOpenGL
0254名前は開発中のものです。
03/07/27 11:26ID:STOtHZvX移転多いのもわかるけどたまにはメンテして欲しいような
0255名前は開発中のものです。
03/07/28 20:07ID:aLiRrzo+何かファイルや設定が必要でしょうか?
>17-18を参照して、
テストプログラムがコンパイルできるかどうか、、、
調べようと思ったんですが、何処のテストプログラムか
判断付きません(鼻血
bcc55で環境構築しましたが、
ページが書かれた当時とバージョン違うようで、
bcc用のSDL.lib(SDL_image.libも!)も最初から
SDLのパッケージに入っていました。なんとお手軽な。
不足していたヘッダもコソーリ入ってるんじゃ
ないのかなと期待してるのですが、、、
アマちゃんですか?
0256名前は開発中のものです。
03/07/29 01:04ID:gu85yN8Http://cefiro.homelinux.org/topics/SDL/
の
ttp://cefiro.homelinux.org/resources/doc/DirectX/install-mingw32-02.html
とか見てみれ。
0257名前は開発中のものです。
03/07/29 01:18ID:gPIbAMiYhttp://yahooo.s2.x-beat.com/linkv/linkv.html
0258名前は開発中のものです。
03/07/29 16:17ID:iTWy6PFy17の
>>SDLはDirectXが入ってる環境では自動的に使ってくれるらしい。
>ヘッダとライブラリは必要。
ってのはgccとか使ってSDL自体を自前でコンパイルする場合だと思われ
bcc + SDLのバイナリ配布
でプログラミングするだけなら特にDirectX関連で別途用意する
ものはないと思う。
(バイナリ配布されているSDL.dll自体が使えるなら
DirectXを使う設定でコンパイルされているので)
あと今どのビデオドライバを使っているかどうかは
ttp://sdldoc.csn.ul.ie/sdlvideodrivername.php
でわかると思う。
0259名前は開発中のものです。
03/07/29 18:30ID://nB7mSB通常のアプリにはQtとかwxWindowsとかの方が使われている気がする
0260名前は開発中のものです。
03/07/29 19:13ID:MKbOjP9Oぉぉ、なるほど早速参考にしてみます。
で、やりました。
>directx
ありがとうありがとう(涙
>>256さんに紹介されたページ見て、
実はcygwinとかmingwで環境構築するのに挫折しますた。
なんて言えなかったんです。directxの初期化で挫折してSDLに流れたとも言えない。
お手軽なsdl+bcc++の環境は、
ものぐさプログラマには最適な環境だと思います。
ゲームのフレームワークを作っている段階ですので、
見せられるものはないですが、いずれ。
0261256
03/07/30 01:17ID:9leRKFRFあぁ、bccでの話でしたか。
こっちこそ、よく見てなくてスマソ。
# 私自身は MinGW + MSYS で環境構築して利用してるんで、つい。
0262名前は開発中のものです。
03/07/30 08:54ID:emdlFuX2>実はcygwinとかmingwで環境構築するのに挫折しますた。
>なんて言えなかったんです。
全部ソースからコンパイルすると大変だけどcygwinで
バイナリパッケージを使えば挫折しなかったかも…
ttp://cefiro.homelinux.org/topics/SDL/setup-win32-cygwin-bin.html
0263260
03/07/30 14:41ID:XcasW74Icygwin自体はQt開発のお遊び用に入ってたりして(;´Д`)
bccで環境作った手順
1.bcc55インストール
2.sdl1.2.5,sdl_image etcを展開→c:\sdl\include c:\sdl\lib へ
3.sdl1.2.5のbcc用アーカイブからライブラリをc:\sdl\libへ移動
4.sdl_imageなどbccアーカイブに入っていないライブラリを
dllからimplibで取り出しc:\sdl\libへ移動
5.ilink32.cfg bcc32.cfgを用意
6.makefileを用意
あとはテキストエディタとコマンドプロンプトでちまちまと。
0264260
03/07/30 21:22ID:etHIwd/wsdl触って2週間。c/c++のブランク4年です。
悪戦苦闘しながらようやくゲームループとタスクシステム、
登録型描画の仕組みとフレームスキップが実装出来ました。
あと、入力を最低限抽象化。(joystickは放置中)
C/S型のゲームを作りたいので、
オブジェクトは敵味方自分問わず、
IDとメッセージを受け取って処理を行う形。
まだコントロールする部分は作ってないので、
入力から直接オブジェクトにメッセージ送ってみたり。
マウスクリックしたところにキャラがアニメーションしながら
移動するようにはなってる。
8方向移動画像がないので歩くとは言えない罠。
先は長いぞ
0265名前は開発中のものです。
03/07/30 21:45ID:etHIwd/w入力部分組んだ時に文字列入力にも対応。
通常時Enterを押すと文字入力に移るような感じ。
連動してunicode_enable(だっけ)も制御。
入力文字列はバッファに保持しつつ、
ビットマップフォントで表示。
ログ管理を実装すればchatも可能かな。
ローマ字入力だけですが何か?
0266名前は開発中のものです。
03/07/31 12:00ID:6e6nzADa背景描画として32x32の画像を640x480の画面に敷き詰める。
・手順A
毎周期screen(表示サーフェイス)にmapchipを直接描画
// 描画周期
for(x=0; x<20; x++){
for(y=0; y<15; y++){
dst_rect.x = x*32; dst_rect.y = y*32;
SDL_BlitSurface(mapchip, &src_rect, screen, &dst_rect);
}
}
・手順B
あらかじめmapchipを敷き詰めたbg用サーフェイスを作成し、
毎周期screenにbgを転送(一般的な手法ですね)
// bgサーフェイス生成
bg = SDL_CreateRGBSurface(SDL_SWSURFACE, SCR_W, SCR_H, SCR_BPP,rmask, gmask, bmask, amask)
// 続いてbgへmapchipを敷き詰める
for(x=0; x<20; x++){
for(y=0; y<15; y++){
dst_rect.x = x*32; dst_rect.y = y*32;
SDL_BlitSurface(mapchip, &src_rect, bg, &dst_rect);
}
}
// 描画周期 bgをscreenにBlit(各rectは640x480を設定)
SDL_BlitSurface(bg, &src_rect, screen, &dst_rect);
0267名前は開発中のものです。
03/07/31 12:01ID:6e6nzADa手順Aは30fpsで描画されるのに対して、
手順Bは15fps程度しか出ないのです。普通逆だろうと。
bg作成時にSDL_CreateRGBSurfaceでSDL_HWSURFACEとか
|SDL_DOUBLEBUFとかやってみたのですが全く変化がありません。
ひょっとしてSDL_CreateRGBSurfaceを使う事自体が誤りなんでしょうか?
0268名前は開発中のものです。
03/07/31 14:23ID:6e6nzADa人のソースを眺め見ました。
で、見つけたもの
SDL_DisplayFormat -- サーフェスを表示フォーマットに変換します。
bg = SDL_DisplayFormat(tmpbg);
としてワンクッション置くと速度低下はなくなりました。
0269名前は開発中のものです。
03/07/31 20:14ID:9nUZEgouこれからも情報よろしく!
0270260,266
03/08/03 06:31ID:2INujupLこんな感じ
ttp://www.metalmax-online.com/up/source/mmo0111.gif
カーネル部分はちまちまと出来てはいるんですが、
やっぱ素材用意するのが大変ですよね。
ウィンドウ一つ出すためにも素材用意しなきゃならないし、
文字表示もTTF導入が面倒なので放置中。。。
0271名前は開発中のものです。
03/08/03 06:49ID:2INujupL// デバッグ表示設定
rend_dbg=render_reg_text(REND_PRI_DBG,str);
// メインループ
while(input_main()==TRUE){
task_call();
if(!frame_skip){
fps++;
render_draw(); // 一括描画
}
maxfps++;
frame_skip=true;
while(true){
dw0 = SDL_GetTicks();
// 経過時間
dw1 = (dw0 - time_last) * 3 + time_mod;
if(dw1>100) break;
SDL_Delay(1);
frame_skip=false;
}
time_last = dw0;
time_mod = dw1 % 100;
if((time_last - time_start)>=1000){
sprintf(str,"fps:%d/%d",fps,maxfps);
fps=0;
maxfps=0;
time_start=time_last;
}
}
render_free_obj(rend_dbg);
0272名前は開発中のものです。
03/08/03 06:53ID:2INujupLttp://giggle.cside6.com/hotate/index.html
SDLプログラマにも凄く参考になると思う。
シンプルなSDLにシンプルなゲームプログラミング。
メインループつーかフレームスキップは、
見ての通り殆どそのまんまです(;´Д`)
0273名前は開発中のものです。
03/08/03 11:04ID:tBp4Eh5I楽しみ!!
できたらやらしてくだはい
0274名前は開発中のものです。
03/08/03 11:32ID:atTRjDccフォントやGUIが面倒なこと。
日本語表示がデフォルトのライブラリーキボンヌ
0275名前は開発中のものです。
03/08/03 20:41ID:AJVBNou5SKKじゃなー
0276名前は開発中のものです。
03/08/03 21:32ID:2INujupL表示する分にはsdl_bdfとかsdl_kanjiが良さそう
ttp://user.ecc.u-tokyo.ac.jp/~s31552/wp/sdlkanji/
導入手順からライセンス気にしないでいいbdfデータとか
どこかに一通りまとめて載ってればなぁ
>>275
入力だけ環境依存てのもイヤンだけど
imeをサポートするのが良い気もするね
ttp://www.freeml.com/ctrl/html/MessageForm/sdl-fan-jp@freeml.com/582/
ここだけは他の環境に比べると敷居が高いかな
0277名前は開発中のものです。
03/08/03 22:23ID:wQr5xfPP画像のRGB値を変えて画像を赤っぽくしたり、
フェードさせたりしたいんですが、
どこかにサンプルでもないでしょうか?
0278名前は開発中のものです。
03/08/04 09:14ID:O+VX8o/I0279名前は開発中のものです。
03/08/04 11:08ID:fZqC0/Lpピクセル単位で操作するだけなら、
SDLdocと一般的な色調補正アルゴリズムで可能かな
アルファチャンネルをいじる
って、遅くて使い物にならない予感なので、
SDL_gfxがその用途でしょうか
ttp://www.ferzkopp.net/Software/SDL_gfx-2.0/
>imageFilter functions
関数多すぎ。
てか、使ってないので具体的に書けなくてスマソ
0280名前は開発中のものです。
03/08/04 11:19ID:fZqC0/Lpsdldoc
>ttp://zinnia.dyndns.org/~cvsweb/sdldoc-jp/guidevideo.html#GUIDEVIDEOINTRO
コレな→getpixel()とputpixel()
ピクセル単位だとフィルタの処理DIBと変わらない
適当にぐぐって参考になりそうなページ
ttp://www.sm.rim.or.jp/~shishido/graphics.html
実用速度に達しなかったら、
SDL_gfxの使い方を調べる、と
0281279
03/08/04 11:44ID:fZqC0/Lp思いつきで書こうとしたゴミが残ってました
気にしないでください気にしないでください
0282名無しさん@Linuxザウルス
03/08/04 21:09ID:caYyIIpwアルファを50%ぐらいに設定で書き出し。
SDL_imageで読み込み
画像描画後のscreenにBlitしてやる。
一番簡単な簡単な赤色フィルタのできあがり。
速度的に問題なければこんなんでも
いいじゃんと思う
0283名前は開発中のものです。
03/08/05 15:08ID:zbiAQW5j# 速度的な問題はおいておくとして
仮にその方法でやるにしてもpng画像はつくらずに,
* SDL_CreateRGBSurface() で Surface つくって
* SDL_FillRect() で赤く塗って
* SDL_SetAlpha() で半透明にして
半透明の赤画像作るんじゃない?
(これならSDL_Imageもいらないし…)
0285名前は開発中のものです。
03/08/06 09:51ID:aF4kdC5r>283さんみたいな方法で半透明のグラデーション(?)って、
どうやって作るんでしょうか
SDL_MapRGBAでピクセル単位で設定していくのかな
プログラムの流れが掴めないんです...
0286名前は開発中のものです。
03/08/06 16:38ID:qsYmH3Qwすごく冗長に書くけど下のような処理でいいの?
screen = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE);
tmp = SDL_LoadBMP("back.bmp");
back = SDL_DisplayFormat(tmp);
tmp = SDL_CreateRGBSurface(SDL_SWSURFACE, 640, 480, 32, 0xff000000, 0xff0000, 0xff00, 0xff);
for (i = 0;i < tmp->h;i++){
SDL_Rect dstRect = {0, i, tmp->w, 1};
SDL_FillRect(tmp, &dstRect, SDL_MapRGBA(tmp->format, 0xff, 0, 0, i * 0xff / tmp->h ));
}
redGradation = tmp;
SDL_BlitSurface(back, NULL, screen, NULL);
SDL_BlitSurface(redGradation, NULL, screen, NULL);
# 実際やるなら pixels を直接書き変えるかもだけど…
0287285
03/08/07 01:12ID:ecuGQ5wXははぁそんな風に使うのですか
># 実際やるなら pixels を直接書き変えるかもだけど…
処理の速度もスマートもこっちの方が良さそうですね...
ともあれ、ありがとうございました!
0288277
03/08/10 22:04ID:3fyZnj/b色々とありがとうございます。
昔ながらの256色イメージだけで作りたいので
アルファは使わずにパレット操作で
なんとかできるようにがんばってみます。
0289名前は開発中のものです。
03/08/14 19:27ID:cMmbZR7Zアプリケーション側はライセンスに縛られない。
ここまではいいとして、WindowsやMacの場合はlibSDLmainを
スタティックリンクせざるを得ない気がするんだが、
これのライセンスは大丈夫なのか?
0290名前は開発中のものです。
03/08/14 21:54ID:2h8LvvFvSDL-1.2.5/src/main/win32/SDL_main.cを見ると
> SDL_main.c, placed in the public domain by Sam Lantinga 4/13/98
って書いてあるから win32 の場合は問題ない.
beos や macos, macosx の SDL_main のソースには LGPL
っぽいことが書いてあるので厳密に見ると libSDLmain を
スタティックリンクするとアプリケーションのソース公開の
必要が出てくるはず.
ただし SDL 作ってるところがそれを要求することはなさそうだし,
win32 バージョンがパブリックドメインになってるところを見ると,
スタティックリンクの問題は認識してるっぽい…
要望さえすれば win32 以外の libSDLmain のソースコードの
ライセンスも変更してくれる可能性は高いんじゃないかな??
Mac 版バイナリとか配布したくてどうしても気になるならメール
してみれば??
0291名前は開発中のものです。
03/08/14 23:33ID:cMmbZR7Zありがトン。
今回Win32とMacOSXを考えてたんですが、
OSXのほうは厳密に見たらアウトっぽいでつね。
ただ、先程本家SDL-mlの過去ログとかあさってみたんですが、
それで問題になってるケースは無いようなんで、
気にしすぎなければいいだけなのかも、と思えてきました。
# 今年の2月ごろにLicense変更の議論があったみたいですが、
# 変わるとしても次バージョン(SDL-1.2.6)からなのかな?
本当は、
> Mac 版バイナリとか配布したくてどうしても気になるならメール
> してみれば??
するのが正しい対処なんだろうけど英語読むのはともかく書くのが苦手で…。
0292名前は開発中のものです。
03/08/15 06:52ID:UWeiB8uBごめん.よく見たら SDL-1.2.5/src/main/macosx/SDLmain.m には
> Feel free to customize this file to suit your needs
って書いてあるだけで LGPL だとは書いてないね.
これがライセンスに相当するのかよくわからんけど,
問題ないのかも…
0293名前は開発中のものです。
03/08/15 23:07ID:PGk8s/Xy0294名前は開発中のものです。
03/08/15 23:58ID:8cJqaZWwVC++でもProject Builderでもお好きにどうぞ。
そもそもSDL自体がウィンドウにWidgetペタペタってタイプのライブラリじゃないんで、
統合環境使っても便利なデバッガぐらいの意味しかない。
0295名前は開発中のものです。
03/08/16 06:04ID:Pwn6a/b80296名前は開発中のものです。
03/08/16 16:13ID:UdbGIJgLありますか?良いのかダメなのかという議論より
そっちを探した方が早いと思うんだけど
自分でも探してきまーす
0297名前は開発中のものです。
03/08/18 09:32ID:UOWMD29Zあるかと言われればここにいっぱいあるかと
ttp://www.lokigames.com/products/
でも仕事で SDL を使いたいとかの場合,人がどう使ってるか
じゃなくてライセンス上(法律上)問題がないことが確認できないと
使えない(会社の許可がおりないとか),みたいなこともあるので
ライセンスについて話をしなくてすむということにはならないでしょう…
0298名前は開発中のものです。
03/08/19 11:22ID:WgDTgw+R>ライセンス上(法律上)問題がないことが確認できないと使えない(会社の許可がおりないとか)
会社の許可があろうがあるまいが、ライセンス上の問題を抱えたまま使うわけにはいかないだろ。
0299297じゃないが
03/08/19 22:51ID:pK/wVDNBまあまあ・・・
0300_
03/08/19 23:39ID:o8K5C2540301名前は開発中のものです。
03/08/20 01:58ID:GLauqFru■2000人限定ですのでお急ぎ下さい■
http://www.yahoo2003.com/akira/linkvp.html
0303名前は開発中のものです。
03/08/20 15:33ID:2JkP3biWウィンドウハンドルやインスタンスハンドル
の取得はできないのでしょうかね?
後、DLLをEXEと同じフォルダに置いていますが
違うフォルダにおけたらいいなと思ってるのですが
これもやっぱり無理なんでしょうか・・・
よろしければ教えてください。
0304名前は開発中のものです。
03/08/20 15:58ID:IAQ+2Jdjあれ?SDL.dllの方はsystem32とかに置いても動くんじゃなかったっけ?
0305名前は開発中のものです。
03/08/20 17:46ID:zeCXkCoeDLL一般に言えることだけどパスの通ったディレクトリ
ならどこに置いてもいいんでない?
0306名前は開発中のものです。
03/08/30 17:14ID:wTz8Yud20307名前は開発中のものです。
03/08/31 10:00ID:Jri/HO3q上のrotozoomSurfaceを使ってるのですが、画像を回転させたあと
SDL_SetAlphaを使って半透明にしたいのですが、うまくいきません・・・
どうしたらいいのでしょうか?
0308名前は開発中のものです。
03/09/01 14:29ID:ND5cseGq内部で作ったサーフェイスで回転させて
SDL_SetAlphaでAlpha設定した後
表示サーフェイスにBlitしてもダメ?
0309307
03/09/02 11:03ID:TJ4A1y2c内部で作ったサーフェイス、っていうのがよくわかりません・・・(初心者ですみません)
どうもSDL_SetAlphaで設定したAlphaが無視(?)されてるような感じなんです。
0310名前は開発中のものです。
03/09/02 14:48ID:Nz0HHtiV半透明にしようとしているSurfaceのフォーマットと
SDL_SetAlphaの引数あたりが怪しい…
ってか状況を再現できる最小限のソースコード
くらい出してくれないと。
0311名前は開発中のものです。
03/09/21 13:28ID:yIbPH+720312名前は開発中のものです。
03/09/30 13:49ID:UUy5SKlJ切り替えができなくなるのは俺だけ?
押してもキーボードのNumLockとか光ってるところが反応しない。
俺だけだったら放っておいて下さい。
0313名前は開発中のものです。
03/10/01 01:15ID:BAewoLigとりあえず試しにWin2K, MinGWな環境で
SDL1.2.5のtestglとか走らせてみたがそんなことにはならなかった。
0314名前は開発中のものです。
03/10/02 07:10ID:rM1nLuHpレスどうもです。
うちは98SEの1.2.5なのだけど、サンプルのソースとか他の公開されてる
SDL使用のソフトとかを実行してもそうなります。
多分俺の脳がどこか腐ってるんだと思います。
0315名前は開発中のものです。
03/10/02 11:19ID:IlayBondそんなのは関係ないのかな。
0316名前は開発中のものです。
03/10/16 00:19ID:4n/2vXoOVer0.5というのはあったんだけど、、
0317名前は開発中のものです。
03/10/19 01:43ID:aHpL9q55試しにググってみたけど何か違うものばかり引っかかりますな。
bc++5.5でSDLが動いてるようだから、技術的には可能そうだけど。
0318名前は開発中のものです。
03/10/19 06:20ID:KVBreJJq↓で配ってるJEDI-SDLっての使うしかないんじゃないの?
http://www.delphi-jedi.org/Jedi:TEAM_SDL_HOME
試しにダウンロードして中見たらRunTimeはSDL-1.2.4だったよ。
Ver0.5ってのはJEDI-SDLのバージョンでは?
0319名前は開発中のものです。
03/11/05 16:30ID:McixPKi6常にCPU使用率が100%になるのを防ぐ手立てって無いものかな。
0320名前は開発中のものです。
03/11/05 16:46ID:A/imeFD/適宜SDL_Delay()を使う。
SDL_gfxのFramerate controlモジュールを使う。
0321名前は開発中のものです。
03/11/22 00:08ID:Rkcr0fENSDLをmakeしてみた。
SDL -> OK 問題なし
SDL_mix -> makeは問題ないが、出来たDLLをロードすると落ちる。
SDL_image -> 同上。
何か間違えたかと思い、
MinGWのバージョンを2.0.0-3に落としてみたところ、
全て問題なし。むー。ウチの環境だけの問題なんだろうか?
0322名前は開発中のものです。
03/11/22 00:10ID:Rkcr0fENあ。微妙にミス&書き忘れ。
使用したライブラリのバージョンはそれぞれ、
SDL-1.2.6.tar.gz
SDL_mixer-1.2.5.tar.gz(<-mixじゃなくてmixerですた)
SDL_image-1.2.3.tar.gz
です。
0323名前は開発中のものです。
03/11/26 01:58ID:oDpGQqNU0324名前は開発中のものです。
03/11/27 15:18ID:aQuPeEybうちでも同じ状態です…
SDL_mixer というか SMPEG を MinGW 3.X でコンパイルしてできた
DLLを使うと落ちる感じ。
SMPEG サポートなしで SDL_mixer をコンパイルするか
MinGW 2.0でコンパイルしたものを使うかで回避してるけど
対処法あったらおれも教えてほしい。
0325名前は開発中のものです。
03/11/27 22:15ID:BoqYAr6pcygwin shell上から実行するとDLL読み込みエラーで落ちる
0326名前は開発中のものです。
03/11/29 00:19ID:+Zau//Z5ありがとう、ウチだけの問題じゃないと解かって一安心です。
ただ、
> SDL_mixer というか SMPEG を MinGW 3.X でコンパイルしてできた
> DLLを使うと落ちる感じ。
これはこちらとはちょっと現象が違う模様。
こちらで落ちたSDL_mixerは、libogg,libvorbis有り、SMPEG無しで
makeした物だったんで。
ちなみに、SDL_imageはjpeg,pngサポート有りでmakeしたものです。
しかし、困ったモンですな。MinGW、SDL_mixerどちらの問題なんだろう?
0328名前は開発中のものです。
03/11/30 21:34ID:8v/2nacI0329名前は開発中のものです。
03/12/01 13:40ID:JdYcmEbHSDL だけを使った場合落ちないけど以下ライブラリをコンパイルして
出来たDLLをロードすると落ちる。この環境でコンパイルしたDLLだと
shellから起動しようがexporlerから起動しようがダメでした。
* smpeg
* SDL_mix(vorbisあり,mp3あり)
* SDL_mix(vorbisあり)
* SDL_image
* SDL_net
DLLだけを他の環境でコンパイルしたもの(公式サイトで配布
されているやつとか)に置き換えたら動いたのでやっぱ生成された
DLLがマズそうな感じ…。やっぱMinGWの問題だろうか?
0330名前は開発中のものです。
03/12/02 23:01ID:KdpcWnCh0331名前は開発中のものです。
03/12/02 23:30ID:KcbsioGe0332名前は開発中のものです。
03/12/02 23:34ID:hSDazT4VSDL_gfxのフレームレートモジュールを使うのも手
0333名前は開発中のものです。
03/12/19 02:07ID:ECJ/47WV0334名前は開発中のものです。
03/12/21 22:10ID:zLwkl8zD0335名前は開発中のものです。
03/12/21 23:41ID:KhQmPO5+0336名前は開発中のものです。
03/12/23 23:40ID:BQv+dX+YWindows以外(monoとか?)はどうかは知らんが…
http://cs-sdl.sourceforge.net/
0337名前は開発中のものです。
03/12/24 19:13ID:GxASKMN40338名前は開発中のものです。
03/12/27 12:32ID:q7duODMu> dreamcastでSDL開発してる香具師いらっしゃいますか?
SDL-fan-jp MLでたまに見かける人に一人いるみたい、って以外は知らないなぁ。
0339名前は開発中のものです。
03/12/28 20:49ID:qtY7Eg01それ、SDL.NET-1.5.1.zip落として解凍すると、
0kbなんだけど…なんか特殊なのかな?
どこから(ミラーサイト等)でも同じ現象。。。
0340名前は開発中のものです。
03/12/29 19:28ID:w1hTPfghWinでDirectX使うより簡単だし始め易いと思うんだけど…
0341名前は開発中のものです。
03/12/30 12:23ID:2hrqggZr>WinでDirectX使うより簡単
同意。このスレ見るとWindowsにしてもMinGWでMSYSみたいなUNIXよりの人のが多そう。
好意的に解釈すると、
SDLは判りやすすぎて誰かに質問する必要がない、とか。
ドキュメントが多少説明不足でもソースおっかけりゃすむこと多い気がするし。
たまにいるライブラリ使うとなんか負けたような気分になる不思議な人らとか、
後はDirectXのバッドノウハウってヤツもあるのかも。
ttp://www.namazu.org/~satoru/misc/bad-knowhow.html
0342名前は開発中のものです。
03/12/31 09:21ID:2dmaFMP8同意。SDLはしきい低いと思う。
けど、描画で凝ったことしようとするとOpenGL使うか、
他の周辺ライブラリ使うかになることが多い気がするが、
ここで難しいという印象を与えてしまってる部分がある予感。
0343ぁきまさ
03/12/31 10:27ID:uPGIOmXx感想としては、DirectXめんどくさすぎです…。
SDLなら一行でできることをDirectXでは長々と書かなければいけないのは苦痛です。
そのくせ、SDLならマルチプラットフォームを簡単に実現できることを考えるとDirectXでやることは考えられません。
2Dのゲームに限っては、ですが…。
以下個人的理由です:
SDLでOpenGLを使って複雑なシーンを構築する際、
DirectXにはXFileというとっても楽ちんなものがありますが、
OpenGLにはそれに相当する物はあるのでしょうか?
外部ファイルによる物体の表示だけならまだしも、
アニメーションまでやろうとするとそれだけでかなり労力を割かれて萎える気がするのですが…。
0344名前は開発中のものです。
04/01/03 23:35ID:ZUnJFgEfなんかあった気がする。
無かったら作っちゃえよ。
0345名前は開発中のものです。
04/01/05 23:14ID:0FMgJlKl海外のチュートリアルサイト見れば3dsファイルとかlwoファイルとか
Quakeとかのmd2, md3とかQuake BSPファイルとかを表示する
サンプルプログラムが腐るほど落ちてるよ(Xファイルのもある)。
中には自由に使えるものも結構ある。探してみるべし。
0346名前は開発中のものです。
04/01/05 23:16ID:0FMgJlKl具体的に言うと回転が高速に出来てほしいわけだけど…。
実装されないのはPC Unix方面で何かネックとなるものがあるのかな…?
0348名前は開発中のものです。
04/01/06 13:15ID:Q68qBWfA試してないけど MinGW-users メーリングリストに
http://sourceforge.net/mailarchive/forum.php?thread_id=3700241&forum_id=5119
ってのがあったよ。
要するに SDL_* に入ってる ltmain.sh がマズそうだから SDL_ttf の CVS
の最新から拾ってきて置き換えればいけるかもってことみたい。
0349名前は開発中のものです。
04/01/07 01:08ID:FwBNDK1Aお!情報サンクス。
しかし、そのメールの日付が2004/01/05ってことは、
えらい最近まで原因判明してなかったのかー。
0350名前は開発中のものです。
04/01/07 09:37ID:zZ1n6DvZいや…
CVS見ると2003/11/19には直ってたみたい。
http://www.libsdl.org/cgi/cvsweb.cgi/SDL_ttf2/ltmain.sh
0351名前は開発中のものです。
04/01/07 12:16ID:kS7ua9BIもうOpenGLメインにした方がいいかもなー。
DirectXは3D機能で2Dを表現するのが主流になってきてるそうだし。
0352名前は開発中のものです。
04/01/08 12:06ID:cCRZtzcW>>351の意見も一理だが、SDL_gfxじゃ不足かい?
回転と拡縮とMMX使用のイメージフィルタがあるそうなんだが。
ttp://www.ferzkopp.net/~aschiffler/Software/SDL_gfx-2.0/
ちなみにLGPL。
SDLは回転とか含め応用(?)な機能を
ポータブルに実現できる「レイヤ」を提供するもんだろうから、
多分SDL自体に実装されることはないと思われ。
0353名前は開発中のものです。
04/01/10 01:50ID:Th3gvov6そろそろ思うわけだけどね。
まぁ、glutやWGLみたいなOpenGLフレームワークの一つとして収まるつもりなら、
別にそれでもいいと思うけど。
0354名前は開発中のものです。
04/01/10 22:25ID:CxzW6WTE「SDL Request For Implementation」、略して「SRFI」ってノリか。……Schemeと名前被るけど。
0355名前は開発中のものです。
04/01/11 05:04ID:kHguDFRkSDLをビルドできないんですが・・・。
> c:\mingw\bin\..\lib\gcc-lib\mingw32\3.3.1\..\..\..\..\mingw32\bin\ld.exe:
> .libs/libSDL.lax/libhermes.al/mmxp2_32.lo: bad reloc address 0x87 in section `.text'
binutilsというかld-2.14.90のバグらしいのでSDLだけ
ldを2.13.90に差し替えてビルドしましたけど、大丈夫ですかね…。
早めにバグ取ってupdateしてほすいですな…>binutils
0356名前は開発中のものです。
04/01/12 00:17ID:jHaBXaUC確信はないけど、大丈夫なんじゃない?
そのぐらいで毎度問題出るんだったら、
公式で配ってるバイナリ配布版なんて誰も使えないことに。
0357名前は開発中のものです。
04/01/12 10:30ID:oW00NT9Yこのレスを見た人はコピペでもいいので
10分以内に3つのスレへ貼り付けてください。
そうすれば14日後好きな人から告白されるわ宝くじは当たるわ
出世しまくるわ体の悪い所全部治るわでえらい事です
0358355
04/01/12 16:22ID:k60kLF8MできたSDL.dllをmingwでコンパイルした
メインプログラムと組み合わせると動いたのですが
VCでコンパイルしたメインプログラムとあわせると落ちてしまいました。
バイナリ配布のSDL.dllでは両方動くので
何か間違えてしまったかもしれませんです。ld だけ換えたせいなのかな…。
make install まで通ったので、あまりこだわらないことにします。(^^;
0359名前は開発中のものです。
04/01/22 13:27ID:+O9pXp3Nこんな便利なライブラリがある。
http://www1.seaple.icc.ne.jp/tomtom/development/review/osg_frameset.html
日本語の情報ページは、今の所このサイト位らしい。
もったいないからどんどん活用すべし。
0360名前は開発中のものです。
04/01/22 17:42ID:viuBoj2bそのコピペの頭の悪そうな感じが大好き。
0361名前は開発中のものです。
04/01/24 00:42ID:gl5Pax92http://cal3d.sourceforge.net/
これもなんとなくよさげっぽ?
0362名前は開発中のものです。
04/02/01 22:25ID:VsJKdPiSこんなもんなんでしょうか?
SDL_FillRectを使わなければ60fpsくらい出るものが1以下に...
0363名前は開発中のものです。
04/02/03 17:19ID:0RlVpYszあなたの環境でフルスクリーンでSDL_FillRect使って
ものすうんごく遅くなる最小限のサンプルプログラムを
示してくれればみんなテストしてくれると思うよ?
0364362
04/02/04 11:41ID:URHwb4SZ長くなるので一部省略します。
if(fullScreen)
screenSrf = SDL_SetVideoMode(640, 480, 16, SDL_HWSURFACE | SDL_FULLSCREEN | SDL_DOUBLEBUF);
else
screenSrf = SDL_SetVideoMode(640, 480, 16, SDL_SWSURFACE);
while(1) {
static int px = 0;
SDL_Rect area = {0, 0, 640/2, 480};
SDL_FillRect(screenSrf, NULL, SDL_MapRGB(screenSrf->format, 255, 255, 255));
if(px > 640 / 2) px = 0;
else px++;
area.x = px;
SDL_FillRect(screenSrf, &area, SDL_MapRGB(screenSrf->format, 0, 0, 0));
SDL_Flip(screenSrf);
waitByFPS();
printf("FPS=%d\n", nowFps);
}
0365362
04/02/04 11:44ID:URHwb4SZstatic void waitByFPS() {
Uint32 nowtime,lefttime;
static Uint32 lasttime=0;
const Uint32 interval=1000/fps;
nowtime = SDL_GetTicks();
lefttime = lasttime+interval-nowtime;
if(lasttime+interval>nowtime) {
SDL_Delay(lefttime);
lasttime=nowtime+lefttime;
nowFps = fps;
} else {
nowFps = 1000 / (nowtime - lasttime);
lasttime=nowtime;
}
}
変数fpsはint型で60、nowFpsには現在のFPSが入っています。
0366362
04/02/04 11:50ID:URHwb4SZフルスクリーンにしたときにFPSが下がるのではなく、
何も写らなくなってしまいます。
問題が発生した元のプログラムも、どうやらSDL_FillRect又はSDL_Flipに
時間がかかっているのではなく、画面が実際に更新されていないだけのようです。
(つまり、nowFpsにはちゃんと60が入っている)
機種固有の問題でしょうか? よろしくお願いします。
0367名前は開発中のものです。
04/02/07 11:16ID:X+ZonyxN以下の環境で試してみましたがどの環境でも
フルスクリーン,ウィンドウモードの両方とも
正常に画面は更新されました。
ThinkPad X30, WinXP, cygwin + SDL 1.2.6
自作PC, Win2k, MinGW + SDL 1.2.6
自作PC, Linux2.4.22, SDL 1.2.5
# せめてコンパイル可能なプログラムを…
0368362
04/02/07 20:35ID:O0CtMFQfありがとうございます。そんなにたくさんの環境で...
やっぱり環境固有の問題みたいですね。
# 途中省略ってのはまずかったみたいですね。
# いや、ソース読むだけで判断するかなと...
# 想像以上に親切で迷惑をかけてしまったようです。スイマセン
0369名前は開発中のものです。
04/02/23 10:47ID:E1aLNUXaってことで保守
アーカイブファイルを元に内部のファイルのインデックス作って、
そこから SDL_RWops を生成できるってもの。
http://qas.sourceforge.jp/libraries/
VisualC++ と BCC のビルド環境しか入れてないから
gcc な人とかは自分で全ファイルをコンパイル&リンクして適当に作ってくだちい。
0371名前は開発中のものです。
04/02/26 22:15ID:dtKYNn6Bそこに置いてあるpatchって本家にマージせんの?
ちょっと本職が忙しくて睡眠時間すら削り取られてて、本家に投げる暇が無いのよ。
それに英語苦手なもんで……誰かパッチ投げだけやってくれる人いないかな。
0374名前は開発中のものです。
04/03/01 21:32ID:4drL0pqWTest/ディレクトリにあるサンプルは適当な配列をいじってベンチマークしてるだけだし。
どっかに実際に使ってるdemoとかgameありませんか?
0375名前は開発中のものです。
04/03/13 09:27ID:F3vxQxJhこれにcliantのsocketをSDLNet_AddSocket()で登録していくのだろうなーというのは
なんとなく察しがつくんですが、ここに登録したcliantに対して操作する場合、
どのようにしたらいいんでしょうか?
ドキュメントにはポインターです、としか書かれてなかったのですが、
クライアントsocketポインタの配列みたいな役割になっているのでしょうか?
SDLNet_SocketSet socketset;
SDLNet_TCPsocket i;
for (i=(SDLNet_TCPsocket)socketset; *i!=NULL; i++) {
len = SDLNet_TCP_Recv(i, message, 1024);
printf ("Received: %.*s\n", len, message);
}
みたいな感じにすればいいのかな?
0376名前は開発中のものです。
04/03/13 11:02ID:KWP+lz2iこんなかんじ?
SDLNet_SocketSet sockset;
SDLNet_TCPsocket sock[10];
SDLNet_TCP_AddSocket(sockset, sock[0]);
SDLNet_TCP_AddSocket(sockset, sock[2]);
:
SDLNet_TCP_AddSocket(sockset, sock[9]);
if (SDLNet_CheckSockets(sockset, 1000) > 0) {
for (i = 0; i< 10; i++) {
if (SDLNet_SocketReady(serversock)) {
SDLNet_TCP_Recv(sock[i], message, 1024);
}
}
}
0377名前は開発中のものです。
04/03/13 12:58ID:KWP+lz2i○ if (SDLNet_SocketReady(sock[i])) {
だった。
要するにselect()のfdsetと同じ役割と考えるとわかりやすい(というか実際に同じか)。
サイトをインチキ英訳して、
SDL 本家の ML に Mix_LoadMUS_RW() パッチ作ったよーって投げてみたよ。
http://qas.sourceforge.jp/patches/
ML 見てる分には、たまーに
「Mix_LoadMUS_RW() は実装されないの?」
って発言を見かけるから、少しは需要あるかなー。
って返事が来たんだけど、
本家に取り込んでもらうにはどうすりゃいいんだろう。
「commit してくれ」ってそのまんま頼めばいいのかな。
す、スレ違い?
0380名前は開発中のものです。
04/03/15 08:57ID:k6ohdd5m新機能の追加なのですぐにcommitされるか微妙ですが
なんらかの返信はすぐに来るはず。
怒られるようなことは、まずないと思います。
0381名前は開発中のものです。
04/03/21 17:30ID:Nmo/42G+cmp命令とmov命令の一部がアセンブラ構文エラーになって弾かれてしまいます。
WinXPかVC++5が悪いのかな。他の人はこういうふうにはならないのでしょうか?
今からVC6なんて手にはいらないし、.netならいいのかなぁ?
0382名前は開発中のものです。
04/03/24 23:18ID:vYURZF4R今VC5を使ってる人ってほとんどいないような希ガス。
だからそれだけの情報じゃぁなかなか答えようがないと思うよ。
とりあえず該当部分のコード晒してみるのはどう?
そーいうオレ自身ももっぱらMinGWなんでさっぱり分からんのだが。
0383名前は開発中のものです。
04/03/25 10:56ID:06E5ih+O想像ですが、cpuidの直後で引っ掛かってるんでないかと。
VC5にはcpuidがないとかいう噂を聞いた覚えがあります。
cpuid絡みならもしかすると、ソースの頭に
#define cpuid __asm _emit 0x0F __asm _emit 0xA2
を入れれば上手くいくかも。
自分はVC6で、今やってみたら1.2.7も普通にコンパイルできますな。
0384名前は開発中のものです。
04/04/05 08:17ID:/ekkDjoXwin32appを作るのに近い感覚で作れてなかなか良いですね。
ただ資料、特にdelphiのものは皆無といっても良いほど内のが玉に瑕。
今度入門ページとか作って見様かなぁ
0385381
04/04/07 01:48ID:Wn2bWE/gやっぱりコンパイラの問題かなぁ。
VC.netを購入する理由が別にできてしまったので、
それでコンパイルしてみることにします。
で、それでもダメだったら>>383さんのを参考にしてみまつ。
0386名前は開発中のものです。
04/04/13 00:18ID:R3klDjkdwaveをたくさん重ねて鳴らしたいのですが。
0387名前は開発中のものです。
04/04/13 01:35ID:ItZmwa9S> It supports 8 channels of 16 bit stereo audio, plus a single channel of music, ...
0388名前は開発中のものです。
04/04/13 23:06ID:R3klDjkd0389名前は開発中のものです。
04/04/13 23:45ID:n/5r7ovM>>387のは単なるdefault値だよ。
http://jcatki.no-ip.org/SDL_mixer/SDL_mixer.html#SEC22
に
The number of channels allocated.
Never fails...but a high number of channels can segfault if you run out of memory.
とある通り、メモリ(と演算速度もか?)の許す限りいくらでも取れるっぽ。
増えすぎてちゃんと鳴ってんのかどうかわからなかった。
まあ、16ぐらいは普通にいけるよ
0392名前は開発中のものです。
04/04/19 23:43ID:df6eSjfW表示してる画像を動かすと、やたらぶれて見えることってない?
静止してその場でアニメーションしてもぶれないんだけど、
画像全体を上下左右に動かすと途端にぶれて見えるみたいな。
でもCRTだと問題ないし、その液晶でだってゲーム全部ダメってこともなく……。
FPS落としてみたりして試行錯誤はしてるんだけど、うまくいかず。
世の中のゲームはどんな実装してんのか、誰か教えてくだされ……。
0393名前は開発中のものです。
04/04/20 09:47ID:Kz7PIZnRFPSなゲームだと余り目立たないけど、1/30秒位でオブジェクトを
動かすと2重にブレて見える事もある。
中途半端に遅くても駄目な例。
0394名前は開発中のものです。
04/04/21 09:16ID:GSi5k06lhttp://game6.2ch.net/test/read.cgi/game/1069793039/
とかも参考になるかも。
0395392
04/04/21 16:31ID:WKD5qBW8ありがd。やっぱ世の中安物はだめなのか……。
自分が使うぶんにはいいんだけど、
他人にプレイさせると選べないんだよね……。
0396名前は開発中のものです。
04/04/24 02:00ID:Z5qgN2Apデザイン一新しててビックリしたんだけど、
いつから変わってたんだろう…。
何でか知らんのだけど、リニューアル後は
サイトの HTML や画像まで CVS に入れるようになったみたいだね。
CVS コミット通知の ML 読んでてびっくりしたよ。
0398名前は開発中のものです。
04/05/12 07:37ID:+G0iEP7mssk試してみたけどあれはツライなぁと。
SDLのソース触ってIMEからなんとか動かしてるんですけど、
やっぱSDL_imeがほすぃ…。
0399名前は開発中のものです。
04/05/13 21:41ID:bDKw0/eZsdl-fan-jp で SDL で IME を直接使う、みたいなのが出てたね。
http://morihyphen.hp.infoseek.co.jp/prog/sdl-im.html
これ一個で X Window 系を一気にサポートできるけど
MacOS, Windows, Amiga OS 辺りがサポートできないね。
この XIM のものですら実践的じゃない部分も多いし、
実際やるとなると相当大変だな……
http://qas.sourceforge.jp/patches/
・ファイル開くのに失敗したら NULL を返すようにした。
これまではライブラリ内部でクラッシュしてたんだよ。信じられるかい?
・SDL_bdf みたいに SDL_Surface へ直接描画する関数を追加した。
・横幅を元に、文字列の中で描画できる byte 数を返す関数を追加。
文字列から横幅を取得することはできるんだけど、
それだと先に横幅が決まってる場合にスマートに自動改行の実装するのは難しいんだよね。
強制的に TTF ファイル内の埋め込みビットマップフォントが使用されてしまう問題は
Shaded や Blended の時だけ bitmap を使わないようにすればいい……と言いたいところだけど、
TTF_Size* を呼び出す時、Solid と Shaded, Blended との場合が区別できないから
互換性が失われてしまうんだよね。
TTF_Size*_{Solid|Shaded|Blended} ってのを新しく追加しようかなとも思ったんだけど、
結局互換性は保たれないからなあ。
オリジナルのコードを見るとよくわかるけど、
何と言うか、試行錯誤の爪あとがひどくて……
別のライブラリを作った方がいいのかなあ。
0402名前は開発中のものです。
04/05/30 22:14ID:XZwjpvJyパッチ作成おつー
パッチは役割毎に分けて,CVSバージョンに対して作って
直接 Sam に投げてあげると取り込まれやすいかもー
# Mix_LoadMUS_RW パッチも取り込まれてないのね…
# 今CVS見たら MikMod のみに対応した Mix_LoadMUS_RW の
# コードが入ってるっぽい…
0403名前は開発中のものです。
04/06/16 14:33ID:Ui6mhgG3Linuxではできるみたいなんだけど、WinでRubyの拡張ライブラリ
を作るやり方がさっぱりわからない…
0404名前は開発中のものです。
04/06/17 23:16ID:1bQx+Nnzサウンド用の汎用ライブラリって何かありますか?
0405名前は開発中のものです。
04/06/17 23:40ID:eN4Qw0jN感想キボンヌ
0406名前は開発中のものです。
04/06/18 03:56ID:Lm+5DsNESDL_mixerとSDL_soundあたりをまず上げてやれよ。
SDLとの組み合わせでは一番使用例が多いだろうに。
それで機能不足を感じたなら改めてOpenALあたりを調べてみるのが良い気がする。
0407名前は開発中のものです。
04/06/20 15:54ID:6tF2CK9bSDL使うには Ruby/SDL と RUDL という手があるね。
漏れ、一時期、複雑なものなら型宣言有り言語推進派だったけど、
経験積むにつれ、型宣言に大した意味ないと思った。
Rubyマンセー
0408名前は開発中のものです。
04/06/21 18:12ID:OvV70vE4俺はRuby/SDLをやって、やっぱりRubyは大規模なものには
向かないと実感したよ。
1番多いミスが、変数に予期しない値が入っちゃうということなんで。
あと、初期化されていないフィールドと配列のインデックス越えでnilを返すところね。
自動テストができないから、リファクタリングも危険が伴うし。
もしまたスクリプト言語でゲームを書く機会があったら、今度はPyGameでやってみたい。
OpenALは3D空間内で音が聞こえてるようにシミュレートするやつだから
ファイル読み込みとかはほとんどできないよ。
0409名前は開発中のものです。
04/06/22 00:54ID:BZgdUtKP> OpenALは3D空間内で音が聞こえてるようにシミュレートするやつだから
> ファイル読み込みとかはほとんどできないよ。
ということは、SDL_soundでファイル読み込み&デコードやって、
OpenALに渡すのって実は良さそうなのか?
0410名前は開発中のものです。
04/06/22 01:11ID:ITWJAyK6その程度の問題だと単にRubyに慣れていないだけだとおもわれ
大規模なものを作ろうとおもったらどんな言語でもそれなりの
経験と設計とテストが必要でしょ…
0411名前は開発中のものです。
04/06/24 01:02ID:Vimy071Tだな。インタプリンタならしょうがない。Pythonでも同じだろう。
0412名前は開発中のものです。
04/06/24 01:09ID:M2KZSJrL0413名前は開発中のものです。
04/06/24 01:10ID:M2KZSJrLしかし型あってもエラー起きるときは起こるし。
単にリファクタリングにともなうテスト作りに慣れてないだけかと
0414名前は開発中のものです。
04/06/24 01:17ID:x3Ts3VTh0415名前は開発中のものです。
04/06/24 01:25ID:M2KZSJrL0416名前は開発中のものです。
04/06/24 18:26ID:qm5ejIlDメッセージから原因もわかりやすいし。
>>412
RUDLってメンテナンス止まってない?
0417名前は開発中のものです。
04/06/25 11:00ID:owgO6tb5いやなんだけど…
SDL + GL の描画しか使ってなくても SDL_image, SDL_mixer, SDL_ttf, SGE
のDLLも付けて配布しないといけないんだよねぇ…?
0418名前は開発中のものです。
04/06/26 15:36ID:YpRH5ts9神経質になりすぎだ
0419名前は開発中のものです。
04/06/27 20:12ID:TlIkOaxmSDLは日本人が使うとどうかなっちゃうの?w
0420名前は開発中のものです。
04/06/28 01:10ID:QaShh7Zh0421名前は開発中のものです。
04/06/28 13:42ID:7p8HGt/8翻訳サイトは移転しただけ。
ttp://www.tacoworks.jp/software/SDLdoc-jp/
0422名前は開発中のものです。
04/07/01 21:15ID:nUzqGN14SDL推進してるWikiとかないの?
0423名前は開発中のものです。
04/07/02 15:48ID:z9cQVZSD今のところ無いっぽいね。
とりあえずはバラバラに存在する国内情報の
まとめページだけでも欲しいかな。
0424名前は開発中のものです。
04/07/03 23:04ID:7rPVx/6/SDLって大量の資料が必要なほど複雑なライブラリじゃないと思われ…
リファレンスマニュアルとチュートリアル以外でどんな資料が欲しいの?
0425名前は開発中のものです。
04/07/03 23:14ID:1w5sa/fHそれだけじゃ足りないってことなんだろうけど。
0426名前は開発中のものです。
04/07/04 05:22ID:dw9vgL9Y0427名前は開発中のものです。
04/07/04 08:41ID:ctIGerBfSDL_image の場合 README に書いてある内容が全ての仕様だと思うけど…
ユーザが使うのは、
* SDL_Surface *IMG_Load(const char *file);
* SDL_Surface *IMG_Load_RW(SDL_RWops *src, int freesrc);
* SDL_Surface *IMG_LoadTyped_RW(SDL_RWops *src, int freesrc, char *type);
* SDL_Surface *IMG_ReadXPMFromArray(char **xpm);
くらいしかなくて、アプリケーションが使うのはほぼ一番目の関数だけ。
でも SDL_ttf とか SDL_net のドキュメントはもう少し欲しい気がするね。
0428名前は開発中のものです。
04/07/04 14:50ID:CEd3aHf1http://jcatki.no-ip.org/SDL_ttf/
http://jcatki.no-ip.org/SDL_net/
でもわかりにくいんだよなー。
特に SDL_ttf の場合、色んな描画方法に関して、
どう描画されるかではなくて重いだの軽いだの、そういうことばっかり書かれてたと思う。
0429名前は開発中のものです。
04/07/04 21:55ID:dw9vgL9Yhttp://gamdev.org/w/?%5B%5BSDL%5D%5D
0430名前は開発中のものです。
04/07/05 21:36ID:nSK/GKkyhttp://jcatki.no-ip.org/SDL_image/
http://jcatki.no-ip.org/SDL_mixer/
てか、ttp://jcatki.no-ip.org/から辿れば良いってことで。
0431名前は開発中のものです。
04/07/07 01:04ID:n/Oy7Dm9ディストリビューション毎に、glibcやらlibstdc++やらのバージョンがバラバラだったり、
ディストリビューション標準パッケージSDL_mixerが対応フォーマットさっぱりだったりとか。
どうにかならんもんかな。
0432名前は開発中のものです。
04/07/07 01:08ID:W6JVsWwD0433名前は開発中のものです。
04/07/07 01:16ID:n/Oy7Dm9やっぱそんな感じで割切るしかないですか。
とすると、RH系だと、今ならFedora2に対応しておけば良いのかな。
0434名前は開発中のものです。
04/07/07 01:25ID:ixnokw2/0435名前は開発中のものです。
04/07/07 01:34ID:n/Oy7Dm9う〜ん、確かに。
けど、LGPLのをスタティックリンクするってことは、
アプリ側の.oを配布する必要があるのかな。
それと、libc,libm,libstdc++とかスタティックリンクするとデカそうってのも微妙な感じだ。
0436名前は開発中のものです。
04/07/07 16:05ID:Cr3igRfZスタティックリンクしたらアプリ側のソースコードを公開する必要がある.
Linuxでのバイナリ配布は
1) 各ディストリビューション毎にバイナリを作る
2) メジャーなディストリビューションだけ作ってあとはユーザにコンパイルさせる
3) 全部スタティックリンクしたのを一つだけ配布
のどれかじゃないかなぁ… あ…
4) バイナリと libSDL.so や libSDL_mixer.so を一緒に配布
(LD_LIBRARY_PATH を設定して起動するシェルスクリプトを同封)
ってのもありえるか…
0437名前は開発中のものです。
04/07/07 20:12ID:qEMx/JGKLGPLのはスタティックリンクしても公開しなくていいのでは。
0438431
04/07/07 22:19ID:TRH5OiZw・自分が普段使ってるディストリビューション用の実行ファイルと、
まともなSDL_mixerのrpmを用意する。
・それとは別に、アプリの.o(または、まとめて.aにするかも)とMakefileを用意する。
ぐらいにしておこうかと思います。
しかし、各ディストリビューション間のバイナリ互換性の低さは頭のイタイ問題ですな。
0439名前は開発中のものです。
04/07/08 00:01ID:nQ5A0rf+LGPL部分は差し替えれるようにしなきゃだめじゃなかった?
0440名前は開発中のものです。
04/07/08 00:55ID:0z9S7ZSR> LGPL部分は差し替えれるようにしなきゃだめじゃなかった?
その通り。だからアプリの.oを配布で正しいと思うんだけど。
アプリの.o + 差し替えたLGPLのライブラリ
で再構築可能だろ?
0441436
04/07/08 11:56ID:HbCYsiEEちょっと聞きたいんだけど…
オブジェクトファイルだけあったら差し替え可能として認められるのかな?
この時オブジェクトファイルのフォーマットとかは問題にならんのかしら?
あ… 配布したスタティックリンクされた実行可能ファイルの元に
なった.oさえあればOKってことかな?
0442名前は開発中のものです。
04/07/08 14:48ID:1+ItRMvEオブジェクトファイルのフォーマットは、gcc の吐くような極一般的なものなら全然問題無いと思うよ。
>>440 の言う通り、君が作ったソフトウェアのオブジェクトファイルさえ入ってれば大丈夫だから、それで合ってるね。
0443名前は開発中のものです。
04/07/10 20:51ID:21jpHlag誰か助けてください。
#include <SDL.h>
doubleax,ay;
int main(int argc, char** args) {
SDL_Init(SDL_INIT_VIDEO);
SDL_Surface *screen;
screen = SDL_SetVideoMode(640, 480, 8, SDL_SWSURFACE);
while(true) {
SDL_Event event;
SDL_MouseMotionEvent mouse;
while(SDL_PollEvent(&event)) {
if(event.type==SDL_QUIT) {
return 0;
}
if(event.type==SDL_MOUSEMOTION){
ay += mouse.x;
ax += mouse.y;
}
}
SDL_Delay(10);
}
}
0444名前は開発中のものです。
04/07/10 22:02ID:JmED2rrl0445名前は開発中のものです。
04/07/10 22:45ID:MW3XWIRhdx, dy を初期化してないのはC的にいいとして、mouse を初期化してねーじゃねーか。
ググったらこことか引っかかったから見てみれ。
http://www.pl-berichte.de/work/sdl/sdl-teil2.html
0446445
04/07/10 22:47ID:MW3XWIRhってとこね。ってよく見たらドイツ語だ。すまん。でもソースは分かるよね。
0447名前は開発中のものです。
04/07/10 22:53ID:DRUUao5j0448名前は開発中のものです。
04/07/10 23:10ID:MW3XWIRh0449名無しさん@そうだ選挙に行こう
04/07/11 07:05ID:VqfcMOHHありがとうございます。
>>447
>>448
作りかけのソースを削ったのでおかしくなってしまいました。
0450名無しさん@そうだ選挙に行こう
04/07/11 09:59ID:E7W22GHh0451N速に書き込めません。
04/07/11 10:18ID:wvsVVX1k何とかしてください
0452名無しさん@そうだ選挙に行こう
04/07/11 12:11ID:/yFc1fy2そんなときはあれだよ。 あれ。
0453名前は開発中のものです。
04/07/12 00:37ID:A2nXW2Noみたいに SDL_Surface* を引数に取る関数を呼ぶときに楽しようと思って、
class CSDLSurface {
...
operator SDL_Surface*() { return surface; } // surface は SDL_Surface*
などとクラス内に書いたんです。でも
Kanji_PutText( ... , screen, ... ); // screen は CSDLSurface
とやっても、VC.NETに
引数を 'CSDLSurface *' から 'SDL_Surface *' に変換できません
と怒られるし、(SDL_Surface*)screen とやってキャストして渡しても、クラスのアドレスが
そのまんま渡ってるみたいでうまくいきません。そもそもなんで operator をオーバーロード
してるのに型変換してくれないんでしゅか。
0454453
04/07/12 00:39ID:A2nXW2No0455名前は開発中のものです。
04/07/12 01:05ID:1R+yHQE6> Kanji_PutText( ... , screen, ... ); // screen は CSDLSurface
Kanji_PutText( ... , screen(), ... );
じゃないかい?
0456453
04/07/12 01:29ID:A2nXW2Noscreen()とやると、"関数には評価されません" と言われてしまいます、、
それと453に間違いがもう一つ
> Kanji_PutText( ... , screen, ... ); // screen は CSDLSurface
screenは CSDLSurface* です
0457名前は開発中のものです。
04/07/12 09:21ID:d4JCqMcp> screenは CSDLSurface* です
じゃ、
Kanji_PutText( ... , (*screen)(), ... );
Kanji_PutText( ... , screen->operator(), ... );
のどっちかじゃない?
0458453
04/07/12 23:23ID:A2nXW2Noどうもお手数かけてしまってすみませんでした。
Kanji_PutText(..., screen->operator SDL_Surface*(), ...);
でコンパイルは通ったんですが、よく考えてみるとどうやらscreenがポインタ
であることが原因だったようで、
CSDLSurface screen; // ポインタにするのをやめた
...
Kanji_PutText(..., screen, ...);
みたいに、普通にクラスを渡せばちゃんと SDL_Surface* に変換してくれるんですね。
これってC++の基本ですか? 恥ずかしいかも。
でもなんか、クラスをポインタでなく保持するのはよろしくない、みたいな文章をどこかで
読んだ気がして、それが引っかかってなんか気が進まないです、、
0459名前は開発中のものです。
04/07/13 00:35ID:yFmAkR9z大体予想通りの結果?長文スマソ。
#include <iostream>
using namespace std;
class Foo {};
class Bar {
Foo foo;
public:
operator Foo*() {return &(this->foo);}
};
void hoge(Foo* p_foo_)
{
cout << p_foo_ << endl;
}
int main(int argc,char* argv[])
{
Bar bar;
Bar* p_bar = &bar;
hoge(bar);
// hoge(bar()); // no match for call to `(Bar) ()'
// hoge(p_bar); // cannot convert `Bar*' to `Foo*' for argument `1' to `void hoge(Foo*)'
hoge(*p_bar);
// hoge((*p_bar)()); // no match for call to `(Bar) ()'
// hoge(p_bar->operator()); // `class Bar' has no member named `operator()'
return 0;
}
0460名前は開発中のものです。
04/07/13 03:32ID:P6ImUkzN0461名前は開発中のものです。
04/07/13 03:58ID:szTJAEHMポインタなら単純に参照を外すだけでいい
Kanji_PutText( ... , *screen, ... );
ただ、暗黙のキャストは怖いから、
楽しようと考えている程度なら、素直にGetterを作った方が良いと思う。
0462453
04/07/13 23:44ID:KSTvEm7j暗黙の型変換を故意に狙うのはよくないですね。それに、*screen で返って
くるのがポインタってのも直感的でないですし。結局
SDL_Surface* GetSurface() const { return surface; }
を加えました。
0463名前は開発中のものです。
04/07/21 22:14ID:yROlyeHQsurfaceって、オブジェクト毎に作って良いんだろうか?
今まで俗に言うスプライトみたいな扱い方してたんだが。
背景なら背景で、画像合成させて1つのsurfaceにするのが普通なんだろうか?
0464名前は開発中のものです。
04/07/22 01:54ID:OPZjuMp0とりあえず質問の意味がさっぱりわからん…
0465名前は開発中のものです。
04/07/22 12:31ID:sx+OGorQ0466名前は開発中のものです。
04/07/22 14:51ID:xASuzJAT0467名前は開発中のものです。
04/07/22 17:39ID:mpU5Xpvs0468名前は開発中のものです。
04/07/22 20:26ID:jpCxn5GA漏れも何を聞いとるのかよう判らんのだが取り敢えず、
喪前さんの考える「Surface を一つにまとめることの長所」を教えてくれんかいの。
察するに割とどっちでもいいような気がするんだが……。
0469名前は開発中のものです。
04/07/22 21:25ID:NOi9FMd0オーバーヘッドやメモリの断片化による効率低下などがあるのか?
ってところじゃないんですかね。
0470名前は開発中のものです。
04/07/22 21:27ID:mpU5Xpvs0471463
04/07/22 22:21ID:mBKaU+OVスクロールする背景部品3つを自分で合成したのと
そのままほっといて普通に処理させた方で試してみた。
結果、そのままほっといて普通に処理させたほうが早かった…
つまり、俺の書い処理の方がヘッポコでした。
メモリ使用量・動作速度でのメリットは全く無し、またsurfaceの数が
多すぎて判らなくなるなら、管理体制そのものを見直す方が良いっぽいです。
0472名前は開発中のものです。
04/07/22 22:42ID:xASuzJAT人間ダブルバッファをしたってこと?
0473名前は開発中のものです。
04/07/23 01:31ID:k28imbO0なるべく種類ごとぐらいにまとめておいた方がいんでないの
とSDL使ったこと無いやつが言ってみるテスト。
0474名前は開発中のものです。
04/07/26 13:45ID:cbiqvpsK0475名前は開発中のものです。
04/07/26 15:46ID:Z8i+sT7Z0476名前は開発中のものです。
04/07/29 02:24ID:kbrPCy1U標準で付いてくるサンプルも充実してて解かりやすいから、
入門ページをわざわざ作る人があまりいないのかな、とオモタ。
0477名前は開発中のものです。
04/08/02 11:44ID:uIIM7zIN落ちものゲーとか作るときって結構これがUIに関わってきますよね。
キーが押された時刻を覚えておいて、押されっぱなしのままX_秒経ったら
キーがまた押されたことにする、とかするんでしょうか。
SDL_EnableKeyRepeat()みたいなのもあったんですがうまく動いてくれないんですよね・・
0478名前は開発中のものです。
04/08/02 21:19ID:1kimllXS> キーが押された時刻を覚えておいて、押されっぱなしのままX_秒経ったら
> キーがまた押されたことにする、とかするんでしょうか。
うん。
0479名前は開発中のものです。
04/08/02 23:13ID:5gOr47iA自前で処理、に一票。
どっちみちキーボードとジョイスティックの両方で操作可能にしたいから、
自分で適当にラッパー書くのが楽だと思う。
0480名前は開発中のものです。
04/08/06 12:10ID:fX1V4XLW環境によっては激しく音質悪化するね…
だからといってバッファ多くすると遅延が・゚・(ノД`)・゚・。
0481名前は開発中のものです。
04/08/07 17:44ID:wc7qHVarそんなわけで、いっそSDL_sound + OpenALとかでシステム組んで
公開してくれたりすると嬉しいです(と、人まかせ)。
0482名前は開発中のものです。
04/08/07 18:00ID:sO/xVe9hhttp://zinnia.dyndns.org/~zinnia/sdl/watch2/?date=20040730#p02
草案の本体がどこにあるのかちょっとわからなかったんだけど、
やるとしたら2.0の様子を見た方がいいんじゃないかな。
0483名前は開発中のものです。
04/08/08 12:36ID:n15LlEy5まだ草案段階なんだったら、待つ必要ないんじゃない?
これから、
細部の詰め -> α -> β -> リリース
と行くと何年後になるやら。
0484名前は開発中のものです。
04/08/09 19:20ID:lqi/7vlXRubyで生成した画像データをGUIに表示したいんだけどdraw〜なメソッドで描いていたらやたら時間がかかりそうだし
Surface.loadはファイルしかロードできないし…
0485名前は開発中のものです。
04/08/09 22:02ID:suCCLB3hRuby/SDL はよくしらないけど、
SDL_CreateRGBSurfaceFrom に相当するメソッドは存在しないの?
SDL_CreateRGBSurface は SDL::Surface.new に置き換わっているようだけど。
0486484
04/08/09 23:55ID:lqi/7vlX>SDL_CreateRGBSurfaceFrom に相当するメソッドは存在しないの?
う〜ん…displayFormatあたりだろうか…
実験してみます。
0487484
04/08/10 16:19ID:ojobLfTUチュートリアルにサンプルがありました。どうやらサーフィス→サーフィスなメソッドのようです。
う〜ん…1ピクセルずつ書いていくしかないのか…_| ̄|○
0488名前は開発中のものです。
04/08/10 19:03ID:og4arkOY0489名前は開発中のものです。
04/08/11 17:50ID:DHS7JU0v使えるよ。
0490名前は開発中のものです。
04/08/11 18:10ID:fjnBF2CCRuby/SDL のソースをざっと見てみたが、SDL_CreateRGBSurfaceFrom は無いようだな。
処理時間云々を気にするなら Ruby 以外も検討してみるといいかも知れん。
>>488
SDL_BlitSurface はあるが、引数に Surface をとるからな。
>>484 の場合手元にあるのはメモリ上のデータだから、それを Surface にする手段が欲しいんじゃないか?
0491名前は開発中のものです。
04/08/11 23:45ID:uIr8FGgs同人とかで売っても大丈夫なのですか?
0492名前は開発中のものです。
04/08/12 01:11ID:1Ox6RoRS動的リンクをして使うんだよね?
それなら、SDL.DLLのソースの入手方法さえ用意すればOK。
具体的には、そのソースを同梱するとか、本家のサイトのアドレスを説明書に入れとくとか。
LGPLライセンスについて、調べてみるべし。
0493名前は開発中のものです。
04/08/12 03:39ID:GXLAlDtL俺は実際同人で売ってる。
で、CDの中にSDL.dllのバイナリの他に
SDL-1.2.7.tar.gz
LGPL
を入れてある。
0494名前は開発中のものです。
04/08/12 21:36ID:U24wpCkA0495491
04/08/12 23:53ID:wAr6hdR2動的リンクで使う予定です。
入手方法もしくはソースを同梱すればOKなんですね。勉強になりました。
LGPLがいまいち理解できなくて、いつまでも踏み出せずにいました。
ありがとうございました。
実際やろうとしていた事をズバリやっている493氏のような人物も居て励みになります。
0496名前は開発中のものです。
04/08/17 01:08ID:2NQFsJZQこれ日本語入力はどうすればよいのだろう?
まだalfontは導入していないがデフォルトで日本語の表示は可能だし、
guiクラスに入力用のtextboxが用意されているようだが日本語は無理だ。
SDLは一応sdlskkなぞあるようだが。
Gtk+やTkからテキストウィジェットだけ拝借してくるしかないのかな。
0497名前は開発中のものです。
04/08/17 02:39ID:NkMI/CJfつーか何故SDLのスレでAllegroの質問をしますか。
0498名前は開発中のものです。
04/08/17 21:22ID:Mr02eSkK拡大したときに下と右が削れる。
俺だけ?
0499名前は開発中のものです。
04/08/18 00:14ID:O0wT/ab0http://pc5.2ch.net/test/read.cgi/gamedev/1008220559/
0500名前は開発中のものです。
04/08/19 06:31ID:88YaKIPR0501名前は開発中のものです。
04/08/19 06:40ID:O1yTQBZf0502名前は開発中のものです。
04/08/19 23:51ID:6l6QpGXx無いんじゃないかなぁ。
SDL_SetVideoMode()時に覚えておくぐらいしか。
あと、>>501のよりも>>421のが良いかも。
0503500
04/08/20 10:57ID:csZBm7g+サイズ変更させたくなかったんですけど妥協しときます。
ありがとうございました。
0504名前は開発中のものです。
04/08/20 12:05ID:LiSmyfUa0505名前は開発中のものです。
04/08/20 16:46ID:esCldzWy……なんか間違えてないか?
SDL_GetVideoSurface() だけで事足りると思うんだが。
SDL_Surface* screen = SDL_GetVideoSurface();
printf("width, height: %d, %d\n", screen->w, screen->h);
みたいな。おれがなんか間違えてんだろうか……。
0506名前は開発中のものです。
04/08/20 22:03ID:JqCl1DGvSDL_BlitSurfaceのSDL_Rect *dstrectってw,hが無視されてしまうし。
困った困った。
0507498
04/08/21 00:43ID:ELGMlgiiソースとなるサーフィスのサイズはぴったりではいけないようだ。
余裕を持たせたら削れなくなった
0508名前は開発中のものです。
04/08/21 01:17ID:wDjE80nxSGEを使う手がある(sge_transform)。
http://www.etek.chalmers.se/~e8cal1/sge/index.html
正直、俺もネイティブSDLで使える方法があったら知りたいです
0509500
04/08/21 01:20ID:diBViIiVwinAPIのGetSystemMetrics(SM_CXSCREEN)みたいな。
0510名前は開発中のものです。
04/08/21 10:32ID:FvC1IsvOSDL_SoftStretch は?あまし勧められた API でも無いみたいだけど。
>>509
SDL_ListModes は?一番大きいのを取れば多分良いかな…
0511名前は開発中のものです。
04/08/21 22:11ID:H0unQWjVこれはいったいどこの部分にSDLを使っているのでしょうか??
ソースを見た限りではウインドウ表示ぐらいしかしていないような…。
ご存知の方いませんか??
というか、SDLがどういうライブラリなのかいまいち分かっていないです…ごみんなさい。
因みにSDL関係の関数(?)をウマーくOpenGLの関数などに置き換えたら、
SDL抜きの日本語表示ができました…!?何故だ〜〜?
0512505
04/08/21 22:19ID:qlUWPwIqああ、そういうことか。すまん、SDL_FULLSCREEN を前提にしちまった。
しかしそうなると >>502-503 の発言が判らないんだが。
「サイズ変更」ってのは SDL_SetVideoMode かと思ったんだが、
それでディスプレイのサイズがとれるのか……?
SDL の Windows 部分のソースを適当に眺めたんだが、GetSystemMetrics(SM_CXSCREEN) は
DX5_SetVideoMode と DIB_SetVideoMode (どっちも SDL_SetVideoMode の下請け) でしか使ってないな……。
両方ウィンドウを画面中央に表示するために使ってるだけだし。
SDL_ListModes は EnumDisplaySettings か IDirectDraw2_EnumDisplayModes の結果を使ってるから、
これもやっぱり「現在の」画面解像度はとれそうにない。
……やたら長文なだけで全然解決案にならんなorz
>>510
SDL_ListModes の一番大きいの、おれは使ってないな……。
1600x1200 で使うと字が小さすぎて目が痛くなるorz
>>511
……お前さん SDL_kanji と gl_kanji を間違えてないか?
0513名前は開発中のものです。
04/08/21 22:34ID:H0unQWjV>>512さん
間違えてないですよ。gl_kanjiも
#include <SDL.h>
#include <SDL_opengl.h>
ってなっています。
ウインドウ表示もSDL_SetVideoModeでやっていますし。
ひょっとしたらこれだけにSDLを用いているのかなーと思いまして。
0514505
04/08/21 23:18ID:qlUWPwIqいや、おれは gl_kanji, SDL_kanji はおろか OpenGL も弄ったことのない軟弱者なんだが、でもやっぱりなんか違うと思うぞ。
今 gl_kanji を落として軽く見てみたが、
SDL 関係のヘッダを include してるのは、変換ツールとかサンプルとかのソースだろう?
gl_kanji の本体(?)は gl_kanji.cc と gl_kanji.h だけで、その二つは SDL とは関係ないんじゃないか。
つーか gl_kanji の readme.txt 読んでくれ。断言はできんがお前さん相当とっけんはっけんな質問してるような気がする。
SDL 判ってないっていうから念の為書いておくと、SDL と OpenGL の組み合わせには、
1. SDL 単体で使う、2. OpenGL 単体で使う、3. SDL から OpenGL を使う、って三種類あるぞ。
で OpenGL を使う気なら、gl_kanji つーのも選択肢に入ってくるだろうが、
OpenGL 抜きの SDL だけで日本語表示がしたいなら、
SDL_kanji か SDL_ttf を使うことになると思う。
どうでもいいがお前さん、2ch じゃメール欄に sage って書く癖つけておいた方がいいぞ。
……また無駄に偉そうな長文になってしまったorz
0515名前は開発中のものです。
04/08/21 23:52ID:H0unQWjV失礼しました…m(_ _)m
gl_kanji.ccのヘッダに
#include <SDL.h>
#include <SDL_opengl.h>
と記述してあるのはI-Saintさんのgl_kanjiです。
多分、オリジナルのとはちょっと違うのかもしれません。
...あ、しかもgl_kanji.ccのヘッダではなくtestgl_kanji.cppのヘッダ
でした…申し訳ないです、お騒がせいたしました…orz
もう二度とプログラミングには手をつけませんから許してください。
0516名前は開発中のものです。
04/08/22 00:00ID:HGFZMTgG冗談だと思うけど…
がんがれ!
んな事(゚ε゚)キニシナイ!!でプログラム書きまくれ!
0517508
04/08/22 00:02ID:pseiC9zkおお、そんな隠しAPIがあるとは知らなかったですよ。thanks
とりあえずソースからコピればGPLとしては使えるわけか。
ぐぐってみたら、メーリングリストに506氏と同じ疑問が書いてあって
面白かった。
ttp://www.libsdl.org/pipermail/sdl/2001-March/034394.html
0518506
04/08/22 01:04ID:WvVrOjz5サンクス。sge_transform_surfaceってやつですかね。
今のところ拡大・縮小だけ必要なのでsgl入れるのは気が進まないです。
自作した方が良いのかなあ…
>>510
SDL_SoftStretch、検索してみたけどうまく見つかりません。
もうちと捜索してみます。
0519名前は開発中のものです。
04/08/22 23:02ID:WvVrOjz5フルスクリーンではfpsがリフレッシュレートと同じになったんですが、ウィンドウモードではとんでもなく多くなります。
アニメーションはSDL_GetTicksの値を利用しているので、早くなったりすることは無いですが、CPU時間は猛烈に食っていますよね。
ウィンドウ時になにか対策したほうがいいですか?
0520名前は開発中のものです。
04/08/23 01:09ID:JruymYaP次のフレームまでの間に時間が余ってる間はSDL_Delay(0)でループさせるとか。
0521名前は開発中のものです。
04/08/23 02:20ID:4IY4L0bN付属のサンプルがうまく動いてくれない・・・。
kanji_PutTextは問題なく動いてるっぽいのだが、
kanji_CreateSurfaceで作ったサーフェイスを
SDL_BlitSurfaceで転送しようするとアクセスバイオレーションとか言われてしまう。
環境は
Win2000
VC6.0
SDL-1.2.7(本家から落としてきたVC6用のバイナリ)
です。
何故わかる人アドバイスprz
0522名前は開発中のものです。
04/08/23 23:37ID:vOt8qlrp全く同じ環境だったから SDL_kanji_f1b 落としてきて試してみたんだが、普通に動くな……。
デバッガで追っかけて、具体的に何がバイオレーションを起こしてるのか探ってみるといいかも。
screen は kanji_PutText とかでも使ってるし text は kanji_CreateSurface 内でエラーチェックがあるから、
少なくともポインタが NULL になることはなさそうなんだがなあ。
0523名前は開発中のものです。
04/08/25 21:13ID:EcBBkrxHエラー E2342 ..\..\src\video\windib\sdl_dibevents.c
189: パラメータ 'lpPrevWndFunc' は int (__stdcall *)() 型として定義されているので
long (__stdcall *)(void *,unsigned int,unsigned int,long) は渡せない
(関数 DIB_HandleMessage )とかいうエラーメッセージを吐いて出来ませんでした。
とりあえず該当箇所のソースを見て自分で直そうとしたのですが、見てみても
それらしき記述が発見できず…。
誰かどこを直せばいいかアドバイスお願いします。
一応環境は
Win98
BCC5.5.1
SDLのバージョンは安定版の1.2.7です。
0524521
04/08/26 00:18ID:bQrcHUhrわざわざ試してくれてサンクス。
デバッガで追ってみたけどkanji_CreateSurfaceも成功してて、
SDL_BlitSurfaceの中まで行ったけどアセンブラばっかりで
よく分からなかったよ・・・。
日本語表示には別の方法考えるか・・・。
>>523
BCCは使ってないのでワカランのだが、
VC6用のバイナリ一式をimplibでBCC用に書き換える
っていうのじゃダメなん?
0525名前は開発中のものです。
04/08/26 01:04ID:c70JkN3E適当に環境構築して試してみた。おれの環境は Win2k なんだが、
それ以外は一緒だから多分参考になると思う。Win2k + BCC5.5.1 + SDL-1.2.7 。
お前さんの言うエラーの lpPrevWndFunc は、CallWindowProc の第一引数の仮引数名だ。
そのエラーは winuser.h 内の Call〜 の定義のせいで出てる。で STRICT つーマクロを定義しとけば大丈夫。
つまり、Borland\freebcc\SDL.mak の 66 行目(辺り)の、
USERDEFINES = WIN32;BUILD_SDL;__FREEBCC__; ...
ってなってるその行の最後に「STRICT;」って書き足せばオッケーだ。
本当はその次の行にある SYSTDEFINES から NO_STRICT を消す必要があると思うんだが、
なんでか残したままでも問題なかったな。
で実はこれをクリアしても他にも問題が出てきた。それも適当に対処できたから次に続く。
0526525 の続き
04/08/26 01:23ID:c70JkN3E「Error: 外部シンボル '_SDL_HasMMX' が未解決(.\SDL-1.2.7\SRC\VIDEO\SDL_BLITN.OBJ が参照)」
みたいなエラーが来る。これは SDL_cpuinfo.c に定義されてるんだが、
SDL_cpuinfo.c のコンパイルが makefile にまるで書いてないのが原因。
なので、Borland\freebcc\SDL.mak の 70 行目(辺り)の
PATHCPP = .;..\..\src; ...(以下略)
ってなってる行の最後に「;..\..\src\cpuinfo」を追加して、
後 50 行目(辺り)の
..\..\src\video\SDL_blit.obj
に書き足して、
..\..\src\video\SDL_blit.obj ..\..\src\cpuinfo\SDL_cpuinfo.obj
にすればビルドできる。SDL-1.2.7\test\ に SDL.dll と SDL.lib が出来てるはず。
本当は SDLmain.mak にも間違いがあってビルドできんのだけど、
>>523 の implib で解決するんならそっちでやってくれい。
……ああ、やっぱり長文になってもうた。
0527名前は開発中のものです。
04/08/26 14:19ID:JtN6FZlLありがとうございます。何故かmakeはILinkで止まってしまいましたが…。
SDLのソースをちょっと弄って使いたい場合はimplibだと無理ですよね?
色々ぐぐってみたところ
ttp://www.mediawars.ne.jp/~freemage/progs/sdl/sdl4bcc.html
にSDLmain.libの修正方法が書いてありましたがSDL_dibevents.c
辺りを弄って使いたい場合にはどうすればいいのでしょうか…
そういえばmakeはobjファイルを参照しているということは一度ソースから
objファイルを生成してからmakeしないと変更が反映されないんですかね?
makeの仕組みが未だによく分かってません…。
0528525
04/08/26 19:11ID:c70JkN3Eうん? ILink で止まるから >>526 を書いたんだが……。
SDL_dibevents.c を弄っても SDL_main.lib にゃ関係ないと思うぞ?
影響が出るのは SDL.lib の方だけだと思うから、
SDLmain.lib は Borland\lib\ にある奴でいいんじゃないか。
SDL_dibevents.c を弄りたいんなら好きに弄って make -f SDL.mak でいいと思う。
SDL_dibevents を弄りたいっていうと、DIB_CreateWindow とか書き換えて、
フルスクリーンで解像度変えた時の他ウィンドウのサイズ保持とかやりたいのかしらん。
>そういえばmakeはobjファイルを参照しているということは
……その辺勝手にやってくれるから便利なんだと思うぞ。
0529名前は開発中のものです。
04/08/26 22:50ID:JtN6FZlLいや、SDLからIMEの文字列を取得しようと思ったんですが、そのままだと
メッセージが取得できないらしくて、少しソースを書き換える必要が出てきたんですよ。
何にせよとりあえずはこれでうまく出来そうです。ありがとうございました。
0530sgi rocks
04/08/27 00:50ID:fcNUInF8日本語入力のあたりでどうしようか考えてしまっています。
SDLは素晴らしいのですが、日本語入力が絡んで来ると、
せっかくマルチプラットフォームなのが有効に利用できないので、
皆で、SDLで動く日本語入力機構を作りませんか?
各々のOSの入力機構を使うか、それそのものを作るかもなにも決まってませんが、
今のところ、WindowsではIME、LinuxではXIMかIIIMFを使うといいかな、
と思っていたりします。
0531名前は開発中のものです。
04/08/27 10:41ID:hR9vryWf前にもそういう話はあったみたいだけど、
SDL でそういうことをやるのは結構難しいみたいだね。
俺も前ちょっと調べて同じことやろうとしたんだけど、
IME 関連のプログラミングの経験浅いからいまいちよくわかんないんだよね。
入力内容を勝手に描画してくれるのも悪くないとは思うけど、
もうちょっとプリミティブに現在の変換状況を取得できるような作りは厳しいかな。
0532529
04/08/27 17:05ID:pn3VuAxVC++でSDL使ったプログラムを書くときに何か注意するところはあるでしょうか?
というのも、書いたプログラムをメイクしてみると
Error: 外部シンボル '_main' が未解決(E:\BCC55\LIB\C0X32.OBJ が参照)
という何だか?なエラーが発生して少し困っているところなのです。
ちなみに、コンパイル時には-WC、-DDEBUG;WIN32をつけてコンパイルしました。
(他にも色々あったのですがとりあえず関係ありそうなものだけあげました)
0533名前は開発中のものです。
04/08/27 17:09ID:ED0DtQy80534名前は開発中のものです。
04/08/27 17:57ID:cER7lJgy0535531 ◆pm4Rr1N8T6
04/08/27 18:27ID:hR9vryWfうーん、すっげー適当な調査しかしてないんだけど、処理の流れとしては
1.SDL_GetWMInfo() でウィンドウシステム固有の情報を受け取る
2.IME が処理してる情報をコールバックで拝借する
3.共有 API によってウィンドウシステムに依存しない情報を得られるようにする
って感じが良さそうな気がする。
共有 API で取得できるべき情報はこんなとこだろうか。
・現在の漢字入力の ON/OFF
・現在入力中の文字列
・変換確定を行ったかどうかの情報
・確定後の文字列
わー、よくわからない!
結局変換中の小さいウィンドウを出す座標も設定出来ないと駄目だよなー。
Qt のソースでも読もうかな。
↓続く
0536531 ◆pm4Rr1N8T6
04/08/27 18:28ID:hR9vryWfSDL_SysWMinfo の定義には
・X11
・Nano-X
・Win32
・RiscOS
があるね。
BeOS とか Amiga とかは最初は無視しといていいかな。
Mac はどうしよう。随分前に調べたんだけど情報を見付けることができなかった。
情報リンク
http://home.catv.ne.jp/pp/ginoue/im/index.html
日本語入力プログラミング
http://www.hmug.org/man/3/XmbLookupString.html
XmbLookupString() の man (ごめん、UNIX よくわからない)
http://www.kumei.ne.jp/c_lang/sdk3/sdk_278.htm
IME の操作@猫でもわかるプログラミング
0537sgi_rocks
04/08/28 00:26ID:IBxR98vc共通のAPIを提供しておいて、そのAPIが各々のOSの
ネイティブな入力機構を使うのに賛成です。
Mac OS Xに関しては、X11を使っている場合に限っては、
Linuxなどと同じX11経由の入力機構が使えると思います。
私はLinuxでSDLを動かしているので、X11(XIM経由)を少しやってみます。
0538sgi_rocks
04/08/28 02:14ID:IBxR98vcそれらを含めたSDLを使ったGUIを提供した方が良いのでしょうか?
入力している時の、変換候補などの表示や、入力欄の事を考えると、
そこだけ他のGUIと違ってしまうのも変な感じがしなくもないのです。
簡単なGUIも一緒に提供するのも良いかもしれない、と思うのですがどうでしょう。
0539529
04/08/28 13:34ID:D9fRqR5kとりあえずmainはSDL_mainに置換されるという話なのでもちろんint main(int argc, char* argv[])
は書いているのですが、それでもError: 外部シンボル '_main' が未解決(E:\BCC55\LIB\C0W32.OBJ が参照)
が表示されるというのは謎ですね…。このエラーメッセージが何を言っているかがいまいちよく分からないのですが、
多分システムからコールバックされるべき_main、が無いってことなんですかね?
SDLmain.libでそっちの方が定義されてるはずなのに…orz
>>538
私は完璧に素人なのでこんなことにコメントするのもちとあれなのですが、
GUIごと提供してくれるとかなり便利そうな気もしますね。
0540名前は開発中のものです。
04/08/28 15:30ID:YZXmLvihとりえあず日本語入力機構だけを提供した方がいいと思います.
GUIは結局アプリケーション作る人次第な気がするので…
0541名前は開発中のものです。
04/08/28 15:58ID:QqhNTGOxよくあのペースで発表・発売できるもんだよ。
俺も将来はあのくらいの会社をもちたい。
0542名前は開発中のものです。
04/08/28 16:01ID:QqhNTGOx誤爆です。
0543531 ◆pm4Rr1N8T6
04/08/28 16:23ID:doDxlGS3GUI 部分はあとからでも付け足せるから先に入力機構だけでいいんじゃないかな。
と思いながら Win32 部分を作ってたんだけどさ、
まさか編集可能なウィンドウ(テキストボックスなど)が付いてないと
IME を入力可能状態にできないウィンドウシステムってある?
どうも上手くいかないんだけど、Win32 とかはそうなってるのかな。
うーん、ちょっと怖いなあ。GUI セットじゃないと厳しいかな。
とりあえず共通 API は、
・ネイティブな C で書く
・初期化関数で構造体を生成してポインタを返し、終了関数で開放
・ポリモーフィズムは構造体内に関数へのポインタを保持することで実装
・各処理系ごとにプリプロセッサで分岐し、初期化関数内の処理を切り分ける
って感じでいいかな。
SDL 本体内部の SDL_rwops や、多くの SDL 系ライブラリで使用されてる方法だから、
ソースを読めばもっと具体的な実現方法は把握できると思う。
ある程度各処理系の情報、実装の方向性がまとまってきたら、
共通 API を作るためのフレームワークを実装するよ。
一応 smpeg みたいな例もあるし、C++ で書いても問題は無いと思うけど、どっちがいいかな。
0544529
04/08/29 10:00ID:o5xfi0oD公式ページからSDL.dllをダウンロードしてきてimplibでSDL.libを生成して、
SDL_win32_main.cをコンパイルしてSDL_main.libを作っても駄目でした。
最近のソースにはBorland用のライブラリ一式があるんですがあれは使っていいのでしょうかね?
Error: 外部シンボル '_main' が未解決(E:\BCC55\LIB\C0X32.OBJ が参照)
もう見飽きた…orz
0545名前は開発中のものです。
04/08/29 12:50ID:dvcQQr7Q一応、念のため聞いておくが、
SDL.libはリンクしているけどSDL_main.libをリンクし忘れているなんてことは無いよな?
0546名前は開発中のものです。
04/08/29 14:02ID:iNpWlI3a-L/usr/local/lib -lmingw32 -lSDLmain -lSDL -mwindows
0547名前は開発中のものです。
04/08/29 14:57ID:dvcQQr7Qそれ、cygwinの場合でしょ?>>529の場合はbccらしいから同じとは限らないし。
0548名前は開発中のものです。
04/08/29 15:00ID:dvcQQr7Q0549名前は開発中のものです。
04/08/29 17:36ID:Vt1Safbsオプションを-Wにしてみろ。
0550529
04/08/29 19:35ID:o5xfi0oDSDL.libとSDL_main.libは同じフォルダにおいてフォルダにリンクをしてるので
多分し忘れということは無いと思うんですが…。
>>549
-Wを入れると今度は
Error: 外部シンボル 'WinMain' が未解決(E:\BCC55\LIB\C0W32.OBJ が参照)
となるんでどうしたものか…。
一応構造的にはSDL_main.libの_mainやらWinMainがコールバックされてそこから
mainが置換されたSDLmainの方に制御が移されるんですよね?
それともそれをやるにはコンパイルするときにコマンドラインオプションが必要とか?
もうわけわかんないです…。
0551名前は開発中のものです。
04/08/29 20:24ID:iNpWlI3a0552名前は開発中のものです。
04/08/29 23:02ID:hlhX5yl6> 一応構造的にはSDL_main.libの_mainやらWinMainがコールバックされてそこから
> mainが置換されたSDLmainの方に制御が移されるんですよね?
どう考えてるのかよくわかんないんだけど、実際には
1. SDL_win32_main.c の中の WinMain() が呼ばれる
2. その WinMain() が consol_main() を経由して SDL_main() を呼ぶ
3. SDL_win32_main.c が SDL_main.h を include しており、
その中で main() が SDL_main() として define されている
という作りになってる。
要するに、SDLmain.lib の中の WinMain() によって起動して、
その WinMain() が君のソースの中の main() を呼ぶって仕組み。
WinMain() で起動するために -W オプションは必須だね。
BCC が使う OMF っていうオブジェクトファイル、ライブラリファイルの形式では
関数の頭にアンダーバーを付けることになってるっぽい。
従って、main() をリンクする時には _main って部分を探すんだよ。
「bcc32.exe に -W オプションをきちんとつけて」
「`SDLmain.lib' と、`main() のあるソースから作った .obj ファイル' の両方をきちんとリンクする」
というプロセスが必要だよ。
常にどれかが抜けてるんだと思う。
0553531 ◆pm4Rr1N8T6
04/08/29 23:55ID:hlhX5yl6このまんまじゃ入力状態を取得できないなー。
表示すらしてないわけだから入力事態が行われてなさそう。
やっぱり GUI をセットにしないと駄目っぽい。
とりあえず、枠線付けただけのテキストボックスを CreateWindow() して
その GUI 内で IME による入力をできるようにしてみるよ。
こういうアプローチを取ると IME による入力部分だけ
OS 依存のフォント表示になってしまうけど、
その辺はもっと煮詰めてから考えることにする。
0554529
04/08/31 00:00ID:QiRAdHy60557sgi_rocks
04/08/31 04:06ID:hQvLtj9ASDL_PeekEventかなんかで定期的にチェックするのが良いのかも、と思っています。
最初はSDL_SysWMinfoのwindowのIDを使って、イベント自体を自分でマップしようとしていたのですが、
どうもSDL自体がマップしようとしてるイベント等と衝突する可能性もありそうなので、
イベント自体はすべてSDLに任せといて、SDL_Event構造体にある、SDL_WMMsg(やったっけ?)のwindow
に対するメッセージをチェックしつつ、もしそれがIM関連だった場合のみIM関連のものを実行するのが良いかもしれません。
実際にテストでやってみて、できたらまた書きます。
OpenGL使ってる場合は、別にコンテキストが用意されてるみたいなのですが、
WindowsでのOpenGLの扱いがどうなってるかは良くわからないので時間かかるかもしれませんが・・・。
0558531 ◆pm4Rr1N8T6
04/09/01 04:52ID:Iu2ojuI1子ウィンドウ(この場合テキストボックス)を作るために SDL_SysWMinfo を使ってるって意味で言ってたんだけど、
アプローチが違うから伝わってなかったみたいでごめん。
で、Windows 側でテキストボックス(エディットコントロール)を置いてみたんだけど、
どーしてもキーボードからの文字入力ができない。
まあよく考えると DirectX や OpenGL を使ってプライマリに描画されると
子ウィンドウは消えてしまうから元々この方法じゃ駄目かも知れないけど、
貼り付けや切り取りなんかはできるのに
一切の文字の入力ができないのはやっぱりおかしい。
と思ってソース読んでみたら、SDL め、
メッセージループでキーボードイベントを SDL の中に取り込んだあと
Windows 標準のウィンドウプロシージャーに渡さず破棄してる。
当然ウィンドウにキーボードイベントは通達されず、文字入力は不可能。
ALT+F4 での終了や ALT+SPACE でのメニュー出現が動かないのもこのせい。
そこで SDL_WMmsg を使ってみようとしたんだけど、
SDL で拾えなかったものだけを扱ってるもんだから
Windows 固有のキーボードイベントは破棄されててどうやっても取得できない。
もう一段ウィンドウプロシージャを噛ませるしか無いかな。
こりゃ大変だ……
0559531 ◆pm4Rr1N8T6
04/09/01 04:56ID:Iu2ojuI10560名前は開発中のものです。
04/09/01 10:29ID:Ph6g14fmAnthyのライブラリを使って自前で漢字変換するようにすればよいのではないかと思った。
sdlskkも同じような方式だっけ?なら同じようなのを増やしても意味無いな・・・。
0561名前は開発中のものです。
04/09/01 22:55ID:M+Pa7IBI意味あると思うよ。
skkは操作系がかなり独特だから対象ユーザが限られるけど、
Anthyなら普段は別のIMEを使用している人もそれほど違和感なく使えると思うし。
0562sgi_rocks
04/09/02 04:11ID:fDohgGN6ゲームのWindowと別のWindowを作ってそこで入力するのであれば、
それは既にやった事があります。(gtk+-2.xを使いました)
ゲームのWindow内に直接入力したいな、と思ってます。
恐らく、SDL_ttfを使うことになると思います。
>>560
自分で変換エンジンを作ってしまうのもよいのですが、
なるべく、ユーザーが使っているIMをそのまま使えるようにしようと思っていたので、
cannaやanthyではなく、XIMやIIIMFを操作する方法を探っています。
ただ、anthyなどを使って変換してしまうのも一つの手段ですし、
比較的簡単にできるかもしれませんね。
今少し時間がなかったりするので何もできてないのですが、
とりあえず私はXIMを操作する方向でやってみる予定です。
0563531 ◆pm4Rr1N8T6
04/09/05 01:18ID:O4WY3ynxhttp://gamdev.org/up/img/1165.zip
中身の test.zip の中にサンプル入れてある。
現在 Win32 用の処理のみ。
自分で IME 処理を実装することもできるから、
フリーな IME があったら自分で機能を追加できるよ。
まだテストが不十分だからあちこちにバグがありそう。注意!
>>562
いや、Windows 標準の入力機構を使おうとしたってこと。
Windows では、テキスト入力部分もウィンドウの一種として扱われてるんだよ。
あと、SDL_ttf は仕様レベルでのバグもあるし、
文字描画エンジンをユーザーが選ぶことができなくなるからできれば使いたくないなあ。
一応、上のライブラリでは単純な変換状況取得しかできないようになってる。
ライブラリの使い方サンプルプログラムでは SDL_ttf を使って描画した。
0564名前は開発中のものです。
04/09/05 21:21ID:gDPcDraAそれをXFilterEventしてやればXIMでも大丈夫なような気がしてきたのでちょいやってみます。
0565531 ◆pm4Rr1N8T6
04/09/05 22:36ID:Po72KKsfソースがぐちゃぐちゃだったのであちこち修正。
ついでにバグを潰して間に合わせだった仕様も結構変えてしまった。
昨日のを落としてた人ごめんなさい。
>>564
がんばれー
0566564
04/09/07 02:23ID:aIh9QYNBプロトコルとかまで調べないといかんかなぁ。。。
だれかXIMの挙動に詳しい人っている?
0567531 ◆pm4Rr1N8T6
04/09/07 03:52ID:s0fkyrDgインストール途中でこけるなあ。
とりあえず、MacOS 9 と MacOS X の入ったマシンを一台ずつ持ってるから、
そっちで Mac 版を作ってみるよ。
Mac の IME のインターフェイスは Text Service Manager ってんだっけ。
0568531 ◆pm4Rr1N8T6
04/09/07 03:58ID:s0fkyrDg昨日バグ潰したんだった。
あと、README のメッセージに関する説明を細かくしておいた。
仕様を確定させたつもりは無いから、
ウィンドウシステム固有の問題とかあったら連絡お願い。
0569sgi_rocks
04/09/08 00:55ID:hVzmkiI8基本的な仕様は現在ので良いと思います。
ひとつ提案があるとすれば、SDL_PollEventでイベントがなかった場合にIM関連のイベントを調べるのではなく、
User DefineなイベントをSDLのイベントキューに入れて、SDL_PollEventのループ内で他のイベントと同じように
処理できるようになればよいかな、と思いました。
>>566
私も531さんの仕様に沿った形で、XIMでの実装していたのですが、なかなか難しいですね(汗。
というのも、win32.cのように、自分でprocを作って、そっちで必要なものを処理した後、
SDLのprocにメッセージを渡す、というような形が取れれば一番良いと思うのですが、
X Window Systemでは、イベントが起こるたびに呼ばれるコールバック関数を設定する、というのはなく、
SDLが常にイベントを見るためにループしてるので、どうやってイベントをSDLより先に取得するかで悩んでます。
一応、XReparentWindowとかいう関数で、無理やり自分の作ったwindowをSDLの描写windowの親にして、
wmwindowの方はXUnmapWindow関数でマップをはずす事でなんとかSDLより先にイベントを取れるようになったのですが、
今度はXIMの仕様でなかなかわからなくて・・・。
XIMでは変換だけIMに任す、というのはできないらしく、必ず
何を入力しているのか、というのがXIMによって描写されてしまっている感じがします。
なので、変換中の文字列が取得できるにしても、すでにXIMによって画面に描写されている感じになってしまうかもしれません。
もしXやXIMに詳しい方がいらっしゃれば、その辺り教えて頂けると嬉しいです。
0570sgi_rocks
04/09/08 01:07ID:hVzmkiI8なんかサイトとか立ち上げた方が良い気がしてきたりしますがどうでしょう?
0571564
04/09/08 03:05ID:/gyCnV3Khttp://gamdev.org/up/img/1198.zip
kinput2 + canna で一応動いた。test/main.cは書換え無しでほぼ同じ挙動をするはず。
skkinputでは動かなかった。
on-the-spot とかいうスタイルを使えば描画も全部アプリケーション側でいけるはず。
いちいち全部描画をアプリケーションでやるのは面倒なこともあるかもしれんので、
ネイティブなIMEウィンドウで描画する方法もあったらいいかもしれんと思う。 >>仕様
>>570
たしかに、あったら助かるかも。
0572sgi_rocks
04/09/08 10:28ID:Z7GwucVhすごいです。Fedora Core 2(XIM + canna)で試しましたが、Windowsと同じように動作しました。
on-the-spotだとコールバック関数設定できたんですか(汗。思いつかなかったです。
一応サイトを作ってみました。
もし良かったら使って下さい。
ttp://p56.aaacafe.ne.jp/~sdlim/
0573sgi_rocks
04/09/08 10:35ID:Z7GwucVhすごいです。Fedora Core 2(XIM + canna)で試しましたが、Windowsと同じように動作しました。
on-the-spotだとコールバック関数設定できたんですか(汗。思いつかなかったです。
一応サイトを作ってみました。
もし良かったら使って下さい。
ttp://p56.aaacafe.ne.jp/~sdlim/
0574名前は開発中のものです。
04/09/08 12:44ID:4F4ga2pg> どうやってイベントをSDLより先に取得するかで悩んでます。
一応こんなもんがあるよ。
http://www.tacoworks.jp/software/SDLdoc-jp/html/sdlseteventfilter.html
ただ、これを使っても、SDL 自体の処理がタコで
ユーザーにイベントを回してこないことがある。
win32.c では SDL が一部のイベントを握り潰していたから
自分で Win32API 側のイベントを奪い取るしか無かった。
あと、アプリケーション開発側のユーザーが
SDL_inputmethod と同時に自前で SDL_SetEventFilter() を使った場合、
きちんと古い SDL_EventFilter を呼んでくれない危険性もあるね。
0575名前は開発中のものです。
04/09/08 13:09ID:4F4ga2pgおお、やった!
っていうか SDL_EventFilter 使ってたんだね。
> ネイティブなIMEウィンドウで描画する方法もあったらいいかもしれんと思う。 >>仕様
SDL_rwops や SDL_rotozoom みたいに本体と分離できないかな。
SDL_inputmethod 自体に描画を入れるのを嫌がってるのは
ユーザーに何らかの制約を課したくないだけだからなんだけど、
ほら、使わない場合にまでわざわざ SDL_ttf を入れるのって面倒じゃない。
もっとプリミティブな部分を前面に押し出していった方が
ユーザーとしても使いやすいと思ってたんだけど、そうでもないのかな。
そういう意味で
>569
> User DefineなイベントをSDLのイベントキューに入れて、SDL_PollEventのループ内で他のイベントと同じように
> 処理できるようになればよいかな
とも考えてたんだけど、
IME 処理は SDL 本体のイベントループと別の場所で
単純に処理できた方が楽だと思ってわざと今の仕様にした。
仕様に関しては他の人の意見も参考にしたい。
>>572
あらら、SourceForge.jp にでもプロジェクト立てればいいやと思ってたんだけど、
それは大体出来てからでいいかな。
っていうか LGPL で問題無い?
>573
おちけつ
ちょっと家に帰ったらテストプログラム修正する。
0576531,575 ◆pm4Rr1N8T6
04/09/08 13:11ID:4F4ga2pg0577sgi_rocks
04/09/08 13:58ID:Z7GwucVh確かにSDL_inputmethod自体は描写に関するものは一切含まないようにしておいて、
もしそれが必要でありそうなら、SDL_inputmethodに対するラッパーを書く方が良いかもしれませんね。
sourceforge.jpはまったく頭に無かったです。
もしそっちでできるのであればそっちの方が良さそうですね。
SDLでIMを使いたいな、と思ったのもゲームを作ってたのが原因なので、
今作ってるものにSDL_inputmethodを使ってみます。
0578564
04/09/08 16:06ID:5bciN7sZWindowsだったらMS-IMEの変換ウィンドウっていう意味で。
それだったらどう?
0579531 ◆pm4Rr1N8T6
04/09/08 18:28ID:4F4ga2pgプライマリバッファに描画するようにした時、
どうしても OS ネイティブなウィンドウがプライマリバッファで上書きされてしまうみたい。
Windows の場合は変換中の文字列も一つのウィンドウの中の表示という扱いで、
プライマリバッファに上書きされてしまうから、そういう条件下ではどうしても自前描画になるっぽい。
基本的な知識が足りてないから曖昧な言い方になってしまった。
わかりづらい説明ですまん。
結局 OS 自体に入力部分を描画させるのは難しいみたい。
俺の知識不足である可能性も充分に有り得るから、
誰か解決方法知ってる人がいたら情報お願い。
0580('A`)
04/09/08 21:41ID:il2D+HG0自分は面倒くさいのでgtk windowid hackで取り込んで
テキストウィジェット貼り付けただけですませてもたですよ('A`)
('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)
http://drizzt.kilobug.org/pub/misc/gtksdl-gtk2.tar.gz
http://www.maccormack.net/~djm/sdl_win32_demo/sdl_win32_demo.zip
0582名前は開発中のものです。
04/09/12 22:47:27ID:Y32NRKdwsmpeg/video/MPEGvideo.cppのMPEGvideo::Stopが以下のようになってます。
297 MPEGvideo:: Stop(void)
298 {
299 if ( _thread ) {
300 SDL_WaitThread(_thread, NULL);
301 _thread = NULL;
302 }
303 ----
304 playing = false;
305 ----
306 ResetPause();
307 }
playing = false;をSDL_WaitThreadの前にしないと何時までもStopしないと思うのですが…。
0583582
04/09/12 22:51:21ID:Y32NRKdw> 305 ----
の----は無視してください。
0584名前は開発中のものです。
04/09/13 17:03:47ID:F/MIp811SDL_inputmethod
http://p56.aaacafe.ne.jp/~sdlim/
0585名前は開発中のものです。
04/09/13 17:16:32ID:055hpd5o0586名前は開発中のものです。
04/09/13 18:53:29ID:F/MIp811Linux japan最終号は出版元にも既にバックナンバーがない状態でして、SDLの貴重なドキュメントを逃したことが非常に残念です。。
Linux japanのいくつかの連載記事は出版元の協力を得てpdfで公開されているので、"SDLバカ一代"についても期待をしているのですが...
0587名前は開発中のものです。
04/09/14 16:53:11ID:F75T3zlI著者にメールで相談してみては?
0588名前は開発中のものです。
04/09/14 19:23:51ID:BUAbryMc0589名前は開発中のものです。
04/09/14 20:10:50ID:BUAbryMcどうも無理ぽい。
gdkx.hをgdkwin32.hに、GDK_WINDOW_XWINDOWをGDK_WINDOW_HWNDに書き換えて
-mms-bitfields付けてgcc3.2.3でコンパイルしたところ、
SDLのウィンドウとGTK+のウィンドウの二つが。
0590名前は開発中のものです。
04/09/16 14:37:11ID:HQ3ex6FR0591名前は開発中のものです。
04/09/16 17:49:16ID:2OLCusILhttp://sdlinputmethod.sourceforge.net/
0592名前は開発中のものです。
04/09/16 23:34:47ID:Bx2LEHan0593名前は開発中のものです。
04/09/17 00:11:19ID:jqWr+HpC一般的かどうかは知らんが、オレはそうしてる。
0594名前は開発中のものです。
04/09/17 08:53:16ID:YTjwD9CrRPGやSLGなんかもその場で読んで充分じゃないかと思う。
リアルタイム要素の強さ次第かな。
0596名前は開発中のものです。
04/09/23 07:48:29ID:MAQ37xzD0597名前は開発中のものです。
04/09/23 09:56:35ID:PYDXgeMB0598名前は開発中のものです。
04/09/24 00:07:23ID:WNRqvYHHとりあえずSDL_GetError()。
で、そのエラーを出してる部分のソースを読むしかないんじゃないかな。
0599名前は開発中のものです。
04/10/12 16:04:41ID:JVe9TSlCweb pageからproject page(http://sourceforge.net/projects/sdlinputmethod)
へのリンクを張ってもらえるとうれしいです。
0600名前は開発中のものです。
04/10/15 13:38:24ID:0e1E0ggZ0601名前は開発中のものです。
04/10/21 11:52:02ID:6v+I1mnz画像の回転表示ってどうやってますか?
OpenGL使うという方法もあるのかも知れませんが、一応それ以外で。
0602名前は開発中のものです。
04/10/21 13:55:22ID:B5V9eGhnどうやってといわれれば、回転させるプログラム組んで。
0603名前は開発中のものです。
04/10/21 20:05:17ID:JI3rp/xxSGE
0604名前は開発中のものです。
04/10/22 16:04:05ID:jWZrFodZRuby/SDLのSDL#transformみたいなことをRUDLでやりたいんだが…
0605名前は開発中のものです。
04/10/24 21:43:30ID:f3AiXIG40606名前は開発中のものです。
04/10/25 07:22:46ID:VVYWZ8/ESDL_gfx SGE のどっちかを使え。
それぞれどういうものかは自分で使って確かめろ。
>>605
TTF_Render*_Shaded() TTF_Render*_Blended() のどっちかを使え。
どういう差があるのかは自分で使って確かめろ。
ドキュメントが少ないのは事実だが、
いくらなんでももうちょっと自分で調べないと何もできないぞ。
このぐらいの情報はすぐ見付かる。
0607名前は開発中のものです。
04/10/25 15:36:34ID:+kRZkPnxしかし4MByte近いbmpになってしまった
でけーなぁ
透過pngにすると使い勝手はいいんだが、内部ではどれくらいに展開されてるんだろ
0608605
04/10/25 22:33:39ID:snYpUN8B駄目ですた。
SHADEDは背景色が透過されずに表示されて、BLENDEDは何も表示され
ませんでした。
OpenGLのテクスチャに使うために、一度2の累乗サイズのサーフェイスに
Blitしてるのが原因なのかもしれないです。
SOLIDの場合はちゃんと透過されてるのに、何故なんだろう・・・。
0609605
04/10/25 23:43:05ID:snYpUN8BSDL_ttfから取得したサーフェイスを、2の累乗サイズのサーフェイスに
Blitした後に、ttfのサーフェイスにアルファフラグを書き戻してやらないと
いけないみたいです。
何故こうなってるのか、未だにさっぱりですが、ともかくこういう物の
ようです。
どうもありがとうございました。
0610606
04/10/26 00:44:33ID:zFRaLOBe「アルファフラグを書き戻す」ってのがどういう行為を指してるのかちょっとよくわからなかったんだが、
SDL_ttf の Blended 系では、
・フォントを描画した Surface を返す
・階調的なアルファブレンドも行う
という二つの条件を満たすために
返した Surface の中にアルファチャンネルを含めてある。
で、新しいサーフェスに Blit したりして
サーフェスをいくつもまたぐ時に問題になってくるのがこれ。
http://zinnia.dyndns.org/~cvsweb/sdldoc-jp/sdlblitsurface.html
> blit 操作の結果は SDL_SRCAPLHA がセットされているか否かによって大きく変化します。
> これがどのように結果に影響するかについては、 SDL_SetAlpha を見て下さい。
ここら辺をちゃんと設定してなかったんでないかい?
ちょっと情報が少ないから推測でもの言ってるが。
ところで、最初に提供してもらった情報が少なかったとはいえ、
この条件下なら確かに混乱して質問してもおかしくないわな。
キツい言い方して悪かった。
0611名前は開発中のものです。
04/10/26 17:28:03ID:UwgETfqySDL_imageを使って読み込んでOpenGL のテクスチャデータに変換
ttp://alb.hp.infoseek.co.jp/opengl/texture.shtml
透過png使えて幸せになれる
0612603
04/10/26 20:49:27ID:8Om0IHEs0613605
04/10/26 23:10:01ID:tqT7U+dqどうもです。
「アルファフラグを書き戻す」というか、Blitする前に
文字を書いたサーフェイスのSDL_PixelFormatのcolorkeyと、
alphaを保存しておいて、Blitした後に同じサーフェイスに
再度セットしなおすとうまく行くんです。
そのサーフェイスは後は解放するだけで、全く使わないんですが
そんなものなんでしょうか。
SDL_SRCALPHAとかSDL_SRCCOLORKEYとかは色々やってみたんですが、
全く駄目駄目でした。
スレ汚しでしたが、どうもありがとうございました。
0614名前は開発中のものです。
04/10/28 05:06:14ID:mhNHIfQh探しても見付からない。できれば日本語が良いけど最悪英語でも良いかな。
0615名前は開発中のものです。
04/10/28 07:07:22ID:qwRYnaquhttp://www.libsdl.org/books.php
日本語はなかったと思う。IntroductionとTutorialとかが結構充実していて
読みやすい英語で書かれているから(日本語訳もあるし)、それで十分間に合うと思うけど…。
でも、新しいAPIのmanは整備して欲しいかなぁ…。manが使えないときはソース読め。
0616名前は開発中のものです。
04/10/28 07:09:55ID:LDePkSKW誰か英語に強い人いない?
0617名前は開発中のものです。
04/10/28 10:03:12ID:tuc1m51KSDLってLGPLだよね?
LGPLはソースコード公開の義務はなかったはず
ソースコード公開の義務があるのはGPL
LGPLはリンクし直せなければいけなかったはず
でもWindows版はDLLになっているから大丈夫なのかな?
その他のプラットフォームならリンク前の物も入手できるようにしないといけないのか?
「欲しい人はメールください」ってREADMEにメアドといっしょに書いておけば、
常時アップしておく必要はない気がする
詳しいエロい人教えて
あとSDLを使ってること、SDLがLGPLであることはきちんとREADMEに載せないといけないよね?
0618名前は開発中のものです。
04/10/28 23:15:32ID:rppov/8Qライセンスを理解して同意するプロセスは必要不可欠.
つまり >>617 にSDLを使う資格はない.てか DirectX で十分だろ.
0619名前は開発中のものです。
04/10/29 16:03:43ID:VQCXStAA日本語リファレンスは見た?
0620名前は開発中のものです。
04/11/03 11:35:47ID:oDGcAACs画像の回転や拡大のライブラリSDL_gfxがあると知りました。
早速使ってみようと思って落としてみました。
ですが、ビルドしてもインポートライブラリが無効であるとエラーがでます。
SDLgfxを使ってる方はどのようにしてLIBファイルを入手したのでしょうか。
それともD言語用には別な方法があるのでしょうか。
ttp://www.ferzkopp.net/~aschiffler/Software/SDL_gfx-2.0/SDL_gfx-2.0.12.tar.gz
0621名前は開発中のものです。
04/11/03 12:21:56ID:YwbSD6qVこれ使って作るんじゃね?
0622620
04/11/03 15:03:02ID:oDGcAACs先ほど試しましたところ、ビルド自体は成功しました。(テストはまだですが
大感謝です。
0623名前は開発中のものです。
04/11/04 16:16:01ID:WBic7bqMユーザーがパースペクティブの変更やズームイン・アウトを行えるシステムに関する特許。
http://www.itmedia.co.jp/news/articles/0411/04/news023.html
0624名前は開発中のものです。
04/11/12 22:52:56ID:/3BmI4D1何かSDL関係のお勧めサイト紹介とかやるか?
とりあえずググって出た日本のサイト
ttp://www.mediawars.ne.jp/~freemage/progs/sdl/
ttp://risky-safety.org/~zinnia/sdl/
ttp://www.libsdl.org/intro.jp/toc.html
ttp://cefiro.homelinux.org/topics/SDL/printable/setup-win32-cygwin-20030603.html
ttp://ahirujigen.hp.infoseek.co.jp/coding_texfont.htm
ttp://www.tsg.ne.jp/text/2002/sdl-opengl/
ttp://www.geocities.co.jp/Berkeley/2093/sdl.html
多分どれもこれも外出だと思うが…
0625名前は開発中のものです。
04/11/12 23:16:01ID:lGdyiPKMABAゲームなんていいよなぁー。
0626名前は開発中のものです。
04/11/13 00:01:36ID:98R+onSK言いだしっぺはリンクはるべ
で、ABAゲームってなに?
0627名前は開発中のものです。
04/11/13 03:37:05ID:gttWCWSdhttp://www.asahi-net.or.jp/~cs8k-cyu/
これをフリーで出してるのはかなり反則級というか、なんというか・・・
0628名前は開発中のものです。
04/11/13 14:12:49ID:UOJJqomHセンス良くてかっこいい
0629名前は開発中のものです。
04/11/13 16:29:11ID:GrYxDtPw0630名前は開発中のものです。
04/11/15 00:04:26ID:iEfH5u7g0631名前は開発中のものです。
04/11/19 22:06:31ID:qqm541c3ttp://tokyo.cool.ne.jp/sdl/
0632名前は開発中のものです。
04/11/20 07:00:15ID:AUnD/RqU0633名前は開発中のものです。
04/11/20 16:11:50ID:PDaYb1sL0634名前は開発中のものです。
04/11/20 16:16:58ID:JtgNvmeY0635名前は開発中のものです。
04/11/20 16:22:35ID:FeIPE62+ってキリ番ゲットか?w
0636名前は開発中のものです。
04/11/20 20:37:11ID:0RSKFqz30637名前は開発中のものです。
04/11/20 20:52:51ID:FeIPE62+漏れは残念ながら102番
0638名前は開発中のものです。
04/11/20 21:00:35ID:nz2luzg3なかなかいいホームページじゃないか。
と言いつつ、104ゲット
0639名前は開発中のものです。
04/11/20 22:46:06ID:wmOMwduz画像がJPEGだとか、ちょっと日本語がおかしいだとかを除けば結構いいサイトだね。
こういう一連の流れを追って説明する日本語サイトはあんまり無かったから。
0640名前は開発中のものです。
04/11/20 23:18:09ID:MBcXOI5c0641名前は開発中のものです。
04/11/21 15:20:19ID:U8+4f0mL初心者の(rのメモでLittle3DとG3Dの紹介がちょっとだけあったけど
他にもだれか3Dエンジン使って人いますか?
よかったら使用感とかお勧め度とか教えてください
OpenGL触ったことないんでエンジンに頼ろうかと思ってます
0642名前は開発中のものです。
04/11/22 20:23:39ID:tA6Om7KW0643名前は開発中のものです。
04/11/22 23:35:54ID:6NCszWA+0644名前は開発中のものです。
04/11/23 07:14:06ID:l/5rBHwm0645名前は開発中のものです。
04/11/23 09:35:34ID:BlAzMHZX0646名前は開発中のものです。
04/11/23 10:02:31ID:QthUCkrr0647名前は開発中のものです。
04/11/23 15:37:35ID:jc/rhL4C>646
ハゲワラタ
0648名前は開発中のものです。
04/11/23 19:16:57ID:cNmDu3OL0649名前は開発中のものです。
04/11/25 03:28:00ID:cWeSzuR7http://d.hatena.ne.jp/shinichiro_h/20041124
0650名前は開発中のものです。
04/11/27 22:55:24ID:JASdTwIVSDL公式で紹介されてるゲームをいくつか落としてやってみたけど
結構しょっぱいの多いのな
0651名前は開発中のものです。
04/11/29 02:43:03ID:t3nZ8kpohttp://shinh.skr.jp/psyno/
http://d.hatena.ne.jp/shinichiro_h/
とっつき悪いけど、はまると面白い。
ネットランキングとリプレイがうれしい。
0652名前は開発中のものです。
04/11/29 04:08:54ID:sQI5GyHUまあ、しょっぱいのが多いってのはSDLに限らんな
0653名前は開発中のものです。
04/12/04 23:29:02ID:xbb3uNtl0654653
04/12/04 23:29:31ID:xbb3uNtl0655名前は開発中のものです。
04/12/05 19:53:49ID:rZanT1eHCVS 上では一年半以上前から全く手を付けてないね。
0656名前は開発中のものです。
04/12/05 20:47:20ID:cMZceKrQ0657名前は開発中のものです。
04/12/06 23:21:32ID:tzWTN0yZ0658名前は開発中のものです。
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;
}
0758名前は開発中のものです。
05/02/19 18:07:41ID:vHiopGBS環境は、FreeBSD 5.3 STABLE です。
SDL は ports からインストールしました。
バックトレースは以下のようなものでした。
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1 (LWP 100099)]
0x08048b93 in main () at test.c:50
50 ((Uint16*)(surface->pixels))[ z ] = data[ j ][ z ];
上の SDL_CreateRGBSurfaceFrom を使用すると、
今度は、blit 中に落ちてしまいます。
回避方法がわからないので、メモリ中のイメージを 60 個程度q
surface にするにはどうすればいいのでしょうか?
0759名前は開発中のものです。
05/02/19 18:17:41ID:La4+fv3Qとりあえず
- data = (Uint16 **)malloc(sizeof(Uint16) * XXX);
+ data = (Uint16 **)malloc(sizeof(Uint16*) * XXX);
他にも何かあるかもしらんが、調べてない。
どうでもいいが、何でループ変数がいきなりjとかzなのか理解に苦しむな。
0760名前は開発中のものです。
05/02/19 18:27:19ID:vHiopGBSビンゴです。ほんとにありがとうございました。
SDL スレ汚してごめんなさい。
>>どうでもいいが、何でループ変数がいきなりjとかzなのか理解に苦しむな。
精進します。。。
0761名前は開発中のものです。
05/02/19 21:48:27ID:SeeIdQIF0762名前は開発中のものです。
05/02/21 23:59:34ID:kaKGM1be0763名前は開発中のものです。
05/02/22 22:38:49ID:LwQOxQ0Chttp://sdl-im.csie.net/
0764名前は開発中のものです。
05/02/23 23:34:20ID:w0AHRgcd0765名前は開発中のものです。
05/02/24 12:36:00ID:cj7i1pZkSDL-IMは昨年末にできたばかりみたい。
0766名前は開発中のものです。
05/03/10 18:14:33ID:B6C7//HW0767名前は開発中のものです。
05/03/11 23:52:57ID:YMDZazr7>>741
返答ありがとう。なるほど、やっぱり自分と同じようなこと試して知識得てる人って
いるんだな…流石だ。
741さんは更に上を行っているようですね。確かに、FILEポインタを使っているのであれば
SDL_RWopsを使うように変更するだけでいいから、確かに移植は楽だ。
0768名前は開発中のものです。
05/03/13 18:25:40ID:YSxIy0RP「初心者によるの」やり方ではコンパイラが通らないんですよ
なぜなんですか?
0769名前は開発中のものです。
05/03/13 19:02:27ID:XjtKo/QE0770名前は開発中のものです。
05/03/13 20:04:03ID:TyhT8D4W/MDじゃなくて/MTにするとリンクエラーが出るし。
このために.NET Frameworkインストールしてくださいって言うのもなんだし。
0771名前は開発中のものです。
05/03/13 22:40:23ID:idmmnJMgコード生成のランタイムライブラリがマルチスレッドデバッグDLLになってなかったらコロヌ
ライブラリへのパスが通ってなかったらなおコロヌ
0772名前は開発中のものです。
05/03/14 01:42:53ID:wCuLvh4Gその原因は、SDLに付属のマニュアルに書いてあるよ。
君は.NETでDLLをコンパイルしたのかな?SDL for Beginersの掲示板ではそのことについてもきちんと書かれている。
よく読んでみるといいだろう。
>770
CランタイムのDLLをはずしたいなら、依存する全てのライブラリを/MTでコンパイルしなおさなきゃいけない。
それと、リンクエラーの意味は読めばわかる。
何が足りないのかは見当が付くけど、それの意味がわからない場合はそもそも力量が足りてない。
それと、MSVCRT*.DLLを入れればいいだけなのに、.NET Frameworkインストールしてくれというのは見当違いだよ。
0773名前は開発中のものです。
05/03/14 01:44:48ID:wCuLvh4G0774名前は開発中のものです。
05/03/14 02:19:56ID:VEcyrTnK0775名前は開発中のものです。
05/03/15 19:37:17ID:Z609w/mRvc用のインポートライブラリをreimpする方が楽だと今更気がついたのだった。
ははは
0776名前は開発中のものです。
2005/04/02(土) 07:51:18ID:mMTwmK/8コマンドプロンプトも一緒に起動しちゃうんだけど、
これって仕様じゃないよね?
環境は
Windows2000
VC++6.0
SDL1.2.8
http://tokyo.cool.ne.jp/sdl/
の
2.導入から最初のプログラムまで SDLTutorial
に置いてある
SDLTutorialというソースなんだけど
0777名前は開発中のものです。
2005/04/02(土) 08:41:42ID:6EJmuvmn新規作成のウィザードでコンソールアプリケーションじゃなくて
windowsアプリケーションを選べ
0778名前は開発中のものです。
2005/04/02(土) 16:44:19ID:mMTwmK/8まじ感謝
0779名前は開発中のものです。
2005/04/22(金) 00:07:43ID:Ae0Aozsn0780779
2005/04/22(金) 00:09:58ID:Ae0Aozsn0781名前は開発中のものです。
2005/05/07(土) 13:39:48ID:HNMZWJUh現在がSDL_Surfaceに画像を読み込もうと次のようなコードを書いています。
FILE *fp = fopen( "pic/pic.bmp", "rb" );
if ( fp ) {
SDL_RWops *rwops = SDL_RWFromFP( fp, 0 );
SDL_Surface *surface = IMG_Load_RW( rwops, 1 );
}
ですがIMG_LoadRW()の部分でエラーが出てしまいます(ハンドルされていない
例外はsdltest.exe(NTDLL.DLL)にあります 0xC0000005Access Violation)。一方、
SDL_Surface *surface = IMG_Load_RW( SDL_RWFromFile( "pic/pic.bmp", "rb" ), 1 );
とした場合には正常に読み込めてその後画像を表示することも出来ました。
出来ればファイルポインタから読み込んで表示させたいのですがエラーの原因が
分かる方がいらしたら解決法を教えていただけないでしょうか?
開発環境はWindowsXP Pro、VC++6.0SP5、SDLのバージョンは1.2.8でSDL_imageの
バージョンは1.2.4です。よろしくお願いします。
0782名前は開発中のものです。
2005/05/07(土) 16:26:55ID:tQ5vRoic/src/file/SDL_rwops.cの230行あたりを見てるみと
#ifdef WIN32
if ( ! in_sdl ) {
SDL_SetError("You can't pass a FILE pointer to a DLL (?)");
/*return(NULL);*/
}
#endif
となっていてDLLではSDL_RWFromFPは使えないようです。
たぶんSDL_GetErrorでエラーが拾えると思います。
Static Linkすれば使えるのかもしれませんが、試したことはありません。
0783781
2005/05/07(土) 18:01:27ID:HNMZWJUhうまく行かない時はSDL_GetError()を確認するべきだったのですね。
複数の画像ファイル等を一つのファイルにパックして、そこから
画像ファイルを読み込んで...ということをしようと思ってSDL_RWFromFP
を使ってみました。この方法がダメとなると何か他に良い方法があるでしょうか。
取りあえずSDL_RWFromMem()でできるかを試してみようと思います。
どうもありがとうございました。
0784782
2005/05/08(日) 19:51:26ID:ARUo6ShU>この方法がダメとなると何か他に良い方法があるでしょうか。
>取りあえずSDL_RWFromMem()でできるかを試してみようと思います。
SDL_RWFromFileは内部でSDL_RWFromFPを呼び出しているだけなので、
SDL_RWFromFPで可能ならば、SDL_RWseekなどを使って同じような操作が
できると思います。もちろんSDL_RWFromMemでもかまいませんが。
ちなみにSDL_archiveというものもあります。
>>370
0785781
2005/05/08(日) 20:33:06ID:GW0v55yy助言ありがとうございました。
質問ばかりで申し訳ないのですが今度はフォントの表示で行き詰ってしまい
ました。現在SDL+OpenGLでゲームを作ろうとしています。SDL_ttfでWindowsの
フォント(MSGothic.ttc)を読み込んで利用しているのですが、TTF_RenderUTF8_Solid()
で作ったSDL_Surfaceをどうやって描画してやればいいのかが分かりません。
glDrawPixelsでSDL_Surfaceのpixelsを描画すると文字は表示できたのですが、
背景が透明に出来なかったのでTTF_RenderUTF8_Solid()から作ったSDL_Surface
からテクスチャを作ろうとしたのですが幅と高さが2の累乗でないのでうまく行かず...
という状態です。もしうまいやり方をご存知の方がいらしたら是非ご教授ください。
...この質問はOpenGLスレでしたほうが良かったしょうか・・?
0786名前は開発中のものです。
2005/05/09(月) 12:31:19ID:X842fXoJビットマップフォントでも良いならgl_kanjiがよろしいかと。
0787782
2005/05/09(月) 19:59:22ID:2WAlRLk2>どうやって描画してやればいいのかが分かりません。
>幅と高さが2の累乗でないのでうまく行かず...
とりあえず、SDL_ttfのサンプルであるglfont.cが
SDL_ttfのソースと一緒にあるので、それを見ていただければ、
大体のことは分かると思います。
見てもよう分からんというときには、また聞いてください。
0788781
2005/05/09(月) 22:12:34ID:kc7J0Eitそんなところにサンプルがあったのですね。全く気がつきませんでした。
早速サンプルを元にして試してみたら無事ttfからテクスチャを作って
描画することが出来ました(日本語は文字化けしてしまいますが)。
助言してくださった皆様、どうもありがとうございました。
0789名前は開発中のものです。
2005/05/10(火) 03:45:21ID:iTBS7JyyOpenGL で TrueTypeフォント使って文字列描画したいなら SDL_ttf なんて使わずに
FTGL ( http://homepages.paradise.net.nz/henryj/code/index.html#FTGL )
を使うと幸せになれると思う.
outilne,texture,bitmap,pixmap とかの好きな方法でレンダリングできるよ
あと SDL_ttf で日本語が化けるのは使ってるフォントが bitmap フォントが
埋め込まれた TrueType フォントだとダメとかなかったっけ?
文字列がUTF8じゃないってことはさすがにないよなぁ...
0790781
2005/05/10(火) 11:15:14ID:/sZ8aOiMそのまさかで文字列がUTFじゃないようです(Shift-JISなのかな?)。
TTF_RenderText_Solid()を使っているのですが他のを使えば良いのでしょうか。
それとも文字コードをUTF8に変換するプログラムを書けば良いのでしょうか。
0791名前は開発中のものです。
2005/05/10(火) 19:58:16ID:iTBS7Jyyなんてゆーか文字コード以前の問題だろ…
TTF_RenderText_Solid() はLATIN1なテキストしか通らんよ.
できたらマニュアルくらい読んでくれ.
http://jcatki.no-ip.org/SDL_ttf/SDL_ttf_35.html
0792782
2005/05/10(火) 20:14:19ID:c/mddx9W>埋め込まれた TrueType フォントだとダメとかなかったっけ?
msgothic.ttcの場合はSolidなら大丈夫、
ShadedやBlendedだと22pt以下はダメですね。
この問題だと化けるのは日本語だけではありませんが。
>それとも文字コードをUTF8に変換するプログラムを書けば良いのでしょうか。
UTF8かUnicodeに変換する必要があります。
フリーのフォントや文字コードについての話が
http://tokyo.cool.ne.jp/sdl/index.html
でも行われているので、お悩みなら参考になるでしょう。
0793名前は開発中のものです。
2005/05/11(水) 01:00:39ID:irIlrbEI0794名前は開発中のものです。
2005/05/11(水) 17:06:15ID:ChV6SFiM埋め込みビットマップの存在するサイズを指定するだけで
アウトラインフォントを無視して強制的に埋め込みビットマップフォントの方を使うんだよ。
でもそのための処理は入ってない。だから化けてる。
>>793 は SDL_ttf が内部で使ってる freetype の埋め込みビットマップ処理そのものを潰して対処してる。
なんだかなー。俺も他のライブラリ使った方がいいと思う。
0795781
2005/05/12(木) 15:13:44ID:gBvQuFFymbstowcs()を使ってUNICODEに変換してTTL_RenderUNICODE_Blended()
を使うことで無事日本語を表示することが出来ました。
取りあえず22pt以下の場合はTTL_RenderUNICODE_Solid()を使って表示
することにしています。他にもライブラリがあるようなのでぼちぼち
調べてみようかと思います。どうもありがとうございました。
0796名前は開発中のものです。
2005/06/25(土) 16:10:39ID:kpes39YP多くてわかんない
0797名前は開発中のものです。
2005/06/26(日) 17:35:22ID:zg82OFD2>>771の発言のおかげでttp://tokyo.cool.ne.jp/sdl/の一番雛形が通りました。
Thx!!
0798名前は開発中のものです。
2005/06/26(日) 23:25:16ID:Expiz02r久しぶりにそこのぞいたけど、新しい記事とか解説はなかったな
カウンタが1000越えてるな
たしか>633が77ゲッツしてたんだよな、懐かしい
0799名前は開発中のものです。
2005/06/27(月) 08:01:33ID:3Ab5ewvX2つあるんですが、
1個目、SDLの標準機能で2枚目のウインドウを作ることってできるんでしょうか?
2個目、SDLの標準機能でC言語標準のscanfやらfgets(from stdin)やらのように、ユーザーに要求を求めるようなことって可能でしょうか?
2個目は1個目ができればハードコードで作ることも可能そうですが、ちょっと面倒な気がします。
よろしくお願いします。
0800名前は開発中のものです。
2005/06/27(月) 08:02:17ID:3Ab5ewvX0801名前は開発中のものです。
2005/06/27(月) 23:12:40ID:YfSmd5eYGetAncestor(SDL_Window, GA_ROOT);
がとおらないのは
WINVER=0x0500とでも
C/C++ -> プリプロセッサ -> 定義
に入れると解決。
という遅レス
あとafxres.hなんてMFC入れればあるんじゃね?
0802799
2005/06/28(火) 01:25:30ID:xvJWzK7Xこりゃ参ったなー。
作りたいものへのモチベーションも下がってきたし、一端とりさげるかな。
0803802
2005/06/28(火) 01:55:33ID:xvJWzK7Xtp://risky-safety.org/~zinnia/sdl/watch/2000/10/
0804名前は開発中のものです。
2005/06/28(火) 02:06:28ID:pKbCq+nM1個目:
FAQだと思うが、改めてソースを見たところ、SDL_VideoInit()がcurrent_videoと言う
グローバル変数にビデオデバイス情報を格納していて、それを切り換えるAPIもない。
ロックせずに使用してるので、スレッド化も無理。
そもそもウィンドウという概念はない。
2個目:
コンソールを使いたいのか?だとすると開発環境によるだろうな。
俺は、MinGWを使ってるがこれだと無理っぽい。cygwinなら出来るだろうが、
cygwin上でSDLを動かしたことないんでよーわからん。
0805名前は開発中のものです。
2005/06/28(火) 02:21:39ID:dyIcBP9cどこかで既出だろう+試せば判るだろと思って黙ってたんだが。
ひとつめ、二つ以上のウィンドウは出せんとwebのどこかで読んだな。
ソースを見てもグローバル変数(Windows なら HWND SDL_Window)を
使ってそこらじゅうで使いまわしてるから、まず無理だろうと思う。
ふたつめ、起動した時にDOS窓(これも Windows の話だが)が出ているならできる。というかできた。
Windows の場合、設定によってはstdoutをstdout.txtにリダイレクトして、
DOS窓を出さないこともできるが、その場合はできなかった。
ソースは見てないが多分無理だろうな。
0806805
2005/06/28(火) 02:30:05ID:dyIcBP9c>>804と俺で書いてることが微妙に違うが、
ひとつめの違いは>>804が機種独立の部分を見て、
俺が機種依存の部分を見て喋ってるせい。
ふたつめは環境の違いで、俺の環境(VC6)ではどちらも作れる。
MinGWとCygwinはどちらかができるんなら
両方できるんじゃないかと思うがどちらも知らんからわからんなあ。
と、聞かれてもいないが補足しとく。
0807名前は開発中のものです。
2005/06/28(火) 04:03:09ID:xvJWzK7Xレスthx
1個目について、
なるほど、グローバル変数つかってるのか。
そりゃ、切り分けが大変そうだ。
明快な回答に感謝。
2個目に付いて、
えーっと、誤解を招いたようだけど、
要はscanfとか自体を使うのではなく、自前か何かで実装できないかって、話です。
それが、SDL標準であったら良かったんですけど、なさげですね。
2枚目のウインドウがでるなら、そっちのサーフェスとキー入力を捻って入力コンソールを作ることができたんでしょうけど・・・。
あと、
作りたいソフトを超えるソフトを見つけてしまったので一端引くことにしました。
それが、ちょうどイメージしてた物に近かったため、それでいいかなと思っています。
回答ありがとうございました。
0808名前は開発中のものです。
2005/07/05(火) 04:30:00ID:zWniNiIrそれともこれが限界ですか?
初期化は
SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE | SDL_ANYFORMAT);
こんな感じでSDL_FillRect()せずにSDL_BlitSurface()してからSDL_Flip()。
環境は
Pentium4 2.4G
GeForce4 ti4400
0809808
2005/07/05(火) 04:38:10ID:zWniNiIrウィンドウモードでリフレッシュレートは85Hzです。
画像を描画させなければ130FPSほどでますがFlipだけで130FPSってのはちょっと遅いですよね?
0810名前は開発中のものです。
2005/07/05(火) 11:23:53ID:Arb1ZSmv実は描画が遅いんだよね
0811名前は開発中のものです。
2005/07/05(火) 14:08:42ID:1ZePfTMaせめて実行可能なコードを出せよ…
SDL_Flipだけで130FPSってのは遅すぎるのでどこかが間違っていると思われ
とりあえず SDL_SetVideoMode()の戻り値のSDL_SurfaceとBlitしている画像
のSDL_Surfaceのflagsやformatをチェックして期待通りかどうかチェックしれ
0812811
2005/07/05(火) 14:24:14ID:1ZePfTMa0813808
2005/07/05(火) 14:53:21ID:zWniNiIr>せめて実行可能なコードを出せよ…
あいすまんかった。
int main(int argc, char* argv[]) {
SDL_Init(SDL_INIT_VIDEO);
SDL_Surface* screen = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE | SDL_ANYFORMAT);
SDL_Surface* temp = SDL_LoadBMP("test.bmp");
SDL_Surface* surface = SDL_ConvertSurface(temp, screen->format, SDL_HWSURFACE);
while (1) {
SDL_BlitSurface(surface, NULL, screen, NULL);
SDL_Flip(screen);
SDL_Event event;
while (SDL_PollEvent(&event))
if (event.type == SDL_QUIT)
return 0;
char buf[64];
sprintf(buf, "%d fps", CalcFPS());
SDL_WM_SetCaption(buf, NULL);
}
return 0;
}
0814808
2005/07/05(火) 14:53:54ID:zWniNiIrint CalcFPS() {
static Uint32 count, fps;
static Uint32 btime;
if (++count == 60) {
Uint32 time = SDL_GetTicks();
fps = 1000 / (float(time - btime) / 60);
btime = time;
count = 0;
}
return fps;
}
0815808
2005/07/05(火) 14:57:52ID:zWniNiIrハードウェアやドライバがおかしいとも思えないし何ででしょうね。
皆さん上のコードでFPSいくつ位でます?
0816808
2005/07/05(火) 15:07:12ID:zWniNiIr>のSDL_Surfaceのflagsやformatをチェックして期待通りかどうかチェックしれ
SDL_Surface.format_versionってのがscreenでは2、surfaceでは4になっている以外は同じです。
これが原因ですかね…?
んー。
0817811
2005/07/05(火) 18:34:24ID:1ZePfTMa実行してみた.SDL_Flip()のみにして300fpsくらい出た…
CPU : PentiumM 1.1GHz
Video : i855GM (VRAM は Main Memory) の 16bpp
とりあえず毎フレームSDL_WM_SetCaption()するのは無駄なんで
CalcFPS()内のifの中に持って言ったら 400FPSくらいになった…
0818名前は開発中のものです。
2005/07/05(火) 19:49:15ID:f1qgE5RIWindowsXP
Pentium 4 2.4GHz
GeForce4 MX 420
ではSDL_Flip()だけで130FPSぐらいになります。
0819808
2005/07/05(火) 21:16:11ID:zWniNiIrテストありがとう。超ありがとう。
でもお気楽にハードウェアデバイスが使えると思ったんだが何やら環境依存でそうでもないみたいですね。
DirectXより環境に依存するなんて使う気無くしました。
他のクロスプラトフォームライブラリ探します。
レスありがとう。それに関しては感謝してます。
ありがとう。さようなら。
0820名前は開発中のものです。
2005/07/05(火) 21:42:36ID:x9lRp/t3他にいいのがあれば誰もSDLを使わないよ。
とりあえず、やりたいことが2Dなのか3Dなのか分からんが、
3Dの場合はOpenGLを使うことになるが、WindowsとLinuxでなんの
問題もなく使える。
しょーもないコード書いて勝手にSDLを悪者にするのだけはやめれ。
0821808
2005/07/05(火) 21:55:55ID:zWniNiIrSDLを馬鹿にしているつもりはないよ。
それどころかSDLは初期化が簡単(ハードウェアを利用するライブラリとしては)なので初心者/入門者には最適だと思います。
また、さくっと作りたい場合は。
ただ、本家で掲載しているコードをほぼそのまんまの形で利用した場合、最低限バックバッファにコンパチブルな
オフスクリーンサーフェイスのフォーマットを選択してくれてもいいように思いました。
Simple directmedia layerのsimpleってなんでしょう?
>しょーもないコード書いて勝手にSDLを悪者にするのだけはやめれ
否定するなら根拠をまず述べるのが筋ってもんです。
0822名前は開発中のものです。
2005/07/05(火) 22:59:46ID:LYpwtNFtって、非ウィンドウず系でも使えるなりか?
0823名前は開発中のものです。
2005/07/05(火) 23:16:04ID:zWniNiIr少なくともgccでは#ifndefを使用したほうがいいかと。
そして激しくスレ違い。
0824名前は開発中のものです。
2005/07/05(火) 23:16:34ID:iphFkIr5なんかわけがありそうな気がする・・・
0825名前は開発中のものです。
2005/07/05(火) 23:29:28ID:l636Cdmy0826名前は開発中のものです。
2005/07/05(火) 23:44:56ID:zWniNiIr確かにコンパイラは嘘は付きませんからヘンテコはコードにはそれなりの挙動を見せます。
ですが、>>813がそれほど罪深きコードだとは思わないけどなぁ…。
それとも暗黙の了解的なコーディングがあるんでしょうか?
0827名前は開発中のものです。
2005/07/06(水) 09:30:28ID:e9o9xwuhそのコードだとどちらのサーフェイスもシステムメモリに取られているだろう罠
811が言うように SDL_Surface の flags をチェックしてみ
0828818
2005/07/06(水) 20:18:02ID:mO4Tn2rFvoid PrintFlags(Uint32 flags)を使って
PrintFlags(screen->flags);
printf("\n");
PrintFlags(surface->flags);
printf("\n");
とやると
0x00000000 SDL_SWSURFACE
0x00000000 SDL_SWSURFACE
となります。
で
SDL_Surface* screen = SDL_SetVideoMode(640, 480, 32, SDL_FULLSCREEN | SDL_DOUBLEBUF);
にすると
0xc0000001 SDL_HWSURFACE | SDL_FULLSCREEN | SDL_DOUBLEBUF
0x00000001 SDL_HWSURFACE
となり、Blit & Flipで
30000 fps
になりました。(合ってるのかな?)
0829名前は開発中のものです。
2005/07/18(月) 22:07:17ID:Tgmwb20qhttp://pc8.2ch.net/test/read.cgi/tech/1104179696/226
でも聞いてみたのですが、反応が無いのでこちらでも聞いてみます。マルチすいません。
Irrlichtで描画系、その他(音、入力関係とか)はSDLと組み合わせて使うことって可能でしょうか?
あと、もし可能なんだとしたら、サンプルとかあると嬉しいのですが、ご存じの方いませんか?
0830名前は開発中のものです。
2005/07/20(水) 00:36:00ID:a4NCqugX0831名前は開発中のものです。
2005/07/20(水) 05:03:25ID:KNwpKu9v0832名前は開発中のものです。
2005/07/20(水) 19:24:07ID:oHYMFGyh\/
/\
/ \
じゃなくて
~~~~~~\ /~~~~~~
\ /
\ /
\/
にする!
0833名前は開発中のものです。
2005/07/20(水) 20:00:00ID:eQOHDI/N0834名前は開発中のものです。
2005/07/20(水) 21:06:55ID:J6BwLsDL\/
/\
/ \
~~~~~~~~~~~~ ←この部分を合成
0835名前は開発中のものです。
2005/07/25(月) 19:06:53ID:1zvi2dmPWin上で使える入力補完機能のあるIDEはありませんか?
0836名前は開発中のものです。
2005/07/25(月) 21:28:19ID:tBl8Lhba好きなIDE使え
0837名前は開発中のものです。
2005/07/26(火) 00:22:38ID:c4yZrU1pVisualStudio.NETが一番おすすめ
0838名前は開発中のものです。
2005/07/26(火) 03:30:17ID:fGo2aUYV0839名前は開発中のものです。
2005/07/31(日) 00:02:44ID:quLBISXOとなるとソース公開しなきゃ(’A`)
0840名前は開発中のものです。
2005/07/31(日) 00:10:36ID:ooozGQbR0841名前は開発中のものです。
2005/07/31(日) 14:53:12ID:okeB3T00オブジェクトファイルだけで良いんじゃなかったっけ?
0842839
2005/07/31(日) 15:40:59ID:quLBISXOSDLとLGPLのサイトをよく読んできた。
(LGPL)
If you link a program with the library, you must provide complete object files to the recipients so that they can relink them with the library, after making changes to the library and recompiling it.
0843名前は開発中のものです。
2005/08/01(月) 11:50:17ID:lmGZDgba知らんけどMac用のSDL共有ライブラリが配布されてないなら、
自分で共有ライブラリを作って公開してそのソースだけ公開すれば?
0844名前は開発中のものです。
2005/08/01(月) 17:32:41ID:sroBhudhLGPLのライブラリをスタティックリンクした場合は、ライブラリのソースコード
が必要で、それを改変したあとにちゃんと実行ファイルを再作成できるように
しておかなければいけない。
必ずしもアプリのソースは必要ではないけど、ソースもなしに実行ファイルを
作成できるはずもないので、事実上全ソースを公開する必要があるっぽい。
結局、動的リンクにする以外にソース公開からは逃れられないと思う。
0845名前は開発中のものです。
2005/08/01(月) 18:08:55ID:ciKvobzi組み込んでコンパイルしてることになるから
コンパイルに必要なオブジェクトファイル配布しないとだめだな
Javaのようなヘッダがないダイナミックリンクだけなら大丈夫だが
0846名前は開発中のものです。
2005/08/01(月) 21:54:22ID:2dfE5juZそれだっ!!
SDLのJavaラッパーを使えば万事解決かもね。
0847名前は開発中のものです。
2005/08/02(火) 03:32:09ID:cGbi1ZNI> ダイナミックリンクでもヘッダ部分もLGPLでライセンスされていたら
> 組み込んでコンパイルしてることになるから
以下の記述により、ヘッダー程度のものは無問題。
---
もしそのようなオブジェクトファイルが、数字のパラメタやデータ構造のレ
イアウト、アクセス機構または小さなマクロや小さなインライン関数(長さが
10 行かそれ以下)のみ利用するならば、そのオブジェクトファイルの利用は、
それが法的に派生物とみなされようとみなされまいと制限されない。(このオ
ブジェクトコードに加えて『ライブラリ』の一部を含む実行形式は依然として
第 6 節の条件下に置かれるであろう)。
---
> コンパイルに必要なオブジェクトファイル配布しないとだめだな
>>842を見てオブジェクトファイルって言ってんのかもしれないけど、
ちゃんと読めば分かると思うけど、LGPLのライブラリを改変して別の
プログラムを含めた場合に、そのライブラリを再構築できるように
別のプログラムのオブジェクトファイルを配布しろって言ってんだよ。
呼び出し元アプリとは無関係な事だ。
とりあえず、英語読めないなら日本語訳もあるんだからちゃんと嫁。
0848名前は開発中のものです。
2005/08/03(水) 23:14:18ID:8Vtt/S6Ustdio.hをインクルードするだけでアプリケーション終了時に
メモリエラーが出てしまいます。
デバッグで見る_file.cの_lock_file関数で何らかのエラーが起きているようです。
どのようにすればうまくエラーがでないようにできるのか、ご教授お願いします。
0849名前は開発中のものです。
2005/08/04(木) 19:18:29ID:m7E66Gbvそれだけだと使っている言語仕様がわからない。
Microsoft Visual Studio .NET 2003 に含まれる VisualC++ を使っているなら
新しいプロジェクトを作成する時に .NETではなく Win32を選んで。
0850名前は開発中のものです。
2005/08/04(木) 19:25:18ID:qa5JGYab0851849
2005/08/04(木) 20:42:21ID:m7E66GbvそれはManagedC++という名のC言語とは似て非なる言語。
0852名前は開発中のものです。
2005/08/04(木) 23:34:09ID:uV5RXPg80853名前は開発中のものです。
2005/08/05(金) 02:15:02ID:t5VdqNSD0854名前は開発中のものです。
2005/08/05(金) 10:31:53ID:XgtXEN470855名前は開発中のものです。
2005/08/10(水) 16:07:15ID:f3HjLb+xみんなはどう書いてますか
// ここで描画やらなにやら
int nowTime = SDL_GetTicks();
if( nowTime - preTime < 16 )
{
SDL_Delay( 16 - (nowTime - preTime) );
}
preTime = SDL_GetTicks();
やっぱ浮動小数で管理しないと駄目かな
綺麗に60に固定したいんだけど
0856名前は開発中のものです。
2005/08/10(水) 18:43:43ID:PLKvBSGz0857名前は開発中のものです。
2005/08/10(水) 19:50:28ID:f3HjLb+x詳しく
0858名前は開発中のものです。
2005/08/10(水) 20:59:46ID:zuYoOj0m俺はもう癖で固定小数点つかっちまうが
高精度タイマ使えばそれなりに精度は出るがかなり環境依存しやすい模様
この辺の話はSDLとはもはや関係ないな
0859名前は開発中のものです。
2005/08/10(水) 21:58:53ID:sHNa10sCwhile ( nowTime - preTime < 16 )
{
SDL_Delay( 0 );
}
のほうがいいよ
タイマの精度に期待出来ないことも多々あるんで、待ちすぎが起こりやすいから
0860名前は開発中のものです。
2005/08/10(水) 23:12:02ID:EzSJcbzY少しぐらい改善すっかな
0861855
2005/08/11(木) 11:06:48ID:s0SfDH7MそれnowTimeもpreTimeも更新されないんじゃ?
具体的なコードが見たいんですけど駄目ですか?>>ALL
0862名前は開発中のものです。
2005/08/11(木) 13:55:51ID:7JeDKIu2while ( SDL_GetTicks() - preTime < 16 )
{
SDL_Delay( 0 );
}
preTime = SDL_GetTicks();
>>859じゃないけど、普通に考えればこうでしょう。
1から100まで全部与えられるのを待ってないで考えましょう。
0863名前は開発中のものです。
2005/08/11(木) 16:16:47ID:u3UR2EZNこれ、整数の除算のところで誤差が出るよね。
固定小数点で計算する方法って、32bitのうち小数側に16bit使うと決めたら
(60*(SDL_GetTicks() - preTime) << 16) < (1000 << 16)
みたいにすればいいのかな?
0864名前は開発中のものです。
2005/08/11(木) 16:21:33ID:u3UR2EZN0865名前は開発中のものです。
2005/08/11(木) 16:29:32ID:u3UR2EZN60が右辺にないと意味なかったね。Delphiで試してみたらFPSが59.9〜60.0くらいになったんで、
合っているのかな。
0866名前は開発中のものです。
2005/08/11(木) 16:37:51ID:u3UR2EZN0868名前は開発中のものです。
2005/08/11(木) 19:21:03ID:Gg/tPqOJ#define FRAMETIME 4271/* (1000ms/59.94frame)*256 */
ループ{
描画etc.
while ( SDL_GetTicks() < nextTime/256 )
{
SDL_Delay( 0 );
}
nextTime += FRAMETIME;
}
0869名前は開発中のものです。
2005/08/11(木) 22:03:19ID:IbwMjIl90870855
2005/08/11(木) 23:36:45ID:s0SfDH7Mそりゃ考えましたよ。
それで適当に書いた>>867とか言われても困るんですけどね。
というか、みんなはどうやってるの?って聞いてるのに何でかなぁ。FPS固定やってないの?
そんなにコード晒すの嫌?別段他のモジュール参照してるわけじゃなし、部分的に抜粋してもらえればいいのに。
って偉そうですね。すみません。
出し惜しみ?自分の技術不足を指摘されるのが恥ずかしい?
あ、面倒なの。
オープンソース糞喰らえですね!みんなはなんでSDL使ってるの?
0871名前は開発中のものです。
2005/08/12(金) 00:38:27ID:oL+JILND0872859
2005/08/12(金) 04:23:14ID:DYAIzoXIお詫びの意味も込めて、前作ったゲームのを調べてみた
const float FRAME_TIME = 1000.0f / 60.0f;
float timer_diff = 0.0f;
while (...) { // ループ
float old_timer = SDL_GetTicks() - timer_diff;
// 描画等
while ((SDL_GetTicks() - old_timer) < FRAME_TIME) {
SDL_Delay(0);
}
timer_diff = SDL_GetTicks() - old_timer - FRAME_TIME;
}
途中を色々はしょった時にミスが入ってる可能性はあるが、こんな感じだった
0873名前は開発中のものです。
2005/08/12(金) 18:43:40ID:KeDmnrCrttp://www.sun-inet.or.jp/~yaneurao/rsp/rsp48to4F.html
void ys::ElapseTime(void){ // (C)yaneurao 1998-1999
// 厳粛かつ正確かつ効率良く時間待ちをする
if (iFPS == 0) return ; // Non-wait mode
static DWORD lastdraw = 0; // 前回の描画時刻
// (不運にも第一発目のtimeGetTime() == 0とかゆーこともあるが、それは構わない)
DWORD t = timeGetTime(); // 現在時刻
dwFPSWaitTT = (dwFPSWaitTT & 0xffff) + dwFPSWait; // 今回の待ち時間を計算
// dwFPSWaitは、待ち時間の小数以下を16ビットの精度で持っていると考えよ
// これにより、double型を持ち出す必要がなくなる。
// dwFPSWaitTT = 1000 * 0x10000 / FPS;である
DWORD dwWait = dwFPSWaitTT >> 16; // 結局のところ、今回は何ms待つねん?
// 1フレーム時間を経過しちょる。ただちに描画しなちゃい!
DWORD dwElp = (DWORD)(t - lastdraw); // 前回描画からいくら経過しとんねん?
if (dwElp>=dwWait) {
lastdraw = t;
return ;
}
// ほな、時間を潰すとすっか!
// まだ時間はたっぷりあるのか?
// 4ms以上消費する必要があるのならば、Sleepする
if (dwWait-dwElp >= 4) Sleep(dwWait-dwElp-3);
// いまdwWait>dwElpなのでdwWait-dwElp>=0と考えて良い
// 95/98/NTで測定したところSleep(1);で1ms単位でスリープするのは可能
// ただし、実装系依存の可能性もあるのでSleepの精度は3ms以内と仮定
while ((timeGetTime()-lastdraw)<dwWait) ;
// ループで時間を潰す(あまり好きじゃないけど)
// これで、時間つぶし完了!
lastdraw += dwWait; // ぴったりで描画が完了した仮定する。(端数を持ち込まないため)
}
0874名前は開発中のものです。
2005/08/12(金) 20:13:16ID:rlG30S65SDL_GetTicks()とSDL_Delay()に置き直して
0875名前は開発中のものです。
2005/08/14(日) 22:40:50ID:O5bcwOkettp://sdlinputmethod.sourceforge.net/phpbb/viewtopic.php?t=6&start=30#104
0876名前は開発中のものです。
2005/08/19(金) 22:03:31ID:nTcnwqoXhttp://pc8.2ch.net/test/read.cgi/tech/1065535118/
0877名前は開発中のものです。
2005/08/20(土) 01:38:13ID:Uu3xgTeL0878名前は開発中のものです。
2005/08/23(火) 01:30:58ID:GcWYfYM0そこで、SDLのソースを落として/MTビルドし、それは成功したんですが、
本体のほうは/MTビルドしても
error LNK2005: _exit は既に LIBCMT.lib(crt0dat.obj) で定義されています。
error LNK2005: _strncpy は既に LIBCMT.lib(strncpy.obj) で定義されています。
error LNK2005: __isctype は既に LIBCMT.lib(isctype.obj) で定義されています。
このようなリンクエラーが出てビルド完了できません。
どのようにしたらうまくいくのか、教えてください。お願いします
ちなみにLIBCMT.libを無視したら、ものすごい怒られました・・・(´・ω・`)
0879名前は開発中のものです。
2005/08/23(火) 06:21:23ID:W08ZteNn0880名前は開発中のものです。
2005/08/23(火) 09:28:07ID:0d6CfNLS全然いじってない。帰ってきたらいろいろ変える。
http://wiki.livedoor.jp/ntooka/d/FrontPage?wiki_id=5515
0881名前は開発中のものです。
2005/08/23(火) 10:59:53ID:LxnRBaho0882880
2005/08/23(火) 17:14:36ID:0d6CfNLSlivedoorWikiは使いづらいぞw。ちょい機能がたりないように感じる。
もうちょっとやってみるわ。
0883名前は開発中のものです。
2005/08/23(火) 20:10:29ID:d61Nt7TU0884名前は開発中のものです。
2005/08/23(火) 21:09:14ID:DXl7coHI別のどっかいいところある?俺サーバーとかよくわかんないんだけど
0885名前は開発中のものです。
2005/08/23(火) 21:25:54ID:DXl7coHIhttp://www5.atwiki.jp/ntooka/pages/1.html
デザインが気に入らないのでころころ変わると思う。悪いね。
ライブドアやっぱダメだわ。
0886名前は開発中のものです。
2005/08/23(火) 23:38:55ID:MD79yudw期待age。SDLの情報サイトって更新止めてる所が多いからね。
0887名前は開発中のものです。
2005/08/23(火) 23:59:59ID:DXl7coHIありがとよ。
まぁ、適当にいじってくれ。俺も保守するから。
Tipsとにかくコピペしてるんだけど、やっぱまずいかな?
0888名前は開発中のものです。
2005/09/01(木) 03:11:54ID:JN8l/VYG... けど、個人的にはあんまり関係ありそうなアップデート内容無いな
0889名前は開発中のものです。
2005/09/03(土) 12:14:56ID:98xgvWvdhttp://www5.atwiki.jp/ntooka/pages/14.html
どうぞ。あんまし役に立つ情報はないけど。
0890名前は開発中のものです。
2005/09/09(金) 23:26:28ID:nk7nSsWv0891名前は開発中のものです。
2005/09/10(土) 16:01:06ID:jqa9kx5Y0892名無しさん@そうだ選挙に行こう
2005/09/10(土) 17:39:50ID:idvQgIh90893名無しさん@そうだ選挙に行こう
2005/09/11(日) 00:15:50ID:WdKYR5dd上のほうのタイマの話といい、おまいら何でSDL使ってんの?
環境依存なんて当たり前?
0894名無しさん@そうだ選挙に行こう
2005/09/11(日) 00:45:02ID:ySd+9IMBっていうのは邪道なのかね?
0895名無しさん@そうだ選挙に行こう
2005/09/11(日) 00:45:08ID:1ur5e5rk0896名無しさん@そうだ選挙に行こう
2005/09/11(日) 05:14:34ID:7hQykqFY強制終了とかでうまく終了処理が行われなかったら
そのファイルが残ってしまい起動できなくなるんじゃ?
0897名無しさん@そうだ選挙に行こう
2005/09/11(日) 19:18:45ID:qqbGMCN5>>895
SDL 使ったことあるのか?
0898名無しさん@そうだ選挙に行こう
2005/09/11(日) 20:03:41ID:IriOHZii0900名前は開発中のものです。
2005/09/12(月) 01:31:45ID:yPWNVwAr0901名前は開発中のものです。
2005/09/13(火) 15:17:26ID:IiHu2zoEWindowsならWSAStartupを呼ぶとか多少のOS依存はifdefで書く必要はあるが。
0902名前は開発中のものです。
2005/09/22(木) 09:51:58ID:IbR5Q/kQSDL_LoadBMPで取得したSDL_Surfaceは
SW_SURFACEとして読み込まれている認識でOK?
0903名前は開発中のものです。
2005/09/22(木) 09:59:46ID:IbR5Q/kQif(surface->flags&SDL_HWSURFACE) printf("HW\n");
って感じでSWも確かめましたが反応無し。
0904名前は開発中のものです。
2005/09/22(木) 12:55:39ID:5uMRcPCk#define SDL_SWSURFACE 0x00000000 /* Surface is in system memory */
#define SDL_HWSURFACE 0x00000001 /* Surface is in video memory */
です。
システムメモリ上かVideoメモリ上のどちらかに確保されて、
下位の1bitがvideoメモリ上にあるかどうかを判定するフラグです。
if(surface->flags&SDL_HWSURFACE) printf("HW\n"); else printf("SW\n");
0905名前は開発中のものです。
2005/09/22(木) 18:10:40ID:p3aHRteJ0906名前は開発中のものです。
2005/09/22(木) 23:39:29ID:IbR5Q/kQううむ。
0907名前は開発中のものです。
2005/09/23(金) 16:11:11ID:nrqAdKrHスクリーンのフォーマットにあわせた?
あとそもそもスクリーンがHWSURFACEになってなければ
DDrawより遅くなると思うよ?
0908名前は開発中のものです。
2005/09/23(金) 20:15:53ID:tQ78MyNZ>>907
サンクス
おっしゃるように、HWSURFACEにして、SDL_DisplayFormatでサーフェス指定して解決したす。
0909名前は開発中のものです。
2005/09/29(木) 22:19:14ID:QcAJa6knどういうことだ?
SDLの関数あたりが悪さしていると思うのだが、わからないんです。
教えて、えろい人!!
0910名前は開発中のものです。
2005/09/29(木) 22:57:19ID:i68KflVJ0911名前は開発中のものです。
2005/09/29(木) 23:09:02ID:q77C+Q530912名前は開発中のものです。
2005/09/29(木) 23:12:38ID:LmvdAp7bマルチうぜー
0913名前は開発中のものです。
2005/09/30(金) 00:59:46ID:oblFcTL6残念な事にフルスクリーンの方が遅くなるんだ!!
>912
まったくだ!!
0914名前は開発中のものです。
2005/09/30(金) 18:35:36ID:6EUSIuxQ>残念な事にフルスクリーンの方が遅くなるんだ!!
マジかっ!?
意味ねー
つーか、フルなしでよくねーの
0915名前は開発中のものです。
2005/09/30(金) 20:34:34ID:/6HcyHJo0916名前は開発中のものです。
2005/10/13(木) 11:48:15ID:CykI+nJQグラフィック部分にSDLを使うことになりました。
そして音楽はMIDIは環境で変わるから良くないってことで
DirectMusicProducerを使うとか言い出しました
僕はmixerのMODを使うことを進めたんですが、押し切られてしまいました
リンカエラーとかメモリエラーがでないか凄く心配です・・・
皆さんはどう思いますか?
0917名前は開発中のものです。
2005/10/13(木) 12:21:18ID:XPDehWw3DirectMusicProducerは単に音楽作成ツールですよ?
音楽はDirectX Audioで自前で鳴らし、
効果音はSDLで鳴らそうってなら確かにやめた方がよさそう。
どんな問題が出るか知らないけどね。
0918916
2005/10/13(木) 12:53:25ID:ypy0AXR+そうです。DirectMusicProducerで作ったデータを
DirectX Audioで鳴らそうとしてました。
効果音はどうか知りません
リンカに怒られると言ったら外部にDMPファイルを再生するDLLを置くとか言い出しました
もうガクブルです。
0919名前は開発中のものです。
2005/10/13(木) 17:25:39ID:ToPl7cy0MODはSDLに組み込みだから楽 ← プログラマの都合
DMPはMIDIライクな編集がその場で出来るから楽 ← 音楽屋の都合
こう思った。
うまい折衷案が出るとよいが、最終的にはプログラマ側で妥協してやるしかないんじゃない?
0921915
2005/10/13(木) 21:13:13ID:pthRpnxVそうですか・・・音楽屋がやりやすいなら仕方ないです
でもDirectMusic叩けるなら、Drawも直に叩いて欲しい
うちのメインの考え方は分からないです・・・
0922名前は開発中のものです。
2005/10/14(金) 10:28:50ID:uk4v+zqxとりあえず、言質はとっとけ
最低でも、そのメインが該当箇所を組むようにな
問題なけりゃそれでいいが、
問題出たときに誰が泥をかぶるのかを決めとかないと
プロジェクトが頓挫する事になる
0923名前は開発中のものです。
2005/10/14(金) 18:43:07ID:kCsY6VJS描画する方法が分かりました。
しかし、その文字列を一文字ずつ描画したい場合(ドラクエのように人に話すと
表示されるメッセージのように)は人文字ずつサーフェイス作っていって
フレームカウントをして表示速度の制御をしながら描画するのがいいんでしょうか?
後、UTF8だと日本語1文字が何バイトなのかって固定されてないので、すごく難しいんですが。
アイディアください。
0924名前は開発中のものです。
2005/10/14(金) 20:16:29ID:uTRcIOI80x00-0x7F 1
0xC0-0xDF 2
0xE0-0xEF 3
0xF0-0xF7 4
0xF8-0xFB 5
0xFC-0xFD 6
0925名前は開発中のものです。
2005/10/15(土) 04:46:42ID:xL4TCgUtむしろ
>UTF8のファイルから読み込んだ文字列をひとつのサーフェイスにして描画する方法
を教えてください
0927925
2005/10/16(日) 00:09:25ID:uNCcPNGN0928名前は開発中のものです。
2005/10/16(日) 01:09:04ID:ho7RZaGnSDL_ttf をいれて以下の関数を使う
* TTF_RederUTF8_Solid()
* TTF_RederUTF8_Shaded()
* TTF_RederUTF8_Blended()
0929925
2005/10/16(日) 16:53:28ID:uNCcPNGNアプリケーションの初期化時にテキストデータを全部読み込んで画像をcache、文字と矩形の対応情報を保存、もしくは外部でそのファイルフォーマットを吐き出すツールを作る必要があると思うんだけど、
もういいや。
>>924>>928
情報ありがとう。知らなかったよ。
0930名前は開発中のものです。
2005/10/16(日) 17:01:24ID:0gQNvyRR0931925
2005/10/16(日) 17:01:39ID:uNCcPNGN動的な文字列の場合はやっぱりそのまま生成して使うんかな。
まあどうでもいいか。
0932925
2005/10/16(日) 17:04:24ID:uNCcPNGN0933名前は開発中のものです。
2005/10/16(日) 17:46:45ID:ePu+oMfg生成するなんてアホなことはしない.文字列のsurfaceが欲しい
シーンに入るときにsurface作ってそのシーンから抜けるときに
SDL_FreeSurface()する.
文字と矩形を対応させて文字列を描画する方法はASCIIコード程度なら
やるけど日本語ありの場合は必要な文字だけをレンダリングしたとしても
莫大なメモリを食うのでやっぱりやらない.
0934名前は開発中のものです。
2005/10/16(日) 19:04:17ID:9sHmJEZ2> 文字と矩形を対応させて文字列を描画する方法はASCIIコード程度なら
> やるけど日本語ありの場合は必要な文字だけをレンダリングしたとしても
> 莫大なメモリを食うのでやっぱりやらない.
日本語でも、αチャンネルだけのテクスチャにするとかでメモリ使用量押さえたらなんとかならんかな?
やったことないんで想像で言ってるだけだが
0935925
2005/10/16(日) 19:15:54ID:uNCcPNGN使う文字列が多い場合、シーン毎に細分化してもメモリ使用量は変わらんがな。結局使うんだから。
ましてMMOのチャットなんかで動的に必要な場合はシーンで確保なんかできない。
0936930
2005/10/16(日) 19:37:31ID:0gQNvyRR0937925
2005/10/16(日) 20:15:33ID:uNCcPNGNそれとも文章力が無いのか、面倒臭がりなのか。
0938925
2005/10/16(日) 20:21:33ID:uNCcPNGNじゃなきゃ誰も君のレスに何の価値を感じないよ。
君はそのレスを書き込むことに何か意義を感じるのかい?
「925は馬鹿だな」って、一緒になって賛同してくれるレスが欲しいのかい?
くだらねえ。
0939925
2005/10/16(日) 20:23:46ID:uNCcPNGNSDL_ttfで首吊ってきます
さようなら
0940名前は開発中のものです。
2005/10/16(日) 22:34:38ID:eOr9iAiX0941名前は開発中のものです。
2005/10/20(木) 23:34:54ID:W3zgiMmJSD
S
SD
SDL
0942名前は開発中のものです。
2005/10/23(日) 17:17:59ID:M214XGzKg+
g
+
++
++g
0943名前は開発中のものです。
2005/10/26(水) 15:51:54ID:VPhwa+P3ttp://www.devolution.com/pipermail/sdl/2005-October/070939.html
0944名前は開発中のものです。
2005/11/02(水) 02:51:15ID:Hh29B0Amまじで? もしそうなるとしたら、SDLを選択肢に選ぶ人はもっと増えるかもしれないね。
ところでSDL2.xっていつ頃になるんだろう?
0945名前は開発中のものです。
2005/11/05(土) 20:50:59ID:4J6RfiW+分からないので、教えてほしいのですが。
0946名前は開発中のものです。
2005/11/06(日) 17:47:38ID:HW9Qh6Q9こんな感じでMakefileを書いてコンパイルすればいいでしょう。
-----------------------------------------------------------
CC=bcc32
RC=brc32
ILIB=implib
CFLAG=-WD -3 -O2 -w- -AT -pc -H- -k -b -DWIN32 -DBUILD_DLL
CINCS=-I..\include
TARGET= SDL_gfx.dll
LIB= SDL_gfx.lib
SRC1= SDL_imageFilter.c
OBJ1= SDL_imageFilter.obj
SRC2= SDL_gfxPrimitives.c
OBJ2= SDL_gfxPrimitives.obj
SRC3= SDL_framerate.c
OBJ3= SDL_framerate.obj
SRC4= SDL_rotozoom.c
OBJ4= SDL_rotozoom.obj
LIB1=..\lib\SDL.lib
0947名前は開発中のものです。
2005/11/06(日) 17:48:36ID:HW9Qh6Q9TARGET: $(TARGET)
$(TARGET): $(OBJ1) $(OBJ2) $(OBJ3) $(OBJ4)
$(CC) $(CFLAG) -e$(TARGET) $(OBJ1) $(OBJ2) $(OBJ3) $(OBJ4) $(LIB1)
$(ILIB) $(LIB) $(TARGET)
$(OBJ1): $(SRC1)
$(CC) $(CFLAG) $(OUTDIR) $(CINCS) -c $(SRC1)
$(OBJ2): $(SRC2)
$(CC) $(CFLAG) $(OUTDIR) $(CINCS) -c $(SRC2)
$(OBJ3): $(SRC3)
$(CC) $(CFLAG) $(OUTDIR) $(CINCS) -c $(SRC3)
$(OBJ4): $(SRC4)
$(CC) $(CFLAG) $(OUTDIR) $(CINCS) -c $(SRC4)
-----------------------------------------------------------
0948925
2005/11/07(月) 12:44:31ID:TpJBaBVOどうも。レスありがとうございます。メイクファイルを見ました。
上記のmakeをborlandのmakeコマンドで実行してみましたが、何もエラーだとか
何も反応がないので、少し修正しました。borlandのmakefileって小括弧じゃなくて中括弧で書くみたいなので、一応中括弧に直してmakeしました。
修正した所だけ書くと、
OBJ= SDL_imageFilter.obj SDL_gfxPrimitives.obj SDL_framerate.obj SDL_rotozoom.obj
$(TARGET) : $(OBJ)
$(CC) $(CFLAG) -e$(TARGET) $(OBJ) $(LIIB1)
$(ILIB) $(LIB) $(TARGET)
.c.obj :
$(CC) $(CFLAG) $(CINCS) -c $<
修正したmakefileが今手元にないけど、こんな感じにしたら、ちゃんと動きました。
一回、失敗してSDL.libをリンクしてなくてプロシージャが見つからないってエラーが出てきましたが、
ちゃんと$(CC) $(CFLAG) -e$(TARGET) $(OBJ) $(LIIB1) という感じに$(LIB1)を入れたらうまくDLLと
ライブラリが作れました。
# $(OUTDIR)って定義されてないけど、これは何でしょうか?
0949946
2005/11/07(月) 20:00:12ID:fJubQ/K/BCC Developerが
http://www.hi-ho.ne.jp/jun_miura/
はいたMakefileをDOS用に適当に編集しただけなので
細かいことは良く分かりませんが、
>$(OUTDIR)って定義されてないけど、これは何でしょうか?
生成物の出力先を指定するときに使うんだったと思います。
0950925
2005/11/08(火) 10:03:40ID:S6wiWkHjどうもレスありがとうございます。なるほど、オブジェクトファイルの保存ディレクトリですか。
SDL_gfxの配布ファイルにはVCのメイクファイルしか入ってなくって、BCCでのビルド無理だからVC買おうかと思ってましたが、質問してよかったです。
BCC Developperですか。長いことずっとコマンドライン作業だったので、Developerすごく便利そうですね。今度から使ってみます。
0951名前は開発中のものです。
2005/11/20(日) 18:36:24ID:vG0RaijIgdb でデバッグするとき変なことになってます
(SDL_Init と SDL_Quit を呼ぶだけのプログラムで)
5 if(SDL_Init(SDL_INIT_VIDEO)<0) {
(gdb)
warning: Hooking
warning: C:\..\TEST.EXE
warning: RPH:Injecting code at start up
warning: done...
warning: RPH:DDraw Hooked!
こんな感じのメッセージが出て、以降普通にステップ実行できるけど、
main から抜けても gdb とアプリが終了してくれない
ddraw.dll? を hook したよ、とか言ってますがこれが元凶だろうか
ちなみに SDL_Init(SDL_INIT_NOPARACHUTE) と SDL_Quit だと
問題は起こらない
cygwin + SDL でデバッグできない、なんて話は検索しても皆無だし、
どなたか情報ありませんかね?
SDLビルド時のオプションなどは、ここに書いてある通りに実行しました
http://cefiro.homelinux.org/topics/SDL/setup-win32-cygwin.html
0952名前は開発中のものです。
2005/11/21(月) 12:52:23ID:wOS82bbj今はSDL_imとか試しているけど。
フォントレンダリングも少しアレげなんでsdl-pangoとか検討してみたり。
ここまでやるとなると、日本語入力に関してはgtk+を直に使った方がよい気がしてきたり…
0953名前は開発中のものです。
2005/11/21(月) 13:29:05ID:wOS82bbjximにモディファイアキー喰われてしまって困っていますが、SDL_imでがんばってみます。
0954名前は開発中のものです。
2005/11/24(木) 13:18:22ID:wtYtRNgocygwinでは全く経験無いのでわからないけど、
DDrawフックが怪しいと思うなら、
SDL自体を ENABLE_DIRECTX を外してmakeしてから試せばいいでしょう。
DIRECTXモジュールがSDLに含まれないなら、少なくともDDRAWの疑いは晴れる。
外し方は自分で調べてな。
configureで --disable-use_directxとか??
直接makefileから -DENABLE_DIRECTX を外すか。
0955名前は開発中のものです。
2005/11/25(金) 14:25:57ID:j4sp1PuYサンキュー
そういう手段もあるのか
どうも、この怪しいメッセージ、OmegaDriverが出してるっぽくて
このフックだけ外す方法を模索中
ノートPCなんだけど、標準ドライバだとpivot表示ができないから
OmegaDriver自体を使わない、というのはちょっと困る
0956名前は開発中のものです。
2006/02/05(日) 18:29:11ID:rbHrat23ググってみたのですが、どこにも解説しているサイトがなくて…。
0957名前は開発中のものです。
2006/02/05(日) 18:29:48ID:rbHrat230958名前は開発中のものです。
2006/02/06(月) 00:27:25ID:5IybunEzどこで詰まってるんだ?
コンパイルエラーくらい出して欲しい。
0959名前は開発中のものです。
2006/02/06(月) 00:29:52ID:5IybunEz0960名前は開発中のものです。
2006/02/06(月) 15:41:28ID:rydF6b7msmpeg.dswやsmpeg.dspを実行してみたのですが、
エラーが出て先に進めないのです。
bzlibの時はすんなりいったのですが…。
0961名前は開発中のものです。
2006/02/08(水) 22:59:58ID:xyX2pKcUって聞かれなきゃ言わないのか?最近の厨房様は。
0962名前は開発中のものです。
2006/02/15(水) 04:54:30ID:8jsP3/R6お願いしますが抜けてる
0963名前は開発中のものです。
2006/02/15(水) 05:06:44ID:pkFtH0Nj0964名前は開発中のものです。
2006/02/15(水) 20:55:07ID:dIpuR5PY解決策は求めていないということね。
0965名前は開発中のものです。
2006/02/15(水) 23:37:57ID:kemyKw4Oコンパイルテストを実行すると
エラー E2046 D:\Source\BCB\SDL_Test\main.cpp 1: include 指令のファイル名の書式が正しくない
エラー E2141 D:\Source\BCB\SDL_Test\main.cpp 14: 宣言の構文エラー
エラー E2268 D:\Source\BCB\SDL_Test\main.cpp 20: 未定義の関数 'printf' を呼び出した(関数 main(int,char * *) )
エラー E2451 D:\Source\BCB\SDL_Test\main.cpp 28: 未定義のシンボル SDL_Rect(関数 main(int,char * *) )
エラー E2379 D:\Source\BCB\SDL_Test\main.cpp 28: ステートメントにセミコロン(;)がない(関数 main(int,char * *) )
エラー E2451 D:\Source\BCB\SDL_Test\main.cpp 29: 未定義のシンボル dest(関数 main(int,char * *) )
エラー E2451 D:\Source\BCB\SDL_Test\main.cpp 31: 未定義のシンボル Uint32(関数 main(int,char * *) )
等のエラーが大量に出て失敗するのですが、導入部分でどこが間違っているのでしょう?
一通り見直してやり直してみましたがまったく出来ませんので…
0966名前は開発中のものです。
2006/02/15(水) 23:49:33ID:kemyKw4Oincludeの先に何も無かったので<SDL/SDL.h>を付けてみたら一発成功でした。
お騒がせしてすいません
0967名前は開発中のものです。
2006/02/16(木) 12:16:03ID:4CJdjj+HSDL-1.2.9フォルダをホームにおいてSDL-1.2.9フォルダにて./configure、make、sudo make install
でSDLをインストールしました(エラーは出ませんでした)
とりあえずしっかりパスが通っていてSDLがインストールされているのを確認するにはどうすればいいんでしょうか?
パスはホームの.tcshrcにsetenv PATH /usr/local/bin:/SDL-1.2.9:$PATH
と記述しただけで通したつもりになっています…。
0968名前は開発中のものです。
2006/02/16(木) 13:45:55ID:FEuy8yUBtestの下にいろいろ入ってる。
testwinあたりでもどう?
それはさておき /SDL-1.2.9 に入れてそこにパス通すのはどんなもんよ。
0969名前は開発中のものです。
2006/02/16(木) 15:13:14ID:4CJdjj+Hすいません正直パスを通す意味がよく分かってません
/SDL-1.2.9/testにて
cc testwin.c `sdl-config --cflags --libs`でコンパイルしたらとんでもないくらいエラー出ました。
あきらかに各種ファイルの不足によるものばかりなのでtestに不足ファイルをいれれば成功しそうですが
それではプログラムを作るたびにそのディレクトリに必要ファイルを入れなければなりません。
どのディレクトリででもSDLのプログラムをコンパイルし実行するにはどのようにすればいいのでしょうか?
0970名前は開発中のものです。
2006/02/16(木) 17:45:49ID:FEuy8yUBOSやUNIX上のC開発の知識になってしまうので
ここで一から教わろうってのは厳しいかもね。
おれもMacOSのシステム構成とか知らんし。
とりあえず cc付けないで
sdl-config --cflags --libs
これだけで実行してみた?
多分そこから動いてないのだろうけど
そこから先は手探りなんじゃないかな。
0971名前は開発中のものです。
2006/02/16(木) 19:07:44ID:RDmCVz1Rあなたが知らないのならわかる人を連れてきてください。
それすらできないようならあなたなんかに用はありません。
0972名称未設定
2006/02/16(木) 19:18:34ID:6HFR4Et4~/.cshrc に書いても読まれていない罠の可能性が… ( echo $SHELL すればわかる、かも)
~/.bashrc とかに書かなきゃいけないかもよ?
とにかく、エラーがとんでもなくでたんならそのエラーと
そのときのコマンドラインを貼り付けれ。
長すぎて迷惑だと思うならどこか手軽なアップローダを探せばいい。
新・mac板に行ってTerminal初心者スレあたりでたずねることも検討しなさいな。
初心者だって開発してみたいだろうさ。
0973名前は開発中のものです。
2006/02/16(木) 20:24:20ID:4CJdjj+H~/.bash_profileにexport PATH=$PATH":/SDL-1.2.9"と記述しました
~/SDL-1.2.9 および ~/SDL-1.2.9/testにて
sdl-config --cflags --libsだけで実行すると
-bash: sdl-config: command not found
~/SDL-1.2.9にて
./sdl-config --cflags --libsで実行すると
-I/usr/local/include/SDL -D_THREAD_SAFE
-L/usr/local/lib -lSDLmain -lSDL -framework Cocoa -framework OpenGL
となりました。これはこのディレクトリ内にsdl-configがあるので当たり前なんですが…
0974名前は開発中のものです。
2006/02/16(木) 20:39:00ID:4CJdjj+Hcc testwin.c `sdl-config --cflags --libs`を実行すると
cc: sdl-config --cflags --libs: No such file or directory
testwin.c:12:17: SDL.h: No such file or directory
testwin.c:14: error: parse error before '*' token
testwin.c: In function `DrawPict':
testwin.c:17: error: `SDL_Surface' undeclared (first use in this function)
testwin.c:17: error: (Each undeclared identifier is reported only once
testwin.c:17: error: for each function it appears in.)
testwin.c:17: error: `picture' undeclared (first use in this function)
testwin.c:18: error: `SDL_Rect' undeclared (first use in this function)
testwin.c:18: error: parse error before "dest"
testwin.c:21: error: `SDL_Color' undeclared (first use in this function)
testwin.c:21: error: `colors' undeclared (first use in this function)
testwin.c:21: error: `cmap' undeclared (first use in this function)
testwin.c:24: error: `bmpfile' undeclared (first use in this function)
testwin.c:38: error: parse error before ')' token
testwin.c:39: error: parse error before ')' token
testwin.c:47: error: parse error before ')' token
testwin.c:48: error: parse error before ')' token
testwin.c:63: error: `screen' undeclared (first use in this function)
testwin.c:73: error: `Uint32' undeclared (first use in this function)
testwin.c:73: error: parse error before "black"
testwin.c:74: error: `Uint8' undeclared (first use in this function)
testwin.c:74: error: `pixels' undeclared (first use in this function)
testwin.c:76: error: `black' undeclared (first use in this function)
testwin.c:77: error: parse error before ')' token
testwin.c:88: error: `speedy' undeclared (first use in this function)
testwin.c:89: error: `displayfmt' undeclared (first use in this function)
0975名前は開発中のものです。
2006/02/16(木) 20:40:31ID:4CJdjj+Htestwin.c:107: error: `dest' undeclared (first use in this function)
testwin.c:113: error: `update' undeclared (first use in this function)
testwin.c:118: error: `flip' undeclared (first use in this function)
testwin.c:135: error: `nofade' undeclared (first use in this function)
testwin.c:137: error: parse error before "final"
testwin.c:140: error: parse error before "Sint16"
testwin.c:140: warning: no semicolon at end of struct or union
testwin.c:141: error: `cdist' undeclared (first use in this function)
testwin.c:145: error: `maxstep' undeclared (first use in this function)
testwin.c:146: error: `final' undeclared (first use in this function)
testwin.c:149: error: `palcolors' undeclared (first use in this function)
testwin.c:96: error: label `done' used but not defined
testwin.c: At top level:
testwin.c:220: error: parse error before ':' token
testwin.c:223: warning: parameter names (without types) in function declaration
testwin.c:223: error: conflicting types for `free'
/usr/include/stdlib.h:136: error: previous declaration of `free'
testwin.c:223: warning: data definition has no type or storage class
testwin.c:223: warning: parameter names (without types) in function declaration
testwin.c:223: warning: data definition has no type or storage class
testwin.c:224: error: parse error before "return"
0976名前は開発中のものです。
2006/02/16(木) 20:41:22ID:4CJdjj+Htestwin.c:229: error: `SDL_Surface' undeclared (first use in this function)
testwin.c:229: error: `screen' undeclared (first use in this function)
testwin.c:235: error: `Uint32' undeclared (first use in this function)
testwin.c:235: error: parse error before "video_flags"
testwin.c:247: error: `video_flags' undeclared (first use in this function)
testwin.c:302: error: `SDL_HWPALETTE' undeclared (first use in this function)
testwin.c:307: error: `SDL_HWSURFACE' undeclared (first use in this function)
testwin.c:312: error: `SDL_DOUBLEBUF' undeclared (first use in this function)
testwin.c:317: error: `SDL_FULLSCREEN' undeclared (first use in this function)
testwin.c:324: error: `SDL_INIT_VIDEO' undeclared (first use in this function)
testwin.c:329: error: `SDL_Quit' undeclared (first use in this function)
testwin.c:353: error: `then' undeclared (first use in this function)
testwin.c:355: error: `now' undeclared (first use in this function)
0977名前は開発中のものです。
2006/02/16(木) 21:18:11ID:/cQBzdnucc testwin.c -I. -D_THREAD_SAFE -L. -lSDLmain -lSDL -framework Cocoa -framework OpenGL
シェルの使用法がわかっていないようなので、
先にそちらを理解してからのほうがいいと思う。
0978名称未設定
2006/02/16(木) 21:31:05ID:6HFR4Et4書き方が悪かったかもしれないけど、別に bash を使え、と強制しているわけじゃないよ。
Linux ユーザーには bash を使う人が多いので、その分情報収集に有利かもしれないけど。
~/SDL-1.2.9 とは $HOME/SDL-1.2.9 のことで、 Mac OS X では普通は
/Users/$USER のこと。 $USER は >>976 のユーザー名ね。
~/SDL-1.2.9 にパスを通したいなら、
export PATH="/Users/nanashitan/SDL-1.2.9:$PATH"
なり、
export PATH="~/SDL-1.2.9:$PATH"
なり書く必要がある。 >>973 で書いた書き方 (export PATH=$PATH":/SDL-1.2.9") だと、
起動ディスクの直下に SDL-1.2.9 を置いていて、そこにパスを通したい場合の書き方になる。
(古めかしい書き方だと Macintosh HD:SDL-1.2.9: とかいうことね。)
起動ディスクの直下にモノをごちゃごちゃ置くのはお勧めできないので、
>それはさておき /SDL-1.2.9 に入れてそこにパス通すのはどんなもんよ。
みたいなツッコミが入ることになる。
0979名称未設定
2006/02/16(木) 21:47:01ID:6HFR4Et4>>973 は ~/SDL-1.2.9 にコマンドを置いているので、何も考えずに
$ ~/SDL-1.2.9/sdl-config
とコマンドを入力しても正しく動作するのだよ。いちいち ~/SDL-1.2.9 と
タイプするのが面倒な人は、環境変数 PATH に ~/SDL-1.2.9 を追加しておく、と。
で、環境変数の設定方法が bash では export だ、ということ。
SDL のインストールが(ソースからやったなら make install まで)終わっているなら、
おそらく /usr/local/bin に sdl-config もインストールされていると思うので、
/usr/local/bin/sdl-config としてもいいし、 PATH に /usr/local/bin を登録しておくのもよいかと。
俺の場合、 Fink っつーパッケージ管理システムを使っているので、
/usr/local は使わないことにしているんだけどね。これは余談。
あと、 `` は、中のコマンドの出力結果で置き換えるためのカッコ。
>>977 を見ればピンとくるだろうか。
いろいろシェルの使い方を検索しつつがんばれ。
個人的にはまっさらに無知な春休みの学生が最低限どれだけの知識があれば
開発を始められるのか、興味深いところではあるw
0980名前は開発中のものです。
2006/02/16(木) 22:24:14ID:4CJdjj+Hおかげさまでパス通りました!
>>977さんのコンパイル方法をやってみましたが
全く同じエラーが出たのでまだ入れなければいけないものがあるんでしょうね
本家サイトからとってきて試したいと思います
0981& ◆F7sVjZIqRE
2006/02/16(木) 22:28:20ID:6HFR4Et4「cc: sdl-config --cflags --libs: No such file or directory」の行が消えたはず。
エラーのはじまりと終わりは重要なことが多いので、気をつけて。
で、 /usr/local/lib とか /usr/local/include が
Mac OS X ではデフォルトでリンカのパスに含まれていないので、
gcc のコマンドラインに -I/usr/local/include -L/usr/local/lib を入れてみな。
0982名称未設定
2006/02/16(木) 22:32:32ID:6HFR4Et4とりあえず、パスが通ったんなら
cc testwin.c `sdl-config --cflags --libs`
を初心に返って試してみなされ。
0983名前は開発中のものです。
2006/02/16(木) 22:36:59ID:4CJdjj+Hでも実行はどうやって?
./testwinではないのでしょうか?
重ね重ねすいません…
0984名称未設定
2006/02/16(木) 22:54:48ID:6HFR4Et4とりあえず、エスパー的に回答すると
cc のコマンドラインに -o testwin を付けてみればいいに 1ペリカ。
0985名前は開発中のものです。
2006/02/16(木) 23:55:15ID:4CJdjj+Hありがとうございました
いろいろサンプルプログラムを実行していましたがSDL_imageなしで画像を読み込んで使っているプログラムがありましたが
SDL_imageはどのような場合に必要なのでしょうか?これなしでは画像は使えないと思っていました…
0986名前は開発中のものです。
2006/02/17(金) 00:18:25ID:9Dty7h0+自分でがんばってみます。
ありがとうございました。
0987名前は開発中のものです。
2006/02/17(金) 05:35:05ID:PbVp7kBattp://zinnia.dyndns.org/~cvsweb/sdldoc-jp/
ここのリファレンスをよくみれば、BMPファイルを読み込み
扱う機能があることはわかる
SDL_imageはその他のいろいろな形式の画像ファイルを
読み込む機能を提供してくれているだけ
ただ、SDL_imageやSDL_gfxなど、補助ライブラリについても
詳しく知りたいなら英語のドキュメントを覚悟してください
レス数が950を超えています。1000を超えると書き込みができなくなります。