はじめてのひき - SDLビデオドライバの書き方 Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
毎度忘れるので書いておいた、メモ程度のものです。
configure.in の、
CheckDummyVideo()
{
AC_ARG_ENABLE(video-dummy,
AC_HELP_STRING([--enable-video-dummy], [use dummy video driver [[default=yes]]]),
, enable_video_dummy=yes)
if test x$enable_video_dummy = xyes; then
AC_DEFINE(SDL_VIDEO_DRIVER_DUMMY)
SOURCES="$SOURCES $srcdir/src/video/dummy/*.c"
have_video=yes
fi
}
をコピーして dummy を自分のドライバ名に置換します。以下ではドライバ名を hoge と仮定します。
configure.in の下の方で、
dnl Set up the configuration based on the host platform!
case "$host" in
から始まる巨大な switch 文があるので、新しく作るドライバのターゲットとする環境を探して、 CheckDummyVideo の下に CheckHogeVideo を書きます。
次に src/video/SDL_sysvideo.h と src/video/SDL_video.c を編集します。 SDL_sysvideo.h の方は、
#if SDL_VIDEO_DRIVER_DUMMY
extern VideoBootStrap DUMMY_bootstrap;
#endif
などとなっている部分をコピペして、
#if SDL_VIDEO_DRIVER_HOGE
extern VideoBootStrap HOGE_bootstrap;
#endif
などを追加すれば良いです。同じように、 SDL_video.c は
#if SDL_VIDEO_DRIVER_DUMMY
&DUMMY_bootstrap,
#endif
をコピペして、
#if SDL_VIDEO_DRIVER_HOGE
&HOGE_bootstrap,
#endif
を追加すれば良いです。
次に src/video/dummy を src/video/hoge にコピーします。コピーしたファイルの中にある dummy や DUMMY は全て hoge や HOGE にそれぞれ置換します。ファイル名の SDL_null* もそれぞれ SDL_hoge* にリネームします。
これでたぶんコンパイルは通るので
% sh autogen.sh
% ./configure --enable-video-hoge
% make
% sudo make install
などとしてインストールします。インストールした後に
% SDL_VIDEODRIVER=hoge ./testsprite
などとして文句を言われずに起動すれば OK です。
あとは src/video/hoge/* を思いのままに実装しましょう。
configure.in の、
CheckDummyVideo()
{
AC_ARG_ENABLE(video-dummy,
AC_HELP_STRING([--enable-video-dummy], [use dummy video driver [[default=yes]]]),
, enable_video_dummy=yes)
if test x$enable_video_dummy = xyes; then
AC_DEFINE(SDL_VIDEO_DRIVER_DUMMY)
SOURCES="$SOURCES $srcdir/src/video/dummy/*.c"
have_video=yes
fi
}
をコピーして dummy を自分のドライバ名に置換します。以下ではドライバ名を hoge と仮定します。
configure.in の下の方で、
dnl Set up the configuration based on the host platform!
case "$host" in
から始まる巨大な switch 文があるので、新しく作るドライバのターゲットとする環境を探して、 CheckDummyVideo の下に CheckHogeVideo を書きます。
次に src/video/SDL_sysvideo.h と src/video/SDL_video.c を編集します。 SDL_sysvideo.h の方は、
#if SDL_VIDEO_DRIVER_DUMMY
extern VideoBootStrap DUMMY_bootstrap;
#endif
などとなっている部分をコピペして、
#if SDL_VIDEO_DRIVER_HOGE
extern VideoBootStrap HOGE_bootstrap;
#endif
などを追加すれば良いです。同じように、 SDL_video.c は
#if SDL_VIDEO_DRIVER_DUMMY
&DUMMY_bootstrap,
#endif
をコピペして、
#if SDL_VIDEO_DRIVER_HOGE
&HOGE_bootstrap,
#endif
を追加すれば良いです。
次に src/video/dummy を src/video/hoge にコピーします。コピーしたファイルの中にある dummy や DUMMY は全て hoge や HOGE にそれぞれ置換します。ファイル名の SDL_null* もそれぞれ SDL_hoge* にリネームします。
これでたぶんコンパイルは通るので
% sh autogen.sh
% ./configure --enable-video-hoge
% make
% sudo make install
などとしてインストールします。インストールした後に
% SDL_VIDEODRIVER=hoge ./testsprite
などとして文句を言われずに起動すれば OK です。
あとは src/video/hoge/* を思いのままに実装しましょう。