wine
13 years agomshtml: Fix uninitialized variable warning.
Nicolas Le Cam [Tue, 26 Apr 2011 01:20:20 +0000 (03:20 +0200)] 
mshtml: Fix uninitialized variable warning.

13 years agomsctf/tests: Fix uninitialized variable warning.
Nicolas Le Cam [Tue, 26 Apr 2011 01:14:34 +0000 (03:14 +0200)] 
msctf/tests: Fix uninitialized variable warning.

13 years agowined3d: Enable SM3 if ARB_shader_texture_lod is supported.
Henri Verbeet [Mon, 25 Apr 2011 20:54:15 +0000 (22:54 +0200)] 
wined3d: Enable SM3 if ARB_shader_texture_lod is supported.

13 years agowined3d: Either set SM3 for both vertex and fragment shaders or for neither.
Henri Verbeet [Mon, 25 Apr 2011 20:54:14 +0000 (22:54 +0200)] 
wined3d: Either set SM3 for both vertex and fragment shaders or for neither.

13 years agowined3d: Merge surface_base.c into surface.c.
Henri Verbeet [Mon, 25 Apr 2011 20:54:13 +0000 (22:54 +0200)] 
wined3d: Merge surface_base.c into surface.c.

13 years agowined3d: Remove IWineD3DSurface::PrivateSetup() from the public interface.
Henri Verbeet [Mon, 25 Apr 2011 20:54:12 +0000 (22:54 +0200)] 
wined3d: Remove IWineD3DSurface::PrivateSetup() from the public interface.

13 years agocomctl32: Return if there's no current selection in TAB_EnsureSelectionVisible().
Henri Verbeet [Mon, 25 Apr 2011 20:54:11 +0000 (22:54 +0200)] 
comctl32: Return if there's no current selection in TAB_EnsureSelectionVisible().

13 years agocrypt32: Rework Base64WithHeaderAndTrailerToBinaryA and Base64WithHeaderAndTrailerToB...
Andrew Bogott [Sat, 23 Apr 2011 15:18:55 +0000 (10:18 -0500)] 
crypt32: Rework Base64WithHeaderAndTrailerToBinaryA and Base64WithHeaderAndTrailerToBinaryW so that they accept a wider variety of headers and trailers.

13 years agocrypt32/tests: Demonstrate that CryptStringToBinary can take arbitrary key headers...
Andrew Bogott [Sat, 23 Apr 2011 15:18:40 +0000 (10:18 -0500)] 
crypt32/tests: Demonstrate that CryptStringToBinary can take arbitrary key headers and trailers.

13 years agommdevapi/tests: Add tests for IAudioClient::GetCurrentPadding.
Andrew Eikum [Fri, 22 Apr 2011 20:25:43 +0000 (15:25 -0500)] 
mmdevapi/tests: Add tests for IAudioClient::GetCurrentPadding.

13 years agowinecoreaudio.drv: Add mmdevapi driver.
Andrew Eikum [Fri, 22 Apr 2011 20:25:35 +0000 (15:25 -0500)] 
winecoreaudio.drv: Add mmdevapi driver.

13 years agowinealsa.drv: Add mmdevapi driver.
Andrew Eikum [Fri, 22 Apr 2011 20:25:21 +0000 (15:25 -0500)] 
winealsa.drv: Add mmdevapi driver.

Maarten Lankhorst also contributed to this driver.

13 years agommdevapi: Reimplement using a driver system.
Andrew Eikum [Fri, 22 Apr 2011 20:25:14 +0000 (15:25 -0500)] 
mmdevapi: Reimplement using a driver system.

13 years agogdi32/test: SelectObject doesn't work with palettes, use SelectPalette instead.
Amine Khaldi [Sun, 24 Apr 2011 16:42:35 +0000 (17:42 +0100)] 
gdi32/test: SelectObject doesn't work with palettes, use SelectPalette instead.

13 years agomsvcrt: Removed pf_vnsprintf internal function.
Piotr Caban [Wed, 20 Apr 2011 12:43:02 +0000 (14:43 +0200)] 
msvcrt: Removed pf_vnsprintf internal function.

13 years agomsvcrt: Use callback based printf in sprintf functions family.
Piotr Caban [Wed, 20 Apr 2011 12:42:48 +0000 (14:42 +0200)] 
msvcrt: Use callback based printf in sprintf functions family.

