[Top][All Lists]
[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=\"FreeSCI\";_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=\"FreeSCI\";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=\"FreeSCI\";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=\"FreeSCI\";_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=\"FreeSCI\";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=\"FreeSCI\";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">
- [freesci-develop] r1524 - in freesci/trunk: . src src/dc src/gfx/drivers src/include src/win32,
arangas <=