freesci-develop
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freesci-develop] r1524 - in freesci/trunk: . src src/dc src/gfx/drivers


From: arangas
Subject: [freesci-develop] r1524 - in freesci/trunk: . src src/dc src/gfx/drivers src/include src/win32
Date: Thu, 09 Feb 2006 21:17:15 +0100

Author: arangas
Date: 2006-02-09 21:17:03 +0100 (Thu, 09 Feb 2006)
New Revision: 1524

Modified:
   freesci/trunk/ChangeLog
   freesci/trunk/src/dc/selectgame.c
   freesci/trunk/src/gfx/drivers/dx_driver.cpp
   freesci/trunk/src/include/engine.h
   freesci/trunk/src/include/graphics_directx.h
   freesci/trunk/src/include/soundserver.h
   freesci/trunk/src/main.c
   freesci/trunk/src/win32/fsci_dll.vcproj
Log:
Fixes errors (reported by Hugues) and mouse pointer alpha in the DirectX 
driver. Other minor updates (see ChangeLog).

Modified: freesci/trunk/ChangeLog
===================================================================
--- freesci/trunk/ChangeLog     2006-02-06 01:49:46 UTC (rev 1523)
+++ freesci/trunk/ChangeLog     2006-02-09 20:17:03 UTC (rev 1524)
@@ -1,3 +1,15 @@
+2006-02-08  Alex Angas <address@hidden>
+
+       * src/include/graphics_directx.h:
+       * src/gfx/drivers/dx_driver.cpp: Correct pointer alpha.
+
+       * src/win32/fsci_dll.vcproj:
+       * src/include/soundserver.h: Removed Win32 event sound server.
+
+       * include/engine.h:
+       * src/dc/selectgame.c:
+       * src/main.c: Updated version number and copyright years.
+
 2006-02-05  Alex Angas <address@hidden>
 
        * src/gfx/drivers/dx_driver.cpp: Replaced mouse pointer code.

Modified: freesci/trunk/src/dc/selectgame.c
===================================================================
--- freesci/trunk/src/dc/selectgame.c   2006-02-06 01:49:46 UTC (rev 1523)
+++ freesci/trunk/src/dc/selectgame.c   2006-02-09 20:17:03 UTC (rev 1524)
@@ -33,7 +33,7 @@
 #include <config.h>
 #endif
 
-static char copyright[] = "FreeSCI " VERSION " Copyright (C) 1999, 2000-2003"
+static char copyright[] = "FreeSCI " VERSION " Copyright (C) 1999, 2000-2006"
        " Alex Angas, Rainer Canavan, Ruediger Hanke, Matt Hargett,"
        " Dmitry Jemerov, Christopher T. Lansdown, Sergey Lapin, Rickard Lind,"
        " Carl Muckenhoupt, Walter van Niftrik, Solomon Peachy,"

Modified: freesci/trunk/src/gfx/drivers/dx_driver.cpp
===================================================================
--- freesci/trunk/src/gfx/drivers/dx_driver.cpp 2006-02-06 01:49:46 UTC (rev 
1523)
+++ freesci/trunk/src/gfx/drivers/dx_driver.cpp 2006-02-09 20:17:03 UTC (rev 
1524)
@@ -27,10 +27,10 @@
        20051106 (AAngas) - Rewrite
        20060201 (AAngas) - Fixed wrong format for texture priority maps
        20060205 (AAngas) - Changed pointer to use D3DXSprite
+       20060208 (AAngas) - Fixed pointer alpha blending bug
 
 
 TODO:
-       Simpler alpha calculation on pointer
        Full screen
        Lost devices
        Moving and activating window
@@ -393,12 +393,19 @@
        dx_state->queue_size  = 256;
        dx_state->event_queue = (sci_event_t *) sci_malloc 
(dx_state->queue_size * sizeof (sci_event_t));
 
-       // Set up graphics mode
+       // Set up graphics mode for primary vis
        drv->mode = gfx_new_mode(dx_state->xfact, dx_state->yfact, 
dx_state->bpp,
                           red_mask, green_mask, blue_mask, alpha_mask,
                           red_shift, green_shift, blue_shift, alpha_shift,
                           (dx_state->bpp == 1) ? 256 : 0, 0);
 