13 years agomsvcrt: Use callback based printf in fprintf functions family.
Piotr Caban [Wed, 20 Apr 2011 12:42:36 +0000 (14:42 +0200)] 
msvcrt: Use callback based printf in fprintf functions family.

13 years agomsvcrt: Use callback based printf in cprintf functions family.
Piotr Caban [Wed, 20 Apr 2011 12:42:26 +0000 (14:42 +0200)] 
msvcrt: Use callback based printf in cprintf functions family.

13 years agomsvcrt: Copy and reorganize printf implementation.
Piotr Caban [Wed, 20 Apr 2011 12:42:16 +0000 (14:42 +0200)] 
msvcrt: Copy and reorganize printf implementation.

13 years agomsvcrt/tests: Added fprintf tests.
Piotr Caban [Wed, 20 Apr 2011 12:41:39 +0000 (14:41 +0200)] 
msvcrt/tests: Added fprintf tests.

13 years agocomctl32: Don't draw text when the number of text lines has been set to zero.
Amine Khaldi [Sun, 24 Apr 2011 16:56:30 +0000 (17:56 +0100)] 
comctl32: Don't draw text when the number of text lines has been set to zero.

13 years agowindowscodecs: Treat samples as unspecified if there's no ExtraSamples tag.
Vincent Povirk [Mon, 25 Apr 2011 09:02:48 +0000 (04:02 -0500)] 
windowscodecs: Treat samples as unspecified if there's no ExtraSamples tag.

13 years agokernel32: Add a stub for SetThreadPreferredUILanguages.
Austin English [Sat, 23 Apr 2011 22:40:56 +0000 (17:40 -0500)] 
kernel32: Add a stub for SetThreadPreferredUILanguages.

13 years agomsi: Mark internal symbols as visibility hidden.
Marcus Meissner [Thu, 21 Apr 2011 09:03:25 +0000 (11:03 +0200)] 
msi: Mark internal symbols as visibility hidden.

13 years agowinmm: Mark internal symbols with visibility hidden.
Marcus Meissner [Thu, 21 Apr 2011 09:06:33 +0000 (11:06 +0200)] 
winmm: Mark internal symbols with visibility hidden.

13 years agocrypt32: Mark internal symbols as hidden visibility.
Marcus Meissner [Thu, 21 Apr 2011 08:52:29 +0000 (10:52 +0200)] 
crypt32: Mark internal symbols as hidden visibility.

13 years agoole32: Mark internal symbols has hidden visibility.
Marcus Meissner [Thu, 21 Apr 2011 08:45:36 +0000 (10:45 +0200)] 
ole32: Mark internal symbols has hidden visibility.

13 years agontdll: Mark internal functions as hidden.
Marcus Meissner [Thu, 21 Apr 2011 08:32:31 +0000 (10:32 +0200)] 
ntdll: Mark internal functions as hidden.

13 years agogdi32: Mark internal symbols as hidden.
Marcus Meissner [Thu, 21 Apr 2011 08:25:40 +0000 (10:25 +0200)] 
gdi32: Mark internal symbols as hidden.

13 years agopo: Add message contexts (and French translations) for some polysemic English transla...
Frédéric Delanoy [Sun, 24 Apr 2011 02:33:09 +0000 (04:33 +0200)] 
po: Add message contexts (and French translations) for some polysemic English translation entries.

13 years agod3d9: Finish the COM cleanup of the IDirect3DDevice9Ex iface.
Michael Stefaniuc [Sun, 24 Apr 2011 19:34:30 +0000 (21:34 +0200)] 
d3d9: Finish the COM cleanup of the IDirect3DDevice9Ex iface.

13 years agod3d9: Pass an object instead of an iface to IDirect3DDevice9Impl_CreateSurface().
Michael Stefaniuc [Sun, 24 Apr 2011 19:27:59 +0000 (21:27 +0200)] 
d3d9: Pass an object instead of an iface to IDirect3DDevice9Impl_CreateSurface().

13 years agod3d9: Use impl_from_IDirect3DDevice9Ex instead of casting iface to object.
Michael Stefaniuc [Sun, 24 Apr 2011 19:24:51 +0000 (21:24 +0200)] 
d3d9: Use impl_from_IDirect3DDevice9Ex instead of casting iface to object.

