diff -Naur vr/import/opengl.d vr-gentoo/import/opengl.d --- vr/import/opengl.d 2005-03-14 01:15:04.000000000 +0100 +++ vr-gentoo/import/opengl.d 2006-11-02 09:48:29.000000000 +0100 @@ -59,6 +59,7 @@ const uint GL_VIEWPORT_BIT = 0x00000800; const uint GL_TRANSFORM_BIT = 0x00001000; const uint GL_ENABLE_BIT = 0x00002000; +const uint GL_UNSIGNED_INT_8_8_8_8_REV = 0x8367; const uint GL_COLOR_BUFFER_BIT = 0x00004000; const uint GL_HINT_BIT = 0x00008000; const uint GL_EVAL_BIT = 0x00010000; diff -Naur vr/import/SDL.d vr-gentoo/import/SDL.d --- vr/import/SDL.d 2005-03-14 01:15:04.000000000 +0100 +++ vr-gentoo/import/SDL.d 2006-11-19 08:54:54.000000000 +0100 @@ -20,18 +20,28 @@ slouken@devolution.com */ -import SDL_types; -import SDL_getenv; -import SDL_error; -import SDL_rwops; -import SDL_timer; -import SDL_audio; -import SDL_cdrom; -import SDL_joystick; -import SDL_events; -import SDL_video; -import SDL_byteorder; -import SDL_Version; +public import SDL_keysym_; +public import SDL_version_; +public import SDL_active; +public import SDL_audio; +public import SDL_byteorder; +public import SDL_cdrom; +public import SDL_copying; +public import SDL_endian; +public import SDL_error; +public import SDL_events; +public import SDL_getenv; +public import SDL_joystick; +public import SDL_keyboard; +public import SDL_mouse; +public import SDL_mutex; +public import SDL_quit; +public import SDL_rwops; +public import SDL_syswm; +public import SDL_thread; +public import SDL_timer; +public import SDL_types; +public import SDL_video; extern(C): @@ -73,20 +83,3 @@ */ 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 vr/import/SDL_events.d vr-gentoo/import/SDL_events.d --- vr/import/SDL_events.d 2005-03-14 01:15:04.000000000 +0100 +++ vr-gentoo/import/SDL_events.d 2006-11-19 08:54:54.000000000 +0100 @@ -304,8 +304,8 @@ If 'state' is set to SDL_QUERY, SDL_EventState() will return the current processing state of the specified event. */ -const uint SDL_QUERY = cast(uint) -1; -const uint SDL_IGNORE = 0; -const uint SDL_DISABLE = 0; -const uint SDL_ENABLE = 1; +const int SDL_QUERY = -1; +const int SDL_IGNORE = 0; +const int SDL_DISABLE = 0; +const int SDL_ENABLE = 1; Uint8 SDL_EventState(Uint8 type, int state); diff -Naur vr/import/SDL_keyboard.d vr-gentoo/import/SDL_keyboard.d --- vr/import/SDL_keyboard.d 2005-03-14 01:15:04.000000000 +0100 +++ vr-gentoo/import/SDL_keyboard.d 2006-11-19 08:54:54.000000000 +0100 @@ -26,7 +26,7 @@ // !!! 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. -import SDL_Keysym; +import SDL_keysym_; extern(C): diff -Naur vr/import/SDL_keysym_.d vr-gentoo/import/SDL_keysym_.d --- vr/import/SDL_keysym_.d 1970-01-01 01:00:00.000000000 +0100 +++ vr-gentoo/import/SDL_keysym_.d 2006-11-19 08:54:54.000000000 +0100 @@ -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 vr/import/SDL_mixer.d vr-gentoo/import/SDL_mixer.d --- vr/import/SDL_mixer.d 2005-03-14 01:15:04.000000000 +0100 +++ vr-gentoo/import/SDL_mixer.d 2006-11-19 08:54:54.000000000 +0100 @@ -22,7 +22,7 @@ // convert to D by shinichiro.h -/* $Id: SDL_mixer.d,v 1.1.1.1 2005/03/13 16:15:04 kenta Exp $ */ +/* $Id: SDL_mixer.d,v 1.1.1.1 2006/11/19 07:54:54 kenta Exp $ */ import SDL; diff -Naur vr/import/SDL_syswm.d vr-gentoo/import/SDL_syswm.d --- vr/import/SDL_syswm.d 2005-03-14 01:15:04.000000000 +0100 +++ vr-gentoo/import/SDL_syswm.d 2006-11-19 08:54:54.000000000 +0100 @@ -22,7 +22,7 @@ /* Include file for SDL custom system window manager hooks */ -import SDL_Version; +import SDL_version_; extern(C): diff -Naur vr/import/SDL_version_.d vr-gentoo/import/SDL_version_.d --- vr/import/SDL_version_.d 1970-01-01 01:00:00.000000000 +0100 +++ vr-gentoo/import/SDL_version_.d 2006-11-19 08:54:54.000000000 +0100 @@ -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 vr/Makefile vr-gentoo/Makefile --- vr/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ vr-gentoo/Makefile 2007-07-15 01:21:53.000000000 +0200 @@ -0,0 +1,17 @@ +DSRC=$(shell find src -name "*.d") +SOURCES=$(DSRC) import/SDL_video.d import/SDL_mixer.d +OBJS=$(SOURCES:.d=.o) +CFLAGS= +DFLAGS=-O -release -Iimport -Isrc -I/usr/X11R6/include/ +EXE=valandrick + + +all: $(EXE) + +$(EXE): import/SDL_keysym_.d $(OBJS) $(COBJS) + 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 -debug -d -c -of$@ $(DFLAGS) $< + +clean: rm -r src/abagames/vr/*.o diff -Naur vr/src/abagames/util/logger.d vr-gentoo/src/abagames/util/logger.d --- vr/src/abagames/util/logger.d 2005-03-14 01:15:04.000000000 +0100 +++ vr-gentoo/src/abagames/util/logger.d 2006-12-19 16:41:41.000000000 +0100 @@ -5,7 +5,7 @@ */ module abagames.util.logger; -private import std.stream; +private import std.cstream; private import std.string; /** @@ -56,28 +56,28 @@ public static void info(char[] msg, bool nline = true) { if (nline) - stderr.writeLine(msg); + derr.writeLine(msg); else - stderr.writeString(msg); + derr.writeString(msg); } public static void info(double n, bool nline = true) { if (nline) - stderr.writeLine(std.string.toString(n)); + derr.writeLine(std.string.toString(n)); else - stderr.writeString(std.string.toString(n) ~ " "); + derr.writeString(std.string.toString(n) ~ " "); } public static void error(char[] msg) { - stderr.writeLine("Error: " ~ msg); + derr.writeLine("Error: " ~ msg); } public static void error(Exception e) { - stderr.writeLine("Error: " ~ e.toString()); + derr.writeLine("Error: " ~ e.toString()); } public static void error(Error e) { - stderr.writeLine("Error: " ~ e.toString()); + derr.writeLine("Error: " ~ e.toString()); if (e.next) error(e.next); } diff -Naur vr/src/abagames/util/sdl/luminous.d vr-gentoo/src/abagames/util/sdl/luminous.d --- vr/src/abagames/util/sdl/luminous.d 2005-03-14 01:15:04.000000000 +0100 +++ vr-gentoo/src/abagames/util/sdl/luminous.d 2006-12-19 16:42:47.000000000 +0100 @@ -7,6 +7,7 @@ private import std.math; private import std.string; +private import std.c.string; private import opengl; private import abagames.util.actor; diff -Naur vr/src/abagames/util/sdl/screen3d.d vr-gentoo/src/abagames/util/sdl/screen3d.d --- vr/src/abagames/util/sdl/screen3d.d 2005-03-14 01:15:04.000000000 +0100 +++ vr-gentoo/src/abagames/util/sdl/screen3d.d 2007-07-15 11:25:14.000000000 +0200 @@ -6,7 +6,8 @@ module abagames.util.sdl.screen3d; private import std.string; -private import SDL; +private import SDL; +private import SDL_byteorder; private import opengl; private import abagames.util.vector; private import abagames.util.sdl.screen; @@ -22,7 +23,8 @@ float _nearPlane = 0.1; int _width = 640; int _height = 480; - bool _windowMode = false; + bool _windowMode = false; + const uint SDL_BYTEORDER = SDL_BIG_ENDIAN; protected abstract void init(); protected abstract void close(); @@ -36,9 +38,9 @@ // Create an OpenGL screen. Uint32 videoFlags; if (_windowMode) { - videoFlags = SDL_OPENGL | SDL_RESIZABLE; + videoFlags = SDL_OPENGL | SDL_RESIZABLE | SDL_GL_DOUBLEBUFFER; } else { - videoFlags = SDL_OPENGL | SDL_FULLSCREEN; + videoFlags = SDL_OPENGL | SDL_FULLSCREEN | SDL_GL_DOUBLEBUFFER; } if (SDL_SetVideoMode(_width, _height, 0, videoFlags) == null) { throw new SDLInitFailedException diff -Naur vr/src/abagames/util/sdl/sound.d vr-gentoo/src/abagames/util/sdl/sound.d --- vr/src/abagames/util/sdl/sound.d 2005-03-14 01:15:04.000000000 +0100 +++ vr-gentoo/src/abagames/util/sdl/sound.d 2007-07-15 01:24:25.000000000 +0200 @@ -67,7 +67,7 @@ public class Music: Sound { public: static int fadeOutSpeed = 1280; - static char[] dir = "sounds/musics"; + static char[] dir = "/usr/share/games/valandrick/sounds/musics"; private: Mix_Music* music; @@ -131,7 +131,7 @@ public class Chunk: Sound { public: - static char[] dir = "sounds/chunks"; + static char[] dir = "/usr/share/games/valandrick/sounds/chunks"; private: Mix_Chunk* chunk; int chunkChannel; diff -Naur vr/src/abagames/util/sdl/texture.d vr-gentoo/src/abagames/util/sdl/texture.d --- vr/src/abagames/util/sdl/texture.d 2005-03-14 01:15:04.000000000 +0100 +++ vr-gentoo/src/abagames/util/sdl/texture.d 2007-07-15 11:26:55.000000000 +0200 @@ -16,7 +16,7 @@ */ public class Texture { public: - static char[] imagesDir = "images/"; + static char[] imagesDir = "/usr/share/games/valandrick/images/"; static SDL_Surface*[char[]] surface; private: GLuint num, maskNum; @@ -25,9 +25,7 @@ Uint32[128 * 128] maskPixels; public static SDL_Surface* loadBmp(char[] name) { - if (surface[name]) { - return surface[name]; - } else { +{ char[] fileName = imagesDir ~ name; SDL_Surface *s = SDL_LoadBMP(std.string.toStringz(fileName)); if (!s) @@ -97,13 +95,13 @@ } glBindTexture(GL_TEXTURE_2D, num + ti); gluBuild2DMipmaps(GL_TEXTURE_2D, 4, panelWidth, panelHeight, - GL_RGBA, GL_UNSIGNED_BYTE, pixels); + GL_RGBA, GL_UNSIGNED_INT_8_8_8_8_REV, pixels); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); if (maskColor != 0xffffffffu) { glBindTexture(GL_TEXTURE_2D, maskNum + ti); gluBuild2DMipmaps(GL_TEXTURE_2D, 4, panelWidth, panelHeight, - GL_RGBA, GL_UNSIGNED_BYTE, maskPixels); + GL_RGBA, GL_UNSIGNED_INT_8_8_8_8_REV, maskPixels); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); } diff -Naur vr/src/abagames/vr/barrage.d vr-gentoo/src/abagames/vr/barrage.d --- vr/src/abagames/vr/barrage.d 2005-03-14 01:15:04.000000000 +0100 +++ vr-gentoo/src/abagames/vr/barrage.d 2007-07-15 01:22:50.000000000 +0200 @@ -24,7 +24,8 @@ public class BarrageManager { private: static BulletMLParserTinyXML *parser[char[]][char[]]; - static const char[] BARRAGE_DIR_NAME = "barrage"; + static BulletMLParserTinyXML *parser2[char[]]; + static const char[] BARRAGE_DIR_NAME = "/usr/share/games/valandrick/barrage"; public static void load() { char[][] dirs = listdir(BARRAGE_DIR_NAME); @@ -33,20 +34,21 @@ foreach (char[] fileName; files) { if (getExt(fileName) != "xml") continue; - parser[dirName][fileName] = getInstance(dirName, fileName); + char[] barrageName = dirName ~ "/" ~ fileName; + parser2[barrageName] = getInstance(dirName, fileName); } } } public static BulletMLParserTinyXML* getInstance(char[] dirName, char[] fileName) { - if (!parser[dirName][fileName]) { char[] barrageName = dirName ~ "/" ~ fileName; + if (!parser2[barrageName]) { Logger.info("Loading BulletML: " ~ barrageName); - parser[dirName][fileName] = + parser2[barrageName] = BulletMLParserTinyXML_new(std.string.toStringz(BARRAGE_DIR_NAME ~ "/" ~ barrageName)); - BulletMLParserTinyXML_parse(parser[dirName][fileName]); + BulletMLParserTinyXML_parse(parser2[barrageName]); } - return parser[dirName][fileName]; + return parser2[barrageName]; } public static BulletMLParserTinyXML*[] getInstanceList(char[] dirName) { diff -Naur vr/src/abagames/vr/prefmanager.d vr-gentoo/src/abagames/vr/prefmanager.d --- vr/src/abagames/vr/prefmanager.d 2005-03-14 01:15:04.000000000 +0100 +++ vr-gentoo/src/abagames/vr/prefmanager.d 2007-07-15 01:23:04.000000000 +0200 @@ -15,7 +15,7 @@ public class PrefManager: abagames.util.prefmanager.PrefManager { private: static const int VERSION_NUM = 10; - static const char[] PREF_FILE = "vr.prf"; + static const char[] PREF_FILE = "/var/games/vr.prf"; PrefData _prefData; public this() { diff -Naur vr/src/abagames/vr/stagemanager.d vr-gentoo/src/abagames/vr/stagemanager.d --- vr/src/abagames/vr/stagemanager.d 2005-03-14 01:15:04.000000000 +0100 +++ vr-gentoo/src/abagames/vr/stagemanager.d 2006-12-19 17:28:10.000000000 +0100 @@ -264,14 +264,14 @@ ebs.barrage = null; BulletMLParserTinyXML* bp = BarrageManager.getInstance("basic", "straight.xml"); ebs.barrage ~= new ParserParam(bp, 1, false, 1); - BulletMLParserTinyXML*[] ps = BarrageManager.getInstanceList("morph"); +// BulletMLParserTinyXML*[] ps = BarrageManager.getInstanceList("morph"); while (morphRank > 1) { morphRank /= 3; - int pi = rand.nextInt(ps.length); + int pi = rand.nextInt(11); float mr = morphRank; if (mr > 0.75f) mr = 0.75f + rand.nextFloat(0.25f); - ebs.barrage ~= new ParserParam(ps[pi], mr, false, 1); + // ebs.barrage ~= 11, mr, false, 1); } rad += radInc; ad *= 1 + rand.nextSignedFloat(0.2f); @@ -310,14 +310,14 @@ bulletMinSpeed = 0.5f / (sr + 1); if (ship.airMode) { float morphRank = rank * 0.25f; - BulletMLParserTinyXML*[] ps = BarrageManager.getInstanceList("morph"); + // BulletMLParserTinyXML*[] ps = BarrageManager.getInstanceList("morph"); while (morphRank > 1) { morphRank /= 3; - int pi = rand.nextInt(ps.length); + int pi = rand.nextInt(11); float mr = morphRank; if (mr > 0.75f) mr = 0.75f + rand.nextFloat(0.25f); - spec.barrage ~= new ParserParam(ps[pi], mr, false, 1); + // spec.barrage ~= new 11, mr, false, 1); } bulletMaxSpeed *= 3; bulletMinSpeed *= 1.75f;