トップページgamedev
987コメント396KB

SDLスレ

■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin01/11/11 17:59ID:u0HMN7qC
マルチプラットホームな汎用ゲームライブラリの
SDLについてのスレッドです。
最新情報、参考になるソース、質問等

とりあえず、本山
http://www.libsdl.org/
0035名前は開発中のものです。01/12/24 01:51ID:L8voSXpA
うーん、まぁ Ruby/SDL とか見てみて思ったのが、
やっぱ型付けが強い言語がゲームとか複雑な実装には
向いているのかなぁと。

(Rubyとかは業務機関とか単純な実装に使うのがいいやね。)
0036名前は開発中のものです。01/12/24 02:08ID:9LVHa4NS
Cマガの来月号に何か載るらしい
0037名前は開発中のものです。01/12/24 02:47ID:???
以前SDL+OpenGLは遅いと聞いたけど、改善されたん?>>034
0038名前は開発中のものです。01/12/24 05:10ID:ducal9m3
>>35
よろしければ具体的な理由(そう感じた決定打?)を教えてください。
Ruby/SDLのサンプル見た感じではそんなに悪い印象を感じませんでしたが、
Cとかの方が有利な点があればぜひ知りたいです。
0039名前は開発中のものです。01/12/24 09:14ID:???
SDLってGPLだかLGPL縛りじゃん。
感染しちゃうよ。ソース公開だとかどうしてるの?みんな
0040名無しさん@Emacs01/12/24 09:56ID:8rf6wve4
>>34
SDL_OPENGLBLITのことでしょうか?今でも遅いですよ。
SDL_OPENGLでハードウェア使える環境なら、少なくとも2Dでは充分な速さが出ます。

>>39
SDLはLGPLです。ソースは公開しなくても良いです。
ただ再リンクが可能なようにオブジェクトも配布しないといけないんだっけか?
ヘタレなので詳しくはわかりませぬ。調べて下され。
0041名前は開発中のものです。01/12/24 10:31ID:???
SDL_OPENGLBLITは気の迷いなので使うなってことになってるらしいよ。
OpenGL使うのは、Windows以外の2D描画でハードウェアアクセラレーションを
利用する手段が無いことじゃなかったかな。
0042名無しさん@Emacs01/12/24 12:17ID:8rf6wve4
重箱の隅つつきですけど。

Windowsの2Dで提供されているぐらいのハードウェアアクセラレー
ションならSDLの各環境でも可能なら利用するように実装されてま
すね。
0043名前は開発中のものです。01/12/24 13:54ID:L8voSXpA
>>38
Ruby は Cよりはよっぽどいいんですけども、ただ、
JavaやC++は型が間違っていると実行前に気づかせて
くれるので、ゲームのようにテストのしづらいものを
作る場合は型づけが強いほうが楽かなー。と思ったん
ですけども。
0044名前は開発中のものです。01/12/24 23:08ID:UrCj+faV
>>43
ということは、以下のスレと関連する話って事ですか。

型なし言語逝ってよし
http://pc.2ch.net/test/read.cgi/tech/986355498/

実際にRuby/SDLなりその他のバインディング(っていうんでしたっけ?)での
ゲームの実例があればもう少し話を広げられそうなんですが、
詳しく知らないです。
0045名前は開発中のものです。01/12/25 14:58ID:fIdcRD6/
> 実際にRuby/SDLなりその他のバインディング(っていうんでしたっけ?)での
> ゲームの実例があればもう少し話を広げられそうなんですが、

いろいろ考えてみたんですけど、まぁ、型づけが強くないとテスト
しづらいっていうのは、もともとテストしづらい設計で、こ
のまま作っていても、あんまりよくないっていうことを暗に
示しているのかなと思うようになりました。

型づけの強い言語でもそうだけど、型づけの弱い言語ならなおさら、
徹底した XP 張りのテストが必要になるなぁ、と。
0046名前は開発中のものです。01/12/27 05:06ID:zYDgayx3
だんだんスレ違いなレスになってしまって申し訳ありません。

