--- a2k-org/a2k_src/import/opengl.d 2008-02-12 22:20:18.000000000 +0100 +++ a2k-org/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); --- a2k-org/a2k_src/import/openglu.d 2008-02-12 22:20:14.000000000 +0100 +++ a2k-org/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); --- a2k-org/a2k_src/import/SDL_active.d 2006-07-26 23:24:30.000000000 +0200 +++ a2k-org/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): --- a2k-org/a2k_src/import/SDL_audio.d 2006-07-26 23:24:40.000000000 +0200 +++ a2k-org/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): --- a2k-org/a2k_src/import/SDL_cdrom.d 2006-07-26 23:24:42.000000000 +0200 +++ a2k-org/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): --- a2k-org/a2k_src/import/SDL.d 2006-07-26 23:24:12.000000000 +0200 +++ a2k-org/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(); +} ++/ --- a2k-org/a2k_src/import/SDL_endian.d 2006-09-14 01:57:50.000000000 +0200 +++ a2k-org/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) { --- a2k-org/a2k_src/import/SDL_events.d 2006-07-26 23:25:46.000000000 +0200 +++ a2k-org/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; --- a2k-org/a2k_src/import/SDL_image.d 2006-07-26 23:24:58.000000000 +0200 +++ a2k-org/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) { --- a2k-org/a2k_src/import/SDL_joystick.d 2006-07-26 23:25:10.000000000 +0200 +++ a2k-org/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): --- a2k-org/a2k_src/import/SDL_keyboard.d 2006-07-26 23:25:14.000000000 +0200 +++ a2k-org/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): --- a2k-org/a2k_src/import/SDL_keysym.d 2002-01-04 23:31:22.000000000 +0100 +++ a2k-org/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); --- a2k-org/a2k_src/import/SDL_Keysym.d 1970-01-01 01:00:00.000000000 +0100 +++ a2k-org/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); --- a2k-org/a2k_src/import/SDL_mixer.d 2006-07-26 23:24:04.000000000 +0200 +++ a2k-org/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) { --- a2k-org/a2k_src/import/SDL_mouse.d 2006-07-26 23:25:18.000000000 +0200 +++ a2k-org/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): --- a2k-org/a2k_src/import/SDL_mutex.d 2006-07-26 23:25:20.000000000 +0200 +++ a2k-org/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): --- a2k-org/a2k_src/import/SDL_quit.d 2006-07-26 23:25:22.000000000 +0200 +++ a2k-org/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 --- a2k-org/a2k_src/import/SDL_rwops.d 2006-07-26 23:25:24.000000000 +0200 +++ a2k-org/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): --- a2k-org/a2k_src/import/SDL_sound.d 2006-07-26 23:25:26.000000000 +0200 +++ a2k-org/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; --- a2k-org/a2k_src/import/SDL_syswm.d 2006-07-26 23:25:32.000000000 +0200 +++ a2k-org/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): --- a2k-org/a2k_src/import/SDL_thread.d 2006-07-26 23:25:36.000000000 +0200 +++ a2k-org/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): --- a2k-org/a2k_src/import/SDL_timer.d 2006-07-26 23:25:38.000000000 +0200 +++ a2k-org/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): --- a2k-org/a2k_src/import/SDL_version.d 2006-07-26 23:25:40.000000000 +0200 +++ a2k-org/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(); --- a2k-org/a2k_src/import/SDL_Version.d 1970-01-01 01:00:00.000000000 +0100 +++ a2k-org/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(); --- a2k-org/a2k_src/import/SDL_video.d 2006-07-26 23:25:42.000000000 +0200 +++ a2k-org/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): --- a2k-org/a2k_src/src/bg.d 2005-01-18 00:34:48.000000000 +0100 +++ a2k-org/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; --- a2k-org/a2k_src/src/boss01.d 2008-02-06 01:34:54.000000000 +0100 +++ a2k-org/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; --- a2k-org/a2k_src/src/boss02.d 2008-02-06 01:35:18.000000000 +0100 +++ a2k-org/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; --- a2k-org/a2k_src/src/boss03.d 2008-02-06 01:35:30.000000000 +0100 +++ a2k-org/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; --- a2k-org/a2k_src/src/boss04.d 2008-02-06 01:35:34.000000000 +0100 +++ a2k-org/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; --- a2k-org/a2k_src/src/boss05.d 2008-02-06 01:35:38.000000000 +0100 +++ a2k-org/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; --- a2k-org/a2k_src/src/bulletcommand.d 2008-02-06 01:37:56.000000000 +0100 +++ a2k-org/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; } --- a2k-org/a2k_src/src/effect.d 2008-02-06 01:35:40.000000000 +0100 +++ a2k-org/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); --- a2k-org/a2k_src/src/enemy01.d 2008-02-06 01:35:46.000000000 +0100 +++ a2k-org/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; --- a2k-org/a2k_src/src/enemy02.d 2008-02-06 01:35:48.000000000 +0100 +++ a2k-org/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; --- a2k-org/a2k_src/src/enemy03.d 2008-02-06 01:35:52.000000000 +0100 +++ a2k-org/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; --- a2k-org/a2k_src/src/enemy04.d 2008-02-06 01:35:56.000000000 +0100 +++ a2k-org/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; --- a2k-org/a2k_src/src/enemy05.d 2008-02-06 01:35:58.000000000 +0100 +++ a2k-org/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: --- a2k-org/a2k_src/src/enemy06.d 2008-02-06 01:36:00.000000000 +0100 +++ a2k-org/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; --- a2k-org/a2k_src/src/enemy07.d 2008-02-06 01:36:02.000000000 +0100 +++ a2k-org/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: --- a2k-org/a2k_src/src/enemy08.d 2008-02-06 01:36:04.000000000 +0100 +++ a2k-org/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; --- a2k-org/a2k_src/src/enemy.d 2008-02-06 01:35:42.000000000 +0100 +++ a2k-org/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; } + --- a2k-org/a2k_src/src/init.d 2005-05-19 22:31:30.000000000 +0200 +++ a2k-org/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); --- a2k-org/a2k_src/src/luminous.d 2008-02-06 01:39:52.000000000 +0100 +++ a2k-org/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; --- a2k-org/a2k_src/src/main.d 2008-02-07 00:42:58.000000000 +0100 +++ a2k-org/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; } --- a2k-org/a2k_src/src/middle01.d 2008-02-06 01:36:06.000000000 +0100 +++ a2k-org/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; --- a2k-org/a2k_src/src/middle02.d 2008-02-06 01:36:08.000000000 +0100 +++ a2k-org/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; --- a2k-org/a2k_src/src/middle03.d 2008-02-06 01:36:12.000000000 +0100 +++ a2k-org/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; --- a2k-org/a2k_src/src/middle04.d 2008-02-06 01:36:14.000000000 +0100 +++ a2k-org/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; --- a2k-org/a2k_src/src/middle05.d 2008-02-06 01:36:16.000000000 +0100 +++ a2k-org/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; --- a2k-org/a2k_src/src/ship.d 2008-02-12 23:41:50.000000000 +0100 +++ a2k-org/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; --- a2k-org/a2k_src/src/stg.d 2005-05-19 22:52:14.000000000 +0200 +++ a2k-org/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: --- a2k-org/a2k_src/src/system.d 2005-05-19 22:31:20.000000000 +0200 +++ a2k-org/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; --- a2k-org/a2k_src/src/task.d 2008-02-07 00:38:58.000000000 +0100 +++ a2k-org/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; --- a2k-org/a2k_src/src/title.d 2008-02-12 23:50:14.000000000 +0100 +++ a2k-org/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; --- a2k-org/a2k_src/src/util_ascii.d 2005-05-19 22:30:50.000000000 +0200 +++ a2k-org/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; --- a2k-org/a2k_src/src/util_pad.d 2008-02-12 23:46:38.000000000 +0100 +++ a2k-org/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, --- a2k-org/a2k_src/src/util_sdl.d 2008-02-06 01:41:02.000000000 +0100 +++ a2k-org/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, --- a2k-org/makefile 1970-01-01 01:00:00.000000000 +0100 +++ a2k-org/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 +