NO

Author Topic: PHE - PellesC Headers extension project [UPDATE 08.16.2016]  (Read 1452 times)

Offline frankie

  • Global Moderator
  • Member
  • *****
  • Posts: 1587
This is collection of headers missing or outdated for PellesC compiler.
To use them in your programs you can manually copy them in the compiler include\win directory from ZIP distribution, or, and this is the suggested way, use the installer.

08.16.2016
Thanks to Timo, fixed file "d3d10effect.h". A comma was missing in  enum _D3D10_DEVICE_STATE_TYPES.

06.11.2016:
For John's happiness added Ddraw.lib for 32 and 64 bits (SDK  V7.1)  ;)
P.S. Available only in the setup.

06.05.2016:
Small fixings

06.04.2016:
  • Added fGdiPlusFlat.h to use GDI+ under plain 'C'.
  • Upgraded: Uxtheme.h, wincodec.h
  • Added more headers:
    • d2d1.h
    • d2d1helper.h
    • d2dBaseTypes.h
    • d2derr.h
    • d3d10.h
    • d3d10effect.h
    • d3d10misc.h
    • d3d10sdklayers.h
    • d3d10shader.h
    • d3d10_1.h
    • D3D10_1shader.h
    • DCommon.h
    • dxgi.h
    • dxgitype.h
    • ExDispid.h

07.28.2015:
  • Added headers "mmdeviceapi.h" & "winapifamily.h"

03.29.2015:
  • Added installer to facilitate the installation  ::)
    Installs headers and libraries for 32/64 bits

03.28.2015:
  • Added many multimedia headers
  • Added quartz.lib (for multimedia applications)

03.22.2015:
  • Fixed conditionals and simplified structures for faster compilation on strmif.h, ddraw.h, d3d9.h
  • Fixed buggy vmr9.h (now compliant with SDK MS 7.0)
  • Added amended version windot11.h. Will replace PellesC header to workaround this bug.
« Last Edit: August 16, 2016, 09:57:03 AM by frankie »

Offline JohnF

  • Member
  • *
  • Posts: 1114
    • http://www.johnfindlay.plus.com/
Re: PHE - PellesC Headers extension project [UPDATE 05.03.2016]
« Reply #1 on: June 10, 2016, 03:03:18 PM »
You've been busy!

Thanks.

John


Offline frankie

  • Global Moderator
  • Member
  • *****
  • Posts: 1587
Re: PHE - PellesC Headers extension project [UPDATE 06.11.2016]
« Reply #2 on: June 11, 2016, 07:55:06 PM »
Yes John I've been busy ;), and for your joy I have just added the 32 and 64 bits ddraw.lib.

Offline JohnF

  • Member
  • *
  • Posts: 1114
    • http://www.johnfindlay.plus.com/
Re: PHE - PellesC Headers extension project [UPDATE 06.11.2016]
« Reply #3 on: June 12, 2016, 05:42:23 AM »
Yes John I've been busy ;), and for your joy I have just added the 32 and 64 bits ddraw.lib.

Very good!

I've been able to resurrect some old 2D DX stuff but the D3D stuff is proving much more difficult.

John

Offline frankie

  • Global Moderator
  • Member
  • *****
  • Posts: 1587
Re: PHE - PellesC Headers extension project [UPDATE 06.11.2016]
« Reply #4 on: June 12, 2016, 11:07:24 AM »
What you miss John?

Offline JohnF

  • Member
  • *
  • Posts: 1114
    • http://www.johnfindlay.plus.com/
Re: PHE - PellesC Headers extension project [UPDATE 06.11.2016]
« Reply #5 on: June 12, 2016, 11:35:05 AM »
Well it's not what is missing, yet!

An old demo from M.S. 'Dolphin' which I converted from C++ compiled fine with lcc_win32, never have I been able to get it to compile with PellesC.

Here is an example of which there are many:

error #2152: Unknown field 'DeleteVertexShader' of 'struct IDirect3DDevice8' (did you mean 'lpVtbl'?).

which appertains to this line of code