13 years agomsvcrt: ungetc must create a buffer, even if _IONBF has been set with setvbuf.
Eric Pouech [Sun, 24 Apr 2011 09:01:59 +0000 (11:01 +0200)] 
msvcrt: ungetc must create a buffer, even if _IONBF has been set with setvbuf.

13 years agomsvcrt: Added tests in fileops with different buffer management modes.
Eric Pouech [Sun, 24 Apr 2011 09:01:48 +0000 (11:01 +0200)] 
msvcrt: Added tests in fileops with different buffer management modes.

13 years agoservices: Be sure to unlock the current database in all error cases in service_start_...
Eric Pouech [Sat, 23 Apr 2011 20:20:54 +0000 (22:20 +0200)] 
services: Be sure to unlock the current database in all error cases in service_start_process.

13 years agowinex11: Release the clip cursor grab when the clipping window loses focus.
Alexandre Julliard [Mon, 25 Apr 2011 08:49:49 +0000 (10:49 +0200)] 
winex11: Release the clip cursor grab when the clipping window loses focus.

13 years agoshdocvw: Deactivate document in InternetExplorer destructor.
Jacek Caban [Fri, 22 Apr 2011 12:07:33 +0000 (14:07 +0200)] 
shdocvw: Deactivate document in InternetExplorer destructor.

13 years agomshtml: Added proper support for weak references.
Jacek Caban [Fri, 22 Apr 2011 12:07:18 +0000 (14:07 +0200)] 
mshtml: Added proper support for weak references.

13 years agowined3d: Scale the depthbias factor by the depth buffer's depth.
Stefan Dösinger [Wed, 20 Apr 2011 14:28:05 +0000 (16:28 +0200)] 
wined3d: Scale the depthbias factor by the depth buffer's depth.

13 years agod3d: Map D3DRS_ZBIAS to WINED3DRS_DEPTHBIAS.
Stefan Dösinger [Thu, 21 Apr 2011 20:36:11 +0000 (22:36 +0200)] 
d3d: Map D3DRS_ZBIAS to WINED3DRS_DEPTHBIAS.

ZBIAS was removed in d3d9 and replaced with DEPTHBIAS. Currently
wined3d implements both independently which will cause trouble if we
want to set the depthbias value depending on the depth stencil format.

13 years agoserver: Set the fd user when duplicating a mapping file descriptor into a new file.
Alexandre Julliard [Fri, 22 Apr 2011 15:07:45 +0000 (17:07 +0200)] 
server: Set the fd user when duplicating a mapping file descriptor into a new file.

13 years agowinex11: Allow changing the clipping rectangle while the mouse is grabbed.
Alexandre Julliard [Fri, 22 Apr 2011 14:58:20 +0000 (16:58 +0200)] 
winex11: Allow changing the clipping rectangle while the mouse is grabbed.

13 years agowinex11: Add separate helper functions for pointer grabbing and ungrabbing.
Alexandre Julliard [Fri, 22 Apr 2011 14:28:25 +0000 (16:28 +0200)] 
winex11: Add separate helper functions for pointer grabbing and ungrabbing.

13 years agowinex11: Store a message window with the desktop when the cursor is clipped.
Alexandre Julliard [Fri, 22 Apr 2011 14:22:09 +0000 (16:22 +0200)] 
winex11: Store a message window with the desktop when the cursor is clipped.

This ensures that the thread can be notified when the clip rectangle is reset.

13 years agouser32: Pass a NULL rectangle in the ClipCursor entry point when clipping is reset...
Alexandre Julliard [Fri, 22 Apr 2011 13:22:07 +0000 (15:22 +0200)] 
user32: Pass a NULL rectangle in the ClipCursor entry point when clipping is reset because of focus change.

13 years agowinetest: Cowardly refuse to submit results that have too many failed tests.
Alexandre Julliard [Fri, 22 Apr 2011 11:20:49 +0000 (13:20 +0200)] 
winetest: Cowardly refuse to submit results that have too many failed tests.

13 years agokernel32: Mark more internal symbols as invisible.
Marcus Meissner [Thu, 21 Apr 2011 08:23:57 +0000 (10:23 +0200)] 
kernel32: Mark more internal symbols as invisible.