+       // Set up graphics mode for pointer
+       gfx_mode_t *mode = gfx_new_mode(dx_state->xfact, dx_state->yfact, 
dx_state->bpp,
+                                                                       
0x000000ff, 0x0000ff00, 0x00ff0000, 0xff000000,
+                                                                               
        24,         16,          8,          0,
+                                                                               
0, GFX_MODE_FLAG_REVERSE_ALPHA);
+       dx_state->pointerMode = *mode;
+
        return GFX_OK;
 }
 
@@ -430,6 +437,8 @@
     SAFE_RELEASE( dx_state->pDevice );
     SAFE_RELEASE( dx_state->pD3d );
 
+       gfx_free_mode(&dx_state->pointerMode);
+
        if ( dx_state->event_queue )
                sci_free(dx_state->event_queue);
        dx_state->queue_size = 0;
@@ -837,35 +846,16 @@
        dx_state->pointerDims = pDims;
        RECT r = {0, 0, pointer->xl, pointer->yl};
 
-       // Correct alpha - there must be a simpler way to do this
-       int dxPointerDataSize = pointer->xl * pointer->yl * dx_state->bpp;
-       byte* dxPointerData = (byte*)sci_malloc(dxPointerDataSize);
-       byte* pointerDataIndex = pointer->data;
-       byte* dxPointerDataWork = dxPointerData;
-       for (int ds = 0; ds < dxPointerDataSize / dx_state->bpp; ds++)
-       {
-               byte a, r, g, b;
-               r = *pointerDataIndex++;
-               g = *pointerDataIndex++;
-               b = *pointerDataIndex++;
-               a = *pointerDataIndex++;
-               if ( (a == 0xCC) && (r == 0xCC) && (g == 0xCC) && (b == 0xCC) )
-                       ;
-               else
-                       a = 0xFF;
-               *dxPointerDataWork++ = r;
-               *dxPointerDataWork++ = g;
-               *dxPointerDataWork++ = b;
-               *dxPointerDataWork++ = a;
-       }
+       // Recreate pointer data according to the graphics mode we need
+       gfx_pixmap_free_data(pointer);
+       gfx_xlate_pixmap(pointer, &dx_state->pointerMode, 
GFX_XLATE_FILTER_NONE);
 
        // Create texture and fill with pointer data
        DODX( (dx_state->pDevice->CreateTexture(pointer->xl, pointer->yl, 1, 0, 
dx_state->d3dFormat, D3DPOOL_MANAGED, &pntTex )), dx_set_pointer );
        DODX( (pntTex->GetSurfaceLevel(0, &pntSrf)), dx_set_pointer );
 
-       DODX( (D3DXLoadSurfaceFromMemory(pntSrf, NULL, &r, dxPointerData, 
dx_state->d3dFormat, 256, NULL, &r, D3DX_FILTER_NONE, 0xCCCCCCCC)), 
dx_set_pointer);
+       DODX( (D3DXLoadSurfaceFromMemory(pntSrf, NULL, &r, pointer->data, 
dx_state->d3dFormat, 256, NULL, &r, D3DX_FILTER_NONE, 0)), dx_set_pointer);
 
-       sci_free(dxPointerData);
        SAFE_RELEASE(pntSrf);
 
        // Assign as current pointer texture

Modified: freesci/trunk/src/include/engine.h
===================================================================
--- freesci/trunk/src/include/engine.h  2006-02-06 01:49:46 UTC (rev 1523)
+++ freesci/trunk/src/include/engine.h  2006-02-09 20:17:03 UTC (rev 1524)
@@ -49,7 +49,7 @@
 #ifdef _MSC_VER
 #      ifndef VERSION
 #              ifdef NDEBUG
-#                      define VERSION "0.3.4"
+#                      define VERSION "0.3.5"
 #              else
 #                      define VERSION __TIMESTAMP__
 #              endif