Code: [Select]
IDirect3DDevice8_DeleteVertexShader(gD3DApp.pD3DDevice, g_dwDolphinVertexShader);
EDIT: the definition in the header is
Code: [Select]
#define IDirect3DDevice8_DeleteVertexShader(p,a) (p)->DeleteVertexShader(a)
John
« Last Edit: June 12, 2016, 11:37:59 AM by JohnF »

Offline frankie

  • Global Moderator
  • Member
  • *****
  • Posts: 1587
Re: PHE - PellesC Headers extension project [UPDATE 06.11.2016]
« Reply #6 on: June 12, 2016, 12:29:39 PM »
Hello John,
could you post the project?

Offline JohnF

  • Member
  • *
  • Posts: 1114
    • http://www.johnfindlay.plus.com/
Re: PHE - PellesC Headers extension project [UPDATE 06.11.2016]
« Reply #7 on: June 12, 2016, 12:50:17 PM »
Hello John,
could you post the project?

Sure.

John

Offline frankie

  • Global Moderator
  • Member
  • *****
  • Posts: 1587
Re: PHE - PellesC Headers extension project [UPDATE 06.11.2016]
« Reply #8 on: June 13, 2016, 12:10:23 AM »
John add this line
Code: [Select]
#define COBJMACROS 1before the very first directx header to enable the macros.
I think that DirectX8 is no more supported on Win7, you should use DirectX9 instead.
I played a little with headers, but is not easy because of redefines that evidently are not a problem for VC  :(

Offline JohnF

  • Member
  • *
  • Posts: 1114
    • http://www.johnfindlay.plus.com/
Re: PHE - PellesC Headers extension project [UPDATE 06.11.2016]
« Reply #9 on: June 13, 2016, 07:13:10 AM »
John add this line
Code: [Select]
#define COBJMACROS 1before the very first directx header to enable the macros.
I think that DirectX8 is no more supported on Win7, you should use DirectX9 instead.
I played a little with headers, but is not easy because of redefines that evidently are not a problem for VC  :(

DX is a nightmare, at least most of the Windows APIs stayed the same through all versions of the OS.
 
Attached is the exe is anyone is interested to know what it looked like running.

John

Offline frankie

  • Global Moderator
  • Member
  • *****
  • Posts: 1587
Re: PHE - PellesC Headers extension project [UPDATE 06.11.2016]
« Reply #10 on: June 13, 2016, 01:54:00 PM »
John
Try this  ;)
(Maybe now I know what to do...)

Offline frankie

  • Global Moderator
  • Member
  • *****
  • Posts: 1587
Re: PHE - PellesC Headers extension project [UPDATE 06.11.2016]
« Reply #11 on: June 13, 2016, 01:54:31 PM »
And 2nd part...

Offline JohnF

  • Member
  • *
  • Posts: 1114
    • http://www.johnfindlay.plus.com/
Re: PHE - PellesC Headers extension project [UPDATE 06.11.2016]
« Reply #12 on: June 13, 2016, 02:04:21 PM »
I certainly works, what have you done?

EDIT: Anyway, very well done!

John
« Last Edit: June 13, 2016, 03:57:38 PM by JohnF »

Offline frankie

  • Global Moderator
  • Member
  • *****
  • Posts: 1587
Re: PHE - PellesC Headers extension project [UPDATE 06.11.2016]
« Reply #13 on: June 13, 2016, 03:56:48 PM »
Just downloaded the directx8 sdk and selected the required headers and libs.
The library Myd3d8.lib is the standard d3d8.lib from the sdk I renamed it to avoid linking against your d3d8.lib that strangely seems to miss Direct3DCreate8.
Yo can rename it d3d8.lib.
The headers are that of the last setup above.  ;)
When I'll have time I'll try to integrate DirectX8 in extensions distribution.

Offline JohnF

  • Member
  • *
  • Posts: 1114
    • http://www.johnfindlay.plus.com/
Re: PHE - PellesC Headers extension project [UPDATE 06.11.2016]
« Reply #14 on: June 13, 2016, 03:58:43 PM »
Ok, thanks much.

John