13 years agouser32: Mark internal functions with hidden visibility.
Marcus Meissner [Thu, 21 Apr 2011 08:21:26 +0000 (10:21 +0200)] 
user32: Mark internal functions with hidden visibility.

13 years agowininet: Use wrappers for HeapReAlloc calls.
Jacek Caban [Fri, 22 Apr 2011 10:35:05 +0000 (12:35 +0200)] 
wininet: Use wrappers for HeapReAlloc calls.

13 years agowinex11: Clip out the top-level windows when repainting the desktop.
Alexandre Julliard [Fri, 22 Apr 2011 10:16:33 +0000 (12:16 +0200)] 
winex11: Clip out the top-level windows when repainting the desktop.

13 years agowininet: Prevent a race condition which results in handles being leaked.
Thomas Mullaly [Tue, 19 Apr 2011 19:41:20 +0000 (15:41 -0400)] 
wininet: Prevent a race condition which results in handles being leaked.

13 years agontdll: Make sure RtlCaptureContext doesn't compile as Thumb but ARM.
André Hentschel [Thu, 21 Apr 2011 16:32:07 +0000 (18:32 +0200)] 
ntdll: Make sure RtlCaptureContext doesn't compile as Thumb but ARM.

13 years agogameux: Make some functions static.
Francois Gouget [Fri, 22 Apr 2011 07:08:50 +0000 (09:08 +0200)] 
gameux: Make some functions static.

13 years agod3dx9_36: Make some is_valid_xxx() functions static.
Francois Gouget [Fri, 22 Apr 2011 07:08:44 +0000 (09:08 +0200)] 
d3dx9_36: Make some is_valid_xxx() functions static.

13 years agowined3d: Get rid of IWineD3DSurface::GetType().
Henri Verbeet [Thu, 21 Apr 2011 20:39:32 +0000 (22:39 +0200)] 
wined3d: Get rid of IWineD3DSurface::GetType().

13 years agowined3d: Get rid of wined3d_volume_get_type().
Henri Verbeet [Thu, 21 Apr 2011 20:39:31 +0000 (22:39 +0200)] 
wined3d: Get rid of wined3d_volume_get_type().

13 years agowined3d: Get rid of wined3d_buffer_get_type().
Henri Verbeet [Thu, 21 Apr 2011 20:39:30 +0000 (22:39 +0200)] 
wined3d: Get rid of wined3d_buffer_get_type().

13 years agowined3d: Make sure we release the correct DC in context_update_window().
Henri Verbeet [Thu, 21 Apr 2011 20:39:29 +0000 (22:39 +0200)] 
wined3d: Make sure we release the correct DC in context_update_window().

13 years agoddraw: Replace the light list with a standard Wine list.
Henri Verbeet [Thu, 21 Apr 2011 20:39:28 +0000 (22:39 +0200)] 
ddraw: Replace the light list with a standard Wine list.

13 years agopo: Update Japanese translation.
Akihiro Sagawa [Thu, 21 Apr 2011 13:56:17 +0000 (22:56 +0900)] 
po: Update Japanese translation.

13 years agocomdlg32: Update Japanese resource.
Akihiro Sagawa [Thu, 21 Apr 2011 13:56:14 +0000 (22:56 +0900)] 
comdlg32: Update Japanese resource.

13 years agod3dxof/tests: Make expected value in string and comparison match.
Dylan Smith [Wed, 20 Apr 2011 20:21:17 +0000 (16:21 -0400)] 
d3dxof/tests: Make expected value in string and comparison match.

13 years agod3dxof: Initialize binary member variable of xobjects.
Dylan Smith [Wed, 20 Apr 2011 20:21:06 +0000 (16:21 -0400)] 
d3dxof: Initialize binary member variable of xobjects.

13 years agod3dxof: GetName can be used to just get the name length.
Dylan Smith [Wed, 20 Apr 2011 20:20:53 +0000 (16:20 -0400)] 
d3dxof: GetName can be used to just get the name length.

13 years agod3dxof: Avoid overflowing temp buffers for large tokens.
Dylan Smith [Wed, 20 Apr 2011 20:20:11 +0000 (16:20 -0400)] 
d3dxof: Avoid overflowing temp buffers for large tokens.

13 years agod3dxof: Add missing checks for remaining bytes during parsing.
Dylan Smith [Wed, 20 Apr 2011 20:20:01 +0000 (16:20 -0400)] 
d3dxof: Add missing checks for remaining bytes during parsing.