Modified: freesci/trunk/src/include/graphics_directx.h
===================================================================
--- freesci/trunk/src/include/graphics_directx.h        2006-02-06 01:49:46 UTC 
(rev 1523)
+++ freesci/trunk/src/include/graphics_directx.h        2006-02-09 20:17:03 UTC 
(rev 1524)
@@ -114,6 +114,7 @@
        LPDIRECT3DTEXTURE8 pTexPrioritys[NUM_PRIORITY_BUFFERS]; // Array of 
priority textures
        gfx_pixmap_t *priority_maps[NUM_PRIORITY_BUFFERS];              // 
Array of SCI priority maps
 
+       gfx_mode_t pointerMode;                 // SCI graphics mode for pointer
        LPDIRECT3DTEXTURE8 pTexPointer; // Mouse pointer texture
        LPD3DXSPRITE pSPointer;                 // Mouse pointer sprite
        POINTS pointerDims;                             // Pointer dimensions

Modified: freesci/trunk/src/include/soundserver.h
===================================================================
--- freesci/trunk/src/include/soundserver.h     2006-02-06 01:49:46 UTC (rev 
1523)
+++ freesci/trunk/src/include/soundserver.h     2006-02-09 20:17:03 UTC (rev 
1524)
@@ -570,9 +570,10 @@
 
 } sound_server_state_t;
 
-
+/*
 void
 sci0_event_ss(sound_server_state_t *ss_state);
+*/
 
 void
 sci0_polled_ss(int reverse_stereo, sound_server_state_t *ss_state);

Modified: freesci/trunk/src/main.c
===================================================================
--- freesci/trunk/src/main.c    2006-02-06 01:49:46 UTC (rev 1523)
+++ freesci/trunk/src/main.c    2006-02-09 20:17:03 UTC (rev 1524)
@@ -901,7 +901,7 @@
        getcwd(startdir, PATH_MAX);
        script_debug_flag = cl_options.script_debug_flag;
 
