diff options
author | Marcel Unbehaun <frostworks@gmx.de> | 2009-08-29 12:43:52 +0200 |
---|---|---|
committer | Marcel Unbehaun <frostworks@gmx.de> | 2009-08-29 12:43:52 +0200 |
commit | 21be9cec626ce338d41ca949bb4c07fc1aece1d4 (patch) | |
tree | a630f6684715dd20b21da7b8ef1677f51d7e77cc /games-action | |
parent | (games-arcade/atomorun2008) rm files/atomorun2008-1.0.diff (diff) | |
download | gamerlay-21be9cec626ce338d41ca949bb4c07fc1aece1d4.tar.gz gamerlay-21be9cec626ce338d41ca949bb4c07fc1aece1d4.tar.bz2 gamerlay-21be9cec626ce338d41ca949bb4c07fc1aece1d4.zip |
(games-action/area2048) new /Manifest
(games-action/area2048) updated /area2048-1.03.ebuild
(games-action/area2048) added /files/area2048-1.03-homedir.patch
(games-action/area2048) added /files/area2048-1.03-import.patch
(games-action/area2048) added /files/area2048-1.03-makefile.patch
(games-action/area2048) added /files/area2048-1.03-src.patch
(games-action/area2048) removed /files/area2048-1.03.diff
Diffstat (limited to 'games-action')
-rw-r--r-- | games-action/area2048/Manifest | 7 | ||||
-rw-r--r-- | games-action/area2048/area2048-1.03.ebuild | 15 | ||||
-rw-r--r-- | games-action/area2048/files/area2048-1.03-homedir.patch | 157 | ||||
-rw-r--r-- | games-action/area2048/files/area2048-1.03-import.patch | 1230 | ||||
-rw-r--r-- | games-action/area2048/files/area2048-1.03-makefile.patch | 22 | ||||
-rw-r--r-- | games-action/area2048/files/area2048-1.03-src.patch | 1217 | ||||
-rw-r--r-- | games-action/area2048/files/area2048-1.03.diff | 2469 |
7 files changed, 2636 insertions, 2481 deletions
diff --git a/games-action/area2048/Manifest b/games-action/area2048/Manifest index 7fe2a0e..69d2ff7 100644 --- a/games-action/area2048/Manifest +++ b/games-action/area2048/Manifest @@ -1,6 +1,9 @@ -AUX area2048-1.03.diff 74974 RMD160 3d0455d0e8116093f3e9df459b07bc529f26fcf8 SHA1 9a9e4d7ad1459d011933c28b7faf2fa2a08b2d5e SHA256 29c17c3fa78c7960364e3dae7245557b8089983ae3d8ea9d39be9de348830841 +AUX area2048-1.03-homedir.patch 3773 RMD160 607af02c9451d02ceab0601ef2df0b5efe357d5b SHA1 cc36c1c81337af96d9b844476e44e3dbb735620e SHA256 8000bc681390c5c0a0794743fd01ebed4e309c0bbb947f2e1148c7eeae57a789 +AUX area2048-1.03-import.patch 34036 RMD160 e665f10c7c97bd818a60602916c00c65fab48361 SHA1 901040f15fc6b4a50a6eb0a31a2925f1e7fddd5d SHA256 224d0f5b89016f1210bf3b401d8689e21977511afb073efdd844f4c264297a69 +AUX area2048-1.03-makefile.patch 657 RMD160 ae9771dfe591fd10d1409c2aaac408579dd53461 SHA1 1811bc53d072704feb69496200fb6a43b92b1806 SHA256 56026f4d6c66dc3f96338dcbc08af49434dc4f9f19e46795102ef499cc581aa4 +AUX area2048-1.03-src.patch 39099 RMD160 804e74de7e24e03c089640919dd54219c1369c43 SHA1 9d3cde2930b66bc475949831f4add3e3e6488587 SHA256 500e5c4e4e4a689c2c6116a38205b315f38a1e2813997c145e8bd3b4507963fb AUX area2048.png 2508 RMD160 ed2b930a82af71092c62512178c1a039eb8f8a3e SHA1 624afa5b4714f8df8dc463b349c316d8343beae3 SHA256 ea0d0b4be0892bc8a8fe02ae641e8aa1e6806c186eb59006a1d2cec6f1064ca8 DIST a2k.zip 5909080 RMD160 b41d3df704f0eea124b5e67cac7225d9db117b72 SHA1 e8fd183dd844b584a6c7cb8f87253e90e2547606 SHA256 c183d9b1c170249f9c0d176d527d84d4dc93b556ee59f1e0a3f3216fcb4e0426 DIST a2k_src.zip 176719 RMD160 1f68dd97b0cff8d7e7e29117fcbe29aaf2518fed SHA1 8cb42a9879f68d8197cc598434b03096561d824e SHA256 ac574736f0e62b684696c4120e363d22f9838c79bfa56a6ff6b87c1e79c9358b -EBUILD area2048-1.03.ebuild 2135 RMD160 377e62799e89f99e67a7c6be98fc2286e8c1f9ad SHA1 7927c66558b1b9d7ff6fc38368b717e6d51686b2 SHA256 cc166e918c05e00826b7833f47db170083d72372b6eb766cf679b7bc352c9a1c +EBUILD area2048-1.03.ebuild 1834 RMD160 2e0f0c5a781b2c5c46544fda66a73d7b80ad6901 SHA1 efb16006490b5be60a00639d442bb4598637fd3b SHA256 b6b90a6b45c668d889cd5c3e7611602a4dbd7d373389b54b89a008fdfa657675 MISC metadata.xml 249 RMD160 220cde0fc1a8d7d355705f0f6772bd8d77cdc17a SHA1 34b33eb8d24cd8bfef2ddfb8e80334fd77cc9488 SHA256 3875fd5008d7f5bfe7f3cf7bf330c209a5034f5988d37c1699fb3be35a7be906 diff --git a/games-action/area2048/area2048-1.03.ebuild b/games-action/area2048/area2048-1.03.ebuild index 4888239..93db906 100644 --- a/games-action/area2048/area2048-1.03.ebuild +++ b/games-action/area2048/area2048-1.03.ebuild @@ -22,7 +22,7 @@ IUSE="" RDEPEND="media-libs/libsdl media-libs/mesa media-libs/sdl-mixer - dev-libs/bulletss" + dev-libs/libbulletml" DEPEND="${RDEPEND}" S=${WORKDIR}/${MY_PN} @@ -36,7 +36,10 @@ src_unpack(){ } src_prepare(){ - epatch "${FILESDIR}"/${P}.diff + epatch "${FILESDIR}"/${P}-import.patch + epatch "${FILESDIR}"/${P}-src.patch + epatch "${FILESDIR}"/${P}-makefile.patch + epatch "${FILESDIR}"/${P}-homedir.patch sed -i \ -e 's:"\(icon.bmp[^"]*\)":"'${GAMES_DATADIR}'/'${PN}'/\1":g' -i a2k_src/src/util_pad.d \ -e 's:"\(title.bmp[^"]*\)":"'${GAMES_DATADIR}'/'${PN}'/\1":g' -i a2k_src/src/init.d \ @@ -45,8 +48,6 @@ src_prepare(){ -e 's:"\(se_[^"]*\)":"'${GAMES_DATADIR}'/'${PN}'/\1":g' -i a2k_src/src/init.d \ -e 's:"\(voice[^"]*\)":"'${GAMES_DATADIR}'/'${PN}'/\1":g' -i a2k_src/src/init.d \ -e 's:"\(bullet[^"]*\)":"'${GAMES_DATADIR}'/'${PN}'/\1":g' -i a2k_src/src/init.d \ - -e 's:"\(score.dat[^"]*\)":"'${GAMES_STATEDIR}'/'a2k'\1":g' -i a2k_src/src/init.d \ - -e 's:"\(config.dat[^"]*\)":"'${GAMES_STATEDIR}'/'a2k'\1":g' -i a2k_src/src/init.d \ || die "sed failed" } @@ -54,12 +55,6 @@ src_install() { dogamesbin ${PN} || die "dogamesbin failed" local datadir="${GAMES_DATADIR}"/${PN} - dodir "${GAMES_STATEDIR}" - touch ${D}/"${GAMES_STATEDIR}"/a2kscore.dat || die "touch failed" - fperms 660 "${GAMES_STATEDIR}"/a2kscore.dat - touch ${D}/"${GAMES_STATEDIR}"/a2kconfig.dat || die "touch failed" - fperms 660 "${GAMES_STATEDIR}"/a2kconfig.dat - dodir ${datadir} insinto "${GAMES_DATADIR}"/${PN} doins *.xml *.bmp *.ogg *.wav || die diff --git a/games-action/area2048/files/area2048-1.03-homedir.patch b/games-action/area2048/files/area2048-1.03-homedir.patch new file mode 100644 index 0000000..f18a52d --- /dev/null +++ b/games-action/area2048/files/area2048-1.03-homedir.patch @@ -0,0 +1,157 @@ +diff -Naur a2k-o/a2k_src/src/gctrl.d a2k/a2k_src/src/gctrl.d +--- a2k-o/a2k_src/src/gctrl.d 2005-01-18 02:03:08.000000000 +0100 ++++ a2k/a2k_src/src/gctrl.d 2009-08-29 12:21:15.000000000 +0200 +@@ -6,6 +6,12 @@ + 2004/04/08 jumpei isshiki
+ */
+
++private import SDL;
++private import std.stdio;
++private import std.math;
++private import std.file;
++private import std.path;
++private import std.string;
+ private import std.random;
+ private import util_snd;
+ private import util_pad;
+@@ -72,6 +78,30 @@ + private float rank_max;
+ private float rank_min;
+
++public static char[] pref_dir() {
++
++ char * home = getenv("HOME");
++
++ if (home is null)
++
++ throw new Error("HOME environment variable undefined");
++
++ char[] dir = std.string.toString(home) ~ "/.area2048";
++
++ try {
++
++ mkdir(dir);
++
++ } catch (FileException e) {
++
++ }
++
++ return dir;
++
++}
++
++
++
+ void TSKgctrl(int id)
+ {
+ switch(TskBuf[id].step){
+diff -Naur a2k-o/a2k_src/src/init.d a2k/a2k_src/src/init.d +--- a2k-o/a2k_src/src/init.d 2009-08-29 12:15:08.000000000 +0200 ++++ a2k/a2k_src/src/init.d 2009-08-29 12:08:58.000000000 +0200 +@@ -98,11 +98,11 @@ + auto File fd = new File;
+
+ try {
+- fd.open("score.dat");
++ fd.open(pref_dir() ~ "/" ~ "score.dat");
+ if(fd.size() != 12){
+ fd.close();
+ printf("score.dat initialized");
+- fd.create("score.dat");
++ fd.create(pref_dir() ~ "/" ~ "score.dat");
+ fd.write(high_easy);
+ fd.write(high_normal);
+ fd.write(high_hard);
+@@ -113,7 +113,7 @@ + }
+ } catch (Error e) {
+ printf("score.dat initialized");
+- fd.create("score.dat");
++ fd.create(pref_dir() ~ "/" ~ "score.dat");
+ fd.write(high_easy);
+ fd.write(high_normal);
+ fd.write(high_hard);
+@@ -122,12 +122,12 @@ + fd.close();
+ }
+
+- fd.open("config.dat");
++ fd.open(pref_dir() ~ "/" ~ "config.dat");
+ try {
+ if(fd.size() != 12){
+ fd.close();
+ printf("config.dat initialized");
+- fd.create("config.dat");
++ fd.create(pref_dir() ~ "/" ~ "config.dat");
+ fd.write(pad_type);
+ fd.write(vol_se);
+ fd.write(vol_music);
+@@ -140,7 +140,7 @@ + }
+ } catch (Error e) {
+ printf("config.dat initialized");
+- fd.create("config.dat");
++ fd.create(pref_dir() ~ "/" ~ "config.dat");
+ fd.write(pad_type);
+ fd.write(vol_se);
+ fd.write(vol_music);
+@@ -153,13 +153,13 @@ + void configSAVE()
+ {
+ auto File fd = new File;
+- fd.create("score.dat");
++ fd.create(pref_dir() ~ "/" ~ "score.dat");
+ fd.write(high_easy);
+ fd.write(high_normal);
+ fd.write(high_hard);
+ fd.close();
+
+- fd.create("config.dat");
++ fd.create(pref_dir() ~ "/" ~ "config.dat");
+ fd.write(pad_type);
+ fd.write(vol_se);
+ fd.write(vol_music);
+diff -Naur a2k-o/a2k_src/src/main.d a2k/a2k_src/src/main.d +--- a2k-o/a2k_src/src/main.d 2009-08-29 12:15:08.000000000 +0200 ++++ a2k/a2k_src/src/main.d 2009-08-29 12:39:56.000000000 +0200 +@@ -7,7 +7,7 @@ + */
+
+ //private import std.c.windows.windows;
+-private import SDL; ++private import SDL;
+ private import SDL_Keysym;
+ private import opengl;
+ private import util_sdl;
+@@ -36,8 +36,8 @@ + extern (Windows)
+ int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
+ {
+-*/ +-public int main(char[][] args) { ++*/
++public int main(char[][] args) {
+ int result;
+ /*
+ gc_init();
+@@ -45,10 +45,10 @@ +
+ try{
+ _moduleCtor();
+- _moduleUnitTests(); ++ _moduleUnitTests();
+ */
+ result = boot();
+-/* ++/*
+ }catch (Object o){
+ MessageBoxA(null, cast(char*)o.toString(), "Error", MB_OK | MB_ICONEXCLAMATION);
+ result = 0;
+@@ -103,6 +103,7 @@ + initTSK();
+ initASCII();
+ bulletINIT();
++ configSAVE();
+ configINIT();
+
+ game_exec = 1;
diff --git a/games-action/area2048/files/area2048-1.03-import.patch b/games-action/area2048/files/area2048-1.03-import.patch new file mode 100644 index 0000000..0ee90c2 --- /dev/null +++ b/games-action/area2048/files/area2048-1.03-import.patch @@ -0,0 +1,1230 @@ +diff -Naur a2k_src/import/opengl.d a2k_src-p/import/opengl.d +--- a2k_src/import/opengl.d 2008-02-12 22:20:18.000000000 +0100 ++++ a2k_src-p/import/opengl.d 2009-08-27 15:18:28.000000000 +0200 +@@ -1,16 +1,6 @@ +-version (Win32) {
+- import std.c.windows.windows;
+-}
+-extern(System):
+-
+-/* Please use this code with old D compiler.
+-version (Win32) {
+- extern(Windows):
+-}
+-else {
++
+ extern(C):
+-}
+-*/
++
+
+ alias uint GLenum;
+ alias ubyte GLboolean;
+@@ -1122,7 +1112,7 @@ + /*************************************************************/
+
+ void /*APIENTRY*/glAccum (GLenum op, GLfloat value);
+-void /*APIENTRY*/glAlphaFunc (GLenum func, GLclampf cref);
++void /*APIENTRY*/glAlphaFunc (GLenum func, GLclampf);
+ GLboolean /*APIENTRY*/glAreTexturesResident (GLsizei n, GLuint *textures, GLboolean *residences);
+ void /*APIENTRY*/glArrayElement (GLint i);
+ void /*APIENTRY*/glBegin (GLenum mode);
+@@ -1375,7 +1365,7 @@ + void /*APIENTRY*/glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
+ void /*APIENTRY*/glSelectBuffer (GLsizei size, GLuint *buffer);
+ void /*APIENTRY*/glShadeModel (GLenum mode);
+-void /*APIENTRY*/glStencilFunc (GLenum func, GLint cref, GLuint mask);
++void /*APIENTRY*/glStencilFunc (GLenum func, GLint, GLuint mask);
+ void /*APIENTRY*/glStencilMask (GLuint mask);
+ void /*APIENTRY*/glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
+ void /*APIENTRY*/glTexCoord1d (GLdouble s);
+diff -Naur a2k_src/import/openglu.d a2k_src-p/import/openglu.d +--- a2k_src/import/openglu.d 2008-02-12 22:20:14.000000000 +0100 ++++ a2k_src-p/import/openglu.d 2009-08-27 15:18:28.000000000 +0200 +@@ -1,15 +1,6 @@ +-import opengl;
+
+-extern(System):
+-
+-/* Please use this code with old D compiler.
+-version (Win32) {
+- extern(Windows):
+-}
+-else {
+ extern(C):
+-}
+-*/
++
+
+ GLubyte* gluErrorString (
+ GLenum errCode);
+diff -Naur a2k_src/import/SDL_active.d a2k_src-p/import/SDL_active.d +--- a2k_src/import/SDL_active.d 2006-07-26 23:24:30.000000000 +0200 ++++ a2k_src-p/import/SDL_active.d 2009-08-27 15:18:28.000000000 +0200 +@@ -22,7 +22,7 @@ + + /* Include file for SDL application focus event handling */ + +-public import SDL_types; ++import SDL_types; + + extern(C): + +diff -Naur a2k_src/import/SDL_audio.d a2k_src-p/import/SDL_audio.d +--- a2k_src/import/SDL_audio.d 2006-07-26 23:24:40.000000000 +0200 ++++ a2k_src-p/import/SDL_audio.d 2009-08-27 15:18:28.000000000 +0200 +@@ -20,10 +20,10 @@ + slouken@devolution.com + */ + +-public import SDL_types; +-public import SDL_error; +-public import SDL_rwops; +-public import SDL_byteorder; ++import SDL_types; ++import SDL_error; ++import SDL_rwops; ++import SDL_byteorder; + + extern(C): + +diff -Naur a2k_src/import/SDL_cdrom.d a2k_src-p/import/SDL_cdrom.d +--- a2k_src/import/SDL_cdrom.d 2006-07-26 23:24:42.000000000 +0200 ++++ a2k_src-p/import/SDL_cdrom.d 2009-08-27 15:18:28.000000000 +0200 +@@ -22,7 +22,7 @@ + + /* This is the CD-audio control API for Simple DirectMedia Layer */ + +-public import SDL_types; ++import SDL_types; + + extern(C): + +diff -Naur a2k_src/import/SDL.d a2k_src-p/import/SDL.d +--- a2k_src/import/SDL.d 2006-07-26 23:24:12.000000000 +0200 ++++ a2k_src-p/import/SDL.d 2009-08-27 15:18:28.000000000 +0200 +@@ -33,60 +33,60 @@ + public import SDL_byteorder; + public import SDL_Version; + +-extern(C): +- +-/* As of version 0.5, SDL is loaded dynamically into the application */ +- +-/* These are the flags which may be passed to SDL_Init() -- you should +- specify the subsystems which you will be using in your application. +-*/ +-const uint SDL_INIT_TIMER = 0x00000001; +-const uint SDL_INIT_AUDIO = 0x00000010; +-const uint SDL_INIT_VIDEO = 0x00000020; +-const uint SDL_INIT_CDROM = 0x00000100; +-const uint SDL_INIT_JOYSTICK = 0x00000200; +-const uint SDL_INIT_NOPARACHUTE = 0x00100000; /* Don't catch fatal signals */ +-const uint SDL_INIT_EVENTTHREAD = 0x01000000; /* Not supported on all OS's */ +-const uint SDL_INIT_EVERYTHING = 0x0000FFFF; +- +-/* This function loads the SDL dynamically linked library and initializes +- * the subsystems specified by 'flags' (and those satisfying dependencies) +- * Unless the SDL_INIT_NOPARACHUTE flag is set, it will install cleanup +- * signal handlers for some commonly ignored fatal signals (like SIGSEGV) +- */ +-int SDL_Init(Uint32 flags); +- +-/* This function initializes specific SDL subsystems */ +-int SDL_InitSubSystem(Uint32 flags); +- +-/* This function cleans up specific SDL subsystems */ +-void SDL_QuitSubSystem(Uint32 flags); +- +-/* This function returns mask of the specified subsystems which have +- been initialized. +- If 'flags' is 0, it returns a mask of all initialized subsystems. +-*/ +-Uint32 SDL_WasInit(Uint32 flags); +- +-/* This function cleans up all initialized subsystems and unloads the +- * dynamically linked library. You should call it upon all exit conditions. +- */ +-void SDL_Quit(); +- +-void SDL_SetModuleHandle(void *hInst); +-//extern(Windows) void* GetModuleHandle(char*); +-extern(Windows) void* GetModuleHandleA(char*); +- +-static this() +-{ +- /* Load SDL dynamic link library */ +- if (SDL_Init(SDL_INIT_NOPARACHUTE) < 0) +- throw new Error("Error loading SDL"); +-// SDL_SetModuleHandle(GetModuleHandle(null)); +- SDL_SetModuleHandle(GetModuleHandleA(null)); +-} +- +-static ~this() +-{ +- SDL_Quit(); +-} ++extern(C):
++
++/* As of version 0.5, SDL is loaded dynamically into the application */
++
++/* These are the flags which may be passed to SDL_Init() -- you should
++ specify the subsystems which you will be using in your application.
++*/
++const uint SDL_INIT_TIMER = 0x00000001;
++const uint SDL_INIT_AUDIO = 0x00000010;
++const uint SDL_INIT_VIDEO = 0x00000020;
++const uint SDL_INIT_CDROM = 0x00000100;
++const uint SDL_INIT_JOYSTICK = 0x00000200;
++const uint SDL_INIT_NOPARACHUTE = 0x00100000; /* Don't catch fatal signals */
++const uint SDL_INIT_EVENTTHREAD = 0x01000000; /* Not supported on all OS's */
++const uint SDL_INIT_EVERYTHING = 0x0000FFFF;
++
++/* This function loads the SDL dynamically linked library and initializes
++ * the subsystems specified by 'flags' (and those satisfying dependencies)
++ * Unless the SDL_INIT_NOPARACHUTE flag is set, it will install cleanup
++ * signal handlers for some commonly ignored fatal signals (like SIGSEGV)
++ */
++int SDL_Init(Uint32 flags);
++
++/* This function initializes specific SDL subsystems */
++int SDL_InitSubSystem(Uint32 flags);
++
++/* This function cleans up specific SDL subsystems */
++void SDL_QuitSubSystem(Uint32 flags);
++
++/* This function returns mask of the specified subsystems which have
++ been initialized.
++ If 'flags' is 0, it returns a mask of all initialized subsystems.
++*/
++Uint32 SDL_WasInit(Uint32 flags);
++
++/* This function cleans up all initialized subsystems and unloads the
++ * dynamically linked library. You should call it upon all exit conditions.
++ */
++void SDL_Quit();
++
++/+
++void SDL_SetModuleHandle(void *hInst);
++extern(Windows) void* GetModuleHandle(char*);
++
++static this()
++{
++ /* Load SDL dynamic link library */
++ if (SDL_Init(SDL_INIT_NOPARACHUTE) < 0)
++ throw new Error("Error loading SDL");
++ SDL_SetModuleHandle(GetModuleHandle(null));
++}
++
++static ~this()
++{
++ SDL_Quit();
++}
+++/ +diff -Naur a2k_src/import/SDL_endian.d a2k_src-p/import/SDL_endian.d +--- a2k_src/import/SDL_endian.d 2006-09-14 01:57:50.000000000 +0200 ++++ a2k_src-p/import/SDL_endian.d 2009-08-27 15:18:28.000000000 +0200 +@@ -34,9 +34,9 @@ + and other data sources. + */ + +-public import SDL_types; +-public import SDL_rwops; +-public import SDL_byteorder; ++import SDL_types; ++import SDL_rwops; ++import SDL_byteorder; + + extern(C): + +@@ -47,7 +47,7 @@ + */ + + Uint16 SDL_Swap16(Uint16 D) { +- return cast(Uint16)((D<<8)|(D>>8)); ++ return((D<<8)|(D>>8)); + } + + Uint32 SDL_Swap32(Uint32 D) { +diff -Naur a2k_src/import/SDL_events.d a2k_src-p/import/SDL_events.d +--- a2k_src/import/SDL_events.d 2006-07-26 23:25:46.000000000 +0200 ++++ a2k_src-p/import/SDL_events.d 2009-08-27 15:18:28.000000000 +0200 +@@ -22,12 +22,12 @@ + + /* Include file for SDL event handling */ + +-public import SDL_types; +-public import SDL_active; +-public import SDL_keyboard; +-public import SDL_mouse; +-public import SDL_joystick; +-public import SDL_syswm; ++import SDL_types; ++import SDL_active; ++import SDL_keyboard; ++import SDL_mouse; ++import SDL_joystick; ++import SDL_syswm; + + extern(C): + +@@ -304,7 +304,7 @@ + If 'state' is set to SDL_QUERY, SDL_EventState() will return the + current processing state of the specified event. + */ +-const int SDL_QUERY = -1; ++const uint SDL_QUERY = -1; + const uint SDL_IGNORE = 0; + const uint SDL_DISABLE = 0; + const uint SDL_ENABLE = 1; +diff -Naur a2k_src/import/SDL_image.d a2k_src-p/import/SDL_image.d +--- a2k_src/import/SDL_image.d 2006-07-26 23:24:58.000000000 +0200 ++++ a2k_src-p/import/SDL_image.d 2009-08-27 15:18:28.000000000 +0200 +@@ -26,7 +26,7 @@ + + /* A simple library to load images of various formats as SDL surfaces */ + +-public import SDL; ++import SDL; + + extern (C) { + +diff -Naur a2k_src/import/SDL_joystick.d a2k_src-p/import/SDL_joystick.d +--- a2k_src/import/SDL_joystick.d 2006-07-26 23:25:10.000000000 +0200 ++++ a2k_src-p/import/SDL_joystick.d 2009-08-27 15:18:28.000000000 +0200 +@@ -22,7 +22,7 @@ + + /* Include file for SDL joystick event handling */ + +-public import SDL_types; ++import SDL_types; + + extern(C): + +diff -Naur a2k_src/import/SDL_keyboard.d a2k_src-p/import/SDL_keyboard.d +--- a2k_src/import/SDL_keyboard.d 2006-07-26 23:25:14.000000000 +0200 ++++ a2k_src-p/import/SDL_keyboard.d 2009-08-27 15:18:28.000000000 +0200 +@@ -22,11 +22,11 @@ + + /* Include file for SDL keyboard event handling */ + +-public import SDL_types; ++import SDL_types; + // !!! A hack! struct SDL_keysym is defined in this module, + // !!! so we need to resolve the nameclash... + // !!! Definitely won't work on *NIX but for now will do. +-public import SDL_Keysym; ++import SDL_Keysym; + + extern(C): + +diff -Naur a2k_src/import/SDL_keysym.d a2k_src-p/import/SDL_keysym.d +--- a2k_src/import/SDL_keysym.d 2002-01-04 23:31:22.000000000 +0100 ++++ a2k_src-p/import/SDL_keysym.d 1970-01-01 01:00:00.000000000 +0100 +@@ -1,308 +0,0 @@ +-/* +- SDL - Simple DirectMedia Layer +- Copyright (C) 1997, 1998, 1999, 2000, 2001 Sam Lantinga +- +- This library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Library General Public +- License as published by the Free Software Foundation; either +- version 2 of the License, or (at your option) any later version. +- +- This library is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this library; if not, write to the Free +- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +- +- Sam Lantinga +- slouken@devolution.com +-*/ +- +-/* What we really want is a mapping of every raw key on the keyboard. +- To support international keyboards, we use the range 0xA1 - 0xFF +- as international virtual keycodes. We'll follow in the footsteps of X11... +- The names of the keys +- */ +- +-alias int SDLKey; +-enum { +- /* The keyboard syms have been cleverly chosen to map to ASCII */ +- SDLK_UNKNOWN = 0, +- SDLK_FIRST = 0, +- SDLK_BACKSPACE = 8, +- SDLK_TAB = 9, +- SDLK_CLEAR = 12, +- SDLK_RETURN = 13, +- SDLK_PAUSE = 19, +- SDLK_ESCAPE = 27, +- SDLK_SPACE = 32, +- SDLK_EXCLAIM = 33, +- SDLK_QUOTEDBL = 34, +- SDLK_HASH = 35, +- SDLK_DOLLAR = 36, +- SDLK_AMPERSAND = 38, +- SDLK_QUOTE = 39, +- SDLK_LEFTPAREN = 40, +- SDLK_RIGHTPAREN = 41, +- SDLK_ASTERISK = 42, +- SDLK_PLUS = 43, +- SDLK_COMMA = 44, +- SDLK_MINUS = 45, +- SDLK_PERIOD = 46, +- SDLK_SLASH = 47, +- SDLK_0 = 48, +- SDLK_1 = 49, +- SDLK_2 = 50, +- SDLK_3 = 51, +- SDLK_4 = 52, +- SDLK_5 = 53, +- SDLK_6 = 54, +- SDLK_7 = 55, +- SDLK_8 = 56, +- SDLK_9 = 57, +- SDLK_COLON = 58, +- SDLK_SEMICOLON = 59, +- SDLK_LESS = 60, +- SDLK_EQUALS = 61, +- SDLK_GREATER = 62, +- SDLK_QUESTION = 63, +- SDLK_AT = 64, +- /* +- Skip uppercase letters +- */ +- SDLK_LEFTBRACKET = 91, +- SDLK_BACKSLASH = 92, +- SDLK_RIGHTBRACKET = 93, +- SDLK_CARET = 94, +- SDLK_UNDERSCORE = 95, +- SDLK_BACKQUOTE = 96, +- SDLK_a = 97, +- SDLK_b = 98, +- SDLK_c = 99, +- SDLK_d = 100, +- SDLK_e = 101, +- SDLK_f = 102, +- SDLK_g = 103, +- SDLK_h = 104, +- SDLK_i = 105, +- SDLK_j = 106, +- SDLK_k = 107, +- SDLK_l = 108, +- SDLK_m = 109, +- SDLK_n = 110, +- SDLK_o = 111, +- SDLK_p = 112, +- SDLK_q = 113, +- SDLK_r = 114, +- SDLK_s = 115, +- SDLK_t = 116, +- SDLK_u = 117, +- SDLK_v = 118, +- SDLK_w = 119, +- SDLK_x = 120, +- SDLK_y = 121, +- SDLK_z = 122, +- SDLK_DELETE = 127, +- /* End of ASCII mapped keysyms */ +- +- /* International keyboard syms */ +- SDLK_WORLD_0 = 160, /* 0xA0 */ +- SDLK_WORLD_1 = 161, +- SDLK_WORLD_2 = 162, +- SDLK_WORLD_3 = 163, +- SDLK_WORLD_4 = 164, +- SDLK_WORLD_5 = 165, +- SDLK_WORLD_6 = 166, +- SDLK_WORLD_7 = 167, +- SDLK_WORLD_8 = 168, +- SDLK_WORLD_9 = 169, +- SDLK_WORLD_10 = 170, +- SDLK_WORLD_11 = 171, +- SDLK_WORLD_12 = 172, +- SDLK_WORLD_13 = 173, +- SDLK_WORLD_14 = 174, +- SDLK_WORLD_15 = 175, +- SDLK_WORLD_16 = 176, +- SDLK_WORLD_17 = 177, +- SDLK_WORLD_18 = 178, +- SDLK_WORLD_19 = 179, +- SDLK_WORLD_20 = 180, +- SDLK_WORLD_21 = 181, +- SDLK_WORLD_22 = 182, +- SDLK_WORLD_23 = 183, +- SDLK_WORLD_24 = 184, +- SDLK_WORLD_25 = 185, +- SDLK_WORLD_26 = 186, +- SDLK_WORLD_27 = 187, +- SDLK_WORLD_28 = 188, +- SDLK_WORLD_29 = 189, +- SDLK_WORLD_30 = 190, +- SDLK_WORLD_31 = 191, +- SDLK_WORLD_32 = 192, +- SDLK_WORLD_33 = 193, +- SDLK_WORLD_34 = 194, +- SDLK_WORLD_35 = 195, +- SDLK_WORLD_36 = 196, +- SDLK_WORLD_37 = 197, +- SDLK_WORLD_38 = 198, +- SDLK_WORLD_39 = 199, +- SDLK_WORLD_40 = 200, +- SDLK_WORLD_41 = 201, +- SDLK_WORLD_42 = 202, +- SDLK_WORLD_43 = 203, +- SDLK_WORLD_44 = 204, +- SDLK_WORLD_45 = 205, +- SDLK_WORLD_46 = 206, +- SDLK_WORLD_47 = 207, +- SDLK_WORLD_48 = 208, +- SDLK_WORLD_49 = 209, +- SDLK_WORLD_50 = 210, +- SDLK_WORLD_51 = 211, +- SDLK_WORLD_52 = 212, +- SDLK_WORLD_53 = 213, +- SDLK_WORLD_54 = 214, +- SDLK_WORLD_55 = 215, +- SDLK_WORLD_56 = 216, +- SDLK_WORLD_57 = 217, +- SDLK_WORLD_58 = 218, +- SDLK_WORLD_59 = 219, +- SDLK_WORLD_60 = 220, +- SDLK_WORLD_61 = 221, +- SDLK_WORLD_62 = 222, +- SDLK_WORLD_63 = 223, +- SDLK_WORLD_64 = 224, +- SDLK_WORLD_65 = 225, +- SDLK_WORLD_66 = 226, +- SDLK_WORLD_67 = 227, +- SDLK_WORLD_68 = 228, +- SDLK_WORLD_69 = 229, +- SDLK_WORLD_70 = 230, +- SDLK_WORLD_71 = 231, +- SDLK_WORLD_72 = 232, +- SDLK_WORLD_73 = 233, +- SDLK_WORLD_74 = 234, +- SDLK_WORLD_75 = 235, +- SDLK_WORLD_76 = 236, +- SDLK_WORLD_77 = 237, +- SDLK_WORLD_78 = 238, +- SDLK_WORLD_79 = 239, +- SDLK_WORLD_80 = 240, +- SDLK_WORLD_81 = 241, +- SDLK_WORLD_82 = 242, +- SDLK_WORLD_83 = 243, +- SDLK_WORLD_84 = 244, +- SDLK_WORLD_85 = 245, +- SDLK_WORLD_86 = 246, +- SDLK_WORLD_87 = 247, +- SDLK_WORLD_88 = 248, +- SDLK_WORLD_89 = 249, +- SDLK_WORLD_90 = 250, +- SDLK_WORLD_91 = 251, +- SDLK_WORLD_92 = 252, +- SDLK_WORLD_93 = 253, +- SDLK_WORLD_94 = 254, +- SDLK_WORLD_95 = 255, /* 0xFF */ +- +- /* Numeric keypad */ +- SDLK_KP0 = 256, +- SDLK_KP1 = 257, +- SDLK_KP2 = 258, +- SDLK_KP3 = 259, +- SDLK_KP4 = 260, +- SDLK_KP5 = 261, +- SDLK_KP6 = 262, +- SDLK_KP7 = 263, +- SDLK_KP8 = 264, +- SDLK_KP9 = 265, +- SDLK_KP_PERIOD = 266, +- SDLK_KP_DIVIDE = 267, +- SDLK_KP_MULTIPLY = 268, +- SDLK_KP_MINUS = 269, +- SDLK_KP_PLUS = 270, +- SDLK_KP_ENTER = 271, +- SDLK_KP_EQUALS = 272, +- +- /* Arrows + Home/End pad */ +- SDLK_UP = 273, +- SDLK_DOWN = 274, +- SDLK_RIGHT = 275, +- SDLK_LEFT = 276, +- SDLK_INSERT = 277, +- SDLK_HOME = 278, +- SDLK_END = 279, +- SDLK_PAGEUP = 280, +- SDLK_PAGEDOWN = 281, +- +- /* Function keys */ +- SDLK_F1 = 282, +- SDLK_F2 = 283, +- SDLK_F3 = 284, +- SDLK_F4 = 285, +- SDLK_F5 = 286, +- SDLK_F6 = 287, +- SDLK_F7 = 288, +- SDLK_F8 = 289, +- SDLK_F9 = 290, +- SDLK_F10 = 291, +- SDLK_F11 = 292, +- SDLK_F12 = 293, +- SDLK_F13 = 294, +- SDLK_F14 = 295, +- SDLK_F15 = 296, +- +- /* Key state modifier keys */ +- SDLK_NUMLOCK = 300, +- SDLK_CAPSLOCK = 301, +- SDLK_SCROLLOCK = 302, +- SDLK_RSHIFT = 303, +- SDLK_LSHIFT = 304, +- SDLK_RCTRL = 305, +- SDLK_LCTRL = 306, +- SDLK_RALT = 307, +- SDLK_LALT = 308, +- SDLK_RMETA = 309, +- SDLK_LMETA = 310, +- SDLK_LSUPER = 311, /* Left "Windows" key */ +- SDLK_RSUPER = 312, /* Right "Windows" key */ +- SDLK_MODE = 313, /* "Alt Gr" key */ +- SDLK_COMPOSE = 314, /* Multi-key compose key */ +- +- /* Miscellaneous function keys */ +- SDLK_HELP = 315, +- SDLK_PRINT = 316, +- SDLK_SYSREQ = 317, +- SDLK_BREAK = 318, +- SDLK_MENU = 319, +- SDLK_POWER = 320, /* Power Macintosh power key */ +- SDLK_EURO = 321, /* Some european keyboards */ +- SDLK_UNDO = 322, /* Atari keyboard has Undo */ +- +- /* Add any other keys here */ +- +- SDLK_LAST +-} +- +-/* Enumeration of valid key mods (possibly OR'd together) */ +-alias int SDLMod; +-enum { +- KMOD_NONE = 0x0000, +- KMOD_LSHIFT= 0x0001, +- KMOD_RSHIFT= 0x0002, +- KMOD_LCTRL = 0x0040, +- KMOD_RCTRL = 0x0080, +- KMOD_LALT = 0x0100, +- KMOD_RALT = 0x0200, +- KMOD_LMETA = 0x0400, +- KMOD_RMETA = 0x0800, +- KMOD_NUM = 0x1000, +- KMOD_CAPS = 0x2000, +- KMOD_MODE = 0x4000, +- KMOD_RESERVED = 0x8000 +-} +- +-const uint KMOD_CTRL = (KMOD_LCTRL|KMOD_RCTRL); +-const uint KMOD_SHIFT = (KMOD_LSHIFT|KMOD_RSHIFT); +-const uint KMOD_ALT = (KMOD_LALT|KMOD_RALT); +-const uint KMOD_META = (KMOD_LMETA|KMOD_RMETA); +diff -Naur a2k_src/import/SDL_Keysym.d a2k_src-p/import/SDL_Keysym.d +--- a2k_src/import/SDL_Keysym.d 1970-01-01 01:00:00.000000000 +0100 ++++ a2k_src-p/import/SDL_Keysym.d 2009-08-27 15:18:28.000000000 +0200 +@@ -0,0 +1,308 @@ ++/* ++ SDL - Simple DirectMedia Layer ++ Copyright (C) 1997, 1998, 1999, 2000, 2001 Sam Lantinga ++ ++ This library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Library General Public ++ License as published by the Free Software Foundation; either ++ version 2 of the License, or (at your option) any later version. ++ ++ This library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with this library; if not, write to the Free ++ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ ++ Sam Lantinga ++ slouken@devolution.com ++*/ ++ ++/* What we really want is a mapping of every raw key on the keyboard. ++ To support international keyboards, we use the range 0xA1 - 0xFF ++ as international virtual keycodes. We'll follow in the footsteps of X11... ++ The names of the keys ++ */ ++ ++alias int SDLKey; ++enum { ++ /* The keyboard syms have been cleverly chosen to map to ASCII */ ++ SDLK_UNKNOWN = 0, ++ SDLK_FIRST = 0, ++ SDLK_BACKSPACE = 8, ++ SDLK_TAB = 9, ++ SDLK_CLEAR = 12, ++ SDLK_RETURN = 13, ++ SDLK_PAUSE = 19, ++ SDLK_ESCAPE = 27, ++ SDLK_SPACE = 32, ++ SDLK_EXCLAIM = 33, ++ SDLK_QUOTEDBL = 34, ++ SDLK_HASH = 35, ++ SDLK_DOLLAR = 36, ++ SDLK_AMPERSAND = 38, ++ SDLK_QUOTE = 39, ++ SDLK_LEFTPAREN = 40, ++ SDLK_RIGHTPAREN = 41, ++ SDLK_ASTERISK = 42, ++ SDLK_PLUS = 43, ++ SDLK_COMMA = 44, ++ SDLK_MINUS = 45, ++ SDLK_PERIOD = 46, ++ SDLK_SLASH = 47, ++ SDLK_0 = 48, ++ SDLK_1 = 49, ++ SDLK_2 = 50, ++ SDLK_3 = 51, ++ SDLK_4 = 52, ++ SDLK_5 = 53, ++ SDLK_6 = 54, ++ SDLK_7 = 55, ++ SDLK_8 = 56, ++ SDLK_9 = 57, ++ SDLK_COLON = 58, ++ SDLK_SEMICOLON = 59, ++ SDLK_LESS = 60, ++ SDLK_EQUALS = 61, ++ SDLK_GREATER = 62, ++ SDLK_QUESTION = 63, ++ SDLK_AT = 64, ++ /* ++ Skip uppercase letters ++ */ ++ SDLK_LEFTBRACKET = 91, ++ SDLK_BACKSLASH = 92, ++ SDLK_RIGHTBRACKET = 93, ++ SDLK_CARET = 94, ++ SDLK_UNDERSCORE = 95, ++ SDLK_BACKQUOTE = 96, ++ SDLK_a = 97, ++ SDLK_b = 98, ++ SDLK_c = 99, ++ SDLK_d = 100, ++ SDLK_e = 101, ++ SDLK_f = 102, ++ SDLK_g = 103, ++ SDLK_h = 104, ++ SDLK_i = 105, ++ SDLK_j = 106, ++ SDLK_k = 107, ++ SDLK_l = 108, ++ SDLK_m = 109, ++ SDLK_n = 110, ++ SDLK_o = 111, ++ SDLK_p = 112, ++ SDLK_q = 113, ++ SDLK_r = 114, ++ SDLK_s = 115, ++ SDLK_t = 116, ++ SDLK_u = 117, ++ SDLK_v = 118, ++ SDLK_w = 119, ++ SDLK_x = 120, ++ SDLK_y = 121, ++ SDLK_z = 122, ++ SDLK_DELETE = 127, ++ /* End of ASCII mapped keysyms */ ++ ++ /* International keyboard syms */ ++ SDLK_WORLD_0 = 160, /* 0xA0 */ ++ SDLK_WORLD_1 = 161, ++ SDLK_WORLD_2 = 162, ++ SDLK_WORLD_3 = 163, ++ SDLK_WORLD_4 = 164, ++ SDLK_WORLD_5 = 165, ++ SDLK_WORLD_6 = 166, ++ SDLK_WORLD_7 = 167, ++ SDLK_WORLD_8 = 168, ++ SDLK_WORLD_9 = 169, ++ SDLK_WORLD_10 = 170, ++ SDLK_WORLD_11 = 171, ++ SDLK_WORLD_12 = 172, ++ SDLK_WORLD_13 = 173, ++ SDLK_WORLD_14 = 174, ++ SDLK_WORLD_15 = 175, ++ SDLK_WORLD_16 = 176, ++ SDLK_WORLD_17 = 177, ++ SDLK_WORLD_18 = 178, ++ SDLK_WORLD_19 = 179, ++ SDLK_WORLD_20 = 180, ++ SDLK_WORLD_21 = 181, ++ SDLK_WORLD_22 = 182, ++ SDLK_WORLD_23 = 183, ++ SDLK_WORLD_24 = 184, ++ SDLK_WORLD_25 = 185, ++ SDLK_WORLD_26 = 186, ++ SDLK_WORLD_27 = 187, ++ SDLK_WORLD_28 = 188, ++ SDLK_WORLD_29 = 189, ++ SDLK_WORLD_30 = 190, ++ SDLK_WORLD_31 = 191, ++ SDLK_WORLD_32 = 192, ++ SDLK_WORLD_33 = 193, ++ SDLK_WORLD_34 = 194, ++ SDLK_WORLD_35 = 195, ++ SDLK_WORLD_36 = 196, ++ SDLK_WORLD_37 = 197, ++ SDLK_WORLD_38 = 198, ++ SDLK_WORLD_39 = 199, ++ SDLK_WORLD_40 = 200, ++ SDLK_WORLD_41 = 201, ++ SDLK_WORLD_42 = 202, ++ SDLK_WORLD_43 = 203, ++ SDLK_WORLD_44 = 204, ++ SDLK_WORLD_45 = 205, ++ SDLK_WORLD_46 = 206, ++ SDLK_WORLD_47 = 207, ++ SDLK_WORLD_48 = 208, ++ SDLK_WORLD_49 = 209, ++ SDLK_WORLD_50 = 210, ++ SDLK_WORLD_51 = 211, ++ SDLK_WORLD_52 = 212, ++ SDLK_WORLD_53 = 213, ++ SDLK_WORLD_54 = 214, ++ SDLK_WORLD_55 = 215, ++ SDLK_WORLD_56 = 216, ++ SDLK_WORLD_57 = 217, ++ SDLK_WORLD_58 = 218, ++ SDLK_WORLD_59 = 219, ++ SDLK_WORLD_60 = 220, ++ SDLK_WORLD_61 = 221, ++ SDLK_WORLD_62 = 222, ++ SDLK_WORLD_63 = 223, ++ SDLK_WORLD_64 = 224, ++ SDLK_WORLD_65 = 225, ++ SDLK_WORLD_66 = 226, ++ SDLK_WORLD_67 = 227, ++ SDLK_WORLD_68 = 228, ++ SDLK_WORLD_69 = 229, ++ SDLK_WORLD_70 = 230, ++ SDLK_WORLD_71 = 231, ++ SDLK_WORLD_72 = 232, ++ SDLK_WORLD_73 = 233, ++ SDLK_WORLD_74 = 234, ++ SDLK_WORLD_75 = 235, ++ SDLK_WORLD_76 = 236, ++ SDLK_WORLD_77 = 237, ++ SDLK_WORLD_78 = 238, ++ SDLK_WORLD_79 = 239, ++ SDLK_WORLD_80 = 240, ++ SDLK_WORLD_81 = 241, ++ SDLK_WORLD_82 = 242, ++ SDLK_WORLD_83 = 243, ++ SDLK_WORLD_84 = 244, ++ SDLK_WORLD_85 = 245, ++ SDLK_WORLD_86 = 246, ++ SDLK_WORLD_87 = 247, ++ SDLK_WORLD_88 = 248, ++ SDLK_WORLD_89 = 249, ++ SDLK_WORLD_90 = 250, ++ SDLK_WORLD_91 = 251, ++ SDLK_WORLD_92 = 252, ++ SDLK_WORLD_93 = 253, ++ SDLK_WORLD_94 = 254, ++ SDLK_WORLD_95 = 255, /* 0xFF */ ++ ++ /* Numeric keypad */ ++ SDLK_KP0 = 256, ++ SDLK_KP1 = 257, ++ SDLK_KP2 = 258, ++ SDLK_KP3 = 259, ++ SDLK_KP4 = 260, ++ SDLK_KP5 = 261, ++ SDLK_KP6 = 262, ++ SDLK_KP7 = 263, ++ SDLK_KP8 = 264, ++ SDLK_KP9 = 265, ++ SDLK_KP_PERIOD = 266, ++ SDLK_KP_DIVIDE = 267, ++ SDLK_KP_MULTIPLY = 268, ++ SDLK_KP_MINUS = 269, ++ SDLK_KP_PLUS = 270, ++ SDLK_KP_ENTER = 271, ++ SDLK_KP_EQUALS = 272, ++ ++ /* Arrows + Home/End pad */ ++ SDLK_UP = 273, ++ SDLK_DOWN = 274, ++ SDLK_RIGHT = 275, ++ SDLK_LEFT = 276, ++ SDLK_INSERT = 277, ++ SDLK_HOME = 278, ++ SDLK_END = 279, ++ SDLK_PAGEUP = 280, ++ SDLK_PAGEDOWN = 281, ++ ++ /* Function keys */ ++ SDLK_F1 = 282, ++ SDLK_F2 = 283, ++ SDLK_F3 = 284, ++ SDLK_F4 = 285, ++ SDLK_F5 = 286, ++ SDLK_F6 = 287, ++ SDLK_F7 = 288, ++ SDLK_F8 = 289, ++ SDLK_F9 = 290, ++ SDLK_F10 = 291, ++ SDLK_F11 = 292, ++ SDLK_F12 = 293, ++ SDLK_F13 = 294, ++ SDLK_F14 = 295, ++ SDLK_F15 = 296, ++ ++ /* Key state modifier keys */ ++ SDLK_NUMLOCK = 300, ++ SDLK_CAPSLOCK = 301, ++ SDLK_SCROLLOCK = 302, ++ SDLK_RSHIFT = 303, ++ SDLK_LSHIFT = 304, ++ SDLK_RCTRL = 305, ++ SDLK_LCTRL = 306, ++ SDLK_RALT = 307, ++ SDLK_LALT = 308, ++ SDLK_RMETA = 309, ++ SDLK_LMETA = 310, ++ SDLK_LSUPER = 311, /* Left "Windows" key */ ++ SDLK_RSUPER = 312, /* Right "Windows" key */ ++ SDLK_MODE = 313, /* "Alt Gr" key */ ++ SDLK_COMPOSE = 314, /* Multi-key compose key */ ++ ++ /* Miscellaneous function keys */ ++ SDLK_HELP = 315, ++ SDLK_PRINT = 316, ++ SDLK_SYSREQ = 317, ++ SDLK_BREAK = 318, ++ SDLK_MENU = 319, ++ SDLK_POWER = 320, /* Power Macintosh power key */ ++ SDLK_EURO = 321, /* Some european keyboards */ ++ SDLK_UNDO = 322, /* Atari keyboard has Undo */ ++ ++ /* Add any other keys here */ ++ ++ SDLK_LAST ++} ++ ++/* Enumeration of valid key mods (possibly OR'd together) */ ++alias int SDLMod; ++enum { ++ KMOD_NONE = 0x0000, ++ KMOD_LSHIFT= 0x0001, ++ KMOD_RSHIFT= 0x0002, ++ KMOD_LCTRL = 0x0040, ++ KMOD_RCTRL = 0x0080, ++ KMOD_LALT = 0x0100, ++ KMOD_RALT = 0x0200, ++ KMOD_LMETA = 0x0400, ++ KMOD_RMETA = 0x0800, ++ KMOD_NUM = 0x1000, ++ KMOD_CAPS = 0x2000, ++ KMOD_MODE = 0x4000, ++ KMOD_RESERVED = 0x8000 ++} ++ ++const uint KMOD_CTRL = (KMOD_LCTRL|KMOD_RCTRL); ++const uint KMOD_SHIFT = (KMOD_LSHIFT|KMOD_RSHIFT); ++const uint KMOD_ALT = (KMOD_LALT|KMOD_RALT); ++const uint KMOD_META = (KMOD_LMETA|KMOD_RMETA); +diff -Naur a2k_src/import/SDL_mixer.d a2k_src-p/import/SDL_mixer.d +--- a2k_src/import/SDL_mixer.d 2006-07-26 23:24:04.000000000 +0200 ++++ a2k_src-p/import/SDL_mixer.d 2009-08-27 15:18:28.000000000 +0200 +@@ -24,7 +24,7 @@ + + /* $Id: SDL_mixer.h,v 1.24 2002/05/21 05:45:59 slouken Exp $ */ + +-public import SDL; ++import SDL; + + extern (C) { + +diff -Naur a2k_src/import/SDL_mouse.d a2k_src-p/import/SDL_mouse.d +--- a2k_src/import/SDL_mouse.d 2006-07-26 23:25:18.000000000 +0200 ++++ a2k_src-p/import/SDL_mouse.d 2009-08-27 15:18:28.000000000 +0200 +@@ -22,8 +22,8 @@ + + /* Include file for SDL mouse event handling */ + +-public import SDL_types; +-public import SDL_video; ++import SDL_types; ++import SDL_video; + + extern(C): + +diff -Naur a2k_src/import/SDL_mutex.d a2k_src-p/import/SDL_mutex.d +--- a2k_src/import/SDL_mutex.d 2006-07-26 23:25:20.000000000 +0200 ++++ a2k_src-p/import/SDL_mutex.d 2009-08-27 15:18:28.000000000 +0200 +@@ -25,7 +25,7 @@ + These are independent of the other SDL routines. + */ + +-public import SDL_types; ++import SDL_types; + + extern(C): + +diff -Naur a2k_src/import/SDL_quit.d a2k_src-p/import/SDL_quit.d +--- a2k_src/import/SDL_quit.d 2006-07-26 23:25:22.000000000 +0200 ++++ a2k_src-p/import/SDL_quit.d 2009-08-27 15:18:28.000000000 +0200 +@@ -22,7 +22,7 @@ + + /* Include file for SDL quit event handling */ + +-public import SDL_events; ++import SDL_events; + + /* + An SDL_QUITEVENT is generated when the user tries to close the application +diff -Naur a2k_src/import/SDL_rwops.d a2k_src-p/import/SDL_rwops.d +--- a2k_src/import/SDL_rwops.d 2006-07-26 23:25:24.000000000 +0200 ++++ a2k_src-p/import/SDL_rwops.d 2009-08-27 15:18:28.000000000 +0200 +@@ -24,7 +24,7 @@ + data sources. It can easily be extended to files, memory, etc. + */ + +-public import SDL_types; ++import SDL_types; + + extern(C): + +diff -Naur a2k_src/import/SDL_sound.d a2k_src-p/import/SDL_sound.d +--- a2k_src/import/SDL_sound.d 2006-07-26 23:25:26.000000000 +0200 ++++ a2k_src-p/import/SDL_sound.d 2009-08-27 15:18:28.000000000 +0200 +@@ -62,7 +62,7 @@ + + // convert to D by shinichiro.h + +-public import SDL; ++import SDL; + + extern (C) { + const int SOUND_VER_MAJOR = 1; +diff -Naur a2k_src/import/SDL_syswm.d a2k_src-p/import/SDL_syswm.d +--- a2k_src/import/SDL_syswm.d 2006-07-26 23:25:32.000000000 +0200 ++++ a2k_src-p/import/SDL_syswm.d 2009-08-27 15:18:28.000000000 +0200 +@@ -22,7 +22,7 @@ + + /* Include file for SDL custom system window manager hooks */ + +-public import SDL_Version; ++import SDL_Version; + + extern(C): + +diff -Naur a2k_src/import/SDL_thread.d a2k_src-p/import/SDL_thread.d +--- a2k_src/import/SDL_thread.d 2006-07-26 23:25:36.000000000 +0200 ++++ a2k_src-p/import/SDL_thread.d 2009-08-27 15:18:28.000000000 +0200 +@@ -25,8 +25,8 @@ + These are independent of the other SDL routines. + */ + +-public import SDL_types; +-public import SDL_mutex; ++import SDL_types; ++import SDL_mutex; + + extern(C): + +diff -Naur a2k_src/import/SDL_timer.d a2k_src-p/import/SDL_timer.d +--- a2k_src/import/SDL_timer.d 2006-07-26 23:25:38.000000000 +0200 ++++ a2k_src-p/import/SDL_timer.d 2009-08-27 15:18:28.000000000 +0200 +@@ -20,7 +20,7 @@ + slouken@devolution.com + */ + +-public import SDL_types; ++import SDL_types; + + extern(C): + +diff -Naur a2k_src/import/SDL_version.d a2k_src-p/import/SDL_version.d +--- a2k_src/import/SDL_version.d 2006-07-26 23:25:40.000000000 +0200 ++++ a2k_src-p/import/SDL_version.d 1970-01-01 01:00:00.000000000 +0100 +@@ -1,75 +0,0 @@ +-/* +- SDL - Simple DirectMedia Layer +- Copyright (C) 1997, 1998, 1999, 2000, 2001 Sam Lantinga +- +- This library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Library General Public +- License as published by the Free Software Foundation; either +- version 2 of the License, or (at your option) any later version. +- +- This library is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU Library General Public +- License along with this library; if not, write to the Free +- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +- +- Sam Lantinga +- slouken@devolution.com +-*/ +- +-/* This header defines the current SDL version */ +- +-public import SDL_types; +- +-extern(C): +- +-/* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL +-*/ +-const uint SDL_MAJOR_VERSION = 1; +-const uint SDL_MINOR_VERSION = 2; +-const uint SDL_PATCHLEVEL = 6; +- +-struct SDL_version { +- Uint8 major; +- Uint8 minor; +- Uint8 patch; +-} +- +-/* This macro can be used to fill a version structure with the compile-time +- * version of the SDL library. +- */ +-void SDL_VERSION(SDL_version* X) +-{ +- X.major = SDL_MAJOR_VERSION; +- X.minor = SDL_MINOR_VERSION; +- X.patch = SDL_PATCHLEVEL; +-} +- +-/* This macro turns the version numbers into a numeric value: +- (1,2,3) -> (1203) +- This assumes that there will never be more than 100 patchlevels +-*/ +-uint SDL_VERSIONNUM(Uint8 X, Uint8 Y, Uint8 Z) +-{ +- return X * 1000 + Y * 100 + Z; +-} +- +-/* This is the version number macro for the current SDL version */ +-const uint SDL_COMPILEDVERSION = SDL_MAJOR_VERSION * 1000 + +- SDL_MINOR_VERSION * 100 + +- SDL_PATCHLEVEL; +- +-/* This macro will evaluate to true if compiled with SDL at least X.Y.Z */ +-bit SDL_VERSION_ATLEAST(Uint8 X, Uint8 Y, Uint8 Z) +-{ +- return (SDL_COMPILEDVERSION >= SDL_VERSIONNUM(X, Y, Z)); +-} +- +-/* This function gets the version of the dynamically linked SDL library. +- it should NOT be used to fill a version structure, instead you should +- use the SDL_Version() macro. +- */ +-SDL_version * SDL_Linked_Version(); +diff -Naur a2k_src/import/SDL_Version.d a2k_src-p/import/SDL_Version.d +--- a2k_src/import/SDL_Version.d 1970-01-01 01:00:00.000000000 +0100 ++++ a2k_src-p/import/SDL_Version.d 2009-08-27 15:18:28.000000000 +0200 +@@ -0,0 +1,75 @@ ++/* ++ SDL - Simple DirectMedia Layer ++ Copyright (C) 1997, 1998, 1999, 2000, 2001 Sam Lantinga ++ ++ This library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Library General Public ++ License as published by the Free Software Foundation; either ++ version 2 of the License, or (at your option) any later version. ++ ++ This library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with this library; if not, write to the Free ++ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ ++ Sam Lantinga ++ slouken@devolution.com ++*/ ++ ++/* This header defines the current SDL version */ ++ ++import SDL_types; ++ ++extern(C): ++ ++/* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL ++*/ ++const uint SDL_MAJOR_VERSION = 1; ++const uint SDL_MINOR_VERSION = 2; ++const uint SDL_PATCHLEVEL = 6; ++ ++struct SDL_version { ++ Uint8 major; ++ Uint8 minor; ++ Uint8 patch; ++} ++ ++/* This macro can be used to fill a version structure with the compile-time ++ * version of the SDL library. ++ */ ++void SDL_VERSION(SDL_version* X) ++{ ++ X.major = SDL_MAJOR_VERSION; ++ X.minor = SDL_MINOR_VERSION; ++ X.patch = SDL_PATCHLEVEL; ++} ++ ++/* This macro turns the version numbers into a numeric value: ++ (1,2,3) -> (1203) ++ This assumes that there will never be more than 100 patchlevels ++*/ ++uint SDL_VERSIONNUM(Uint8 X, Uint8 Y, Uint8 Z) ++{ ++ return X * 1000 + Y * 100 + Z; ++} ++ ++/* This is the version number macro for the current SDL version */ ++const uint SDL_COMPILEDVERSION = SDL_MAJOR_VERSION * 1000 + ++ SDL_MINOR_VERSION * 100 + ++ SDL_PATCHLEVEL; ++ ++/* This macro will evaluate to true if compiled with SDL at least X.Y.Z */ ++bit SDL_VERSION_ATLEAST(Uint8 X, Uint8 Y, Uint8 Z) ++{ ++ return (SDL_COMPILEDVERSION >= SDL_VERSIONNUM(X, Y, Z)); ++} ++ ++/* This function gets the version of the dynamically linked SDL library. ++ it should NOT be used to fill a version structure, instead you should ++ use the SDL_Version() macro. ++ */ ++SDL_version * SDL_Linked_Version(); +diff -Naur a2k_src/import/SDL_video.d a2k_src-p/import/SDL_video.d +--- a2k_src/import/SDL_video.d 2006-07-26 23:25:42.000000000 +0200 ++++ a2k_src-p/import/SDL_video.d 2009-08-27 15:18:28.000000000 +0200 +@@ -22,9 +22,9 @@ + + /* Header file for access to the SDL raw framebuffer window */ + +-public import SDL_types; +-public import SDL_mutex; +-public import SDL_rwops; ++import SDL_types; ++import SDL_mutex; ++import SDL_rwops; + + extern(C): + diff --git a/games-action/area2048/files/area2048-1.03-makefile.patch b/games-action/area2048/files/area2048-1.03-makefile.patch new file mode 100644 index 0000000..47d8659 --- /dev/null +++ b/games-action/area2048/files/area2048-1.03-makefile.patch @@ -0,0 +1,22 @@ +diff -Naur Makefile a2k_Makefile +--- Makefile 1970-01-01 01:00:00.000000000 +0100 ++++ Makefile 2008-10-07 09:53:29.000000000 +0200 +@@ -0,0 +1,18 @@ ++DSRC=$(shell find a2k_src/src -name "*.d")
++SOURCES=$(DSRC) a2k_src/import/SDL_video.d a2k_src/import/SDL_mixer.d
++OBJS=$(SOURCES:.d=.o)
++CFLAGS=
++DFLAGS=-O -Ia2k_src/import -Ia2k_src/src -I/usr/X11R6/include/
++EXE=area2048
++
++all: $(EXE)
++
++$(EXE): $(OBJS)
++ gcc $(CFLAGS) -o $@ $(OBJS) $(COBJS) -lbulletml -L/usr/local/lib -L/usr/lib -lgphobos -lpthread -lGLU -lGL -lglut -lm -lstdc++ -lSDL -lSDL_mixer
++
++$(OBJS): %.o: %.d
++ gdmd -d -c -of$@ $(DFLAGS) $<
++
++clean:
++ rm a2k_src/src/*.o
++ diff --git a/games-action/area2048/files/area2048-1.03-src.patch b/games-action/area2048/files/area2048-1.03-src.patch new file mode 100644 index 0000000..4913331 --- /dev/null +++ b/games-action/area2048/files/area2048-1.03-src.patch @@ -0,0 +1,1217 @@ +diff -Naur a2k_src/src/bg.d a2k_src-p/src/bg.d +--- a2k_src/src/bg.d 2005-01-18 00:34:48.000000000 +0100 ++++ a2k_src-p/src/bg.d 2009-08-27 15:18:28.000000000 +0200 +@@ -14,7 +14,12 @@ + private import util_snd;
+ private import define;
+ private import task;
+-private import stg;
++private import stg; ++private import stg01;
++private import stg02;
++private import stg03;
++private import stg04;
++private import stg05;
+ private import effect;
+ private import ship;
+
+@@ -79,20 +84,20 @@ + TskBuf[fade_id].tx = 1.0f;
+ TskBuf[fade_id].wait = 60;
+ TskBuf[fade_id].step = 2;
+- TskBuf[id].px = cast(float)(rand() % 1536 - 768.0f);
++ TskBuf[id].px = cast(float)(rand() % 1536 - 768.0f);
+ TskBuf[id].py = cast(float)(rand() % 1536 - 768.0f);
+ if((rand() % 100) & 0x01){
+ if(TskBuf[id].px < 0.0f){
+ TskBuf[id].tx = +(cast(float)(rand() % 768));
+ }else{
+- TskBuf[id].tx = -(cast(float)(rand() % 768));
++ TskBuf[id].tx = +(cast(float)(rand() % 768));
+ }
+ TskBuf[id].ty = TskBuf[id].py;
+ }else{
+ if(TskBuf[id].py < 0.0f){
+ TskBuf[id].ty = +(cast(float)(rand() % 768));
+ }else{
+- TskBuf[id].ty = -(cast(float)(rand() % 768));
++ TskBuf[id].ty = +(cast(float)(rand() % 768));
+ }
+ TskBuf[id].tx = TskBuf[id].px;
+ }
+@@ -104,7 +109,7 @@ + cam_pos = BASE_Z + cam_scr;
+ eid = setTSK(GROUP_08,&TSKbgZoom);
+ TskBuf[eid].wait = 600;
+- TskBuf[eid].tx = BASE_Z - (cast(float)((rand() % 5000) - 2500 + 10000) / 10000.0f);
++ TskBuf[eid].tx = BASE_Z - ((cast(float)(rand() % 5000) - 2500 + 10000) / 10000.0f);
+ TskBuf[id].step++;
+ break;
+ case 2:
+@@ -202,22 +207,34 @@ + scr_base[Y] = START_Y;
+ scr_ofs[X] = 0.0f;
+ scr_ofs[Y] = 0.0f;
+- cam_pos = BASE_Z + cam_scr;
++ cam_pos = BASE_Z + cam_scr; ++ bg_mode = 0; ++ stg_ctrl = STG_MAIN;
+ switch(area_num){
+ case AREA_01:
+- bg_mode = 0;
++ bg_mode = 0; ++ stg_ctrl = STG_MAIN;
++ setTSK(GROUP_01,&TSKstg01);
+ break;
+ case AREA_02:
+- bg_mode = 1;
++ bg_mode = 1; ++ stg_ctrl = STG_MAIN;
++ setTSK(GROUP_01,&TSKstg02); + break;
+ case AREA_03:
+- bg_mode = 2;
++ bg_mode = 2; ++ stg_ctrl = STG_MAIN;
++ setTSK(GROUP_01,&TSKstg03);
+ break;
+ case AREA_04:
+- bg_mode = 3;
++ bg_mode = 3; ++ stg_ctrl = STG_MAIN;
++ setTSK(GROUP_01,&TSKstg04);
+ break;
+ case AREA_05:
+- bg_mode = 4;
++ bg_mode = 4; ++ stg_ctrl = STG_MAIN;
++ setTSK(GROUP_01,&TSKstg05);
+ break;
+ default:
+ break;
+@@ -296,7 +313,7 @@ + bg_obj[i].line_list.length = 1;
+ bg_obj[i].line_list[0][X] = +0.0f;
+ bg_obj[i].line_list[0][Y] = +0.0f;
+- bg_obj[i].line_list[0][Z] = -(cast(float)(rand() % 75)) / 100.0f + 0.25f;
++ bg_obj[i].line_list[0][Z] = -cast(float)(rand() % 75) / 100.0f + 0.25f;
+ }
+ break;
+ case 4:
+@@ -600,8 +617,8 @@ + break;
+ case 1:
+ if(TskBuf[id].wait){
+- TskBuf[id].px = ((rand() % (256.0f * TskBuf[id].vx)) - ((256.0f * TskBuf[id].vx) / 2)) / 256.0f;
+- TskBuf[id].py = ((rand() % (256.0f * TskBuf[id].vy)) - ((256.0f * TskBuf[id].vy) / 2)) / 256.0f;
++ TskBuf[id].px = (cast(float)(rand() % (256.0f * TskBuf[id].vx)) - ((256.0f * TskBuf[id].vx) / 2)) / 256.0f;
++ TskBuf[id].py = (cast(float)(rand() % (256.0f * TskBuf[id].vy)) - ((256.0f * TskBuf[id].vy) / 2)) / 256.0f;
+ TskBuf[id].vx += (0.0f - TskBuf[id].vx) / TskBuf[id].cnt;
+ TskBuf[id].vy += (0.0f - TskBuf[id].vy) / TskBuf[id].cnt;
+ scr_ofs[X] = TskBuf[id].px;
+diff -Naur a2k_src/src/boss01.d a2k_src-p/src/boss01.d +--- a2k_src/src/boss01.d 2008-02-06 01:34:54.000000000 +0100 ++++ a2k_src-p/src/boss01.d 2009-08-27 15:18:28.000000000 +0200 +@@ -7,7 +7,7 @@ + */
+
+ private import std.stdio;
+-private import std.math;
++private import std.c.math;
+ private import std.random;
+ private import std.string;
+ private import SDL;
+diff -Naur a2k_src/src/boss02.d a2k_src-p/src/boss02.d +--- a2k_src/src/boss02.d 2008-02-06 01:35:18.000000000 +0100 ++++ a2k_src-p/src/boss02.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,7 +6,7 @@ + 2004/04/16 jumpei isshiki
+ */
+
+-private import std.math;
++private import std.c.math;
+ private import std.random;
+ private import std.string;
+ private import SDL;
+diff -Naur a2k_src/src/boss03.d a2k_src-p/src/boss03.d +--- a2k_src/src/boss03.d 2008-02-06 01:35:30.000000000 +0100 ++++ a2k_src-p/src/boss03.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,7 +6,7 @@ + 2004/06/08 jumpei isshiki
+ */
+
+-private import std.math;
++private import std.c.math;
+ private import std.random;
+ private import std.string;
+ private import SDL;
+@@ -358,7 +358,7 @@ + }
+ if(!cmd.isEnd()) cmd.run();
+ break;
+- TskBuf[id].ang_x = rand() % 65536;
++ TskBuf[id].ang_x = cast(float)rand() % 65536;
+ TskBuf[id].ang_x *= PI / 65536.0f;
+ TskBuf[id].ax =
+ TskBuf[id].ay = sin(TskBuf[id].ang_x) * 5.0f / PI;
+diff -Naur a2k_src/src/boss04.d a2k_src-p/src/boss04.d +--- a2k_src/src/boss04.d 2008-02-06 01:35:34.000000000 +0100 ++++ a2k_src-p/src/boss04.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,7 +6,7 @@ + 2004/06/06 jumpei isshiki
+ */
+
+-private import std.math;
++private import std.c.math;
+ private import std.random;
+ private import std.string;
+ private import SDL;
+diff -Naur a2k_src/src/boss05.d a2k_src-p/src/boss05.d +--- a2k_src/src/boss05.d 2008-02-06 01:35:38.000000000 +0100 ++++ a2k_src-p/src/boss05.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,7 +6,7 @@ + 2004/06/09 jumpei isshiki
+ */
+
+-private import std.math;
++private import std.c.math;
+ private import std.random;
+ private import std.string;
+ private import SDL;
+diff -Naur a2k_src/src/bulletcommand.d a2k_src-p/src/bulletcommand.d +--- a2k_src/src/bulletcommand.d 2008-02-06 01:37:56.000000000 +0100 ++++ a2k_src-p/src/bulletcommand.d 2009-08-27 15:18:28.000000000 +0200 +@@ -247,7 +247,7 @@ + double getRand_(BulletMLRunner* runner){
+ double rand_val;
+ //printf("getRand_(%d)\n",BulletCommand.now.id);
+- rand_val = rand() % 10000;
++ rand_val = cast(float)rand() % 10000;
+ rand_val /= 10000;
+ return rand_val;
+ }
+diff -Naur a2k_src/src/effect.d a2k_src-p/src/effect.d +--- a2k_src/src/effect.d 2008-02-06 01:35:40.000000000 +0100 ++++ a2k_src-p/src/effect.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,14 +6,15 @@ + 2004/03/31 jumpei isshiki
+ */
+
+-private import std.math;
++private import std.c.math;
+ private import std.random;
+ private import std.string;
+ private import SDL;
+ private import opengl;
+ private import util_sdl;
+ private import task;
+-private import bg;
++private import bg; ++private import system;
+
+ float fade_r = 0.0f;
+ float fade_g = 0.0f;
+@@ -53,16 +54,16 @@ + for(int i = 0; i < 3; i++){
+ switch(i){
+ case 0:
+- tpos[X] = -((rand() % 4096) / 1024.0f + 1.0f);
+- tpos[Y] = +((rand() % 4096) / 1024.0f + 1.0f);
++ tpos[X] = -cast(float)((rand() % 4096) / 1024.0f + 1.0f);
++ tpos[Y] = +cast(float)((rand() % 4096) / 1024.0f + 1.0f);
+ break;
+ case 1:
+- tpos[X] = ((rand() % 2048) / 1024.0f - 1.0f);
+- tpos[Y] = -((rand() % 4096) / 1024.0f + 1.0f);
++ tpos[X] = cast(float)((rand() % 2048) / 1024.0f - 1.0f);
++ tpos[Y] = -cast(float)((rand() % 4096) / 1024.0f + 1.0f);
+ break;
+ case 2:
+- tpos[X] = +((rand() % 4096) / 1024.0f + 1.0f);
+- tpos[Y] = +((rand() % 4096) / 1024.0f + 1.0f);
++ tpos[X] = +cast(float)((rand() % 4096) / 1024.0f + 1.0f);
++ tpos[Y] = +cast(float)((rand() % 4096) / 1024.0f + 1.0f);
+ break;
+ default:
+ break;
+@@ -74,8 +75,8 @@ + tpos[Y] = fabs(tpos[Y]);
+ TskBuf[id].body_ang[i][W] = sqrt(pow(tpos[X],2.0) + pow(tpos[Y],2.0));
+ }
+- TskBuf[id].tx = (rand() % 256000) / 1000.0f - 128.0f;
+- TskBuf[id].ty = (rand() % 256000) / 1000.0f - 128.0f;
++ TskBuf[id].tx = cast(float)(rand() % 256000) / 1000.0f - 128.0f;
++ TskBuf[id].ty = cast(float)(rand() % 256000) / 1000.0f - 128.0f;
+ TskBuf[id].tx += TskBuf[id].px;
+ TskBuf[id].ty += TskBuf[id].py;
+ TskBuf[id].wait = 60;
+@@ -165,16 +166,16 @@ + for(int i = 0; i < 3; i++){
+ switch(i){
+ case 0:
+- tpos[X] = -((rand() % 12288) / 1024.0f + 3.0f);
+- tpos[Y] = +((rand() % 12288) / 1024.0f + 3.0f);
++ tpos[X] = -(cast(float)(rand() % 12288) / 1024.0f + 3.0f);
++ tpos[Y] = +(cast(float)(rand() % 12288) / 1024.0f + 3.0f);
+ break;
+ case 1:
+- tpos[X] = ((rand() % 6144) / 1024.0f - 3.0f);
+- tpos[Y] = -((rand() % 12288) / 1024.0f + 3.0f);
++ tpos[X] = (cast(float)(rand() % 6144) / 1024.0f - 3.0f);
++ tpos[Y] = -(cast(float)(rand() % 12288) / 1024.0f + 3.0f);
+ break;
+ case 2:
+- tpos[X] = +((rand() % 12288) / 1024.0f + 3.0f);
+- tpos[Y] = +((rand() % 12288) / 1024.0f + 3.0f);
++ tpos[X] = +(cast(float)(rand() % 12288) / 1024.0f + 3.0f);
++ tpos[Y] = +(cast(float)(rand() % 12288) / 1024.0f + 3.0f);
+ break;
+ default:
+ break;
+@@ -186,8 +187,8 @@ + tpos[Y] = fabs(tpos[Y]);
+ TskBuf[id].body_ang[i][W] = sqrt(pow(tpos[X],2.0) + pow(tpos[Y],2.0));
+ }
+- TskBuf[id].tx = (rand() % 512000) / 1000.0f - 256.0f;
+- TskBuf[id].ty = (rand() % 512000) / 1000.0f - 256.0f;
++ TskBuf[id].tx = cast(float)(rand() % 512000) / 1000.0f - 256.0f;
++ TskBuf[id].ty = cast(float)(rand() % 512000) / 1000.0f - 256.0f;
+ TskBuf[id].tx += TskBuf[id].px;
+ TskBuf[id].ty += TskBuf[id].py;
+ TskBuf[id].wait = 60;
+@@ -279,13 +280,13 @@ + TskBuf[id].fp_draw = &TSKBrokenBodyDraw;
+ TskBuf[id].fp_exit = &TSKBrokenBodyExit;
+ TskBuf[id].alpha = 1.0f;
+- TskBuf[id].tx = (rand() % 256000) / 1000.0f - 128.0f;
+- TskBuf[id].ty = (rand() % 256000) / 1000.0f - 128.0f;
++ TskBuf[id].tx = cast(float)(rand() % 256000) / 1000.0f - 128.0f;
++ TskBuf[id].ty = cast(float)(rand() % 256000) / 1000.0f - 128.0f;
+ TskBuf[id].tx *= 2.0f;
+ TskBuf[id].ty *= 2.0f;
+ TskBuf[id].tx += TskBuf[id].px;
+ TskBuf[id].ty += TskBuf[id].py;
+- TskBuf[id].rot_add = (rand % 30) - 15;
++ TskBuf[id].rot_add = cast(float)(rand % 30) - 15;
+ if(!(TskBuf[id].rot_add - 15)) TskBuf[id].rot_add = -1;
+ else if(!(TskBuf[id].rot_add + 15)) TskBuf[id].rot_add = +1;
+ if(TskBuf[id].rot_add < 0) TskBuf[id].rot_add = PI / (TskBuf[id].rot_add - 15);
+@@ -410,13 +411,13 @@ + TskBuf[id].fp_draw = &TSKBrokenLineDraw;
+ TskBuf[id].fp_exit = &TSKBrokenLineExit;
+ TskBuf[id].alpha = 1.0f;
+- TskBuf[id].tx = (rand() % 256000) / 1000.0f - 128.0f;
+- TskBuf[id].ty = (rand() % 256000) / 1000.0f - 128.0f;
++ TskBuf[id].tx = cast(float)(rand() % 256000) / 1000.0f - 128.0f;
++ TskBuf[id].ty = cast(float)(rand() % 256000) / 1000.0f - 128.0f;
+ TskBuf[id].tx *= 2.0f;
+ TskBuf[id].ty *= 2.0f;
+ TskBuf[id].tx += TskBuf[id].px;
+ TskBuf[id].ty += TskBuf[id].py;
+- TskBuf[id].rot_add = (rand % 30) - 15;
++ TskBuf[id].rot_add = cast(float)(rand % 30) - 15;
+ if(!(TskBuf[id].rot_add - 15)) TskBuf[id].rot_add = -1;
+ else if(!(TskBuf[id].rot_add + 15)) TskBuf[id].rot_add = +1;
+ if(TskBuf[id].rot_add < 0) TskBuf[id].rot_add = PI / (TskBuf[id].rot_add - 15);
+diff -Naur a2k_src/src/enemy01.d a2k_src-p/src/enemy01.d +--- a2k_src/src/enemy01.d 2008-02-06 01:35:46.000000000 +0100 ++++ a2k_src-p/src/enemy01.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,7 +6,7 @@ + 2004/03/27 jumpei isshiki
+ */
+
+-private import std.math;
++private import std.c.math;
+ private import std.random;
+ private import SDL;
+ private import opengl;
+@@ -63,8 +63,8 @@ + switch(TskBuf[id].step){
+ case 0:
+ TskBuf[id].tskid |= TSKID_ZAKO;
+- TskBuf[id].px = (rand() % 1536) - 768.0f;
+- TskBuf[id].py = (rand() % 1536) - 768.0f;
++ TskBuf[id].px = (cast(float)(rand() % 1536) - 768.0f);
++ TskBuf[id].py = (cast(float)(rand() % 1536) - 768.0f);
+ TskBuf[id].fp_int = null;
+ TskBuf[id].fp_draw = &TSKenemy01Draw;
+ TskBuf[id].fp_exit = &TSKenemy01Exit;
+diff -Naur a2k_src/src/enemy02.d a2k_src-p/src/enemy02.d +--- a2k_src/src/enemy02.d 2008-02-06 01:35:48.000000000 +0100 ++++ a2k_src-p/src/enemy02.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,7 +6,7 @@ + 2004/04/11 jumpei isshiki
+ */
+
+-private import std.math;
++private import std.c.math;
+ private import std.random;
+ private import SDL;
+ private import opengl;
+@@ -63,8 +63,8 @@ + switch(TskBuf[id].step){
+ case 0:
+ TskBuf[id].tskid |= TSKID_ZAKO;
+- TskBuf[id].px = (rand() % 1536) - 768.0f;
+- TskBuf[id].py = (rand() % 1536) - 768.0f;
++ TskBuf[id].px = (cast(float)(rand() % 1536) - 768.0f);
++ TskBuf[id].py = (cast(float)(rand() % 1536) - 768.0f);
+ TskBuf[id].fp_int = null;
+ TskBuf[id].fp_draw = &TSKenemy02Draw;
+ TskBuf[id].fp_exit = &TSKenemy02Exit;
+diff -Naur a2k_src/src/enemy03.d a2k_src-p/src/enemy03.d +--- a2k_src/src/enemy03.d 2008-02-06 01:35:52.000000000 +0100 ++++ a2k_src-p/src/enemy03.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,7 +6,7 @@ + 2004/04/11 jumpei isshiki
+ */
+
+-private import std.math;
++private import std.c.math;
+ private import std.random;
+ private import SDL;
+ private import opengl;
+@@ -63,8 +63,8 @@ + switch(TskBuf[id].step){
+ case 0:
+ TskBuf[id].tskid |= TSKID_ZAKO;
+- TskBuf[id].px = (rand() % 1536) - 768.0f;
+- TskBuf[id].py = (rand() % 1536) - 768.0f;
++ TskBuf[id].px = (cast(float)(rand() % 1536) - 768.0f);
++ TskBuf[id].py = (cast(float)(rand() % 1536) - 768.0f);
+ TskBuf[id].tid = ship_id;
+ TskBuf[id].fp_int = null;
+ TskBuf[id].fp_draw = &TSKenemy03Draw;
+diff -Naur a2k_src/src/enemy04.d a2k_src-p/src/enemy04.d +--- a2k_src/src/enemy04.d 2008-02-06 01:35:56.000000000 +0100 ++++ a2k_src-p/src/enemy04.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,7 +6,7 @@ + 2004/04/11 jumpei isshiki
+ */
+
+-private import std.math;
++private import std.c.math;
+ private import std.random;
+ private import SDL;
+ private import opengl;
+@@ -53,8 +53,8 @@ + switch(TskBuf[id].step){
+ case 0:
+ TskBuf[id].tskid |= TSKID_ZAKO;
+- TskBuf[id].px = (rand() % 1536) - 768.0f;
+- TskBuf[id].py = (rand() % 1536) - 768.0f;
++ TskBuf[id].px = (cast(float)(rand() % 1536) - 768.0f);
++ TskBuf[id].py = (cast(float)(rand() % 1536) - 768.0f);
+ TskBuf[id].tid = ship_id;
+ TskBuf[id].fp_int = null;
+ TskBuf[id].fp_draw = &TSKenemy04Draw;
+@@ -132,14 +132,14 @@ + TskBuf[id].vx = TskBuf[id].px;
+ TskBuf[id].vy = TskBuf[id].py;
+ if(!TskBuf[id].cnt){
+- TskBuf[id].tx = (rand() % 512) + 256.0f;
+- TskBuf[id].ty = (rand() % 512) + 256.0f;
++ TskBuf[id].tx = cast(float)(rand() % 512) + 256.0f;
++ TskBuf[id].ty = cast(float)(rand() % 512) + 256.0f;
+ if(TskBuf[id].px < ship_px) TskBuf[id].tx = +TskBuf[id].tx;
+ else TskBuf[id].tx = -TskBuf[id].tx;
+ if(TskBuf[id].py < ship_py) TskBuf[id].ty = +TskBuf[id].ty;
+ else TskBuf[id].ty = -TskBuf[id].ty;
+- if((rand() % 100) > 97) TskBuf[id].tx = -TskBuf[id].tx;
+- if((rand() % 100) > 97) TskBuf[id].ty = -TskBuf[id].ty;
++ if(cast(float)(rand() % 100) > 97) TskBuf[id].tx = -TskBuf[id].tx;
++ if(cast(float)(rand() % 100) > 97) TskBuf[id].ty = -TskBuf[id].ty;
+ TskBuf[id].tx = TskBuf[id].px + TskBuf[id].tx;
+ TskBuf[id].ty = TskBuf[id].py + TskBuf[id].ty;
+ if(TskBuf[id].tx < -ENEMY_AREAMAX) TskBuf[id].tx = -ENEMY_AREAMAX + 1.0f;
+diff -Naur a2k_src/src/enemy05.d a2k_src-p/src/enemy05.d +--- a2k_src/src/enemy05.d 2008-02-06 01:35:58.000000000 +0100 ++++ a2k_src-p/src/enemy05.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,7 +6,7 @@ + 2004/05/30 jumpei isshiki
+ */
+
+-private import std.math;
++private import std.c.math;
+ private import std.random;
+ private import SDL;
+ private import opengl;
+@@ -53,8 +53,8 @@ + switch(TskBuf[id].step){
+ case 0:
+ TskBuf[id].tskid |= TSKID_ZAKO;
+- TskBuf[id].px = (rand() % 1536) - 768.0f;
+- TskBuf[id].py = (rand() % 1536) - 768.0f;
++ TskBuf[id].px = (cast(float)(rand() % 1536) - 768.0f);
++ TskBuf[id].py = (cast(float)(rand() % 1536) - 768.0f);
+ TskBuf[id].tid = ship_id;
+ TskBuf[id].fp_int = null;
+ TskBuf[id].fp_draw = &TSKenemy05Draw;
+@@ -127,42 +127,31 @@ + }
+ }
+ /* 座標更新 */
+- if(TskBuf[id].px < ship_px){
+- if(TskBuf[id].vx > +0.0f) TskBuf[id].vx += 1.0f / SPEED_RATE * 2.0f;
+- else TskBuf[id].vx += 1.0f / SPEED_RATE * 1.5f;
+- if(TskBuf[id].vx > +MAX_SPEED) TskBuf[id].vx = +MAX_SPEED;
+- }else{
+- if(TskBuf[id].vx < +0.0f) TskBuf[id].vx -= 1.0f / SPEED_RATE * 2.0f;
+- else TskBuf[id].vx -= 1.0f / SPEED_RATE * 1.5f;
+- if(TskBuf[id].vx < -MAX_SPEED) TskBuf[id].vx = -MAX_SPEED;
+- }
+- if(TskBuf[id].py < ship_py){
+- if(TskBuf[id].vy > +0.0f) TskBuf[id].vy += 1.0f / SPEED_RATE * 2.0f;
+- else TskBuf[id].vy += 1.0f / SPEED_RATE * 1.5f;
+- if(TskBuf[id].vy > +MAX_SPEED) TskBuf[id].vy = +MAX_SPEED;
+- }else{
+- if(TskBuf[id].vy < +0.0f) TskBuf[id].vy -= 1.0f / SPEED_RATE * 2.0f;
+- else TskBuf[id].vy -= 1.0f / SPEED_RATE * 1.5f;
+- if(TskBuf[id].vy < -MAX_SPEED) TskBuf[id].vy = -MAX_SPEED;
+- }
+- TskBuf[id].px += TskBuf[id].vx;
+- TskBuf[id].py += TskBuf[id].vy;
+- if(TskBuf[id].px < -ENEMY_AREAMAX){
+- TskBuf[id].px = -ENEMY_AREAMAX;
+- TskBuf[id].vx = -TskBuf[id].vx / 2;
+- }
+- if(TskBuf[id].px > +ENEMY_AREAMAX){
+- TskBuf[id].px = +ENEMY_AREAMAX;
+- TskBuf[id].vx = -TskBuf[id].vx / 2;
+- }
+- if(TskBuf[id].py < -ENEMY_AREAMAX){
+- TskBuf[id].py = -ENEMY_AREAMAX;
+- TskBuf[id].vy = -TskBuf[id].vy / 2;
+- }
+- if(TskBuf[id].py > +ENEMY_AREAMAX){
+- TskBuf[id].py = +ENEMY_AREAMAX;
+- TskBuf[id].vy = -TskBuf[id].vy / 2;
+- }
++ TskBuf[id].vx = TskBuf[id].px;
++ TskBuf[id].vy = TskBuf[id].py;
++ if(!TskBuf[id].cnt){
++ TskBuf[id].tx = cast(float)(rand() % 512) + 256.0f;
++ TskBuf[id].ty = cast(float)(rand() % 512) + 256.0f;
++ if(TskBuf[id].px < ship_px) TskBuf[id].tx = +TskBuf[id].tx;
++ else TskBuf[id].tx = -TskBuf[id].tx;
++ if(TskBuf[id].py < ship_py) TskBuf[id].ty = +TskBuf[id].ty;
++ else TskBuf[id].ty = -TskBuf[id].ty;
++ if(cast(float)(rand() % 100) > 97) TskBuf[id].tx = -TskBuf[id].tx;
++ if(cast(float)(rand() % 100) > 97) TskBuf[id].ty = -TskBuf[id].ty;
++ TskBuf[id].tx = TskBuf[id].px + TskBuf[id].tx;
++ TskBuf[id].ty = TskBuf[id].py + TskBuf[id].ty;
++ if(TskBuf[id].tx < -ENEMY_AREAMAX) TskBuf[id].tx = -ENEMY_AREAMAX + 1.0f;
++ if(TskBuf[id].tx > +ENEMY_AREAMAX) TskBuf[id].tx = +ENEMY_AREAMAX - 1.0f;
++ if(TskBuf[id].ty < -ENEMY_AREAMAX) TskBuf[id].ty = -ENEMY_AREAMAX + 1.0f;
++ if(TskBuf[id].ty > +ENEMY_AREAMAX) TskBuf[id].ty = +ENEMY_AREAMAX - 1.0f;
++ TskBuf[id].cnt = 180;
++ }else{
++ TskBuf[id].cnt--;
++ }
++ TskBuf[id].px += (TskBuf[id].tx - TskBuf[id].px) / (180 / 4);
++ TskBuf[id].py += (TskBuf[id].ty - TskBuf[id].py) / (180 / 4);
++ TskBuf[id].vx -= TskBuf[id].px;
++ TskBuf[id].vy -= TskBuf[id].py;
+ TskBuf[id].rot = atan2(-TskBuf[id].vx, -TskBuf[id].vy);
+ break;
+ default:
+diff -Naur a2k_src/src/enemy06.d a2k_src-p/src/enemy06.d +--- a2k_src/src/enemy06.d 2008-02-06 01:36:00.000000000 +0100 ++++ a2k_src-p/src/enemy06.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,7 +6,7 @@ + 2004/06/04 jumpei isshiki
+ */
+
+-private import std.math;
++private import std.c.math;
+ private import std.random;
+ private import SDL;
+ private import opengl;
+@@ -65,8 +65,8 @@ + switch(TskBuf[id].step){
+ case 0:
+ TskBuf[id].tskid |= TSKID_ZAKO;
+- TskBuf[id].px = (rand() % 1536) - 768.0f;
+- TskBuf[id].py = (rand() % 1536) - 768.0f;
++ TskBuf[id].px = (cast(float)(rand() % 1536) - 768.0f);
++ TskBuf[id].py = (cast(float)(rand() % 1536) - 768.0f);
+ TskBuf[id].tid = ship_id;
+ TskBuf[id].fp_int = null;
+ TskBuf[id].fp_draw = &TSKenemy06Draw;
+@@ -145,14 +145,14 @@ + TskBuf[id].vx = TskBuf[id].px;
+ TskBuf[id].vy = TskBuf[id].py;
+ if(TskBuf[id].cnt == TskBuf[id].mov_cnt){
+- TskBuf[id].tx = (rand() % 512) + 256.0f;
+- TskBuf[id].ty = (rand() % 512) + 256.0f;
++ TskBuf[id].tx = cast(float)(rand() % 512) + 256.0f;
++ TskBuf[id].ty = cast(float)(rand() % 512) + 256.0f;
+ if(TskBuf[id].px < ship_px) TskBuf[id].tx = +TskBuf[id].tx;
+ else TskBuf[id].tx = -TskBuf[id].tx;
+ if(TskBuf[id].py < ship_py) TskBuf[id].ty = +TskBuf[id].ty;
+ else TskBuf[id].ty = -TskBuf[id].ty;
+- if((rand() % 100) > 97) TskBuf[id].tx = -TskBuf[id].tx;
+- if((rand() % 100) > 97) TskBuf[id].ty = -TskBuf[id].ty;
++ if(cast(float)(rand() % 100) > 97) TskBuf[id].tx = -TskBuf[id].tx;
++ if(cast(float)(rand() % 100) > 97) TskBuf[id].ty = -TskBuf[id].ty;
+ TskBuf[id].tx = TskBuf[id].px + TskBuf[id].tx;
+ TskBuf[id].ty = TskBuf[id].py + TskBuf[id].ty;
+ if(TskBuf[id].tx < -ENEMY_AREAMAX) TskBuf[id].tx = -ENEMY_AREAMAX + 1.0f;
+diff -Naur a2k_src/src/enemy07.d a2k_src-p/src/enemy07.d +--- a2k_src/src/enemy07.d 2008-02-06 01:36:02.000000000 +0100 ++++ a2k_src-p/src/enemy07.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,7 +6,7 @@ + 2004/06/05 jumpei isshiki
+ */
+
+-private import std.math;
++private import std.c.math;
+ private import std.random;
+ private import SDL;
+ private import opengl;
+@@ -63,8 +63,8 @@ + switch(TskBuf[id].step){
+ case 0:
+ TskBuf[id].tskid |= TSKID_ZAKO;
+- TskBuf[id].px = (rand() % 1536) - 768.0f;
+- TskBuf[id].py = (rand() % 1536) - 768.0f;
++ TskBuf[id].px = (cast(float)(rand() % 1536) - 768.0f);
++ TskBuf[id].py = (cast(float)(rand() % 1536) - 768.0f);
+ TskBuf[id].tid = ship_id;
+ TskBuf[id].fp_int = null;
+ TskBuf[id].fp_draw = &TSKenemy07Draw;
+@@ -137,42 +137,31 @@ + }
+ }
+ /* 座標更新 */
+- if(TskBuf[id].px < ship_px){
+- if(TskBuf[id].vx > +0.0f) TskBuf[id].vx += 1.0f / SPEED_RATE * 2.0f;
+- else TskBuf[id].vx += 1.0f / SPEED_RATE * 1.5f;
+- if(TskBuf[id].vx > +MAX_SPEED) TskBuf[id].vx = +MAX_SPEED;
+- }else{
+- if(TskBuf[id].vx < +0.0f) TskBuf[id].vx -= 1.0f / SPEED_RATE * 2.0f;
+- else TskBuf[id].vx -= 1.0f / SPEED_RATE * 1.5f;
+- if(TskBuf[id].vx < -MAX_SPEED) TskBuf[id].vx = -MAX_SPEED;
+- }
+- if(TskBuf[id].py < ship_py){
+- if(TskBuf[id].vy > +0.0f) TskBuf[id].vy += 1.0f / SPEED_RATE * 2.0f;
+- else TskBuf[id].vy += 1.0f / SPEED_RATE * 1.5f;
+- if(TskBuf[id].vy > +MAX_SPEED) TskBuf[id].vy = +MAX_SPEED;
+- }else{
+- if(TskBuf[id].vy < +0.0f) TskBuf[id].vy -= 1.0f / SPEED_RATE * 2.0f;
+- else TskBuf[id].vy -= 1.0f / SPEED_RATE * 1.5f;
+- if(TskBuf[id].vy < -MAX_SPEED) TskBuf[id].vy = -MAX_SPEED;
+- }
+- TskBuf[id].px += TskBuf[id].vx;
+- TskBuf[id].py += TskBuf[id].vy;
+- if(TskBuf[id].px < -ENEMY_AREAMAX){
+- TskBuf[id].px = -ENEMY_AREAMAX;
+- TskBuf[id].vx = -TskBuf[id].vx / 2;
+- }
+- if(TskBuf[id].px > +ENEMY_AREAMAX){
+- TskBuf[id].px = +ENEMY_AREAMAX;
+- TskBuf[id].vx = -TskBuf[id].vx / 2;
+- }
+- if(TskBuf[id].py < -ENEMY_AREAMAX){
+- TskBuf[id].py = -ENEMY_AREAMAX;
+- TskBuf[id].vy = -TskBuf[id].vy / 2;
+- }
+- if(TskBuf[id].py > +ENEMY_AREAMAX){
+- TskBuf[id].py = +ENEMY_AREAMAX;
+- TskBuf[id].vy = -TskBuf[id].vy / 2;
+- }
++ TskBuf[id].vx = TskBuf[id].px;
++ TskBuf[id].vy = TskBuf[id].py;
++ if(!TskBuf[id].cnt){
++ TskBuf[id].tx = cast(float)(rand() % 512) + 256.0f;
++ TskBuf[id].ty = cast(float)(rand() % 512) + 256.0f;
++ if(TskBuf[id].px < ship_px) TskBuf[id].tx = +TskBuf[id].tx;
++ else TskBuf[id].tx = -TskBuf[id].tx;
++ if(TskBuf[id].py < ship_py) TskBuf[id].ty = +TskBuf[id].ty;
++ else TskBuf[id].ty = -TskBuf[id].ty;
++ if(cast(float)(rand() % 100) > 97) TskBuf[id].tx = -TskBuf[id].tx;
++ if(cast(float)(rand() % 100) > 97) TskBuf[id].ty = -TskBuf[id].ty;
++ TskBuf[id].tx = TskBuf[id].px + TskBuf[id].tx;
++ TskBuf[id].ty = TskBuf[id].py + TskBuf[id].ty;
++ if(TskBuf[id].tx < -ENEMY_AREAMAX) TskBuf[id].tx = -ENEMY_AREAMAX + 1.0f;
++ if(TskBuf[id].tx > +ENEMY_AREAMAX) TskBuf[id].tx = +ENEMY_AREAMAX - 1.0f;
++ if(TskBuf[id].ty < -ENEMY_AREAMAX) TskBuf[id].ty = -ENEMY_AREAMAX + 1.0f;
++ if(TskBuf[id].ty > +ENEMY_AREAMAX) TskBuf[id].ty = +ENEMY_AREAMAX - 1.0f;
++ TskBuf[id].cnt = 180;
++ }else{
++ TskBuf[id].cnt--;
++ }
++ TskBuf[id].px += (TskBuf[id].tx - TskBuf[id].px) / (180 / 4);
++ TskBuf[id].py += (TskBuf[id].ty - TskBuf[id].py) / (180 / 4);
++ TskBuf[id].vx -= TskBuf[id].px;
++ TskBuf[id].vy -= TskBuf[id].py;
+ TskBuf[id].rot = atan2(-TskBuf[id].vx, -TskBuf[id].vy);
+ break;
+ default:
+diff -Naur a2k_src/src/enemy08.d a2k_src-p/src/enemy08.d +--- a2k_src/src/enemy08.d 2008-02-06 01:36:04.000000000 +0100 ++++ a2k_src-p/src/enemy08.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,7 +6,7 @@ + 2004/06/05 jumpei isshiki
+ */
+
+-private import std.math;
++private import std.c.math;
+ private import std.random;
+ private import SDL;
+ private import opengl;
+@@ -65,8 +65,8 @@ + switch(TskBuf[id].step){
+ case 0:
+ TskBuf[id].tskid |= TSKID_ZAKO;
+- TskBuf[id].px = (rand() % 1536) - 768.0f;
+- TskBuf[id].py = (rand() % 1536) - 768.0f;
++ TskBuf[id].px = (cast(float)(rand() % 1536) - 768.0f);
++ TskBuf[id].py = (cast(float)(rand() % 1536) - 768.0f);
+ TskBuf[id].tid = ship_id;
+ TskBuf[id].fp_int = null;
+ TskBuf[id].fp_draw = &TSKenemy08Draw;
+diff -Naur a2k_src/src/enemy.d a2k_src-p/src/enemy.d +--- a2k_src/src/enemy.d 2008-02-06 01:35:42.000000000 +0100 ++++ a2k_src-p/src/enemy.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,7 +6,7 @@ + 2004/04/14 jumpei isshiki
+ */
+
+-private import std.math;
++private import std.c.math;
+ private import SDL;
+ private import opengl;
+ private import util_sdl;
+@@ -158,6 +158,7 @@ + return;
+ }
+
++
+ void TSKeshotInt(int id)
+ {
+ TskBuf[id].step = -1;
+@@ -165,6 +166,7 @@ + return;
+ }
+
++
+ void TSKeshotDrawSimple(int id)
+ {
+ float[XYZ] pos;
+@@ -198,6 +200,7 @@ + glEnd();
+ }
+
++
+ void TSKeshotDrawActive(int id)
+ {
+ float[XYZ] pos;
+@@ -231,6 +234,7 @@ + glEnd();
+ }
+
++
+ void TSKeshotExit(int id)
+ {
+ BulletCommand cmd = TskBuf[id].bullet_command;
+@@ -243,6 +247,7 @@ + }
+ }
+
++
+ float getShipDirection(int id)
+ {
+ float px,py;
+@@ -257,3 +262,4 @@ + return dir;
+ }
+
++
+diff -Naur a2k_src/src/init.d a2k_src-p/src/init.d +--- a2k_src/src/init.d 2005-05-19 22:31:30.000000000 +0200 ++++ a2k_src-p/src/init.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,7 +6,7 @@ + 2003/12/01 jumpei isshiki
+ */
+
+-private import std.stdio;
++private import std.c.stdio;
+ private import std.stream;
+ private import util_sdl;
+ private import util_snd;
+@@ -101,7 +101,7 @@ + fd.open("score.dat");
+ if(fd.size() != 12){
+ fd.close();
+- writefln("score.dat initialized");
++ printf("score.dat initialized");
+ fd.create("score.dat");
+ fd.write(high_easy);
+ fd.write(high_normal);
+@@ -112,7 +112,7 @@ + fd.read(high_hard);
+ }
+ } catch (Error e) {
+- writefln("score.dat initialized");
++ printf("score.dat initialized");
+ fd.create("score.dat");
+ fd.write(high_easy);
+ fd.write(high_normal);
+@@ -126,7 +126,7 @@ + try {
+ if(fd.size() != 12){
+ fd.close();
+- writefln("config.dat initialized");
++ printf("config.dat initialized");
+ fd.create("config.dat");
+ fd.write(pad_type);
+ fd.write(vol_se);
+@@ -139,7 +139,7 @@ + volumeSNDmusic(vol_music);
+ }
+ } catch (Error e) {
+- writefln("config.dat initialized");
++ printf("config.dat initialized");
+ fd.create("config.dat");
+ fd.write(pad_type);
+ fd.write(vol_se);
+diff -Naur a2k_src/src/luminous.d a2k_src-p/src/luminous.d +--- a2k_src/src/luminous.d 2008-02-06 01:39:52.000000000 +0100 ++++ a2k_src-p/src/luminous.d 2009-08-27 15:18:28.000000000 +0200 +@@ -7,7 +7,7 @@ + */
+
+ private import std.math;
+-private import std.string;
++private import std.c.string;
+ private import opengl;
+ private import util_sdl;
+ private import task;
+diff -Naur a2k_src/src/main.d a2k_src-p/src/main.d +--- a2k_src/src/main.d 2008-02-07 00:42:58.000000000 +0100 ++++ a2k_src-p/src/main.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,8 +6,9 @@ + 2003/11/28 jumpei isshiki
+ */
+
+-private import std.c.windows.windows;
+-private import SDL;
++//private import std.c.windows.windows;
++private import SDL; ++private import SDL_Keysym;
+ private import opengl;
+ private import util_sdl;
+ private import util_pad;
+@@ -31,25 +32,29 @@ + int pause = 0;
+ int pause_flag = 0;
+ int skip = 0;
+-
++/*
+ extern (Windows)
+ int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
+ {
++*/ ++public int main(char[][] args) { + int result;
+-
++/*
+ gc_init();
+ _minit();
+
+ try{
+ _moduleCtor();
+- _moduleUnitTests();
++ _moduleUnitTests(); ++*/
+ result = boot();
++/* + }catch (Object o){
+ MessageBoxA(null, cast(char*)o.toString(), "Error", MB_OK | MB_ICONEXCLAMATION);
+ result = 0;
+ }
+ gc_term();
+-
++*/
+ return result;
+ }
+
+diff -Naur a2k_src/src/middle01.d a2k_src-p/src/middle01.d +--- a2k_src/src/middle01.d 2008-02-06 01:36:06.000000000 +0100 ++++ a2k_src-p/src/middle01.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,7 +6,7 @@ + 2004/05/05 jumpei isshiki
+ */
+
+-private import std.math;
++private import std.c.math;
+ private import std.random;
+ private import std.string;
+ private import SDL;
+diff -Naur a2k_src/src/middle02.d a2k_src-p/src/middle02.d +--- a2k_src/src/middle02.d 2008-02-06 01:36:08.000000000 +0100 ++++ a2k_src-p/src/middle02.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,7 +6,7 @@ + 2004/06/03 jumpei isshiki
+ */
+
+-private import std.math;
++private import std.c.math;
+ private import std.random;
+ private import std.string;
+ private import SDL;
+diff -Naur a2k_src/src/middle03.d a2k_src-p/src/middle03.d +--- a2k_src/src/middle03.d 2008-02-06 01:36:12.000000000 +0100 ++++ a2k_src-p/src/middle03.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,7 +6,7 @@ + 2004/06/07 jumpei isshiki
+ */
+
+-private import std.math;
++private import std.c.math;
+ private import std.random;
+ private import std.string;
+ private import SDL;
+diff -Naur a2k_src/src/middle04.d a2k_src-p/src/middle04.d +--- a2k_src/src/middle04.d 2008-02-06 01:36:14.000000000 +0100 ++++ a2k_src-p/src/middle04.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,7 +6,7 @@ + 2004/07/05 jumpei isshiki
+ */
+
+-private import std.math;
++private import std.c.math;
+ private import std.random;
+ private import std.string;
+ private import SDL;
+diff -Naur a2k_src/src/middle05.d a2k_src-p/src/middle05.d +--- a2k_src/src/middle05.d 2008-02-06 01:36:16.000000000 +0100 ++++ a2k_src-p/src/middle05.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,7 +6,7 @@ + 2004/07/06 jumpei isshiki
+ */
+
+-private import std.math;
++private import std.c.math;
+ private import std.random;
+ private import std.string;
+ private import SDL;
+diff -Naur a2k_src/src/ship.d a2k_src-p/src/ship.d +--- a2k_src/src/ship.d 2008-02-12 23:41:50.000000000 +0100 ++++ a2k_src-p/src/ship.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,7 +6,7 @@ + 2003/12/01 jumpei isshiki
+ */
+
+-private import std.math;
++private import std.c.math;
+ private import std.intrinsic;
+ private import std.random;
+ private import SDL;
+diff -Naur a2k_src/src/stg.d a2k_src-p/src/stg.d +--- a2k_src/src/stg.d 2005-05-19 22:52:14.000000000 +0200 ++++ a2k_src-p/src/stg.d 2009-08-27 15:18:28.000000000 +0200 +@@ -91,25 +91,36 @@ + void TSKstgCtrl(int id)
+ {
+ switch(TskBuf[id].step){
+- case 0:
++ case 0: + area_num = AREA_01;
+- scene_num = SCENE_01;
+- debug{
+- //area_num = AREA_02;
+- //area_num = AREA_03;
+- //area_num = AREA_04;
+- //area_num = AREA_05;
+- //scene_num = SCENE_02;
+- //scene_num = SCENE_03;
+- //scene_num = SCENE_04;
+- //scene_num = SCENE_05;
+- //scene_num = SCENE_06;
+- //scene_num = SCENE_07;
+- //scene_num = SCENE_08;
+- //scene_num = SCENE_09;
+- //scene_num = SCENE_10;
+- }
+- stg_bgm = -1;
++ scene_num = SCENE_01; ++
++ switch(area_num){
++ case AREA_01:
++ stg_ctrl = STG_MAIN;
++ setTSK(GROUP_01,&TSKstg01);
++ break;
++ case AREA_02:
++ stg_ctrl = STG_MAIN;
++ setTSK(GROUP_01,&TSKstg02);
++ break;
++ case AREA_03:
++ stg_ctrl = STG_MAIN;
++ setTSK(GROUP_01,&TSKstg03);
++ break;
++ case AREA_04:
++ stg_ctrl = STG_MAIN;
++ setTSK(GROUP_01,&TSKstg04);
++ break;
++ case AREA_05:
++ stg_ctrl = STG_MAIN;
++ setTSK(GROUP_01,&TSKstg05);
++ break;
++ default:
++ g_step = GSTEP_CLEAR;
++ break;
++ } ++ stg_bgm = -1; + stg_ctrl = STG_INIT;
+ TskBuf[id].step++;
+ break;
+@@ -177,7 +188,7 @@ + {
+ switch(TskBuf[id].step){
+ case 0:
+- stg_ctrl = STG_INIT;
++// stg_ctrl = ;
+ TskBuf[id].step++;
+ break;
+ case 1:
+diff -Naur a2k_src/src/system.d a2k_src-p/src/system.d +--- a2k_src/src/system.d 2005-05-19 22:31:20.000000000 +0200 ++++ a2k_src-p/src/system.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,7 +6,7 @@ + 2004/03/24 jumpei isshiki
+ */
+
+-private import std.stdio;
++private import std.c.stdio;
+ private import std.math;
+ private import std.random;
+ private import std.string;
+@@ -22,6 +22,11 @@ + private import stg;
+ private import bg;
+ private import ship;
++ ++const real PI = 0x1.921fb54442d1846ap+1; ++const real PI_2 = 1.57079632679489661923; ++const real PI_4 = 0.78539816339744830962; ++const real SQRT2 = 1.41421356237309504880; +
+ private char[] str_buf;
+ private int wrk1_time;
+diff -Naur a2k_src/src/task.d a2k_src-p/src/task.d +--- a2k_src/src/task.d 2008-02-07 00:38:58.000000000 +0100 ++++ a2k_src-p/src/task.d 2009-08-27 15:18:28.000000000 +0200 +@@ -153,7 +153,9 @@ + TskBuf[i].fp_exit = null;
+ TskBuf[i].image = null;
+ TskBuf[i].bullet_command = null;
+- TskBuf[i].bullet_state = null;
++ TskBuf[i].bullet_state = null; ++ TskBuf[i].bullet_accx = 0;
++ TskBuf[i].bullet_accy = 0;
+ }
+ TskBuf[i].tskid = TSKID_NONE;
+ TskBuf[i].entry = -1;
+diff -Naur a2k_src/src/title.d a2k_src-p/src/title.d +--- a2k_src/src/title.d 2008-02-12 23:50:14.000000000 +0100 ++++ a2k_src-p/src/title.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,7 +6,7 @@ + 2004/04/08 jumpei isshiki
+ */
+
+-private import std.stdio;
++private import std.c.stdio;
+ private import std.math;
+ private import std.string;
+ private import SDL;
+diff -Naur a2k_src/src/util_ascii.d a2k_src-p/src/util_ascii.d +--- a2k_src/src/util_ascii.d 2005-05-19 22:30:50.000000000 +0200 ++++ a2k_src-p/src/util_ascii.d 2009-08-27 15:18:28.000000000 +0200 +@@ -13,7 +13,15 @@ +
+ const float ASC_SIZE = (16.0f + 2.0f);
+
+-private float[][] ascii_font = [
++float[][] ascii_font;
++
++
++
++private char[] ascii_dict = "ABCDEFGHIJKLMNOPQRSTUVWXYZ.:!?\"'-=+ 0123456789";
++
++void initASCII()
++{
++static float[][] af = [
+ /* 'A' */
+ [
+ 3, 0, 11, 2,
+@@ -328,10 +336,14 @@ + ],
+ ];
+
+-private char[] ascii_dict = "ABCDEFGHIJKLMNOPQRSTUVWXYZ.:!?\"'-=+ 0123456789";
++ ascii_font.length = af.length;
++ for (int i = 0; i < ascii_font.length; i++) {
++ ascii_font[i].length = af[i].length;
++ for (int j = 0; j < ascii_font[i].length; j++) {
++ ascii_font[i][j] = af[i][j];
++ }
++ }
+
+-void initASCII()
+-{
+ for(int i = 0; i < ascii_font.length; i++){
+ for(int j = 0; j < ascii_font[i].length; j += 4){
+ ascii_font[i][j+2] += 1.0f;
+diff -Naur a2k_src/src/util_pad.d a2k_src-p/src/util_pad.d +--- a2k_src/src/util_pad.d 2008-02-12 23:46:38.000000000 +0100 ++++ a2k_src-p/src/util_pad.d 2009-08-27 15:18:28.000000000 +0200 +@@ -7,7 +7,8 @@ + */
+
+ private import SDL;
+-
++private import SDL_Keysym; ++private import SDL_keyboard;
+ enum{
+ PAD_UP = 0x01,
+ PAD_DOWN = 0x02,
+diff -Naur a2k_src/src/util_sdl.d a2k_src-p/src/util_sdl.d +--- a2k_src/src/util_sdl.d 2008-02-06 01:41:02.000000000 +0100 ++++ a2k_src-p/src/util_sdl.d 2009-08-27 15:18:28.000000000 +0200 +@@ -6,9 +6,12 @@ + 2003/11/28 jumpei isshiki
+ */
+
++private import std.stdio;
+ private import std.string;
+-private import SDL;
++private import SDL; ++private import SDL_mouse;
+ private import opengl;
++private import util_pad;
+ private import define;
+
+ enum{
+@@ -30,11 +33,18 @@ + EX,
+ EY,
+ }
+-
++ ++struct VEC_POS {
++ float px;
++ float py;
++ float pz;
++}
+
+ SDL_Surface* primary;
+ SDL_Surface*[] offscreen;
+-
++ ++const float SCREEN_RATIOX = cast(float)(SCREEN_X / 2.0f);
++const float SCREEN_RATIOY = cast(float)(SCREEN_Y / 2.0f);
+ const float BASE_Z = 2.0f;
+ float cam_scr = -0.75f;
+ float cam_pos;
+@@ -43,20 +53,27 @@ + private int height = SCREEN_Y;
+ private float nearPlane = 0.0f;
+ private float farPlane = 1000.0f;
+-
++private GLuint TEXTURE_NONE = 0xffffffff;
+ private GLuint[] tex_bank;
+
+-int initSDL()
++int initSDL() ++
+ {
+ if(SDL_Init(SDL_INIT_VIDEO|SDL_INIT_JOYSTICK) < 0){
+ return 0;
+ }
+
+ Uint32 videoFlags;
+- videoFlags = SDL_OPENGL | SDL_FULLSCREEN;
++// videoFlags = SDL_OPENGL | SDL_FULLSCREEN;
+ //videoFlags = SDL_OPENGL | SDL_RESIZABLE;
+ debug{
+- videoFlags = SDL_OPENGL | SDL_RESIZABLE;
++ if((pads & PAD_BUTTON1)){
++ videoFlags = SDL_OPENGL | SDL_FULLSCREEN;
++ }else{
++ videoFlags = SDL_OPENGL | SDL_RESIZABLE;
++ }
++ }else{
++ videoFlags = SDL_OPENGL | SDL_FULLSCREEN;
+ }
+ primary = SDL_SetVideoMode(width, height, 0, videoFlags);
+ if(primary == null){
+@@ -67,14 +84,15 @@ + tex_bank.length = SURFACE_MAX;
+ for(int i = 0; i < SURFACE_MAX; i++){
+ offscreen[i] = null;
+- tex_bank[i] = cast(GLuint)-1;
++ tex_bank[i] = TEXTURE_NONE;
+ }
+
+ glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
+ resizedSDL(width, height);
+ SDL_ShowCursor(SDL_DISABLE);
+
+- SDL_WM_SetCaption(cast(char*)PROJECT_NAME, null);
++ SDL_WM_SetCaption(cast(char*)PROJECT_NAME, null); ++ SDL_WM_SetIcon(SDL_LoadBMP("icon.bmp"), null);
+
+ return 1;
+ }
+@@ -96,9 +114,9 @@ + SDL_ShowCursor(SDL_ENABLE);
+ SDL_Quit();
+ }
++ +
+-
+-void readSDLtexture(char[] fname, int bank)
++void readSDLtexture(char[] fname, int bank)
+ {
+ offscreen[bank] = SDL_LoadBMP(toStringz(fname));
+ if(offscreen[bank]){
+@@ -110,31 +128,28 @@ + }
+ }
+
+-
+-void bindSDLtexture(int bank)
++void bindSDLtexture(int bank)
+ {
+- if(tex_bank[bank] != -1) glBindTexture(GL_TEXTURE_2D, tex_bank[bank]);
++ if(tex_bank[bank] != TEXTURE_NONE) glBindTexture(GL_TEXTURE_2D, tex_bank[bank]);
+ }
+
+-
+-void clearSDL()
++void clearSDL()
+ {
+ glClear(GL_COLOR_BUFFER_BIT);
+ }
+
+-
+-void flipSDL()
++void flipSDL()
+ {
+ glFlush();
+ SDL_GL_SwapBuffers();
+ }
+
+-
+-void resizedSDL(int w, int h)
++void resizedSDL(int w, int h)
+ {
+ glViewport(0, 0, w, h);
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
++ w = (w ? w : 1);
+ glFrustum(-nearPlane,nearPlane,
+ -nearPlane * h / w,
+ nearPlane * h / w,
diff --git a/games-action/area2048/files/area2048-1.03.diff b/games-action/area2048/files/area2048-1.03.diff deleted file mode 100644 index 4b12836..0000000 --- a/games-action/area2048/files/area2048-1.03.diff +++ /dev/null @@ -1,2469 +0,0 @@ -diff -Naur a2k-org/a2k_src/import/opengl.d a2k/a2k_src/import/opengl.d ---- a2k-org/a2k_src/import/opengl.d 2008-02-12 22:20:18.000000000 +0100 -+++ a2k/a2k_src/import/opengl.d 2008-10-07 10:47:18.000000000 +0200 -@@ -1,16 +1,6 @@ --version (Win32) {
-- import std.c.windows.windows;
--}
--extern(System):
--
--/* Please use this code with old D compiler.
--version (Win32) {
-- extern(Windows):
--}
--else {
-+
- extern(C):
--}
--*/
-+
-
- alias uint GLenum;
- alias ubyte GLboolean;
-@@ -1122,7 +1112,7 @@ - /*************************************************************/
-
- void /*APIENTRY*/glAccum (GLenum op, GLfloat value);
--void /*APIENTRY*/glAlphaFunc (GLenum func, GLclampf cref);
-+void /*APIENTRY*/glAlphaFunc (GLenum func, GLclampf);
- GLboolean /*APIENTRY*/glAreTexturesResident (GLsizei n, GLuint *textures, GLboolean *residences);
- void /*APIENTRY*/glArrayElement (GLint i);
- void /*APIENTRY*/glBegin (GLenum mode);
-@@ -1375,7 +1365,7 @@ - void /*APIENTRY*/glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
- void /*APIENTRY*/glSelectBuffer (GLsizei size, GLuint *buffer);
- void /*APIENTRY*/glShadeModel (GLenum mode);
--void /*APIENTRY*/glStencilFunc (GLenum func, GLint cref, GLuint mask);
-+void /*APIENTRY*/glStencilFunc (GLenum func, GLint, GLuint mask);
- void /*APIENTRY*/glStencilMask (GLuint mask);
- void /*APIENTRY*/glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
- void /*APIENTRY*/glTexCoord1d (GLdouble s);
-diff -Naur a2k-org/a2k_src/import/openglu.d a2k/a2k_src/import/openglu.d ---- a2k-org/a2k_src/import/openglu.d 2008-02-12 22:20:14.000000000 +0100 -+++ a2k/a2k_src/import/openglu.d 2008-10-07 10:47:18.000000000 +0200 -@@ -1,15 +1,6 @@ --import opengl;
-
--extern(System):
--
--/* Please use this code with old D compiler.
--version (Win32) {
-- extern(Windows):
--}
--else {
- extern(C):
--}
--*/
-+
-
- GLubyte* gluErrorString (
- GLenum errCode);
-diff -Naur a2k-org/a2k_src/import/SDL_active.d a2k/a2k_src/import/SDL_active.d ---- a2k-org/a2k_src/import/SDL_active.d 2006-07-26 23:24:30.000000000 +0200 -+++ a2k/a2k_src/import/SDL_active.d 2002-01-04 15:25:02.000000000 +0100 -@@ -22,7 +22,7 @@ - - /* Include file for SDL application focus event handling */ - --public import SDL_types; -+import SDL_types; - - extern(C): - -diff -Naur a2k-org/a2k_src/import/SDL_audio.d a2k/a2k_src/import/SDL_audio.d ---- a2k-org/a2k_src/import/SDL_audio.d 2006-07-26 23:24:40.000000000 +0200 -+++ a2k/a2k_src/import/SDL_audio.d 2002-05-22 07:38:58.000000000 +0200 -@@ -20,10 +20,10 @@ - slouken@devolution.com - */ - --public import SDL_types; --public import SDL_error; --public import SDL_rwops; --public import SDL_byteorder; -+import SDL_types; -+import SDL_error; -+import SDL_rwops; -+import SDL_byteorder; - - extern(C): - -diff -Naur a2k-org/a2k_src/import/SDL_cdrom.d a2k/a2k_src/import/SDL_cdrom.d ---- a2k-org/a2k_src/import/SDL_cdrom.d 2006-07-26 23:24:42.000000000 +0200 -+++ a2k/a2k_src/import/SDL_cdrom.d 2002-05-22 07:44:28.000000000 +0200 -@@ -22,7 +22,7 @@ - - /* This is the CD-audio control API for Simple DirectMedia Layer */ - --public import SDL_types; -+import SDL_types; - - extern(C): - -diff -Naur a2k-org/a2k_src/import/SDL.d a2k/a2k_src/import/SDL.d ---- a2k-org/a2k_src/import/SDL.d 2006-07-26 23:24:12.000000000 +0200 -+++ a2k/a2k_src/import/SDL.d 2008-10-07 10:47:18.000000000 +0200 -@@ -33,60 +33,60 @@ - public import SDL_byteorder; - public import SDL_Version; - --extern(C): -- --/* As of version 0.5, SDL is loaded dynamically into the application */ -- --/* These are the flags which may be passed to SDL_Init() -- you should -- specify the subsystems which you will be using in your application. --*/ --const uint SDL_INIT_TIMER = 0x00000001; --const uint SDL_INIT_AUDIO = 0x00000010; --const uint SDL_INIT_VIDEO = 0x00000020; --const uint SDL_INIT_CDROM = 0x00000100; --const uint SDL_INIT_JOYSTICK = 0x00000200; --const uint SDL_INIT_NOPARACHUTE = 0x00100000; /* Don't catch fatal signals */ --const uint SDL_INIT_EVENTTHREAD = 0x01000000; /* Not supported on all OS's */ --const uint SDL_INIT_EVERYTHING = 0x0000FFFF; -- --/* This function loads the SDL dynamically linked library and initializes -- * the subsystems specified by 'flags' (and those satisfying dependencies) -- * Unless the SDL_INIT_NOPARACHUTE flag is set, it will install cleanup -- * signal handlers for some commonly ignored fatal signals (like SIGSEGV) -- */ --int SDL_Init(Uint32 flags); -- --/* This function initializes specific SDL subsystems */ --int SDL_InitSubSystem(Uint32 flags); -- --/* This function cleans up specific SDL subsystems */ --void SDL_QuitSubSystem(Uint32 flags); -- --/* This function returns mask of the specified subsystems which have -- been initialized. -- If 'flags' is 0, it returns a mask of all initialized subsystems. --*/ --Uint32 SDL_WasInit(Uint32 flags); -- --/* This function cleans up all initialized subsystems and unloads the -- * dynamically linked library. You should call it upon all exit conditions. -- */ --void SDL_Quit(); -- --void SDL_SetModuleHandle(void *hInst); --//extern(Windows) void* GetModuleHandle(char*); --extern(Windows) void* GetModuleHandleA(char*); -- --static this() --{ -- /* Load SDL dynamic link library */ -- if (SDL_Init(SDL_INIT_NOPARACHUTE) < 0) -- throw new Error("Error loading SDL"); --// SDL_SetModuleHandle(GetModuleHandle(null)); -- SDL_SetModuleHandle(GetModuleHandleA(null)); --} -- --static ~this() --{ -- SDL_Quit(); --} -+extern(C):
-+
-+/* As of version 0.5, SDL is loaded dynamically into the application */
-+
-+/* These are the flags which may be passed to SDL_Init() -- you should
-+ specify the subsystems which you will be using in your application.
-+*/
-+const uint SDL_INIT_TIMER = 0x00000001;
-+const uint SDL_INIT_AUDIO = 0x00000010;
-+const uint SDL_INIT_VIDEO = 0x00000020;
-+const uint SDL_INIT_CDROM = 0x00000100;
-+const uint SDL_INIT_JOYSTICK = 0x00000200;
-+const uint SDL_INIT_NOPARACHUTE = 0x00100000; /* Don't catch fatal signals */
-+const uint SDL_INIT_EVENTTHREAD = 0x01000000; /* Not supported on all OS's */
-+const uint SDL_INIT_EVERYTHING = 0x0000FFFF;
-+
-+/* This function loads the SDL dynamically linked library and initializes
-+ * the subsystems specified by 'flags' (and those satisfying dependencies)
-+ * Unless the SDL_INIT_NOPARACHUTE flag is set, it will install cleanup
-+ * signal handlers for some commonly ignored fatal signals (like SIGSEGV)
-+ */
-+int SDL_Init(Uint32 flags);
-+
-+/* This function initializes specific SDL subsystems */
-+int SDL_InitSubSystem(Uint32 flags);
-+
-+/* This function cleans up specific SDL subsystems */
-+void SDL_QuitSubSystem(Uint32 flags);
-+
-+/* This function returns mask of the specified subsystems which have
-+ been initialized.
-+ If 'flags' is 0, it returns a mask of all initialized subsystems.
-+*/
-+Uint32 SDL_WasInit(Uint32 flags);
-+
-+/* This function cleans up all initialized subsystems and unloads the
-+ * dynamically linked library. You should call it upon all exit conditions.
-+ */
-+void SDL_Quit();
-+
-+/+
-+void SDL_SetModuleHandle(void *hInst);
-+extern(Windows) void* GetModuleHandle(char*);
-+
-+static this()
-+{
-+ /* Load SDL dynamic link library */
-+ if (SDL_Init(SDL_INIT_NOPARACHUTE) < 0)
-+ throw new Error("Error loading SDL");
-+ SDL_SetModuleHandle(GetModuleHandle(null));
-+}
-+
-+static ~this()
-+{
-+ SDL_Quit();
-+}
-++/ -diff -Naur a2k-org/a2k_src/import/SDL_endian.d a2k/a2k_src/import/SDL_endian.d ---- a2k-org/a2k_src/import/SDL_endian.d 2006-09-14 01:57:50.000000000 +0200 -+++ a2k/a2k_src/import/SDL_endian.d 2004-05-08 12:55:52.000000000 +0200 -@@ -34,9 +34,9 @@ - and other data sources. - */ - --public import SDL_types; --public import SDL_rwops; --public import SDL_byteorder; -+import SDL_types; -+import SDL_rwops; -+import SDL_byteorder; - - extern(C): - -@@ -47,7 +47,7 @@ - */ - - Uint16 SDL_Swap16(Uint16 D) { -- return cast(Uint16)((D<<8)|(D>>8)); -+ return((D<<8)|(D>>8)); - } - - Uint32 SDL_Swap32(Uint32 D) { -diff -Naur a2k-org/a2k_src/import/SDL_events.d a2k/a2k_src/import/SDL_events.d ---- a2k-org/a2k_src/import/SDL_events.d 2006-07-26 23:25:46.000000000 +0200 -+++ a2k/a2k_src/import/SDL_events.d 2008-10-07 10:47:18.000000000 +0200 -@@ -22,12 +22,12 @@ - - /* Include file for SDL event handling */ - --public import SDL_types; --public import SDL_active; --public import SDL_keyboard; --public import SDL_mouse; --public import SDL_joystick; --public import SDL_syswm; -+import SDL_types; -+import SDL_active; -+import SDL_keyboard; -+import SDL_mouse; -+import SDL_joystick; -+import SDL_syswm; - - extern(C): - -@@ -304,7 +304,7 @@ - If 'state' is set to SDL_QUERY, SDL_EventState() will return the - current processing state of the specified event. - */ --const int SDL_QUERY = -1; -+const uint SDL_QUERY = -1; - const uint SDL_IGNORE = 0; - const uint SDL_DISABLE = 0; - const uint SDL_ENABLE = 1; -diff -Naur a2k-org/a2k_src/import/SDL_image.d a2k/a2k_src/import/SDL_image.d ---- a2k-org/a2k_src/import/SDL_image.d 2006-07-26 23:24:58.000000000 +0200 -+++ a2k/a2k_src/import/SDL_image.d 2004-05-08 14:09:32.000000000 +0200 -@@ -26,7 +26,7 @@ - - /* A simple library to load images of various formats as SDL surfaces */ - --public import SDL; -+import SDL; - - extern (C) { - -diff -Naur a2k-org/a2k_src/import/SDL_joystick.d a2k/a2k_src/import/SDL_joystick.d ---- a2k-org/a2k_src/import/SDL_joystick.d 2006-07-26 23:25:10.000000000 +0200 -+++ a2k/a2k_src/import/SDL_joystick.d 2002-01-04 15:24:10.000000000 +0100 -@@ -22,7 +22,7 @@ - - /* Include file for SDL joystick event handling */ - --public import SDL_types; -+import SDL_types; - - extern(C): - -diff -Naur a2k-org/a2k_src/import/SDL_keyboard.d a2k/a2k_src/import/SDL_keyboard.d ---- a2k-org/a2k_src/import/SDL_keyboard.d 2006-07-26 23:25:14.000000000 +0200 -+++ a2k/a2k_src/import/SDL_keyboard.d 2002-01-04 15:28:12.000000000 +0100 -@@ -22,11 +22,11 @@ - - /* Include file for SDL keyboard event handling */ - --public import SDL_types; -+import SDL_types; - // !!! A hack! struct SDL_keysym is defined in this module, - // !!! so we need to resolve the nameclash... - // !!! Definitely won't work on *NIX but for now will do. --public import SDL_Keysym; -+import SDL_Keysym; - - extern(C): - -diff -Naur a2k-org/a2k_src/import/SDL_keysym.d a2k/a2k_src/import/SDL_keysym.d ---- a2k-org/a2k_src/import/SDL_keysym.d 2002-01-04 23:31:22.000000000 +0100 -+++ a2k/a2k_src/import/SDL_keysym.d 1970-01-01 01:00:00.000000000 +0100 -@@ -1,308 +0,0 @@ --/* -- SDL - Simple DirectMedia Layer -- Copyright (C) 1997, 1998, 1999, 2000, 2001 Sam Lantinga -- -- This library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Library General Public -- License as published by the Free Software Foundation; either -- version 2 of the License, or (at your option) any later version. -- -- This library is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Library General Public License for more details. -- -- You should have received a copy of the GNU Library General Public -- License along with this library; if not, write to the Free -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -- -- Sam Lantinga -- slouken@devolution.com --*/ -- --/* What we really want is a mapping of every raw key on the keyboard. -- To support international keyboards, we use the range 0xA1 - 0xFF -- as international virtual keycodes. We'll follow in the footsteps of X11... -- The names of the keys -- */ -- --alias int SDLKey; --enum { -- /* The keyboard syms have been cleverly chosen to map to ASCII */ -- SDLK_UNKNOWN = 0, -- SDLK_FIRST = 0, -- SDLK_BACKSPACE = 8, -- SDLK_TAB = 9, -- SDLK_CLEAR = 12, -- SDLK_RETURN = 13, -- SDLK_PAUSE = 19, -- SDLK_ESCAPE = 27, -- SDLK_SPACE = 32, -- SDLK_EXCLAIM = 33, -- SDLK_QUOTEDBL = 34, -- SDLK_HASH = 35, -- SDLK_DOLLAR = 36, -- SDLK_AMPERSAND = 38, -- SDLK_QUOTE = 39, -- SDLK_LEFTPAREN = 40, -- SDLK_RIGHTPAREN = 41, -- SDLK_ASTERISK = 42, -- SDLK_PLUS = 43, -- SDLK_COMMA = 44, -- SDLK_MINUS = 45, -- SDLK_PERIOD = 46, -- SDLK_SLASH = 47, -- SDLK_0 = 48, -- SDLK_1 = 49, -- SDLK_2 = 50, -- SDLK_3 = 51, -- SDLK_4 = 52, -- SDLK_5 = 53, -- SDLK_6 = 54, -- SDLK_7 = 55, -- SDLK_8 = 56, -- SDLK_9 = 57, -- SDLK_COLON = 58, -- SDLK_SEMICOLON = 59, -- SDLK_LESS = 60, -- SDLK_EQUALS = 61, -- SDLK_GREATER = 62, -- SDLK_QUESTION = 63, -- SDLK_AT = 64, -- /* -- Skip uppercase letters -- */ -- SDLK_LEFTBRACKET = 91, -- SDLK_BACKSLASH = 92, -- SDLK_RIGHTBRACKET = 93, -- SDLK_CARET = 94, -- SDLK_UNDERSCORE = 95, -- SDLK_BACKQUOTE = 96, -- SDLK_a = 97, -- SDLK_b = 98, -- SDLK_c = 99, -- SDLK_d = 100, -- SDLK_e = 101, -- SDLK_f = 102, -- SDLK_g = 103, -- SDLK_h = 104, -- SDLK_i = 105, -- SDLK_j = 106, -- SDLK_k = 107, -- SDLK_l = 108, -- SDLK_m = 109, -- SDLK_n = 110, -- SDLK_o = 111, -- SDLK_p = 112, -- SDLK_q = 113, -- SDLK_r = 114, -- SDLK_s = 115, -- SDLK_t = 116, -- SDLK_u = 117, -- SDLK_v = 118, -- SDLK_w = 119, -- SDLK_x = 120, -- SDLK_y = 121, -- SDLK_z = 122, -- SDLK_DELETE = 127, -- /* End of ASCII mapped keysyms */ -- -- /* International keyboard syms */ -- SDLK_WORLD_0 = 160, /* 0xA0 */ -- SDLK_WORLD_1 = 161, -- SDLK_WORLD_2 = 162, -- SDLK_WORLD_3 = 163, -- SDLK_WORLD_4 = 164, -- SDLK_WORLD_5 = 165, -- SDLK_WORLD_6 = 166, -- SDLK_WORLD_7 = 167, -- SDLK_WORLD_8 = 168, -- SDLK_WORLD_9 = 169, -- SDLK_WORLD_10 = 170, -- SDLK_WORLD_11 = 171, -- SDLK_WORLD_12 = 172, -- SDLK_WORLD_13 = 173, -- SDLK_WORLD_14 = 174, -- SDLK_WORLD_15 = 175, -- SDLK_WORLD_16 = 176, -- SDLK_WORLD_17 = 177, -- SDLK_WORLD_18 = 178, -- SDLK_WORLD_19 = 179, -- SDLK_WORLD_20 = 180, -- SDLK_WORLD_21 = 181, -- SDLK_WORLD_22 = 182, -- SDLK_WORLD_23 = 183, -- SDLK_WORLD_24 = 184, -- SDLK_WORLD_25 = 185, -- SDLK_WORLD_26 = 186, -- SDLK_WORLD_27 = 187, -- SDLK_WORLD_28 = 188, -- SDLK_WORLD_29 = 189, -- SDLK_WORLD_30 = 190, -- SDLK_WORLD_31 = 191, -- SDLK_WORLD_32 = 192, -- SDLK_WORLD_33 = 193, -- SDLK_WORLD_34 = 194, -- SDLK_WORLD_35 = 195, -- SDLK_WORLD_36 = 196, -- SDLK_WORLD_37 = 197, -- SDLK_WORLD_38 = 198, -- SDLK_WORLD_39 = 199, -- SDLK_WORLD_40 = 200, -- SDLK_WORLD_41 = 201, -- SDLK_WORLD_42 = 202, -- SDLK_WORLD_43 = 203, -- SDLK_WORLD_44 = 204, -- SDLK_WORLD_45 = 205, -- SDLK_WORLD_46 = 206, -- SDLK_WORLD_47 = 207, -- SDLK_WORLD_48 = 208, -- SDLK_WORLD_49 = 209, -- SDLK_WORLD_50 = 210, -- SDLK_WORLD_51 = 211, -- SDLK_WORLD_52 = 212, -- SDLK_WORLD_53 = 213, -- SDLK_WORLD_54 = 214, -- SDLK_WORLD_55 = 215, -- SDLK_WORLD_56 = 216, -- SDLK_WORLD_57 = 217, -- SDLK_WORLD_58 = 218, -- SDLK_WORLD_59 = 219, -- SDLK_WORLD_60 = 220, -- SDLK_WORLD_61 = 221, -- SDLK_WORLD_62 = 222, -- SDLK_WORLD_63 = 223, -- SDLK_WORLD_64 = 224, -- SDLK_WORLD_65 = 225, -- SDLK_WORLD_66 = 226, -- SDLK_WORLD_67 = 227, -- SDLK_WORLD_68 = 228, -- SDLK_WORLD_69 = 229, -- SDLK_WORLD_70 = 230, -- SDLK_WORLD_71 = 231, -- SDLK_WORLD_72 = 232, -- SDLK_WORLD_73 = 233, -- SDLK_WORLD_74 = 234, -- SDLK_WORLD_75 = 235, -- SDLK_WORLD_76 = 236, -- SDLK_WORLD_77 = 237, -- SDLK_WORLD_78 = 238, -- SDLK_WORLD_79 = 239, -- SDLK_WORLD_80 = 240, -- SDLK_WORLD_81 = 241, -- SDLK_WORLD_82 = 242, -- SDLK_WORLD_83 = 243, -- SDLK_WORLD_84 = 244, -- SDLK_WORLD_85 = 245, -- SDLK_WORLD_86 = 246, -- SDLK_WORLD_87 = 247, -- SDLK_WORLD_88 = 248, -- SDLK_WORLD_89 = 249, -- SDLK_WORLD_90 = 250, -- SDLK_WORLD_91 = 251, -- SDLK_WORLD_92 = 252, -- SDLK_WORLD_93 = 253, -- SDLK_WORLD_94 = 254, -- SDLK_WORLD_95 = 255, /* 0xFF */ -- -- /* Numeric keypad */ -- SDLK_KP0 = 256, -- SDLK_KP1 = 257, -- SDLK_KP2 = 258, -- SDLK_KP3 = 259, -- SDLK_KP4 = 260, -- SDLK_KP5 = 261, -- SDLK_KP6 = 262, -- SDLK_KP7 = 263, -- SDLK_KP8 = 264, -- SDLK_KP9 = 265, -- SDLK_KP_PERIOD = 266, -- SDLK_KP_DIVIDE = 267, -- SDLK_KP_MULTIPLY = 268, -- SDLK_KP_MINUS = 269, -- SDLK_KP_PLUS = 270, -- SDLK_KP_ENTER = 271, -- SDLK_KP_EQUALS = 272, -- -- /* Arrows + Home/End pad */ -- SDLK_UP = 273, -- SDLK_DOWN = 274, -- SDLK_RIGHT = 275, -- SDLK_LEFT = 276, -- SDLK_INSERT = 277, -- SDLK_HOME = 278, -- SDLK_END = 279, -- SDLK_PAGEUP = 280, -- SDLK_PAGEDOWN = 281, -- -- /* Function keys */ -- SDLK_F1 = 282, -- SDLK_F2 = 283, -- SDLK_F3 = 284, -- SDLK_F4 = 285, -- SDLK_F5 = 286, -- SDLK_F6 = 287, -- SDLK_F7 = 288, -- SDLK_F8 = 289, -- SDLK_F9 = 290, -- SDLK_F10 = 291, -- SDLK_F11 = 292, -- SDLK_F12 = 293, -- SDLK_F13 = 294, -- SDLK_F14 = 295, -- SDLK_F15 = 296, -- -- /* Key state modifier keys */ -- SDLK_NUMLOCK = 300, -- SDLK_CAPSLOCK = 301, -- SDLK_SCROLLOCK = 302, -- SDLK_RSHIFT = 303, -- SDLK_LSHIFT = 304, -- SDLK_RCTRL = 305, -- SDLK_LCTRL = 306, -- SDLK_RALT = 307, -- SDLK_LALT = 308, -- SDLK_RMETA = 309, -- SDLK_LMETA = 310, -- SDLK_LSUPER = 311, /* Left "Windows" key */ -- SDLK_RSUPER = 312, /* Right "Windows" key */ -- SDLK_MODE = 313, /* "Alt Gr" key */ -- SDLK_COMPOSE = 314, /* Multi-key compose key */ -- -- /* Miscellaneous function keys */ -- SDLK_HELP = 315, -- SDLK_PRINT = 316, -- SDLK_SYSREQ = 317, -- SDLK_BREAK = 318, -- SDLK_MENU = 319, -- SDLK_POWER = 320, /* Power Macintosh power key */ -- SDLK_EURO = 321, /* Some european keyboards */ -- SDLK_UNDO = 322, /* Atari keyboard has Undo */ -- -- /* Add any other keys here */ -- -- SDLK_LAST --} -- --/* Enumeration of valid key mods (possibly OR'd together) */ --alias int SDLMod; --enum { -- KMOD_NONE = 0x0000, -- KMOD_LSHIFT= 0x0001, -- KMOD_RSHIFT= 0x0002, -- KMOD_LCTRL = 0x0040, -- KMOD_RCTRL = 0x0080, -- KMOD_LALT = 0x0100, -- KMOD_RALT = 0x0200, -- KMOD_LMETA = 0x0400, -- KMOD_RMETA = 0x0800, -- KMOD_NUM = 0x1000, -- KMOD_CAPS = 0x2000, -- KMOD_MODE = 0x4000, -- KMOD_RESERVED = 0x8000 --} -- --const uint KMOD_CTRL = (KMOD_LCTRL|KMOD_RCTRL); --const uint KMOD_SHIFT = (KMOD_LSHIFT|KMOD_RSHIFT); --const uint KMOD_ALT = (KMOD_LALT|KMOD_RALT); --const uint KMOD_META = (KMOD_LMETA|KMOD_RMETA); -diff -Naur a2k-org/a2k_src/import/SDL_Keysym.d a2k/a2k_src/import/SDL_Keysym.d ---- a2k-org/a2k_src/import/SDL_Keysym.d 1970-01-01 01:00:00.000000000 +0100 -+++ a2k/a2k_src/import/SDL_Keysym.d 2008-10-07 10:47:18.000000000 +0200 -@@ -0,0 +1,308 @@ -+/* -+ SDL - Simple DirectMedia Layer -+ Copyright (C) 1997, 1998, 1999, 2000, 2001 Sam Lantinga -+ -+ This library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Library General Public -+ License as published by the Free Software Foundation; either -+ version 2 of the License, or (at your option) any later version. -+ -+ This library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Library General Public License for more details. -+ -+ You should have received a copy of the GNU Library General Public -+ License along with this library; if not, write to the Free -+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -+ -+ Sam Lantinga -+ slouken@devolution.com -+*/ -+ -+/* What we really want is a mapping of every raw key on the keyboard. -+ To support international keyboards, we use the range 0xA1 - 0xFF -+ as international virtual keycodes. We'll follow in the footsteps of X11... -+ The names of the keys -+ */ -+ -+alias int SDLKey; -+enum { -+ /* The keyboard syms have been cleverly chosen to map to ASCII */ -+ SDLK_UNKNOWN = 0, -+ SDLK_FIRST = 0, -+ SDLK_BACKSPACE = 8, -+ SDLK_TAB = 9, -+ SDLK_CLEAR = 12, -+ SDLK_RETURN = 13, -+ SDLK_PAUSE = 19, -+ SDLK_ESCAPE = 27, -+ SDLK_SPACE = 32, -+ SDLK_EXCLAIM = 33, -+ SDLK_QUOTEDBL = 34, -+ SDLK_HASH = 35, -+ SDLK_DOLLAR = 36, -+ SDLK_AMPERSAND = 38, -+ SDLK_QUOTE = 39, -+ SDLK_LEFTPAREN = 40, -+ SDLK_RIGHTPAREN = 41, -+ SDLK_ASTERISK = 42, -+ SDLK_PLUS = 43, -+ SDLK_COMMA = 44, -+ SDLK_MINUS = 45, -+ SDLK_PERIOD = 46, -+ SDLK_SLASH = 47, -+ SDLK_0 = 48, -+ SDLK_1 = 49, -+ SDLK_2 = 50, -+ SDLK_3 = 51, -+ SDLK_4 = 52, -+ SDLK_5 = 53, -+ SDLK_6 = 54, -+ SDLK_7 = 55, -+ SDLK_8 = 56, -+ SDLK_9 = 57, -+ SDLK_COLON = 58, -+ SDLK_SEMICOLON = 59, -+ SDLK_LESS = 60, -+ SDLK_EQUALS = 61, -+ SDLK_GREATER = 62, -+ SDLK_QUESTION = 63, -+ SDLK_AT = 64, -+ /* -+ Skip uppercase letters -+ */ -+ SDLK_LEFTBRACKET = 91, -+ SDLK_BACKSLASH = 92, -+ SDLK_RIGHTBRACKET = 93, -+ SDLK_CARET = 94, -+ SDLK_UNDERSCORE = 95, -+ SDLK_BACKQUOTE = 96, -+ SDLK_a = 97, -+ SDLK_b = 98, -+ SDLK_c = 99, -+ SDLK_d = 100, -+ SDLK_e = 101, -+ SDLK_f = 102, -+ SDLK_g = 103, -+ SDLK_h = 104, -+ SDLK_i = 105, -+ SDLK_j = 106, -+ SDLK_k = 107, -+ SDLK_l = 108, -+ SDLK_m = 109, -+ SDLK_n = 110, -+ SDLK_o = 111, -+ SDLK_p = 112, -+ SDLK_q = 113, -+ SDLK_r = 114, -+ SDLK_s = 115, -+ SDLK_t = 116, -+ SDLK_u = 117, -+ SDLK_v = 118, -+ SDLK_w = 119, -+ SDLK_x = 120, -+ SDLK_y = 121, -+ SDLK_z = 122, -+ SDLK_DELETE = 127, -+ /* End of ASCII mapped keysyms */ -+ -+ /* International keyboard syms */ -+ SDLK_WORLD_0 = 160, /* 0xA0 */ -+ SDLK_WORLD_1 = 161, -+ SDLK_WORLD_2 = 162, -+ SDLK_WORLD_3 = 163, -+ SDLK_WORLD_4 = 164, -+ SDLK_WORLD_5 = 165, -+ SDLK_WORLD_6 = 166, -+ SDLK_WORLD_7 = 167, -+ SDLK_WORLD_8 = 168, -+ SDLK_WORLD_9 = 169, -+ SDLK_WORLD_10 = 170, -+ SDLK_WORLD_11 = 171, -+ SDLK_WORLD_12 = 172, -+ SDLK_WORLD_13 = 173, -+ SDLK_WORLD_14 = 174, -+ SDLK_WORLD_15 = 175, -+ SDLK_WORLD_16 = 176, -+ SDLK_WORLD_17 = 177, -+ SDLK_WORLD_18 = 178, -+ SDLK_WORLD_19 = 179, -+ SDLK_WORLD_20 = 180, -+ SDLK_WORLD_21 = 181, -+ SDLK_WORLD_22 = 182, -+ SDLK_WORLD_23 = 183, -+ SDLK_WORLD_24 = 184, -+ SDLK_WORLD_25 = 185, -+ SDLK_WORLD_26 = 186, -+ SDLK_WORLD_27 = 187, -+ SDLK_WORLD_28 = 188, -+ SDLK_WORLD_29 = 189, -+ SDLK_WORLD_30 = 190, -+ SDLK_WORLD_31 = 191, -+ SDLK_WORLD_32 = 192, -+ SDLK_WORLD_33 = 193, -+ SDLK_WORLD_34 = 194, -+ SDLK_WORLD_35 = 195, -+ SDLK_WORLD_36 = 196, -+ SDLK_WORLD_37 = 197, -+ SDLK_WORLD_38 = 198, -+ SDLK_WORLD_39 = 199, -+ SDLK_WORLD_40 = 200, -+ SDLK_WORLD_41 = 201, -+ SDLK_WORLD_42 = 202, -+ SDLK_WORLD_43 = 203, -+ SDLK_WORLD_44 = 204, -+ SDLK_WORLD_45 = 205, -+ SDLK_WORLD_46 = 206, -+ SDLK_WORLD_47 = 207, -+ SDLK_WORLD_48 = 208, -+ SDLK_WORLD_49 = 209, -+ SDLK_WORLD_50 = 210, -+ SDLK_WORLD_51 = 211, -+ SDLK_WORLD_52 = 212, -+ SDLK_WORLD_53 = 213, -+ SDLK_WORLD_54 = 214, -+ SDLK_WORLD_55 = 215, -+ SDLK_WORLD_56 = 216, -+ SDLK_WORLD_57 = 217, -+ SDLK_WORLD_58 = 218, -+ SDLK_WORLD_59 = 219, -+ SDLK_WORLD_60 = 220, -+ SDLK_WORLD_61 = 221, -+ SDLK_WORLD_62 = 222, -+ SDLK_WORLD_63 = 223, -+ SDLK_WORLD_64 = 224, -+ SDLK_WORLD_65 = 225, -+ SDLK_WORLD_66 = 226, -+ SDLK_WORLD_67 = 227, -+ SDLK_WORLD_68 = 228, -+ SDLK_WORLD_69 = 229, -+ SDLK_WORLD_70 = 230, -+ SDLK_WORLD_71 = 231, -+ SDLK_WORLD_72 = 232, -+ SDLK_WORLD_73 = 233, -+ SDLK_WORLD_74 = 234, -+ SDLK_WORLD_75 = 235, -+ SDLK_WORLD_76 = 236, -+ SDLK_WORLD_77 = 237, -+ SDLK_WORLD_78 = 238, -+ SDLK_WORLD_79 = 239, -+ SDLK_WORLD_80 = 240, -+ SDLK_WORLD_81 = 241, -+ SDLK_WORLD_82 = 242, -+ SDLK_WORLD_83 = 243, -+ SDLK_WORLD_84 = 244, -+ SDLK_WORLD_85 = 245, -+ SDLK_WORLD_86 = 246, -+ SDLK_WORLD_87 = 247, -+ SDLK_WORLD_88 = 248, -+ SDLK_WORLD_89 = 249, -+ SDLK_WORLD_90 = 250, -+ SDLK_WORLD_91 = 251, -+ SDLK_WORLD_92 = 252, -+ SDLK_WORLD_93 = 253, -+ SDLK_WORLD_94 = 254, -+ SDLK_WORLD_95 = 255, /* 0xFF */ -+ -+ /* Numeric keypad */ -+ SDLK_KP0 = 256, -+ SDLK_KP1 = 257, -+ SDLK_KP2 = 258, -+ SDLK_KP3 = 259, -+ SDLK_KP4 = 260, -+ SDLK_KP5 = 261, -+ SDLK_KP6 = 262, -+ SDLK_KP7 = 263, -+ SDLK_KP8 = 264, -+ SDLK_KP9 = 265, -+ SDLK_KP_PERIOD = 266, -+ SDLK_KP_DIVIDE = 267, -+ SDLK_KP_MULTIPLY = 268, -+ SDLK_KP_MINUS = 269, -+ SDLK_KP_PLUS = 270, -+ SDLK_KP_ENTER = 271, -+ SDLK_KP_EQUALS = 272, -+ -+ /* Arrows + Home/End pad */ -+ SDLK_UP = 273, -+ SDLK_DOWN = 274, -+ SDLK_RIGHT = 275, -+ SDLK_LEFT = 276, -+ SDLK_INSERT = 277, -+ SDLK_HOME = 278, -+ SDLK_END = 279, -+ SDLK_PAGEUP = 280, -+ SDLK_PAGEDOWN = 281, -+ -+ /* Function keys */ -+ SDLK_F1 = 282, -+ SDLK_F2 = 283, -+ SDLK_F3 = 284, -+ SDLK_F4 = 285, -+ SDLK_F5 = 286, -+ SDLK_F6 = 287, -+ SDLK_F7 = 288, -+ SDLK_F8 = 289, -+ SDLK_F9 = 290, -+ SDLK_F10 = 291, -+ SDLK_F11 = 292, -+ SDLK_F12 = 293, -+ SDLK_F13 = 294, -+ SDLK_F14 = 295, -+ SDLK_F15 = 296, -+ -+ /* Key state modifier keys */ -+ SDLK_NUMLOCK = 300, -+ SDLK_CAPSLOCK = 301, -+ SDLK_SCROLLOCK = 302, -+ SDLK_RSHIFT = 303, -+ SDLK_LSHIFT = 304, -+ SDLK_RCTRL = 305, -+ SDLK_LCTRL = 306, -+ SDLK_RALT = 307, -+ SDLK_LALT = 308, -+ SDLK_RMETA = 309, -+ SDLK_LMETA = 310, -+ SDLK_LSUPER = 311, /* Left "Windows" key */ -+ SDLK_RSUPER = 312, /* Right "Windows" key */ -+ SDLK_MODE = 313, /* "Alt Gr" key */ -+ SDLK_COMPOSE = 314, /* Multi-key compose key */ -+ -+ /* Miscellaneous function keys */ -+ SDLK_HELP = 315, -+ SDLK_PRINT = 316, -+ SDLK_SYSREQ = 317, -+ SDLK_BREAK = 318, -+ SDLK_MENU = 319, -+ SDLK_POWER = 320, /* Power Macintosh power key */ -+ SDLK_EURO = 321, /* Some european keyboards */ -+ SDLK_UNDO = 322, /* Atari keyboard has Undo */ -+ -+ /* Add any other keys here */ -+ -+ SDLK_LAST -+} -+ -+/* Enumeration of valid key mods (possibly OR'd together) */ -+alias int SDLMod; -+enum { -+ KMOD_NONE = 0x0000, -+ KMOD_LSHIFT= 0x0001, -+ KMOD_RSHIFT= 0x0002, -+ KMOD_LCTRL = 0x0040, -+ KMOD_RCTRL = 0x0080, -+ KMOD_LALT = 0x0100, -+ KMOD_RALT = 0x0200, -+ KMOD_LMETA = 0x0400, -+ KMOD_RMETA = 0x0800, -+ KMOD_NUM = 0x1000, -+ KMOD_CAPS = 0x2000, -+ KMOD_MODE = 0x4000, -+ KMOD_RESERVED = 0x8000 -+} -+ -+const uint KMOD_CTRL = (KMOD_LCTRL|KMOD_RCTRL); -+const uint KMOD_SHIFT = (KMOD_LSHIFT|KMOD_RSHIFT); -+const uint KMOD_ALT = (KMOD_LALT|KMOD_RALT); -+const uint KMOD_META = (KMOD_LMETA|KMOD_RMETA); -diff -Naur a2k-org/a2k_src/import/SDL_mixer.d a2k/a2k_src/import/SDL_mixer.d ---- a2k-org/a2k_src/import/SDL_mixer.d 2006-07-26 23:24:04.000000000 +0200 -+++ a2k/a2k_src/import/SDL_mixer.d 2004-05-08 14:09:18.000000000 +0200 -@@ -24,7 +24,7 @@ - - /* $Id: SDL_mixer.h,v 1.24 2002/05/21 05:45:59 slouken Exp $ */ - --public import SDL; -+import SDL; - - extern (C) { - -diff -Naur a2k-org/a2k_src/import/SDL_mouse.d a2k/a2k_src/import/SDL_mouse.d ---- a2k-org/a2k_src/import/SDL_mouse.d 2006-07-26 23:25:18.000000000 +0200 -+++ a2k/a2k_src/import/SDL_mouse.d 2004-05-08 12:50:44.000000000 +0200 -@@ -22,8 +22,8 @@ - - /* Include file for SDL mouse event handling */ - --public import SDL_types; --public import SDL_video; -+import SDL_types; -+import SDL_video; - - extern(C): - -diff -Naur a2k-org/a2k_src/import/SDL_mutex.d a2k/a2k_src/import/SDL_mutex.d ---- a2k-org/a2k_src/import/SDL_mutex.d 2006-07-26 23:25:20.000000000 +0200 -+++ a2k/a2k_src/import/SDL_mutex.d 2002-01-04 15:36:58.000000000 +0100 -@@ -25,7 +25,7 @@ - These are independent of the other SDL routines. - */ - --public import SDL_types; -+import SDL_types; - - extern(C): - -diff -Naur a2k-org/a2k_src/import/SDL_quit.d a2k/a2k_src/import/SDL_quit.d ---- a2k-org/a2k_src/import/SDL_quit.d 2006-07-26 23:25:22.000000000 +0200 -+++ a2k/a2k_src/import/SDL_quit.d 2003-12-04 04:03:56.000000000 +0100 -@@ -22,7 +22,7 @@ - - /* Include file for SDL quit event handling */ - --public import SDL_events; -+import SDL_events; - - /* - An SDL_QUITEVENT is generated when the user tries to close the application -diff -Naur a2k-org/a2k_src/import/SDL_rwops.d a2k/a2k_src/import/SDL_rwops.d ---- a2k-org/a2k_src/import/SDL_rwops.d 2006-07-26 23:25:24.000000000 +0200 -+++ a2k/a2k_src/import/SDL_rwops.d 2003-12-04 04:11:24.000000000 +0100 -@@ -24,7 +24,7 @@ - data sources. It can easily be extended to files, memory, etc. - */ - --public import SDL_types; -+import SDL_types; - - extern(C): - -diff -Naur a2k-org/a2k_src/import/SDL_sound.d a2k/a2k_src/import/SDL_sound.d ---- a2k-org/a2k_src/import/SDL_sound.d 2006-07-26 23:25:26.000000000 +0200 -+++ a2k/a2k_src/import/SDL_sound.d 2004-05-08 14:09:58.000000000 +0200 -@@ -62,7 +62,7 @@ - - // convert to D by shinichiro.h - --public import SDL; -+import SDL; - - extern (C) { - const int SOUND_VER_MAJOR = 1; -diff -Naur a2k-org/a2k_src/import/SDL_syswm.d a2k/a2k_src/import/SDL_syswm.d ---- a2k-org/a2k_src/import/SDL_syswm.d 2006-07-26 23:25:32.000000000 +0200 -+++ a2k/a2k_src/import/SDL_syswm.d 2004-01-03 16:10:50.000000000 +0100 -@@ -22,7 +22,7 @@ - - /* Include file for SDL custom system window manager hooks */ - --public import SDL_Version; -+import SDL_Version; - - extern(C): - -diff -Naur a2k-org/a2k_src/import/SDL_thread.d a2k/a2k_src/import/SDL_thread.d ---- a2k-org/a2k_src/import/SDL_thread.d 2006-07-26 23:25:36.000000000 +0200 -+++ a2k/a2k_src/import/SDL_thread.d 2002-01-04 15:40:06.000000000 +0100 -@@ -25,8 +25,8 @@ - These are independent of the other SDL routines. - */ - --public import SDL_types; --public import SDL_mutex; -+import SDL_types; -+import SDL_mutex; - - extern(C): - -diff -Naur a2k-org/a2k_src/import/SDL_timer.d a2k/a2k_src/import/SDL_timer.d ---- a2k-org/a2k_src/import/SDL_timer.d 2006-07-26 23:25:38.000000000 +0200 -+++ a2k/a2k_src/import/SDL_timer.d 2002-01-04 15:21:04.000000000 +0100 -@@ -20,7 +20,7 @@ - slouken@devolution.com - */ - --public import SDL_types; -+import SDL_types; - - extern(C): - -diff -Naur a2k-org/a2k_src/import/SDL_version.d a2k/a2k_src/import/SDL_version.d ---- a2k-org/a2k_src/import/SDL_version.d 2006-07-26 23:25:40.000000000 +0200 -+++ a2k/a2k_src/import/SDL_version.d 1970-01-01 01:00:00.000000000 +0100 -@@ -1,75 +0,0 @@ --/* -- SDL - Simple DirectMedia Layer -- Copyright (C) 1997, 1998, 1999, 2000, 2001 Sam Lantinga -- -- This library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Library General Public -- License as published by the Free Software Foundation; either -- version 2 of the License, or (at your option) any later version. -- -- This library is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Library General Public License for more details. -- -- You should have received a copy of the GNU Library General Public -- License along with this library; if not, write to the Free -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -- -- Sam Lantinga -- slouken@devolution.com --*/ -- --/* This header defines the current SDL version */ -- --public import SDL_types; -- --extern(C): -- --/* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL --*/ --const uint SDL_MAJOR_VERSION = 1; --const uint SDL_MINOR_VERSION = 2; --const uint SDL_PATCHLEVEL = 6; -- --struct SDL_version { -- Uint8 major; -- Uint8 minor; -- Uint8 patch; --} -- --/* This macro can be used to fill a version structure with the compile-time -- * version of the SDL library. -- */ --void SDL_VERSION(SDL_version* X) --{ -- X.major = SDL_MAJOR_VERSION; -- X.minor = SDL_MINOR_VERSION; -- X.patch = SDL_PATCHLEVEL; --} -- --/* This macro turns the version numbers into a numeric value: -- (1,2,3) -> (1203) -- This assumes that there will never be more than 100 patchlevels --*/ --uint SDL_VERSIONNUM(Uint8 X, Uint8 Y, Uint8 Z) --{ -- return X * 1000 + Y * 100 + Z; --} -- --/* This is the version number macro for the current SDL version */ --const uint SDL_COMPILEDVERSION = SDL_MAJOR_VERSION * 1000 + -- SDL_MINOR_VERSION * 100 + -- SDL_PATCHLEVEL; -- --/* This macro will evaluate to true if compiled with SDL at least X.Y.Z */ --bit SDL_VERSION_ATLEAST(Uint8 X, Uint8 Y, Uint8 Z) --{ -- return (SDL_COMPILEDVERSION >= SDL_VERSIONNUM(X, Y, Z)); --} -- --/* This function gets the version of the dynamically linked SDL library. -- it should NOT be used to fill a version structure, instead you should -- use the SDL_Version() macro. -- */ --SDL_version * SDL_Linked_Version(); -diff -Naur a2k-org/a2k_src/import/SDL_Version.d a2k/a2k_src/import/SDL_Version.d ---- a2k-org/a2k_src/import/SDL_Version.d 1970-01-01 01:00:00.000000000 +0100 -+++ a2k/a2k_src/import/SDL_Version.d 2008-10-07 10:47:18.000000000 +0200 -@@ -0,0 +1,75 @@ -+/* -+ SDL - Simple DirectMedia Layer -+ Copyright (C) 1997, 1998, 1999, 2000, 2001 Sam Lantinga -+ -+ This library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Library General Public -+ License as published by the Free Software Foundation; either -+ version 2 of the License, or (at your option) any later version. -+ -+ This library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Library General Public License for more details. -+ -+ You should have received a copy of the GNU Library General Public -+ License along with this library; if not, write to the Free -+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -+ -+ Sam Lantinga -+ slouken@devolution.com -+*/ -+ -+/* This header defines the current SDL version */ -+ -+import SDL_types; -+ -+extern(C): -+ -+/* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL -+*/ -+const uint SDL_MAJOR_VERSION = 1; -+const uint SDL_MINOR_VERSION = 2; -+const uint SDL_PATCHLEVEL = 6; -+ -+struct SDL_version { -+ Uint8 major; -+ Uint8 minor; -+ Uint8 patch; -+} -+ -+/* This macro can be used to fill a version structure with the compile-time -+ * version of the SDL library. -+ */ -+void SDL_VERSION(SDL_version* X) -+{ -+ X.major = SDL_MAJOR_VERSION; -+ X.minor = SDL_MINOR_VERSION; -+ X.patch = SDL_PATCHLEVEL; -+} -+ -+/* This macro turns the version numbers into a numeric value: -+ (1,2,3) -> (1203) -+ This assumes that there will never be more than 100 patchlevels -+*/ -+uint SDL_VERSIONNUM(Uint8 X, Uint8 Y, Uint8 Z) -+{ -+ return X * 1000 + Y * 100 + Z; -+} -+ -+/* This is the version number macro for the current SDL version */ -+const uint SDL_COMPILEDVERSION = SDL_MAJOR_VERSION * 1000 + -+ SDL_MINOR_VERSION * 100 + -+ SDL_PATCHLEVEL; -+ -+/* This macro will evaluate to true if compiled with SDL at least X.Y.Z */ -+bit SDL_VERSION_ATLEAST(Uint8 X, Uint8 Y, Uint8 Z) -+{ -+ return (SDL_COMPILEDVERSION >= SDL_VERSIONNUM(X, Y, Z)); -+} -+ -+/* This function gets the version of the dynamically linked SDL library. -+ it should NOT be used to fill a version structure, instead you should -+ use the SDL_Version() macro. -+ */ -+SDL_version * SDL_Linked_Version(); -diff -Naur a2k-org/a2k_src/import/SDL_video.d a2k/a2k_src/import/SDL_video.d ---- a2k-org/a2k_src/import/SDL_video.d 2006-07-26 23:25:42.000000000 +0200 -+++ a2k/a2k_src/import/SDL_video.d 2002-05-22 07:45:40.000000000 +0200 -@@ -22,9 +22,9 @@ - - /* Header file for access to the SDL raw framebuffer window */ - --public import SDL_types; --public import SDL_mutex; --public import SDL_rwops; -+import SDL_types; -+import SDL_mutex; -+import SDL_rwops; - - extern(C): - -diff -Naur a2k-org/a2k_src/src/bg.d a2k/a2k_src/src/bg.d ---- a2k-org/a2k_src/src/bg.d 2005-01-18 00:34:48.000000000 +0100 -+++ a2k/a2k_src/src/bg.d 2008-10-07 09:53:28.000000000 +0200 -@@ -14,7 +14,12 @@ - private import util_snd;
- private import define;
- private import task;
--private import stg;
-+private import stg; -+private import stg01;
-+private import stg02;
-+private import stg03;
-+private import stg04;
-+private import stg05;
- private import effect;
- private import ship;
-
-@@ -79,20 +84,20 @@ - TskBuf[fade_id].tx = 1.0f;
- TskBuf[fade_id].wait = 60;
- TskBuf[fade_id].step = 2;
-- TskBuf[id].px = cast(float)(rand() % 1536 - 768.0f);
-+ TskBuf[id].px = cast(float)(rand() % 1536 - 768.0f);
- TskBuf[id].py = cast(float)(rand() % 1536 - 768.0f);
- if((rand() % 100) & 0x01){
- if(TskBuf[id].px < 0.0f){
- TskBuf[id].tx = +(cast(float)(rand() % 768));
- }else{
-- TskBuf[id].tx = -(cast(float)(rand() % 768));
-+ TskBuf[id].tx = +(cast(float)(rand() % 768));
- }
- TskBuf[id].ty = TskBuf[id].py;
- }else{
- if(TskBuf[id].py < 0.0f){
- TskBuf[id].ty = +(cast(float)(rand() % 768));
- }else{
-- TskBuf[id].ty = -(cast(float)(rand() % 768));
-+ TskBuf[id].ty = +(cast(float)(rand() % 768));
- }
- TskBuf[id].tx = TskBuf[id].px;
- }
-@@ -104,7 +109,7 @@ - cam_pos = BASE_Z + cam_scr;
- eid = setTSK(GROUP_08,&TSKbgZoom);
- TskBuf[eid].wait = 600;
-- TskBuf[eid].tx = BASE_Z - (cast(float)((rand() % 5000) - 2500 + 10000) / 10000.0f);
-+ TskBuf[eid].tx = BASE_Z - ((cast(float)(rand() % 5000) - 2500 + 10000) / 10000.0f);
- TskBuf[id].step++;
- break;
- case 2:
-@@ -202,22 +207,34 @@ - scr_base[Y] = START_Y;
- scr_ofs[X] = 0.0f;
- scr_ofs[Y] = 0.0f;
-- cam_pos = BASE_Z + cam_scr;
-+ cam_pos = BASE_Z + cam_scr; -+ bg_mode = 0; -+ stg_ctrl = STG_MAIN;
- switch(area_num){
- case AREA_01:
-- bg_mode = 0;
-+ bg_mode = 0; -+ stg_ctrl = STG_MAIN;
-+ setTSK(GROUP_01,&TSKstg01);
- break;
- case AREA_02:
-- bg_mode = 1;
-+ bg_mode = 1; -+ stg_ctrl = STG_MAIN;
-+ setTSK(GROUP_01,&TSKstg02); - break;
- case AREA_03:
-- bg_mode = 2;
-+ bg_mode = 2; -+ stg_ctrl = STG_MAIN;
-+ setTSK(GROUP_01,&TSKstg03);
- break;
- case AREA_04:
-- bg_mode = 3;
-+ bg_mode = 3; -+ stg_ctrl = STG_MAIN;
-+ setTSK(GROUP_01,&TSKstg04);
- break;
- case AREA_05:
-- bg_mode = 4;
-+ bg_mode = 4; -+ stg_ctrl = STG_MAIN;
-+ setTSK(GROUP_01,&TSKstg05);
- break;
- default:
- break;
-@@ -296,7 +313,7 @@ - bg_obj[i].line_list.length = 1;
- bg_obj[i].line_list[0][X] = +0.0f;
- bg_obj[i].line_list[0][Y] = +0.0f;
-- bg_obj[i].line_list[0][Z] = -(cast(float)(rand() % 75)) / 100.0f + 0.25f;
-+ bg_obj[i].line_list[0][Z] = -cast(float)(rand() % 75) / 100.0f + 0.25f;
- }
- break;
- case 4:
-@@ -600,8 +617,8 @@ - break;
- case 1:
- if(TskBuf[id].wait){
-- TskBuf[id].px = ((rand() % (256.0f * TskBuf[id].vx)) - ((256.0f * TskBuf[id].vx) / 2)) / 256.0f;
-- TskBuf[id].py = ((rand() % (256.0f * TskBuf[id].vy)) - ((256.0f * TskBuf[id].vy) / 2)) / 256.0f;
-+ TskBuf[id].px = (cast(float)(rand() % (256.0f * TskBuf[id].vx)) - ((256.0f * TskBuf[id].vx) / 2)) / 256.0f;
-+ TskBuf[id].py = (cast(float)(rand() % (256.0f * TskBuf[id].vy)) - ((256.0f * TskBuf[id].vy) / 2)) / 256.0f;
- TskBuf[id].vx += (0.0f - TskBuf[id].vx) / TskBuf[id].cnt;
- TskBuf[id].vy += (0.0f - TskBuf[id].vy) / TskBuf[id].cnt;
- scr_ofs[X] = TskBuf[id].px;
-diff -Naur a2k-org/a2k_src/src/boss01.d a2k/a2k_src/src/boss01.d ---- a2k-org/a2k_src/src/boss01.d 2008-02-06 01:34:54.000000000 +0100 -+++ a2k/a2k_src/src/boss01.d 2008-10-07 09:57:49.000000000 +0200 -@@ -7,7 +7,7 @@ - */
-
- private import std.stdio;
--private import std.math;
-+private import std.c.math;
- private import std.random;
- private import std.string;
- private import SDL;
-diff -Naur a2k-org/a2k_src/src/boss02.d a2k/a2k_src/src/boss02.d ---- a2k-org/a2k_src/src/boss02.d 2008-02-06 01:35:18.000000000 +0100 -+++ a2k/a2k_src/src/boss02.d 2008-10-07 09:58:18.000000000 +0200 -@@ -6,7 +6,7 @@ - 2004/04/16 jumpei isshiki
- */
-
--private import std.math;
-+private import std.c.math;
- private import std.random;
- private import std.string;
- private import SDL;
-diff -Naur a2k-org/a2k_src/src/boss03.d a2k/a2k_src/src/boss03.d ---- a2k-org/a2k_src/src/boss03.d 2008-02-06 01:35:30.000000000 +0100 -+++ a2k/a2k_src/src/boss03.d 2008-10-07 09:58:28.000000000 +0200 -@@ -6,7 +6,7 @@ - 2004/06/08 jumpei isshiki
- */
-
--private import std.math;
-+private import std.c.math;
- private import std.random;
- private import std.string;
- private import SDL;
-@@ -358,7 +358,7 @@ - }
- if(!cmd.isEnd()) cmd.run();
- break;
-- TskBuf[id].ang_x = rand() % 65536;
-+ TskBuf[id].ang_x = cast(float)rand() % 65536;
- TskBuf[id].ang_x *= PI / 65536.0f;
- TskBuf[id].ax =
- TskBuf[id].ay = sin(TskBuf[id].ang_x) * 5.0f / PI;
-diff -Naur a2k-org/a2k_src/src/boss04.d a2k/a2k_src/src/boss04.d ---- a2k-org/a2k_src/src/boss04.d 2008-02-06 01:35:34.000000000 +0100 -+++ a2k/a2k_src/src/boss04.d 2008-10-07 09:58:35.000000000 +0200 -@@ -6,7 +6,7 @@ - 2004/06/06 jumpei isshiki
- */
-
--private import std.math;
-+private import std.c.math;
- private import std.random;
- private import std.string;
- private import SDL;
-diff -Naur a2k-org/a2k_src/src/boss05.d a2k/a2k_src/src/boss05.d ---- a2k-org/a2k_src/src/boss05.d 2008-02-06 01:35:38.000000000 +0100 -+++ a2k/a2k_src/src/boss05.d 2008-10-07 09:58:43.000000000 +0200 -@@ -6,7 +6,7 @@ - 2004/06/09 jumpei isshiki
- */
-
--private import std.math;
-+private import std.c.math;
- private import std.random;
- private import std.string;
- private import SDL;
-diff -Naur a2k-org/a2k_src/src/bulletcommand.d a2k/a2k_src/src/bulletcommand.d ---- a2k-org/a2k_src/src/bulletcommand.d 2008-02-06 01:37:56.000000000 +0100 -+++ a2k/a2k_src/src/bulletcommand.d 2008-10-07 09:53:28.000000000 +0200 -@@ -247,7 +247,7 @@ - double getRand_(BulletMLRunner* runner){
- double rand_val;
- //printf("getRand_(%d)\n",BulletCommand.now.id);
-- rand_val = rand() % 10000;
-+ rand_val = cast(float)rand() % 10000;
- rand_val /= 10000;
- return rand_val;
- }
-diff -Naur a2k-org/a2k_src/src/effect.d a2k/a2k_src/src/effect.d ---- a2k-org/a2k_src/src/effect.d 2008-02-06 01:35:40.000000000 +0100 -+++ a2k/a2k_src/src/effect.d 2008-10-07 10:03:12.000000000 +0200 -@@ -6,14 +6,15 @@ - 2004/03/31 jumpei isshiki
- */
-
--private import std.math;
-+private import std.c.math;
- private import std.random;
- private import std.string;
- private import SDL;
- private import opengl;
- private import util_sdl;
- private import task;
--private import bg;
-+private import bg; -+private import system;
-
- float fade_r = 0.0f;
- float fade_g = 0.0f;
-@@ -53,16 +54,16 @@ - for(int i = 0; i < 3; i++){
- switch(i){
- case 0:
-- tpos[X] = -((rand() % 4096) / 1024.0f + 1.0f);
-- tpos[Y] = +((rand() % 4096) / 1024.0f + 1.0f);
-+ tpos[X] = -cast(float)((rand() % 4096) / 1024.0f + 1.0f);
-+ tpos[Y] = +cast(float)((rand() % 4096) / 1024.0f + 1.0f);
- break;
- case 1:
-- tpos[X] = ((rand() % 2048) / 1024.0f - 1.0f);
-- tpos[Y] = -((rand() % 4096) / 1024.0f + 1.0f);
-+ tpos[X] = cast(float)((rand() % 2048) / 1024.0f - 1.0f);
-+ tpos[Y] = -cast(float)((rand() % 4096) / 1024.0f + 1.0f);
- break;
- case 2:
-- tpos[X] = +((rand() % 4096) / 1024.0f + 1.0f);
-- tpos[Y] = +((rand() % 4096) / 1024.0f + 1.0f);
-+ tpos[X] = +cast(float)((rand() % 4096) / 1024.0f + 1.0f);
-+ tpos[Y] = +cast(float)((rand() % 4096) / 1024.0f + 1.0f);
- break;
- default:
- break;
-@@ -74,8 +75,8 @@ - tpos[Y] = fabs(tpos[Y]);
- TskBuf[id].body_ang[i][W] = sqrt(pow(tpos[X],2.0) + pow(tpos[Y],2.0));
- }
-- TskBuf[id].tx = (rand() % 256000) / 1000.0f - 128.0f;
-- TskBuf[id].ty = (rand() % 256000) / 1000.0f - 128.0f;
-+ TskBuf[id].tx = cast(float)(rand() % 256000) / 1000.0f - 128.0f;
-+ TskBuf[id].ty = cast(float)(rand() % 256000) / 1000.0f - 128.0f;
- TskBuf[id].tx += TskBuf[id].px;
- TskBuf[id].ty += TskBuf[id].py;
- TskBuf[id].wait = 60;
-@@ -165,16 +166,16 @@ - for(int i = 0; i < 3; i++){
- switch(i){
- case 0:
-- tpos[X] = -((rand() % 12288) / 1024.0f + 3.0f);
-- tpos[Y] = +((rand() % 12288) / 1024.0f + 3.0f);
-+ tpos[X] = -(cast(float)(rand() % 12288) / 1024.0f + 3.0f);
-+ tpos[Y] = +(cast(float)(rand() % 12288) / 1024.0f + 3.0f);
- break;
- case 1:
-- tpos[X] = ((rand() % 6144) / 1024.0f - 3.0f);
-- tpos[Y] = -((rand() % 12288) / 1024.0f + 3.0f);
-+ tpos[X] = (cast(float)(rand() % 6144) / 1024.0f - 3.0f);
-+ tpos[Y] = -(cast(float)(rand() % 12288) / 1024.0f + 3.0f);
- break;
- case 2:
-- tpos[X] = +((rand() % 12288) / 1024.0f + 3.0f);
-- tpos[Y] = +((rand() % 12288) / 1024.0f + 3.0f);
-+ tpos[X] = +(cast(float)(rand() % 12288) / 1024.0f + 3.0f);
-+ tpos[Y] = +(cast(float)(rand() % 12288) / 1024.0f + 3.0f);
- break;
- default:
- break;
-@@ -186,8 +187,8 @@ - tpos[Y] = fabs(tpos[Y]);
- TskBuf[id].body_ang[i][W] = sqrt(pow(tpos[X],2.0) + pow(tpos[Y],2.0));
- }
-- TskBuf[id].tx = (rand() % 512000) / 1000.0f - 256.0f;
-- TskBuf[id].ty = (rand() % 512000) / 1000.0f - 256.0f;
-+ TskBuf[id].tx = cast(float)(rand() % 512000) / 1000.0f - 256.0f;
-+ TskBuf[id].ty = cast(float)(rand() % 512000) / 1000.0f - 256.0f;
- TskBuf[id].tx += TskBuf[id].px;
- TskBuf[id].ty += TskBuf[id].py;
- TskBuf[id].wait = 60;
-@@ -279,13 +280,13 @@ - TskBuf[id].fp_draw = &TSKBrokenBodyDraw;
- TskBuf[id].fp_exit = &TSKBrokenBodyExit;
- TskBuf[id].alpha = 1.0f;
-- TskBuf[id].tx = (rand() % 256000) / 1000.0f - 128.0f;
-- TskBuf[id].ty = (rand() % 256000) / 1000.0f - 128.0f;
-+ TskBuf[id].tx = cast(float)(rand() % 256000) / 1000.0f - 128.0f;
-+ TskBuf[id].ty = cast(float)(rand() % 256000) / 1000.0f - 128.0f;
- TskBuf[id].tx *= 2.0f;
- TskBuf[id].ty *= 2.0f;
- TskBuf[id].tx += TskBuf[id].px;
- TskBuf[id].ty += TskBuf[id].py;
-- TskBuf[id].rot_add = (rand % 30) - 15;
-+ TskBuf[id].rot_add = cast(float)(rand % 30) - 15;
- if(!(TskBuf[id].rot_add - 15)) TskBuf[id].rot_add = -1;
- else if(!(TskBuf[id].rot_add + 15)) TskBuf[id].rot_add = +1;
- if(TskBuf[id].rot_add < 0) TskBuf[id].rot_add = PI / (TskBuf[id].rot_add - 15);
-@@ -410,13 +411,13 @@ - TskBuf[id].fp_draw = &TSKBrokenLineDraw;
- TskBuf[id].fp_exit = &TSKBrokenLineExit;
- TskBuf[id].alpha = 1.0f;
-- TskBuf[id].tx = (rand() % 256000) / 1000.0f - 128.0f;
-- TskBuf[id].ty = (rand() % 256000) / 1000.0f - 128.0f;
-+ TskBuf[id].tx = cast(float)(rand() % 256000) / 1000.0f - 128.0f;
-+ TskBuf[id].ty = cast(float)(rand() % 256000) / 1000.0f - 128.0f;
- TskBuf[id].tx *= 2.0f;
- TskBuf[id].ty *= 2.0f;
- TskBuf[id].tx += TskBuf[id].px;
- TskBuf[id].ty += TskBuf[id].py;
-- TskBuf[id].rot_add = (rand % 30) - 15;
-+ TskBuf[id].rot_add = cast(float)(rand % 30) - 15;
- if(!(TskBuf[id].rot_add - 15)) TskBuf[id].rot_add = -1;
- else if(!(TskBuf[id].rot_add + 15)) TskBuf[id].rot_add = +1;
- if(TskBuf[id].rot_add < 0) TskBuf[id].rot_add = PI / (TskBuf[id].rot_add - 15);
-diff -Naur a2k-org/a2k_src/src/enemy01.d a2k/a2k_src/src/enemy01.d ---- a2k-org/a2k_src/src/enemy01.d 2008-02-06 01:35:46.000000000 +0100 -+++ a2k/a2k_src/src/enemy01.d 2008-10-07 10:03:51.000000000 +0200 -@@ -6,7 +6,7 @@ - 2004/03/27 jumpei isshiki
- */
-
--private import std.math;
-+private import std.c.math;
- private import std.random;
- private import SDL;
- private import opengl;
-@@ -63,8 +63,8 @@ - switch(TskBuf[id].step){
- case 0:
- TskBuf[id].tskid |= TSKID_ZAKO;
-- TskBuf[id].px = (rand() % 1536) - 768.0f;
-- TskBuf[id].py = (rand() % 1536) - 768.0f;
-+ TskBuf[id].px = (cast(float)(rand() % 1536) - 768.0f);
-+ TskBuf[id].py = (cast(float)(rand() % 1536) - 768.0f);
- TskBuf[id].fp_int = null;
- TskBuf[id].fp_draw = &TSKenemy01Draw;
- TskBuf[id].fp_exit = &TSKenemy01Exit;
-diff -Naur a2k-org/a2k_src/src/enemy02.d a2k/a2k_src/src/enemy02.d ---- a2k-org/a2k_src/src/enemy02.d 2008-02-06 01:35:48.000000000 +0100 -+++ a2k/a2k_src/src/enemy02.d 2008-10-07 10:04:05.000000000 +0200 -@@ -6,7 +6,7 @@ - 2004/04/11 jumpei isshiki
- */
-
--private import std.math;
-+private import std.c.math;
- private import std.random;
- private import SDL;
- private import opengl;
-@@ -63,8 +63,8 @@ - switch(TskBuf[id].step){
- case 0:
- TskBuf[id].tskid |= TSKID_ZAKO;
-- TskBuf[id].px = (rand() % 1536) - 768.0f;
-- TskBuf[id].py = (rand() % 1536) - 768.0f;
-+ TskBuf[id].px = (cast(float)(rand() % 1536) - 768.0f);
-+ TskBuf[id].py = (cast(float)(rand() % 1536) - 768.0f);
- TskBuf[id].fp_int = null;
- TskBuf[id].fp_draw = &TSKenemy02Draw;
- TskBuf[id].fp_exit = &TSKenemy02Exit;
-diff -Naur a2k-org/a2k_src/src/enemy03.d a2k/a2k_src/src/enemy03.d ---- a2k-org/a2k_src/src/enemy03.d 2008-02-06 01:35:52.000000000 +0100 -+++ a2k/a2k_src/src/enemy03.d 2008-10-07 10:04:19.000000000 +0200 -@@ -6,7 +6,7 @@ - 2004/04/11 jumpei isshiki
- */
-
--private import std.math;
-+private import std.c.math;
- private import std.random;
- private import SDL;
- private import opengl;
-@@ -63,8 +63,8 @@ - switch(TskBuf[id].step){
- case 0:
- TskBuf[id].tskid |= TSKID_ZAKO;
-- TskBuf[id].px = (rand() % 1536) - 768.0f;
-- TskBuf[id].py = (rand() % 1536) - 768.0f;
-+ TskBuf[id].px = (cast(float)(rand() % 1536) - 768.0f);
-+ TskBuf[id].py = (cast(float)(rand() % 1536) - 768.0f);
- TskBuf[id].tid = ship_id;
- TskBuf[id].fp_int = null;
- TskBuf[id].fp_draw = &TSKenemy03Draw;
-diff -Naur a2k-org/a2k_src/src/enemy04.d a2k/a2k_src/src/enemy04.d ---- a2k-org/a2k_src/src/enemy04.d 2008-02-06 01:35:56.000000000 +0100 -+++ a2k/a2k_src/src/enemy04.d 2008-10-07 10:05:41.000000000 +0200 -@@ -6,7 +6,7 @@ - 2004/04/11 jumpei isshiki
- */
-
--private import std.math;
-+private import std.c.math;
- private import std.random;
- private import SDL;
- private import opengl;
-@@ -53,8 +53,8 @@ - switch(TskBuf[id].step){
- case 0:
- TskBuf[id].tskid |= TSKID_ZAKO;
-- TskBuf[id].px = (rand() % 1536) - 768.0f;
-- TskBuf[id].py = (rand() % 1536) - 768.0f;
-+ TskBuf[id].px = (cast(float)(rand() % 1536) - 768.0f);
-+ TskBuf[id].py = (cast(float)(rand() % 1536) - 768.0f);
- TskBuf[id].tid = ship_id;
- TskBuf[id].fp_int = null;
- TskBuf[id].fp_draw = &TSKenemy04Draw;
-@@ -132,14 +132,14 @@ - TskBuf[id].vx = TskBuf[id].px;
- TskBuf[id].vy = TskBuf[id].py;
- if(!TskBuf[id].cnt){
-- TskBuf[id].tx = (rand() % 512) + 256.0f;
-- TskBuf[id].ty = (rand() % 512) + 256.0f;
-+ TskBuf[id].tx = cast(float)(rand() % 512) + 256.0f;
-+ TskBuf[id].ty = cast(float)(rand() % 512) + 256.0f;
- if(TskBuf[id].px < ship_px) TskBuf[id].tx = +TskBuf[id].tx;
- else TskBuf[id].tx = -TskBuf[id].tx;
- if(TskBuf[id].py < ship_py) TskBuf[id].ty = +TskBuf[id].ty;
- else TskBuf[id].ty = -TskBuf[id].ty;
-- if((rand() % 100) > 97) TskBuf[id].tx = -TskBuf[id].tx;
-- if((rand() % 100) > 97) TskBuf[id].ty = -TskBuf[id].ty;
-+ if(cast(float)(rand() % 100) > 97) TskBuf[id].tx = -TskBuf[id].tx;
-+ if(cast(float)(rand() % 100) > 97) TskBuf[id].ty = -TskBuf[id].ty;
- TskBuf[id].tx = TskBuf[id].px + TskBuf[id].tx;
- TskBuf[id].ty = TskBuf[id].py + TskBuf[id].ty;
- if(TskBuf[id].tx < -ENEMY_AREAMAX) TskBuf[id].tx = -ENEMY_AREAMAX + 1.0f;
-diff -Naur a2k-org/a2k_src/src/enemy05.d a2k/a2k_src/src/enemy05.d ---- a2k-org/a2k_src/src/enemy05.d 2008-02-06 01:35:58.000000000 +0100 -+++ a2k/a2k_src/src/enemy05.d 2008-10-07 10:08:43.000000000 +0200 -@@ -6,7 +6,7 @@ - 2004/05/30 jumpei isshiki
- */
-
--private import std.math;
-+private import std.c.math;
- private import std.random;
- private import SDL;
- private import opengl;
-@@ -53,8 +53,8 @@ - switch(TskBuf[id].step){
- case 0:
- TskBuf[id].tskid |= TSKID_ZAKO;
-- TskBuf[id].px = (rand() % 1536) - 768.0f;
-- TskBuf[id].py = (rand() % 1536) - 768.0f;
-+ TskBuf[id].px = (cast(float)(rand() % 1536) - 768.0f);
-+ TskBuf[id].py = (cast(float)(rand() % 1536) - 768.0f);
- TskBuf[id].tid = ship_id;
- TskBuf[id].fp_int = null;
- TskBuf[id].fp_draw = &TSKenemy05Draw;
-@@ -127,42 +127,31 @@ - }
- }
- /* 座標更新 */
-- if(TskBuf[id].px < ship_px){
-- if(TskBuf[id].vx > +0.0f) TskBuf[id].vx += 1.0f / SPEED_RATE * 2.0f;
-- else TskBuf[id].vx += 1.0f / SPEED_RATE * 1.5f;
-- if(TskBuf[id].vx > +MAX_SPEED) TskBuf[id].vx = +MAX_SPEED;
-- }else{
-- if(TskBuf[id].vx < +0.0f) TskBuf[id].vx -= 1.0f / SPEED_RATE * 2.0f;
-- else TskBuf[id].vx -= 1.0f / SPEED_RATE * 1.5f;
-- if(TskBuf[id].vx < -MAX_SPEED) TskBuf[id].vx = -MAX_SPEED;
-- }
-- if(TskBuf[id].py < ship_py){
-- if(TskBuf[id].vy > +0.0f) TskBuf[id].vy += 1.0f / SPEED_RATE * 2.0f;
-- else TskBuf[id].vy += 1.0f / SPEED_RATE * 1.5f;
-- if(TskBuf[id].vy > +MAX_SPEED) TskBuf[id].vy = +MAX_SPEED;
-- }else{
-- if(TskBuf[id].vy < +0.0f) TskBuf[id].vy -= 1.0f / SPEED_RATE * 2.0f;
-- else TskBuf[id].vy -= 1.0f / SPEED_RATE * 1.5f;
-- if(TskBuf[id].vy < -MAX_SPEED) TskBuf[id].vy = -MAX_SPEED;
-- }
-- TskBuf[id].px += TskBuf[id].vx;
-- TskBuf[id].py += TskBuf[id].vy;
-- if(TskBuf[id].px < -ENEMY_AREAMAX){
-- TskBuf[id].px = -ENEMY_AREAMAX;
-- TskBuf[id].vx = -TskBuf[id].vx / 2;
-- }
-- if(TskBuf[id].px > +ENEMY_AREAMAX){
-- TskBuf[id].px = +ENEMY_AREAMAX;
-- TskBuf[id].vx = -TskBuf[id].vx / 2;
-- }
-- if(TskBuf[id].py < -ENEMY_AREAMAX){
-- TskBuf[id].py = -ENEMY_AREAMAX;
-- TskBuf[id].vy = -TskBuf[id].vy / 2;
-- }
-- if(TskBuf[id].py > +ENEMY_AREAMAX){
-- TskBuf[id].py = +ENEMY_AREAMAX;
-- TskBuf[id].vy = -TskBuf[id].vy / 2;
-- }
-+ TskBuf[id].vx = TskBuf[id].px;
-+ TskBuf[id].vy = TskBuf[id].py;
-+ if(!TskBuf[id].cnt){
-+ TskBuf[id].tx = cast(float)(rand() % 512) + 256.0f;
-+ TskBuf[id].ty = cast(float)(rand() % 512) + 256.0f;
-+ if(TskBuf[id].px < ship_px) TskBuf[id].tx = +TskBuf[id].tx;
-+ else TskBuf[id].tx = -TskBuf[id].tx;
-+ if(TskBuf[id].py < ship_py) TskBuf[id].ty = +TskBuf[id].ty;
-+ else TskBuf[id].ty = -TskBuf[id].ty;
-+ if(cast(float)(rand() % 100) > 97) TskBuf[id].tx = -TskBuf[id].tx;
-+ if(cast(float)(rand() % 100) > 97) TskBuf[id].ty = -TskBuf[id].ty;
-+ TskBuf[id].tx = TskBuf[id].px + TskBuf[id].tx;
-+ TskBuf[id].ty = TskBuf[id].py + TskBuf[id].ty;
-+ if(TskBuf[id].tx < -ENEMY_AREAMAX) TskBuf[id].tx = -ENEMY_AREAMAX + 1.0f;
-+ if(TskBuf[id].tx > +ENEMY_AREAMAX) TskBuf[id].tx = +ENEMY_AREAMAX - 1.0f;
-+ if(TskBuf[id].ty < -ENEMY_AREAMAX) TskBuf[id].ty = -ENEMY_AREAMAX + 1.0f;
-+ if(TskBuf[id].ty > +ENEMY_AREAMAX) TskBuf[id].ty = +ENEMY_AREAMAX - 1.0f;
-+ TskBuf[id].cnt = 180;
-+ }else{
-+ TskBuf[id].cnt--;
-+ }
-+ TskBuf[id].px += (TskBuf[id].tx - TskBuf[id].px) / (180 / 4);
-+ TskBuf[id].py += (TskBuf[id].ty - TskBuf[id].py) / (180 / 4);
-+ TskBuf[id].vx -= TskBuf[id].px;
-+ TskBuf[id].vy -= TskBuf[id].py;
- TskBuf[id].rot = atan2(-TskBuf[id].vx, -TskBuf[id].vy);
- break;
- default:
-diff -Naur a2k-org/a2k_src/src/enemy06.d a2k/a2k_src/src/enemy06.d ---- a2k-org/a2k_src/src/enemy06.d 2008-02-06 01:36:00.000000000 +0100 -+++ a2k/a2k_src/src/enemy06.d 2008-10-07 10:10:11.000000000 +0200 -@@ -6,7 +6,7 @@ - 2004/06/04 jumpei isshiki
- */
-
--private import std.math;
-+private import std.c.math;
- private import std.random;
- private import SDL;
- private import opengl;
-@@ -65,8 +65,8 @@ - switch(TskBuf[id].step){
- case 0:
- TskBuf[id].tskid |= TSKID_ZAKO;
-- TskBuf[id].px = (rand() % 1536) - 768.0f;
-- TskBuf[id].py = (rand() % 1536) - 768.0f;
-+ TskBuf[id].px = (cast(float)(rand() % 1536) - 768.0f);
-+ TskBuf[id].py = (cast(float)(rand() % 1536) - 768.0f);
- TskBuf[id].tid = ship_id;
- TskBuf[id].fp_int = null;
- TskBuf[id].fp_draw = &TSKenemy06Draw;
-@@ -145,14 +145,14 @@ - TskBuf[id].vx = TskBuf[id].px;
- TskBuf[id].vy = TskBuf[id].py;
- if(TskBuf[id].cnt == TskBuf[id].mov_cnt){
-- TskBuf[id].tx = (rand() % 512) + 256.0f;
-- TskBuf[id].ty = (rand() % 512) + 256.0f;
-+ TskBuf[id].tx = cast(float)(rand() % 512) + 256.0f;
-+ TskBuf[id].ty = cast(float)(rand() % 512) + 256.0f;
- if(TskBuf[id].px < ship_px) TskBuf[id].tx = +TskBuf[id].tx;
- else TskBuf[id].tx = -TskBuf[id].tx;
- if(TskBuf[id].py < ship_py) TskBuf[id].ty = +TskBuf[id].ty;
- else TskBuf[id].ty = -TskBuf[id].ty;
-- if((rand() % 100) > 97) TskBuf[id].tx = -TskBuf[id].tx;
-- if((rand() % 100) > 97) TskBuf[id].ty = -TskBuf[id].ty;
-+ if(cast(float)(rand() % 100) > 97) TskBuf[id].tx = -TskBuf[id].tx;
-+ if(cast(float)(rand() % 100) > 97) TskBuf[id].ty = -TskBuf[id].ty;
- TskBuf[id].tx = TskBuf[id].px + TskBuf[id].tx;
- TskBuf[id].ty = TskBuf[id].py + TskBuf[id].ty;
- if(TskBuf[id].tx < -ENEMY_AREAMAX) TskBuf[id].tx = -ENEMY_AREAMAX + 1.0f;
-diff -Naur a2k-org/a2k_src/src/enemy07.d a2k/a2k_src/src/enemy07.d ---- a2k-org/a2k_src/src/enemy07.d 2008-02-06 01:36:02.000000000 +0100 -+++ a2k/a2k_src/src/enemy07.d 2008-10-07 10:11:42.000000000 +0200 -@@ -6,7 +6,7 @@ - 2004/06/05 jumpei isshiki
- */
-
--private import std.math;
-+private import std.c.math;
- private import std.random;
- private import SDL;
- private import opengl;
-@@ -63,8 +63,8 @@ - switch(TskBuf[id].step){
- case 0:
- TskBuf[id].tskid |= TSKID_ZAKO;
-- TskBuf[id].px = (rand() % 1536) - 768.0f;
-- TskBuf[id].py = (rand() % 1536) - 768.0f;
-+ TskBuf[id].px = (cast(float)(rand() % 1536) - 768.0f);
-+ TskBuf[id].py = (cast(float)(rand() % 1536) - 768.0f);
- TskBuf[id].tid = ship_id;
- TskBuf[id].fp_int = null;
- TskBuf[id].fp_draw = &TSKenemy07Draw;
-@@ -137,42 +137,31 @@ - }
- }
- /* 座標更新 */
-- if(TskBuf[id].px < ship_px){
-- if(TskBuf[id].vx > +0.0f) TskBuf[id].vx += 1.0f / SPEED_RATE * 2.0f;
-- else TskBuf[id].vx += 1.0f / SPEED_RATE * 1.5f;
-- if(TskBuf[id].vx > +MAX_SPEED) TskBuf[id].vx = +MAX_SPEED;
-- }else{
-- if(TskBuf[id].vx < +0.0f) TskBuf[id].vx -= 1.0f / SPEED_RATE * 2.0f;
-- else TskBuf[id].vx -= 1.0f / SPEED_RATE * 1.5f;
-- if(TskBuf[id].vx < -MAX_SPEED) TskBuf[id].vx = -MAX_SPEED;
-- }
-- if(TskBuf[id].py < ship_py){
-- if(TskBuf[id].vy > +0.0f) TskBuf[id].vy += 1.0f / SPEED_RATE * 2.0f;
-- else TskBuf[id].vy += 1.0f / SPEED_RATE * 1.5f;
-- if(TskBuf[id].vy > +MAX_SPEED) TskBuf[id].vy = +MAX_SPEED;
-- }else{
-- if(TskBuf[id].vy < +0.0f) TskBuf[id].vy -= 1.0f / SPEED_RATE * 2.0f;
-- else TskBuf[id].vy -= 1.0f / SPEED_RATE * 1.5f;
-- if(TskBuf[id].vy < -MAX_SPEED) TskBuf[id].vy = -MAX_SPEED;
-- }
-- TskBuf[id].px += TskBuf[id].vx;
-- TskBuf[id].py += TskBuf[id].vy;
-- if(TskBuf[id].px < -ENEMY_AREAMAX){
-- TskBuf[id].px = -ENEMY_AREAMAX;
-- TskBuf[id].vx = -TskBuf[id].vx / 2;
-- }
-- if(TskBuf[id].px > +ENEMY_AREAMAX){
-- TskBuf[id].px = +ENEMY_AREAMAX;
-- TskBuf[id].vx = -TskBuf[id].vx / 2;
-- }
-- if(TskBuf[id].py < -ENEMY_AREAMAX){
-- TskBuf[id].py = -ENEMY_AREAMAX;
-- TskBuf[id].vy = -TskBuf[id].vy / 2;
-- }
-- if(TskBuf[id].py > +ENEMY_AREAMAX){
-- TskBuf[id].py = +ENEMY_AREAMAX;
-- TskBuf[id].vy = -TskBuf[id].vy / 2;
-- }
-+ TskBuf[id].vx = TskBuf[id].px;
-+ TskBuf[id].vy = TskBuf[id].py;
-+ if(!TskBuf[id].cnt){
-+ TskBuf[id].tx = cast(float)(rand() % 512) + 256.0f;
-+ TskBuf[id].ty = cast(float)(rand() % 512) + 256.0f;
-+ if(TskBuf[id].px < ship_px) TskBuf[id].tx = +TskBuf[id].tx;
-+ else TskBuf[id].tx = -TskBuf[id].tx;
-+ if(TskBuf[id].py < ship_py) TskBuf[id].ty = +TskBuf[id].ty;
-+ else TskBuf[id].ty = -TskBuf[id].ty;
-+ if(cast(float)(rand() % 100) > 97) TskBuf[id].tx = -TskBuf[id].tx;
-+ if(cast(float)(rand() % 100) > 97) TskBuf[id].ty = -TskBuf[id].ty;
-+ TskBuf[id].tx = TskBuf[id].px + TskBuf[id].tx;
-+ TskBuf[id].ty = TskBuf[id].py + TskBuf[id].ty;
-+ if(TskBuf[id].tx < -ENEMY_AREAMAX) TskBuf[id].tx = -ENEMY_AREAMAX + 1.0f;
-+ if(TskBuf[id].tx > +ENEMY_AREAMAX) TskBuf[id].tx = +ENEMY_AREAMAX - 1.0f;
-+ if(TskBuf[id].ty < -ENEMY_AREAMAX) TskBuf[id].ty = -ENEMY_AREAMAX + 1.0f;
-+ if(TskBuf[id].ty > +ENEMY_AREAMAX) TskBuf[id].ty = +ENEMY_AREAMAX - 1.0f;
-+ TskBuf[id].cnt = 180;
-+ }else{
-+ TskBuf[id].cnt--;
-+ }
-+ TskBuf[id].px += (TskBuf[id].tx - TskBuf[id].px) / (180 / 4);
-+ TskBuf[id].py += (TskBuf[id].ty - TskBuf[id].py) / (180 / 4);
-+ TskBuf[id].vx -= TskBuf[id].px;
-+ TskBuf[id].vy -= TskBuf[id].py;
- TskBuf[id].rot = atan2(-TskBuf[id].vx, -TskBuf[id].vy);
- break;
- default:
-diff -Naur a2k-org/a2k_src/src/enemy08.d a2k/a2k_src/src/enemy08.d ---- a2k-org/a2k_src/src/enemy08.d 2008-02-06 01:36:04.000000000 +0100 -+++ a2k/a2k_src/src/enemy08.d 2008-10-07 10:11:52.000000000 +0200 -@@ -6,7 +6,7 @@ - 2004/06/05 jumpei isshiki
- */
-
--private import std.math;
-+private import std.c.math;
- private import std.random;
- private import SDL;
- private import opengl;
-@@ -65,8 +65,8 @@ - switch(TskBuf[id].step){
- case 0:
- TskBuf[id].tskid |= TSKID_ZAKO;
-- TskBuf[id].px = (rand() % 1536) - 768.0f;
-- TskBuf[id].py = (rand() % 1536) - 768.0f;
-+ TskBuf[id].px = (cast(float)(rand() % 1536) - 768.0f);
-+ TskBuf[id].py = (cast(float)(rand() % 1536) - 768.0f);
- TskBuf[id].tid = ship_id;
- TskBuf[id].fp_int = null;
- TskBuf[id].fp_draw = &TSKenemy08Draw;
-diff -Naur a2k-org/a2k_src/src/enemy.d a2k/a2k_src/src/enemy.d ---- a2k-org/a2k_src/src/enemy.d 2008-02-06 01:35:42.000000000 +0100 -+++ a2k/a2k_src/src/enemy.d 2008-10-07 10:03:38.000000000 +0200 -@@ -6,7 +6,7 @@ - 2004/04/14 jumpei isshiki
- */
-
--private import std.math;
-+private import std.c.math;
- private import SDL;
- private import opengl;
- private import util_sdl;
-@@ -158,6 +158,7 @@ - return;
- }
-
-+
- void TSKeshotInt(int id)
- {
- TskBuf[id].step = -1;
-@@ -165,6 +166,7 @@ - return;
- }
-
-+
- void TSKeshotDrawSimple(int id)
- {
- float[XYZ] pos;
-@@ -198,6 +200,7 @@ - glEnd();
- }
-
-+
- void TSKeshotDrawActive(int id)
- {
- float[XYZ] pos;
-@@ -231,6 +234,7 @@ - glEnd();
- }
-
-+
- void TSKeshotExit(int id)
- {
- BulletCommand cmd = TskBuf[id].bullet_command;
-@@ -243,6 +247,7 @@ - }
- }
-
-+
- float getShipDirection(int id)
- {
- float px,py;
-@@ -257,3 +262,4 @@ - return dir;
- }
-
-+
-diff -Naur a2k-org/a2k_src/src/init.d a2k/a2k_src/src/init.d ---- a2k-org/a2k_src/src/init.d 2005-05-19 22:31:30.000000000 +0200 -+++ a2k/a2k_src/src/init.d 2008-10-07 09:53:28.000000000 +0200 -@@ -6,7 +6,7 @@ - 2003/12/01 jumpei isshiki
- */
-
--private import std.stdio;
-+private import std.c.stdio;
- private import std.stream;
- private import util_sdl;
- private import util_snd;
-@@ -101,7 +101,7 @@ - fd.open("score.dat");
- if(fd.size() != 12){
- fd.close();
-- writefln("score.dat initialized");
-+ printf("score.dat initialized");
- fd.create("score.dat");
- fd.write(high_easy);
- fd.write(high_normal);
-@@ -112,7 +112,7 @@ - fd.read(high_hard);
- }
- } catch (Error e) {
-- writefln("score.dat initialized");
-+ printf("score.dat initialized");
- fd.create("score.dat");
- fd.write(high_easy);
- fd.write(high_normal);
-@@ -126,7 +126,7 @@ - try {
- if(fd.size() != 12){
- fd.close();
-- writefln("config.dat initialized");
-+ printf("config.dat initialized");
- fd.create("config.dat");
- fd.write(pad_type);
- fd.write(vol_se);
-@@ -139,7 +139,7 @@ - volumeSNDmusic(vol_music);
- }
- } catch (Error e) {
-- writefln("config.dat initialized");
-+ printf("config.dat initialized");
- fd.create("config.dat");
- fd.write(pad_type);
- fd.write(vol_se);
-diff -Naur a2k-org/a2k_src/src/luminous.d a2k/a2k_src/src/luminous.d ---- a2k-org/a2k_src/src/luminous.d 2008-02-06 01:39:52.000000000 +0100 -+++ a2k/a2k_src/src/luminous.d 2008-10-07 09:53:29.000000000 +0200 -@@ -7,7 +7,7 @@ - */
-
- private import std.math;
--private import std.string;
-+private import std.c.string;
- private import opengl;
- private import util_sdl;
- private import task;
-diff -Naur a2k-org/a2k_src/src/main.d a2k/a2k_src/src/main.d ---- a2k-org/a2k_src/src/main.d 2008-02-07 00:42:58.000000000 +0100 -+++ a2k/a2k_src/src/main.d 2008-10-07 10:18:53.000000000 +0200 -@@ -6,8 +6,9 @@ - 2003/11/28 jumpei isshiki
- */
-
--private import std.c.windows.windows;
--private import SDL;
-+//private import std.c.windows.windows;
-+private import SDL; -+private import SDL_Keysym;
- private import opengl;
- private import util_sdl;
- private import util_pad;
-@@ -31,25 +32,29 @@ - int pause = 0;
- int pause_flag = 0;
- int skip = 0;
--
-+/*
- extern (Windows)
- int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
- {
-+*/ -+public int main(char[][] args) { - int result;
--
-+/*
- gc_init();
- _minit();
-
- try{
- _moduleCtor();
-- _moduleUnitTests();
-+ _moduleUnitTests(); -+*/
- result = boot();
-+/* - }catch (Object o){
- MessageBoxA(null, cast(char*)o.toString(), "Error", MB_OK | MB_ICONEXCLAMATION);
- result = 0;
- }
- gc_term();
--
-+*/
- return result;
- }
-
-diff -Naur a2k-org/a2k_src/src/middle01.d a2k/a2k_src/src/middle01.d ---- a2k-org/a2k_src/src/middle01.d 2008-02-06 01:36:06.000000000 +0100 -+++ a2k/a2k_src/src/middle01.d 2008-10-07 10:19:15.000000000 +0200 -@@ -6,7 +6,7 @@ - 2004/05/05 jumpei isshiki
- */
-
--private import std.math;
-+private import std.c.math;
- private import std.random;
- private import std.string;
- private import SDL;
-diff -Naur a2k-org/a2k_src/src/middle02.d a2k/a2k_src/src/middle02.d ---- a2k-org/a2k_src/src/middle02.d 2008-02-06 01:36:08.000000000 +0100 -+++ a2k/a2k_src/src/middle02.d 2008-10-07 10:19:24.000000000 +0200 -@@ -6,7 +6,7 @@ - 2004/06/03 jumpei isshiki
- */
-
--private import std.math;
-+private import std.c.math;
- private import std.random;
- private import std.string;
- private import SDL;
-diff -Naur a2k-org/a2k_src/src/middle03.d a2k/a2k_src/src/middle03.d ---- a2k-org/a2k_src/src/middle03.d 2008-02-06 01:36:12.000000000 +0100 -+++ a2k/a2k_src/src/middle03.d 2008-10-07 10:19:32.000000000 +0200 -@@ -6,7 +6,7 @@ - 2004/06/07 jumpei isshiki
- */
-
--private import std.math;
-+private import std.c.math;
- private import std.random;
- private import std.string;
- private import SDL;
-diff -Naur a2k-org/a2k_src/src/middle04.d a2k/a2k_src/src/middle04.d ---- a2k-org/a2k_src/src/middle04.d 2008-02-06 01:36:14.000000000 +0100 -+++ a2k/a2k_src/src/middle04.d 2008-10-07 10:19:40.000000000 +0200 -@@ -6,7 +6,7 @@ - 2004/07/05 jumpei isshiki
- */
-
--private import std.math;
-+private import std.c.math;
- private import std.random;
- private import std.string;
- private import SDL;
-diff -Naur a2k-org/a2k_src/src/middle05.d a2k/a2k_src/src/middle05.d ---- a2k-org/a2k_src/src/middle05.d 2008-02-06 01:36:16.000000000 +0100 -+++ a2k/a2k_src/src/middle05.d 2008-10-07 10:19:47.000000000 +0200 -@@ -6,7 +6,7 @@ - 2004/07/06 jumpei isshiki
- */
-
--private import std.math;
-+private import std.c.math;
- private import std.random;
- private import std.string;
- private import SDL;
-diff -Naur a2k-org/a2k_src/src/ship.d a2k/a2k_src/src/ship.d ---- a2k-org/a2k_src/src/ship.d 2008-02-12 23:41:50.000000000 +0100 -+++ a2k/a2k_src/src/ship.d 2008-10-07 10:41:21.000000000 +0200 -@@ -6,7 +6,7 @@ - 2003/12/01 jumpei isshiki
- */
-
--private import std.math;
-+private import std.c.math;
- private import std.intrinsic;
- private import std.random;
- private import SDL;
-diff -Naur a2k-org/a2k_src/src/stg.d a2k/a2k_src/src/stg.d ---- a2k-org/a2k_src/src/stg.d 2005-05-19 22:52:14.000000000 +0200 -+++ a2k/a2k_src/src/stg.d 2008-10-07 09:53:29.000000000 +0200 -@@ -91,25 +91,36 @@ - void TSKstgCtrl(int id)
- {
- switch(TskBuf[id].step){
-- case 0:
-+ case 0: - area_num = AREA_01;
-- scene_num = SCENE_01;
-- debug{
-- //area_num = AREA_02;
-- //area_num = AREA_03;
-- //area_num = AREA_04;
-- //area_num = AREA_05;
-- //scene_num = SCENE_02;
-- //scene_num = SCENE_03;
-- //scene_num = SCENE_04;
-- //scene_num = SCENE_05;
-- //scene_num = SCENE_06;
-- //scene_num = SCENE_07;
-- //scene_num = SCENE_08;
-- //scene_num = SCENE_09;
-- //scene_num = SCENE_10;
-- }
-- stg_bgm = -1;
-+ scene_num = SCENE_01; -+
-+ switch(area_num){
-+ case AREA_01:
-+ stg_ctrl = STG_MAIN;
-+ setTSK(GROUP_01,&TSKstg01);
-+ break;
-+ case AREA_02:
-+ stg_ctrl = STG_MAIN;
-+ setTSK(GROUP_01,&TSKstg02);
-+ break;
-+ case AREA_03:
-+ stg_ctrl = STG_MAIN;
-+ setTSK(GROUP_01,&TSKstg03);
-+ break;
-+ case AREA_04:
-+ stg_ctrl = STG_MAIN;
-+ setTSK(GROUP_01,&TSKstg04);
-+ break;
-+ case AREA_05:
-+ stg_ctrl = STG_MAIN;
-+ setTSK(GROUP_01,&TSKstg05);
-+ break;
-+ default:
-+ g_step = GSTEP_CLEAR;
-+ break;
-+ } -+ stg_bgm = -1; - stg_ctrl = STG_INIT;
- TskBuf[id].step++;
- break;
-@@ -177,7 +188,7 @@ - {
- switch(TskBuf[id].step){
- case 0:
-- stg_ctrl = STG_INIT;
-+// stg_ctrl = ;
- TskBuf[id].step++;
- break;
- case 1:
-diff -Naur a2k-org/a2k_src/src/system.d a2k/a2k_src/src/system.d ---- a2k-org/a2k_src/src/system.d 2005-05-19 22:31:20.000000000 +0200 -+++ a2k/a2k_src/src/system.d 2008-10-07 09:53:29.000000000 +0200 -@@ -6,7 +6,7 @@ - 2004/03/24 jumpei isshiki
- */
-
--private import std.stdio;
-+private import std.c.stdio;
- private import std.math;
- private import std.random;
- private import std.string;
-@@ -22,6 +22,11 @@ - private import stg;
- private import bg;
- private import ship;
-+ -+const real PI = 0x1.921fb54442d1846ap+1; -+const real PI_2 = 1.57079632679489661923; -+const real PI_4 = 0.78539816339744830962; -+const real SQRT2 = 1.41421356237309504880; -
- private char[] str_buf;
- private int wrk1_time;
-diff -Naur a2k-org/a2k_src/src/task.d a2k/a2k_src/src/task.d ---- a2k-org/a2k_src/src/task.d 2008-02-07 00:38:58.000000000 +0100 -+++ a2k/a2k_src/src/task.d 2008-10-07 09:53:29.000000000 +0200 -@@ -153,7 +153,9 @@ - TskBuf[i].fp_exit = null;
- TskBuf[i].image = null;
- TskBuf[i].bullet_command = null;
-- TskBuf[i].bullet_state = null;
-+ TskBuf[i].bullet_state = null; -+ TskBuf[i].bullet_accx = 0;
-+ TskBuf[i].bullet_accy = 0;
- }
- TskBuf[i].tskid = TSKID_NONE;
- TskBuf[i].entry = -1;
-diff -Naur a2k-org/a2k_src/src/title.d a2k/a2k_src/src/title.d ---- a2k-org/a2k_src/src/title.d 2008-02-12 23:50:14.000000000 +0100 -+++ a2k/a2k_src/src/title.d 2008-10-07 09:53:29.000000000 +0200 -@@ -6,7 +6,7 @@ - 2004/04/08 jumpei isshiki
- */
-
--private import std.stdio;
-+private import std.c.stdio;
- private import std.math;
- private import std.string;
- private import SDL;
-diff -Naur a2k-org/a2k_src/src/util_ascii.d a2k/a2k_src/src/util_ascii.d ---- a2k-org/a2k_src/src/util_ascii.d 2005-05-19 22:30:50.000000000 +0200 -+++ a2k/a2k_src/src/util_ascii.d 2008-10-07 09:53:29.000000000 +0200 -@@ -13,7 +13,15 @@ -
- const float ASC_SIZE = (16.0f + 2.0f);
-
--private float[][] ascii_font = [
-+float[][] ascii_font;
-+
-+
-+
-+private char[] ascii_dict = "ABCDEFGHIJKLMNOPQRSTUVWXYZ.:!?\"'-=+ 0123456789";
-+
-+void initASCII()
-+{
-+static float[][] af = [
- /* 'A' */
- [
- 3, 0, 11, 2,
-@@ -328,10 +336,14 @@ - ],
- ];
-
--private char[] ascii_dict = "ABCDEFGHIJKLMNOPQRSTUVWXYZ.:!?\"'-=+ 0123456789";
-+ ascii_font.length = af.length;
-+ for (int i = 0; i < ascii_font.length; i++) {
-+ ascii_font[i].length = af[i].length;
-+ for (int j = 0; j < ascii_font[i].length; j++) {
-+ ascii_font[i][j] = af[i][j];
-+ }
-+ }
-
--void initASCII()
--{
- for(int i = 0; i < ascii_font.length; i++){
- for(int j = 0; j < ascii_font[i].length; j += 4){
- ascii_font[i][j+2] += 1.0f;
-diff -Naur a2k-org/a2k_src/src/util_pad.d a2k/a2k_src/src/util_pad.d ---- a2k-org/a2k_src/src/util_pad.d 2008-02-12 23:46:38.000000000 +0100 -+++ a2k/a2k_src/src/util_pad.d 2008-10-07 09:53:29.000000000 +0200 -@@ -7,7 +7,8 @@ - */
-
- private import SDL;
--
-+private import SDL_Keysym; -+private import SDL_keyboard;
- enum{
- PAD_UP = 0x01,
- PAD_DOWN = 0x02,
-diff -Naur a2k-org/a2k_src/src/util_sdl.d a2k/a2k_src/src/util_sdl.d ---- a2k-org/a2k_src/src/util_sdl.d 2008-02-06 01:41:02.000000000 +0100 -+++ a2k/a2k_src/src/util_sdl.d 2008-10-07 10:30:33.000000000 +0200 -@@ -6,9 +6,12 @@ - 2003/11/28 jumpei isshiki
- */
-
-+private import std.stdio;
- private import std.string;
--private import SDL;
-+private import SDL; -+private import SDL_mouse;
- private import opengl;
-+private import util_pad;
- private import define;
-
- enum{
-@@ -30,11 +33,18 @@ - EX,
- EY,
- }
--
-+ -+struct VEC_POS {
-+ float px;
-+ float py;
-+ float pz;
-+}
-
- SDL_Surface* primary;
- SDL_Surface*[] offscreen;
--
-+ -+const float SCREEN_RATIOX = cast(float)(SCREEN_X / 2.0f);
-+const float SCREEN_RATIOY = cast(float)(SCREEN_Y / 2.0f);
- const float BASE_Z = 2.0f;
- float cam_scr = -0.75f;
- float cam_pos;
-@@ -43,20 +53,27 @@ - private int height = SCREEN_Y;
- private float nearPlane = 0.0f;
- private float farPlane = 1000.0f;
--
-+private GLuint TEXTURE_NONE = 0xffffffff;
- private GLuint[] tex_bank;
-
--int initSDL()
-+int initSDL() -+
- {
- if(SDL_Init(SDL_INIT_VIDEO|SDL_INIT_JOYSTICK) < 0){
- return 0;
- }
-
- Uint32 videoFlags;
-- videoFlags = SDL_OPENGL | SDL_FULLSCREEN;
-+// videoFlags = SDL_OPENGL | SDL_FULLSCREEN;
- //videoFlags = SDL_OPENGL | SDL_RESIZABLE;
- debug{
-- videoFlags = SDL_OPENGL | SDL_RESIZABLE;
-+ if((pads & PAD_BUTTON1)){
-+ videoFlags = SDL_OPENGL | SDL_FULLSCREEN;
-+ }else{
-+ videoFlags = SDL_OPENGL | SDL_RESIZABLE;
-+ }
-+ }else{
-+ videoFlags = SDL_OPENGL | SDL_FULLSCREEN;
- }
- primary = SDL_SetVideoMode(width, height, 0, videoFlags);
- if(primary == null){
-@@ -67,14 +84,15 @@ - tex_bank.length = SURFACE_MAX;
- for(int i = 0; i < SURFACE_MAX; i++){
- offscreen[i] = null;
-- tex_bank[i] = cast(GLuint)-1;
-+ tex_bank[i] = TEXTURE_NONE;
- }
-
- glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
- resizedSDL(width, height);
- SDL_ShowCursor(SDL_DISABLE);
-
-- SDL_WM_SetCaption(cast(char*)PROJECT_NAME, null);
-+ SDL_WM_SetCaption(cast(char*)PROJECT_NAME, null); -+ SDL_WM_SetIcon(SDL_LoadBMP("icon.bmp"), null);
-
- return 1;
- }
-@@ -96,9 +114,9 @@ - SDL_ShowCursor(SDL_ENABLE);
- SDL_Quit();
- }
-+ -
--
--void readSDLtexture(char[] fname, int bank)
-+void readSDLtexture(char[] fname, int bank)
- {
- offscreen[bank] = SDL_LoadBMP(toStringz(fname));
- if(offscreen[bank]){
-@@ -110,31 +128,28 @@ - }
- }
-
--
--void bindSDLtexture(int bank)
-+void bindSDLtexture(int bank)
- {
-- if(tex_bank[bank] != -1) glBindTexture(GL_TEXTURE_2D, tex_bank[bank]);
-+ if(tex_bank[bank] != TEXTURE_NONE) glBindTexture(GL_TEXTURE_2D, tex_bank[bank]);
- }
-
--
--void clearSDL()
-+void clearSDL()
- {
- glClear(GL_COLOR_BUFFER_BIT);
- }
-
--
--void flipSDL()
-+void flipSDL()
- {
- glFlush();
- SDL_GL_SwapBuffers();
- }
-
--
--void resizedSDL(int w, int h)
-+void resizedSDL(int w, int h)
- {
- glViewport(0, 0, w, h);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
-+ w = (w ? w : 1);
- glFrustum(-nearPlane,nearPlane,
- -nearPlane * h / w,
- nearPlane * h / w,
-diff -Naur a2k-org/makefile a2k/makefile ---- a2k-org/makefile 1970-01-01 01:00:00.000000000 +0100 -+++ a2k/makefile 2008-10-07 09:53:29.000000000 +0200 -@@ -0,0 +1,18 @@ -+DSRC=$(shell find a2k_src/src -name "*.d")
-+SOURCES=$(DSRC) a2k_src/import/SDL_video.d a2k_src/import/SDL_mixer.d
-+OBJS=$(SOURCES:.d=.o)
-+CFLAGS=
-+DFLAGS=-O -Ia2k_src/import -Ia2k_src/src -I/usr/X11R6/include/
-+EXE=area2048
-+
-+all: $(EXE)
-+
-+$(EXE): $(OBJS)
-+ gcc $(CFLAGS) -o $@ $(OBJS) $(COBJS) -lbulletml_d -L/usr/local/lib -L/usr/lib -lgphobos -lpthread -lGLU -lGL -lglut -lm -lstdc++ -lSDL -lSDL_mixer
-+
-+$(OBJS): %.o: %.d
-+ gdmd -d -c -of$@ $(DFLAGS) $<
-+
-+clean:
-+ rm a2k_src/src/*.o
-+ |