13 years agomsvcrt: Added _resetstkoflw implementation.
Piotr Caban [Wed, 20 Apr 2011 10:37:56 +0000 (12:37 +0200)] 
msvcrt: Added _resetstkoflw implementation.

13 years agouser32: Don't start menu tracking when the owner window is invalid.
Alexandre Julliard [Thu, 21 Apr 2011 12:35:11 +0000 (14:35 +0200)] 
user32: Don't start menu tracking when the owner window is invalid.

13 years agowininet: Use wrappers for HeapAlloc calls.
Jacek Caban [Thu, 21 Apr 2011 11:39:03 +0000 (13:39 +0200)] 
wininet: Use wrappers for HeapAlloc calls.

13 years agowindowscodecs: Handle broken TIFF files without a RowsPerStrip tag.
Vincent Povirk [Thu, 21 Apr 2011 06:17:07 +0000 (01:17 -0500)] 
windowscodecs: Handle broken TIFF files without a RowsPerStrip tag.

13 years agodxdiagn/tests: Initialize a variable and reduce its scope (valgrind).
Nicolas Le Cam [Thu, 21 Apr 2011 00:50:54 +0000 (02:50 +0200)] 
dxdiagn/tests: Initialize a variable and reduce its scope (valgrind).

13 years agoddraw: Destroy the ddraw surface after the wined3d texture is destroyed.
Henri Verbeet [Wed, 20 Apr 2011 20:09:27 +0000 (22:09 +0200)] 
ddraw: Destroy the ddraw surface after the wined3d texture is destroyed.

13 years agoddraw: Destroy the ddraw surface after the wined3d surface is destroyed.
Henri Verbeet [Wed, 20 Apr 2011 20:09:26 +0000 (22:09 +0200)] 
ddraw: Destroy the ddraw surface after the wined3d surface is destroyed.

13 years agoddraw: Release the wined3d surface first in ddraw_surface_destroy().
Henri Verbeet [Wed, 20 Apr 2011 20:09:25 +0000 (22:09 +0200)] 
ddraw: Release the wined3d surface first in ddraw_surface_destroy().

13 years agoddraw: Add a separate function for surface cleanup.
Henri Verbeet [Wed, 20 Apr 2011 20:09:24 +0000 (22:09 +0200)] 
ddraw: Add a separate function for surface cleanup.

13 years agowined3d: Get rid of the mipmap hint code.
Henri Verbeet [Wed, 20 Apr 2011 20:09:23 +0000 (22:09 +0200)] 
wined3d: Get rid of the mipmap hint code.

Mipmap hint isn't a texture parameter, but a global hint. This never worked,
it just causes GL errors.

13 years agod3dx9: Implement ID3DXBaseEffect::GetParameterElement().
Rico Schüller [Wed, 20 Apr 2011 19:55:43 +0000 (21:55 +0200)] 
d3dx9: Implement ID3DXBaseEffect::GetParameterElement().

13 years agod3dx9: Implement ID3DXBaseEffect::GetParameterDesc().
Rico Schüller [Wed, 20 Apr 2011 19:55:41 +0000 (21:55 +0200)] 
d3dx9: Implement ID3DXBaseEffect::GetParameterDesc().

13 years agod3dx9: Implement ID3DXBaseEffect::GetParameterByName().
Rico Schüller [Wed, 20 Apr 2011 19:55:37 +0000 (21:55 +0200)] 
d3dx9: Implement ID3DXBaseEffect::GetParameterByName().

13 years agontdll: Fix usage of ContextFlags on Sparc.
André Hentschel [Wed, 20 Apr 2011 19:30:57 +0000 (21:30 +0200)] 
ntdll: Fix usage of ContextFlags on Sparc.

13 years agontdll: Fix usage of ContextFlags on ARM.
André Hentschel [Wed, 20 Apr 2011 19:30:52 +0000 (21:30 +0200)] 
ntdll: Fix usage of ContextFlags on ARM.

13 years agontdll: Be more generic when storing ARM context.
André Hentschel [Wed, 20 Apr 2011 18:02:52 +0000 (20:02 +0200)] 
ntdll: Be more generic when storing ARM context.