-       printf("FreeSCI %s Copyright (C) 1999, 2000-2003\n", VERSION);
+       printf("FreeSCI %s Copyright (C) 1999, 2000-2006\n", VERSION);
        printf(" Dmitry Jemerov, Christopher T. Lansdown, Sergey Lapin, Rickard 
Lind,\n"
                   " Carl Muckenhoupt, Christoph Reichenbach, Magnus Reftel, 
Lars Skovlund,\n"
                   " Rink Springer, Petr Vyhnak, Solomon Peachy, Matt Hargett, 
Alex Angas,\n"

Modified: freesci/trunk/src/win32/fsci_dll.vcproj
===================================================================
--- freesci/trunk/src/win32/fsci_dll.vcproj     2006-02-06 01:49:46 UTC (rev 
1523)
+++ freesci/trunk/src/win32/fsci_dll.vcproj     2006-02-09 20:17:03 UTC (rev 
1524)
@@ -2229,70 +2229,6 @@
                                Name="sound"
                                Filter="">
                                <File
-                                       RelativePath="..\sound\event_ss.c">
-                                       <FileConfiguration
-                                               Name="Release|Win32">
-                                               <Tool
-                                                       Name="VCCLCompilerTool"
-                                                       Optimization="1"
-                                                       
AdditionalIncludeDirectories=""
-                                                       
PreprocessorDefinitions="NDEBUG;PACKAGE=\&quot;FreeSCI\&quot;;_WINDOWS;WIN32;_USRDLL;_CONSOLE;FREESCI_EXPORTS;VERSION=__TIMESTAMP__;X_DISPLAY_MISSING;HAVE_SDL;HAVE_MEMCHR;HAVE_SYS_STAT_H;HAVE_FCNTL_H;HAVE_STRING_H;HAVE_DIRECTX"
-                                                       BrowseInformation="1"/>
-                                       </FileConfiguration>
-                                       <FileConfiguration
-                                               Name="Debug|Win32">
-                                               <Tool
-                                                       Name="VCCLCompilerTool"
-                                                       Optimization="0"
-                                                       
AdditionalIncludeDirectories=""
-                                                       
PreprocessorDefinitions="_DEBUG;PACKAGE=\&quot;FreeSCI\&quot;;VERSION=__TIMESTAMP__;_WINDOWS;WIN32;_USRDLL;_CONSOLE;FREESCI_EXPORTS;X_DISPLAY_MISSING;HAVE_SDL;HAVE_MEMCHR;HAVE_SYS_STAT_H;HAVE_FCNTL_H;HAVE_STRING_H;HAVE_DIRECTX"
-                                                       BasicRuntimeChecks="3"
-                                                       BrowseInformation="1"/>
-                                       </FileConfiguration>
-                                       <FileConfiguration
-                                               Name="Purify|Win32">
-                                               <Tool
-                                                       Name="VCCLCompilerTool"
-                                                       Optimization="0"
-                                                       
AdditionalIncludeDirectories=""
-                                                       
PreprocessorDefinitions="SATISFY_PURIFY;_DEBUG;PACKAGE=\&quot;FreeSCI\&quot;;VERSION=__TIMESTAMP__;_WINDOWS;WIN32;_USRDLL;_CONSOLE;FREESCI_EXPORTS;X_DISPLAY_MISSING;HAVE_SDL;HAVE_MEMCHR;HAVE_SYS_STAT_H;HAVE_FCNTL_H;HAVE_STRING_H;HAVE_DIRECTX"
-                                                       BasicRuntimeChecks="3"
-                                                       BrowseInformation="1"/>
-                                       </FileConfiguration>
-                               </File>
-                               <File
-                                       
RelativePath="..\sound\event_ss_win32.c">
-                                       <FileConfiguration
-                                               Name="Release|Win32">
-                                               <Tool
-                                                       Name="VCCLCompilerTool"
-                                                       Optimization="1"
-                                                       
AdditionalIncludeDirectories=""
-                                                       
PreprocessorDefinitions="NDEBUG;PACKAGE=\&quot;FreeSCI\&quot;;_WINDOWS;WIN32;_USRDLL;_CONSOLE;FREESCI_EXPORTS;VERSION=__TIMESTAMP__;X_DISPLAY_MISSING;HAVE_SDL;HAVE_MEMCHR;HAVE_SYS_STAT_H;HAVE_FCNTL_H;HAVE_STRING_H;HAVE_DIRECTX"
-                                                       BrowseInformation="1"/>
-                                       </FileConfiguration>
-                                       <FileConfiguration
-                                               Name="Debug|Win32">
-                                               <Tool
-                                                       Name="VCCLCompilerTool"
-                                                       Optimization="0"
-                                                       
AdditionalIncludeDirectories=""
-                                                       
PreprocessorDefinitions="_DEBUG;PACKAGE=\&quot;FreeSCI\&quot;;VERSION=__TIMESTAMP__;_WINDOWS;WIN32;_USRDLL;_CONSOLE;FREESCI_EXPORTS;X_DISPLAY_MISSING;HAVE_SDL;HAVE_MEMCHR;HAVE_SYS_STAT_H;HAVE_FCNTL_H;HAVE_STRING_H;HAVE_DIRECTX"
-                                                       BasicRuntimeChecks="3"
-                                                       BrowseInformation="1"/>
-                                       </FileConfiguration>
-                                       <FileConfiguration
-                                               Name="Purify|Win32">
-                                               <Tool
-                                                       Name="VCCLCompilerTool"
-                                                       Optimization="0"
-                                                       
AdditionalIncludeDirectories=""
-                                                       
PreprocessorDefinitions="SATISFY_PURIFY;_DEBUG;PACKAGE=\&quot;FreeSCI\&quot;;VERSION=__TIMESTAMP__;_WINDOWS;WIN32;_USRDLL;_CONSOLE;FREESCI_EXPORTS;X_DISPLAY_MISSING;HAVE_SDL;HAVE_MEMCHR;HAVE_SYS_STAT_H;HAVE_FCNTL_H;HAVE_STRING_H;HAVE_DIRECTX"
-                                                       BasicRuntimeChecks="3"
-                                                       BrowseInformation="1"/>
-                                       </FileConfiguration>
-                               </File>
-                               <File
                                        RelativePath="..\sound\fmopl.c">
                                        <FileConfiguration
                                                Name="Release|Win32">





reply via email to

[Prev in Thread] Current Thread [Next in Thread]