Page 7 of 7

Re: ANyone know why this doesnt work with PB 4.20 ?

Posted: Mon Jul 14, 2008 6:21 pm
by inc.
link0101 wrote:Hello,

Anyone have a clue why the DX9 subsystem doesnt work with the new PB 4.20?
From the changelog of 4.20:
PureBasic V4.20 (all OS)

- Added: Mail library
- Added: Ftp library
- Added: RegularExpression library
- Added: Http library
- Added: SerialPort library
- Added: FLAC library
- Added: SQLite library
- Added: DirectX 9 subsystem
- Added: Sound Streaming for OGG and FLAC
- Added: #PB_Sound_MultiChannel support for the sound library
- Added: CreateImageMenu(), CreatePopupImageMenu(), SHA1FingerPrint(), SHA1FileFingerPrint()
- Added: CRC32FileFingerprint(), ExamineMD5FingerPrint(), ExamineSHA1FingerPrint(),
- Added: NextFingerPrint(), FinishFingerPrint(), IsFingerPrint()
- Added: Hexadecimal and binary support for Val() and ValQ()
- Added: #PB_Compiler_Procedure compiler constant
- Added: #PB_Round_Nearest support for Round()
- Added: 'XOr' drawing support for Linux/SDL and MacOS X
- Added: New "Profiler" tool for the Debugger menu to monitor how often lines are called in the code
- Added: Debugger can now evaluate expressions (see Debug output)
- Added: The Memory Viewer can accept any expression as the start/end address
- Added: Adding a "+" at the "end address" field of the Memory viewer makes the end address relative
- Added: Placing the mouse over a Variable will display its value while the program runs.
- Added: Selecting a more complex expression and placing the mouse over it will evaluate the expression in the running program (if possible)
So it seems that a native DX9 Subsystem support is build in since 4.20.

Re: ANyone know why this doesnt work with PB 4.20 ?

Posted: Mon Jul 14, 2008 7:01 pm
by djes
inc. wrote: So it seems that a native DX9 Subsystem support is build in since 4.20.
You've never tried it to say that :lol:
We're all hoping that 4.30 will correct this, in addition to the new Ogre :)
(after Fred & team holidays, of course ;))

its a different subsystem

Posted: Wed Jul 16, 2008 5:08 pm
by link0101
Yes I know 4.20 has a (directX 9) library of its own, but the one posted here (DX9) is faster and I can not get it to run with Purebasic 4.20

Not sure why since I do not have the source code nor have I ever written a library for Purebasic.

if you dont believe its faster try using this library with 4.10 then go back to 4.20 and use the built in one.

As I stated before..Fred has done a great job with Purebasic but for games you need to use the fastest library possible and this one seems to be the fastest.

thanks for your time

Re: DX9 Subsystem v0.5

Posted: Tue Dec 08, 2015 3:36 am
by hippy
Hi there,
I've downloaded the "latest" version of this from http://sourceforge.net/projects/dx9s/

I can compile it to a DLL, but could someone please hint to me how I can compile or turn this into a subsystem?

I have specific reasons for wanting to do this, first the pre-compiled subsystem doesn't seem to work with PB4.60 and complains about missing PureLibrary MEMORYEXTENTION. I need PB4.60 to support a very big application that is not yet ready to transition to PB5.x. (which doesn't solve the problem I am having anyway)

I need this DX9 subsystem, as the PB DirectX subsystems crashes when the device is lost (screen locks, sleeps, workstation locks), this DX9 subsystem seems to not do that.

So, the DX9SubsystemDLL44.pb holds a bunch of procedures like...

Code: Select all

ProcedureDLL _OpenWindowedScreen(WindowID,x,y,Width,Height,AutoStretch,RightOffset,BottomOffset)
......
ProcedureDLL _ClearScreen(Color)
....
They are the same procedures as the default subsystem except for the _ before the name.

How does this become compiled into a subsystem?

Cheers,
Hip

Re: DX9 Subsystem v0.5

Posted: Tue Dec 08, 2015 7:49 am
by IceSoft
Better you use the MP3D userlib => it is a very usefull Subsystem for DirectX9

Re: DX9 Subsystem v0.5

Posted: Tue Dec 08, 2015 1:10 pm
by hippy
Thanks IceSoft,
I am looking at MP3D now, but this DX9 Subsystem is exactly the same interface as the code I have that already exists, because it the 2d drawing library only that I need.

Using tailbite, I can compile it to a library and place it as subsystem\DX9\PureLibraries\Sprite but the function names are still _OpenWindowedScreen() etc. and not overriding the defaults, and calling them doesn't work.

I can't get tailbite to compile the other file in the archive (DX9SubsystemDLL43.pb) because PB complains that ClearScreen() etc. are already declared! I can't find very much information on making a purebasic subsystem written in purebasic, but it's apparently very possible.

Cheers,
Hip