13 years agouser32: Only call the driver when the cursor position has really changed.
Alexandre Julliard [Wed, 20 Apr 2011 18:30:09 +0000 (20:30 +0200)] 
user32: Only call the driver when the cursor position has really changed.

13 years agoserver: Also return the previous cursor position in the set_cursor request.
Alexandre Julliard [Wed, 20 Apr 2011 18:29:16 +0000 (20:29 +0200)] 
server: Also return the previous cursor position in the set_cursor request.

13 years agowinex11.drv: Make sure that all relevant keyboard traces are printed in the same...
Dmitry Timoshkov [Wed, 20 Apr 2011 09:57:38 +0000 (18:57 +0900)] 
winex11.drv: Make sure that all relevant keyboard traces are printed in the same debug channel.

13 years agogdi32: Add a directional bias for the case when the Bresenham error term is zero.
Huw Davies [Wed, 20 Apr 2011 11:52:06 +0000 (12:52 +0100)] 
gdi32: Add a directional bias for the case when the Bresenham error term is zero.

13 years agod3d9: COM cleanup for the IDirect3DVolumeTexture9 iface.
Michael Stefaniuc [Wed, 20 Apr 2011 09:08:42 +0000 (11:08 +0200)] 
d3d9: COM cleanup for the IDirect3DVolumeTexture9 iface.

13 years agod3d9: COM cleanup for the IDirect3DVolume9 iface.
Michael Stefaniuc [Wed, 20 Apr 2011 09:04:23 +0000 (11:04 +0200)] 
d3d9: COM cleanup for the IDirect3DVolume9 iface.

13 years agod3d9: COM cleanup for the IDirect3DTexture9 iface.
Michael Stefaniuc [Wed, 20 Apr 2011 08:58:44 +0000 (10:58 +0200)] 
d3d9: COM cleanup for the IDirect3DTexture9 iface.

13 years agomsvcrt: Avoid the use of SetFilePointerEx in _lseeki64.
Andrew Nguyen [Wed, 20 Apr 2011 06:17:48 +0000 (01:17 -0500)] 
msvcrt: Avoid the use of SetFilePointerEx in _lseeki64.

13 years agod3dx9: Implement ID3DXBaseEffect::GetPassByName().
Rico Schüller [Wed, 20 Apr 2011 05:58:34 +0000 (07:58 +0200)] 
d3dx9: Implement ID3DXBaseEffect::GetPassByName().

13 years agod3dx9: Implement ID3DXBaseEffect::GetPass().
Rico Schüller [Wed, 20 Apr 2011 05:58:32 +0000 (07:58 +0200)] 
d3dx9: Implement ID3DXBaseEffect::GetPass().

13 years agod3dx9: Implement ID3DXBaseEffect::GetPassDesc().
Rico Schüller [Wed, 20 Apr 2011 05:58:29 +0000 (07:58 +0200)] 
d3dx9: Implement ID3DXBaseEffect::GetPassDesc().

13 years agod3dx9: Fix ID3DXEffect*::GetVectorArray() forward.
Rico Schüller [Wed, 20 Apr 2011 05:58:22 +0000 (07:58 +0200)] 
d3dx9: Fix ID3DXEffect*::GetVectorArray() forward.

13 years agowined3d: Fallback to our private window when context activation fails otherwise.
Matteo Bruni [Tue, 12 Apr 2011 20:27:54 +0000 (22:27 +0200)] 
wined3d: Fallback to our private window when context activation fails otherwise.

13 years agowined3d: Add two functions for GL context activation/restore.
Matteo Bruni [Tue, 12 Apr 2011 20:26:21 +0000 (22:26 +0200)] 
wined3d: Add two functions for GL context activation/restore.

13 years agowinedbg: Fix PC adjustment for ARM.
André Hentschel [Tue, 19 Apr 2011 19:55:00 +0000 (21:55 +0200)] 
winedbg: Fix PC adjustment for ARM.

13 years agoinclude: Create header file d3dx9anim.h.
Dylan Smith [Tue, 19 Apr 2011 17:59:54 +0000 (13:59 -0400)] 
include: Create header file d3dx9anim.h.

13 years agoinclude: Add d3dx9mesh.h X template extensions.
Dylan Smith [Tue, 19 Apr 2011 17:59:46 +0000 (13:59 -0400)] 
include: Add d3dx9mesh.h X template extensions.