>>45
XPといってもRubyUnitをほんの少し触ったことしかありませんが、
単に型に注目するだけでしたら、引数の型が正しいかどうかを
確認するテストを各メソッド毎に用意する、みたいな。
C等のプロトタイプ(宣言?)をテストで補う感じでしょうか。

それとは別にゲーム…特にリアルタイム系のゲームにに特化した
テストがあると良いのかもしれませんね。
例えば入力機器(マウスとかジョイスティックとか)が吐き出すデータを
仮想的に生成して、それをリアルタイムにテストしていく…
なんか自分で書いてて良くわかりませんが。
0047名前は開発中のものです。01/12/27 14:35ID:zrY5itRv
>>46

> 単に型に注目するだけでしたら、

つまりたとえば、シューティングゲーム作るときに、ステージの最期に
ボスシーンがあるわけですが、多分、多くのゲームプログラマは、
ステージの構成を Scene クラスとして、それを継承して BossScene クラス
みたいなものを作ると思うんですけども。

もし、間違えて Scene オブジェクトじゃなく int オブジェクトを
渡してしまっても、その間違いに気づくには、ボスシーンまで辿り
つかないといけないという、、、。ちょっと、これは、、、、うーん。

(まぁそれを未然に防ぐ手だてはいくつかあると思うんですけどもね。)

Ruby のような気軽に使われることを想定しているプログラミング言語
の場合は型なんて無いほうがメリットが多いので、それはそれでいいん
ですけども、ちょっと複雑なものになってしまったとき、Ruby じゃなく
C++ や Java の方がいいんじゃないかなと。
0048名前は開発中のものです。01/12/27 16:28ID:???
例外は method missing や type error で出ることが多いけど、
結局はロジックの間違いなんだよね、ほとんど。
Java の null pointer exception もしかり。
型があることで設計がしやすいケース以外では
型が無くて困ることはないなあ。特にユニットテストし始めてからは。

ただ、ゲームではまだ試してないからわからないけど。
0049名前は開発中のものです。01/12/28 01:43ID:???
つまり異なる型のオブジェクトを同一の変数にいれちゃうのが誤り。
そんなことしてないって言うんなら、バグの出る危険性は型なしでも強い型付けでも同じ。
まぁ、タイプミスやボケててで紛らわしい変数渡しちゃったりするのの防止には
なるかもね>強い型付け言語

