[過去ログ] SDLスレ (987レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
501
(2): 名前は開発中のものです。 [sage] 04/08/19 06:40 ID:O1yTQBZf(1) AAS
外部リンク[html]:www.wakhok.ac.jp
502
(2): 名前は開発中のものです。 [sage] 04/08/19 23:51 ID:6l6QpGXx(1) AAS
>>500
500(4): 名前は開発中のものです。 [] 04/08/19 06:31 ID:88YaKIPR(1) AAS
現在の画面解像度を取得する関数ありますか?
無いんじゃないかなぁ。
SDL_SetVideoMode()時に覚えておくぐらいしか。

あと、>>501のよりも>>421
421(1): 名前は開発中のものです。 [sage] 04/06/28 13:42 ID:7p8HGt/8(1) AAS
>>419
翻訳サイトは移転しただけ。
外部リンク:www.tacoworks.jp
のが良いかも。
503
(2): 500 [sage] 04/08/20 10:57 ID:csZBm7g+(1) AAS
無いようですね。
サイズ変更させたくなかったんですけど妥協しときます。
ありがとうございました。
504
(1): 名前は開発中のものです。 [sage] 04/08/20 12:05 ID:LiSmyfUa(1) AAS
外部リンク[html]:zinnia.dyndns.org
505
(2): 名前は開発中のものです。 [sage] 04/08/20 16:46 ID:esCldzWy(1) AAS
>>500-504
……なんか間違えてないか?
SDL_GetVideoSurface() だけで事足りると思うんだが。

SDL_Surface* screen = SDL_GetVideoSurface();
printf("width, height: %d, %d\n", screen->w, screen->h);

みたいな。おれがなんか間違えてんだろうか……。
506
(3): 名前は開発中のものです。 [sage] 04/08/20 22:03 ID:JqCl1DGv(1) AAS
画像の拡大とか縮小って出来ないの?
SDL_BlitSurfaceのSDL_Rect *dstrectってw,hが無視されてしまうし。
困った困った。
507: 498 [sage] 04/08/21 00:43 ID:ELGMlgii(1) AAS
自己解決
ソースとなるサーフィスのサイズはぴったりではいけないようだ。
余裕を持たせたら削れなくなった
508
(2): 名前は開発中のものです。 [sage] 04/08/21 01:17 ID:wDjE80nx(1) AAS
>>506
SGEを使う手がある(sge_transform)。
外部リンク[html]:www.etek.chalmers.se

正直、俺もネイティブSDLで使える方法があったら知りたいです
509
(2): 500 [sage] 04/08/21 01:20 ID:diBViIiV(1) AAS
サーフェイスじゃなくてディスプレイのサイズ知りたいんですよ。
winAPIのGetSystemMetrics(SM_CXSCREEN)みたいな。
510
(3): 名前は開発中のものです。 [sage] 04/08/21 10:32 ID:FvC1IsvO(1) AAS
>>506
SDL_SoftStretch は?あまし勧められた API でも無いみたいだけど。
>>509
SDL_ListModes は?一番大きいのを取れば多分良いかな…
511
(1): 名前は開発中のものです。 [] 04/08/21 22:11 ID:H0unQWjV(1/3) AAS
gl_kanjiを使おうとしているのですが
これはいったいどこの部分にSDLを使っているのでしょうか??
ソースを見た限りではウインドウ表示ぐらいしかしていないような…。
ご存知の方いませんか??
というか、SDLがどういうライブラリなのかいまいち分かっていないです…ごみんなさい。

因みにSDL関係の関数(?)をウマーくOpenGLの関数などに置き換えたら、
SDL抜きの日本語表示ができました…!?何故だ〜〜?
512
(1): 505 [sage] 04/08/21 22:19 ID:qlUWPwIq(1/2) AAS
>>509
ああ、そういうことか。すまん、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 を間違えてないか?
513
(1): 名前は開発中のものです。 [] 04/08/21 22:34 ID:H0unQWjV(2/3) AAS
511です。
>>512さん
間違えてないですよ。gl_kanjiも
#include <SDL.h>
#include <SDL_opengl.h>
ってなっています。
ウインドウ表示もSDL_SetVideoModeでやっていますし。
ひょっとしたらこれだけにSDLを用いているのかなーと思いまして。
514: 505 [sage] 04/08/21 23:18 ID:qlUWPwIq(2/2) AAS
>>513
いや、おれは 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
515
(1): 名前は開発中のものです。 [sage] 04/08/21 23:52 ID:H0unQWjV(3/3) AAS
>>2
2(1): 名無しさん@お腹いっぱい。 [] 01/11/11 18:15 ID:jfiPYGos(1) AAS
1.2.3 リリース!

SDL関係のニュースはSDL Watchで
外部リンク:www2.jan.ne.jp
ch じゃメール欄に sage って書く癖つけておいた方がいいぞ。
失礼しました…m(_ _)m

gl_kanji.ccのヘッダに
#include <SDL.h>
#include <SDL_opengl.h>
と記述してあるのはI-Saintさんのgl_kanjiです。
多分、オリジナルのとはちょっと違うのかもしれません。

...あ、しかもgl_kanji.ccのヘッダではなくtestgl_kanji.cppのヘッダ
でした…申し訳ないです、お騒がせいたしました…orz
もう二度とプログラミングには手をつけませんから許してください。
516: 名前は開発中のものです。 [sage] 04/08/22 00:00 ID:HGFZMTgG(1) AAS
>>515
冗談だと思うけど…
がんがれ!
んな事(゚ε゚)キニシナイ!!でプログラム書きまくれ!
517: 508 [sage] 04/08/22 00:02 ID:pseiC9zk(1) AAS
>>510
おお、そんな隠しAPIがあるとは知らなかったですよ。thanks
とりあえずソースからコピればGPLとしては使えるわけか。

ぐぐってみたら、メーリングリストに506氏と同じ疑問が書いてあって
面白かった。
外部リンク[html]:www.libsdl.org
518: 506 [sage] 04/08/22 01:04 ID:WvVrOjz5(1/2) AAS
>>508
サンクス。sge_transform_surfaceってやつですかね。

今のところ拡大・縮小だけ必要なのでsgl入れるのは気が進まないです。
自作した方が良いのかなあ…

>>510
SDL_SoftStretch、検索してみたけどうまく見つかりません。
もうちと捜索してみます。
519
(1): 名前は開発中のものです。 [sage] 04/08/22 23:02 ID:WvVrOjz5(2/2) AAS
fpsをカウント表示するようにしたんですが、
フルスクリーンではfpsがリフレッシュレートと同じになったんですが、ウィンドウモードではとんでもなく多くなります。

アニメーションはSDL_GetTicksの値を利用しているので、早くなったりすることは無いですが、CPU時間は猛烈に食っていますよね。
ウィンドウ時になにか対策したほうがいいですか?
520: 名前は開発中のものです。 [sage] 04/08/23 01:09 ID:JruymYaP(1) AAS
>>519
次のフレームまでの間に時間が余ってる間はSDL_Delay(0)でループさせるとか。
521
(2): 名前は開発中のものです。 [sage] 04/08/23 02:20 ID:4IY4L0bN(1) AAS
日本語の表示にSDL_kanji_f1bを使おうと思っているんだけど、
付属のサンプルがうまく動いてくれない・・・。

kanji_PutTextは問題なく動いてるっぽいのだが、
kanji_CreateSurfaceで作ったサーフェイスを
SDL_BlitSurfaceで転送しようするとアクセスバイオレーションとか言われてしまう。

環境は
Win2000
VC6.0
SDL-1.2.7(本家から落としてきたVC6用のバイナリ)
です。

何故わかる人アドバイスprz
522
(1): 名前は開発中のものです。 [sage] 04/08/23 23:37 ID:vOt8qlrp(1) AAS
>>521
全く同じ環境だったから SDL_kanji_f1b 落としてきて試してみたんだが、普通に動くな……。
デバッガで追っかけて、具体的に何がバイオレーションを起こしてるのか探ってみるといいかも。

screen は kanji_PutText とかでも使ってるし text は kanji_CreateSurface 内でエラーチェックがあるから、
少なくともポインタが NULL になることはなさそうなんだがなあ。
523
(3): 名前は開発中のものです。 [sage] 04/08/25 21:13 ID:EcBBkrxH(1) AAS
BCCでライブラリをmakeしようとしたのですが、
エラー 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です。
524: 521 [sage] 04/08/26 00:18 ID:bQrcHUhr(1) AAS
>>522
わざわざ試してくれてサンクス。
デバッガで追ってみたけどkanji_CreateSurfaceも成功してて、
SDL_BlitSurfaceの中まで行ったけどアセンブラばっかりで
よく分からなかったよ・・・。

日本語表示には別の方法考えるか・・・。

>>523
BCCは使ってないのでワカランのだが、
VC6用のバイナリ一式をimplibでBCC用に書き換える
っていうのじゃダメなん?
525
(2): 名前は開発中のものです。 [sage] 04/08/26 01:04 ID:c70JkN3E(1/3) AAS
>>523
適当に環境構築して試してみた。おれの環境は 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 を消す必要があると思うんだが、
なんでか残したままでも問題なかったな。

で実はこれをクリアしても他にも問題が出てきた。それも適当に対処できたから次に続く。
1-
あと 462 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.028s