経験的に>>47が言ってるようなバグで苦しんだことは無いぞ。
ゲームじゃない分野の話だけど。
0050名前は開発中のものです。01/12/28 03:26ID:???
>>47
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:???
>>44
流し読みしたけど。見るだけでもう疲れちゃった( ´∀`)
0053名前は開発中のものです。01/12/30 05:45ID:apMyMob6
SDL-1.2.3+cygwin で -mno-cygwin オプションをつけると
undefined reference エラーがたくさんでるのですが
cygwin で -mno-cygwin オプションって鬼門なんでしょうか?
00545301/12/31 03:52ID:???
解決しました。どうも。
0055名前は開発中のものです。01/12/31 06:52ID:???
原因はなんだったの?
0056名前は開発中のものです。02/01/02 01:49ID:VzsaD8C7
schemeをゲームのスクリプトにしたことあるけど、

ゲームは乱数・ユーザー入力などの不確定要素の影響が大きい

単体テスト・自動テストが難しく、レアケースも多い

型付けが弱いと凡ミスの発見が遅れる

っていうのはあったよ。

やっぱり型は合った方がいいけど、
まあ事前に相応の開発手法をちゃんと練っておけば
対処できない範囲内でもない、といったところかな。

生Cをつかうくらいなら圧倒的にRuby使った方がいいと思うけど。
C++と比べたらC++を採る。俺なら。
0057名前は開発中のものです。02/01/11 01:41ID:f0gNm/Wm
Cマガ2月号の特集SDLだってよ。

http://www.cmagazine.jp/contents/next.html
0058名前は開発中のものです。02/01/18 20:47ID:???
>> 57
まさか Sam へのインタビュー付きとは思わなかった。
0059名前は開発中のものです。02/01/23 03:38ID:???
Ruby/SDL の本が出るみたいね。時期はわからんけど。
0060名前は開発中のものです。02/01/23 14:53ID:???
>>59
256倍?
0061名前は開発中のものです。02/01/24 02:54ID:???
違うみたい。
0062名前は開発中のものです。02/01/24 15:24ID:???
>>59
絶対買う。
ソースきぼーん。
0063名前は開発中のものです。02/01/24 22:16ID:???
>>58
3月号はP/ECEの記事があるyo!
0064名前は開発中のものです。02/01/27 21:41ID:???
>>62
http://slashdot.jp/journal.pl?op=display&uid=4115&id=36514
0065名前は開発中のものです。02/01/28 04:13ID:???
>>64
サンクス。
0066名前は開発中のものです。02/01/28 12:59ID:z3on8a9k
SDLゲームコンテストの入賞作品ってどうよ?
0067名前は開発中のものです。02/01/28 16:53ID:???
日本からのもいくつかあるみたいね。
http://www.nostarch.com/game_contest_results.htm
0068名前は開発中のものです。02/02/01 02:53ID:???
>>66
上位ランクの方から順に試そうとしたんだが、正直、げんなりした。
センスの違いとゆーか。
0069名前は開発中のものです。02/02/01 10:36ID:???
SDL_IMEとか誰か作ってくれないかなぁ?
そのまえにSDLだと日本語表示が問題なんだっけ?
0070名前は開発中のものです。02/02/02 05:37ID:???
>SDL_IMEとか誰か作ってくれないかなぁ?
おめーが作れよ。
0071名前は開発中のものです。02/02/23 06:33ID:a2u9firL
SDLでイベント(キー入力)とシーンの描画を別のスレッドで処理すると
ウインドウが停止してしまいました。
N64やGameCubeみたいにイベントとビデオを別のスレッドで動かすことは
できないよう少しがっかりしています。WindowsではDirectInputで直に
取ってくるしかないのでしょうか。
0072名前は開発中のものです。02/02/23 15:21ID:???
>>071
SDL_SetEventFilter() 使ってメッセージをフックすれ。
フック後の処理を別スレッドしたいなら、フック関数内でスレッド生成すれ。
あとmutex忘れるなよ。
00737102/02/23 20:17ID:+rToCvhx
>>72
あ..なるほど...! この手法ならうまく書けそうですね。
72さんご助言大変参考になりました。ありがとうございます!
0074名前は開発中のものです。02/02/23 21:30ID:???
>>73
がんばれヨ。
あと質問する前にリファレンスをじっくり見ような。
英語が辛いならこーいのもあるぞ。(ちと古い&有名すぎるが。)
 http://www.wakhok.ac.jp/~momma/SDL/
00757102/02/26 07:13ID:nHGqkL6j
>>74
数日かかりましたが、別スレッドでうまく動かせるようになりました。(^^;)
74=72?さんのおかげです。ありがとうございました。
ようやくスタートラインでゴールは遠いですが…。
これからはリファレンスじっくり見るように心がけます。
007671=7502/02/26 11:35ID:O5eBq1eX
何度もすみません…。できた、と思ったのですが、チェックしてみると
SDL_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お節介な7202/02/27 00:33ID:???
本当はSDLプログラマーじゃないんだが…
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お節介な7202/02/27 00:35ID:???
本当はSDLプログラマーじゃないんだが…
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番目のボタンの状態を取出せる。
00797602/02/27 02:06ID:JQVw0zDd
すいません、何度も…。(^^;)
GetMouseState は使っているのですが PumpEvents(またはPollEvent)を
呼ばないと、更新されないようで…。

えっと…、やりたいことは以下の通りなのですが(↓任天堂方式)

イベントスレッド:イベントだけを処理
ビデオスレッド:必要なら描画
メインスレッド:イベント・描画に関係なく一定時間で起動(コマ落ち対策あり)

SDLの制限ではビデオとイベントは分離できない仕様になっていて
ビデオ処理→イベント処理を繰り返し一つのスレッドで行わないといけないようです。
状態を取得したくても PumpEvents() を置かないと読みとってくれないので(^^;)
非同期で割り込みでイベントを感知する手段がSDLになくて、イベントの入力が
画面の描画後でしか読みとってくれない(^^;)です。
ビデオの速いマシンでは問題ないのですが、遅いマシンでは入力まで遅くなって
しまいます。(^^;)
これって、イベントドリブン式の弱点…なんですよね…。
リアルタイムゲームをつくるとき、イベント直後に割り込みでフックしてくるか
そのまま入力を読み取るパターンがないと困ると思うんですが、PumpEvents()
(PollEvent) が前提になってるみたいで…。
0080名前は開発中のものです。02/03/09 01:07ID:cjQ6leFr
IBMあげ
www-6.ibm.com/jp/developerworks/linux/sdl/sdl.html
0081名前は開発中のものです。02/03/10 18:06ID:149HiR+p
http://www-6.ibm.com/jp/developerworks/linux/pirates.html

part 5 made aruyo.
0082名前は開発中のものです。02/03/18 08:47ID:???
重複age
0083名前は開発中のものです。02/03/18 08:48ID:5Rsci23c
age
0084taku02/03/18 13:52ID:???
ゲーム制作初心者が集まって、ゲーム制作をしたいと思ってます。
ゲーム作りに興味がある人は、メールをください♪
思っているだけで、まったくゲーム制作をしたことがない人でも結構です♪
とりあえず、私も少しは、やっていますが、初心者なので、みんなで勉強をしながらゲームを作っていきたいと思ってます♪
基本的に、web上でやる、フリーゲームで、ジャンルとしては、RPGを考えています。(いろいろなジャンルも作ろうと考えていますが・・・)
それでは、とりあえず、メールをください♪
0085名前は開発中のものです。02/03/19 14:38ID:???
Web上でやるゲ−ムなのにSDLつかうのか?
0086名前は開発中のものです。02/04/14 11:55ID:lp2DMwsU
age
0087名前は開発中のものです。02/04/14 11:56ID:lp2DMwsU
使ってる人いないのかー?
0088名前は開発中のものです。02/04/15 02:17ID:???
居るよ!!

安心したかい?
0089名前は開発中のものです。02/04/15 22:40ID:???
スマソ。漏れソースをGPLにしたくないからAllegroを研究中。
00908702/04/17 01:40ID:B2sY58og
>>88さんだけかよっ!

ちょっと覚えるために弄ってたら、
簡単にMODが再生出来てかなり感動したんだけど、
みんなは、これに魅力を感じないのかな?
0091名前は開発中のものです。02/04/17 09:04ID:JVlCUCtA
>>90
お気楽だよね、SDL。
英語読むのたるいから、LinuxJapanの連載で情報収集してるけど、
周辺ライブラリも含めると、ほんと、楽。
Win用のソースをちょこっといじってLinuxで動いたときは
正直感動した。

>>89
SDLはLGPLだから、自分のソースをGPLにする必要ねーだろ。
DLLつかうか、リンク前のオブジェクトを一緒に配ればOKだ。
0092MLをRomってる七資産02/04/17 11:09ID:???
>>90
ライセンスの問題が把握できず躊躇している人が多いと思われ。
漏れもその一人だが。

>>91
SDL-MLの有志の方々がdocのja化を進めてます。

最近、SDLでデモ作るコーダーも少なからずいますね。
それらのアーカイブには、ソースついてないから、ソースはつけなくて・・・いいのかな?
0093名前は開発中のものです。02/04/17 18:44ID:???
でもパフォーマンス的にまだAllegroのほうが優れてんだよな、周辺ライブラリも・・・。所詮WINAPIもどき。
0094名前は開発中のものです。02/04/17 19:30ID:???
Allegroは日本語リソースが少ないのがアレなのかも。
00958902/04/17 23:55ID:???
ちうかAllegroはフォントが独自形式なのが最大のネック。
RPG等の文字情報の多いゲームが作りづらいっつーか作れん。
AllegroでTTFを扱う為のライブラリがあったはずなんだが、
今は影も形も無い…
0096名前は開発中のものです。02/04/18 06:46ID:???
1.2.4 stable released
0097名前は開発中のものです。02/04/19 14:03ID:???
Allegroの作者はコンシューマ系の人のようですね。
(ライブラリの設計見ただけで分かるけど(ワラ)
その辺の好みで使い分けるのもいいかも風来のシレン。
0098名前は開発中のものです。02/04/24 06:39ID:es9pDMEY
SDL はシンプルなのがいい。
Allegro はゴテゴテしすぎ。
0099名前は開発中のものです。02/04/24 13:35ID:???
えー、俺はAllegroのほうがシンプルだと思うにょ。
0100名前は開発中のものです。02/04/24 21:51ID:???
SDL日本語リファレンスおつかれage
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:???
SDLのどこがシンプルなんだよ・・・(w
0102名前は開発中のものです。02/05/01 14:49ID:???
>>101
サウンドの再生。つーか、シンプルすぎてSDL_mixer使わんと、ちょっと...
0103名前は開発中のものです。02/05/02 03:43ID:sX.bsevc
Allegroはグラフィックの描画では
スプライン曲線、ポリゴン、スプライト、テキスト描画といったもの、
サウンドではネイティヴでのMIDI再生だとか、
場合によっては余分な機能が含まれている。

SDLではグラフィックの描画はFillとBlitのみ。
サウンドはPCMを垂れ流すだけ、みたいな。
これはシンプルだと思うけどなー。

ま、なんでも自分でやりたい俺みたいのは SDL が好きだ、
という話。

ライブラリ内部の話となると、SDL もシンプルじゃないけどね。
0104名前は開発中のものです。02/05/02 03:45ID:???
ま、結局SDL_mixerやSDL_imageは使ってるけどね。
こういうのが分離出来るようになっているほうが落ち着く。
0105名前は開発中のものです。02/05/02 09:20ID:???
>>101
DirectXと比較して(w
初代Direct3Dの初期化書いてみな。ゲイツ殺したくなるから。
0106名前は開発中のものです。02/05/02 11:30ID:???
>>105
書いたことあるけど、別に。
0107名前は開発中のものです。02/05/02 12:29ID:???
微妙にほほえましいやり取りしてるな、キミら。
0108名前は開発中のものです。02/05/02 18:18ID:???
>>106
俺は二度と書きたくない。
何をどう初期化したのか後から見ても理解できんし。
初期化ごときに時間かけるのもアホらしい。
0109名前は開発中のものです。02/05/02 18:47ID:???
まあ、いまさら文句言うなや。マイクロソフトがCOMに狂ってた頃の遺産だからしょうがない。
0110名前は開発中のものです。02/05/02 23:06ID:???
SDLの魅力って何ですか?
0111名前は開発中のものです。02/05/03 00:49ID:???
>>103
別にAllegroでもFillとBlitのみ利用して、
スプラインとかポリゴンは自分でってのは可能だと思うが。
ライブラリに余分なバイナリが含まれているからって、
実行形式ファイルも太るわけではないし。

むしろSDLのように複数のライブラリを組合わせて使うという方式は、
無駄(コードの重複)が生じやすい。
0112名前は開発中のものです。02/05/03 11:52ID:QXZFUo7o
気分の問題です。
0113名前は開発中のものです。02/05/03 18:22ID:P7bmG2Tg
SDL初心者です.

mingwを使っています.

実行ファイルが
SDL.dllを必要としないように
コンパイルすることは可能ですか?
0114名前は開発中のものです。02/05/04 01:19ID:???
ソースを公開せずにスタティックリンク?
それはライセンス違反ですにょ。>>113
SDLはLGPLなのでソースを公開する、しないにかかわらず
DLLリンクで十分なはずです。
0115名前は開発中のものです。02/05/04 02:46ID:IDR1uRSY
>>114
LGPLの勉強します
011611302/05/04 02:50ID:IDR1uRSY
あともうひとつ質問したいのです

mingwでリソースもコンパイルして
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/OJnJI
Windowsリソース用の SDL_RWops を書けは行けるんじゃない?
011911302/05/04 11:47ID:IDR1uRSY
>>116
まだソース書いてないです
疑問に思ったもんで。

初心者でよくわからないのですが
fopenの引数はファイル名
だったと

>>118
見てみます

「書けば行けるんじゃない」
ということは
こんな風に普通はしないのですか?

画像はexeに入れないのでしょうか?
0120名前は開発中のものです。02/05/04 12:39ID:???
>>113
fileポインタって何の事を言っているのかちゃんと書けや、このボケが。
012111302/05/04 12:52ID:IDR1uRSY
>>120
char* filename

初心者でごめんなさい
0122名前は開発中のものです。02/05/04 17:58ID:???
画像が少なければ、const char hoge[] = { 0x00, ... };みたいな感じで画像を埋め込んでもいいだろうけど
数やサイズが結構あるなら実行ファイルと他データをまとめた
データファイルに分けるほうがスマートだと思う。
SDLを使うとかに関わらず・・・。
012311302/05/04 18:18ID:???
>>122
レスありがとうございます
0124名前は開発中のものです。02/05/04 20:33ID:???
商用向けソフトならBMPやWAVデータとか解析されないように、
小細工しながら固めるけど趣味でSDL使うんなら、
外部から生のファイルを読むようにオープンに作ってほしいね。
0125名前は開発中のものです。02/05/04 20:52ID:???
ファイルを1つにパックする理由は解析防止が主な理由ではなく、無駄にディスク容量を消費しないようにする為の工夫ですよ。
0126名前は開発中のものです。02/05/04 21:06ID:???
ゲームでbmpとか
wavが見えたら
冷めるから
一個に固めたいです
0127名前は開発中のものです。02/05/04 22:50ID:???
>>126
俺は、wav見えても気にしないけど、そーゆー問題じゃないんだよね?

root権を使わせてもらってもいいなら、ext2フォーマットのファイル
システムイメージを配って、それをloopディバイスつかってmountして
読み込ませるってのも手だねぇ。もちろん、ローダの中で自動化して
しまえば、ユーザには(表立っては)見えない。
普通は、中身をtarファイルにしておいて、実行時に/tmpに展開ってのかな。
HDDの空き容量必要だけど。
0128名前は開発中のものです。02/05/04 23:12ID:???
>>127
なかなか難しいですね
レスありがとうございました
研究してみます
0129名前は開発中のものです。02/05/04 23:23ID:???
>>127
OSに依存しそうだな・・・せっかくのSDLやAllegroが・・・。
0130名前は開発中のものです。02/05/05 00:57ID:???
まあなんつーか
がんばれやとしかいえんな。萎え。
0131名前は開発中のものです。02/05/05 05:20ID:???
>>126
データが見えて萎える? つまんねー奴だな。
データを簡単に交換出来れば色々改造出来て楽しいだろーが。
0132名前は開発中のものです。02/05/05 06:49ID:???
実行ファイルをトップディレクトリにおいて、データは別のディレクトリに入れておけば、
生でも気が付かないものだ。
というか、実際気が付かないことが多かった。
0133名前は開発中のものです。02/05/06 03:48ID:1PpldsKY
bcc32でSDLを使おうと思ったのですが、
> bcc32 -tW -O2 -DWIN32 -c SDL_main.c
しようとすると Must use C++ for STDCOMP.H というエラーが出てしまい、
だったらと今度は -P をつけると今度は
$(bcc)\include\alloc.h 107: オーバーロード関数群の中の一つだけしか"C"にできない
などと怒られてしまいます。

どうしたらいいのでしょうか?
0134偽ASIMO02/05/06 08:00ID:???
mp3やmidiをmixer使って鳴らしたいが鳴らん。
どうしたら良いんだろう。
■ このスレッドは過去ログ倉庫に格納されています