DX9 Subsystem v0.5

Applications, Games, Tools, User libs and useful stuff coded in PureBasic
inc.
Enthusiast
Enthusiast
Posts: 406
Joined: Thu May 06, 2004 4:28 pm
Location: Cologne/GER

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

Post 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.
Check out OOP support for PB here!
User avatar
djes
Addict
Addict
Posts: 1806
Joined: Sat Feb 19, 2005 2:46 pm
Location: Pas-de-Calais, France

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

Post 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 ;))
link0101
User
User
Posts: 34
Joined: Mon Jul 14, 2008 5:03 pm

its a different subsystem

Post 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
hippy
User
User
Posts: 28
Joined: Tue Mar 05, 2013 3:11 pm

Re: DX9 Subsystem v0.5

Post 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
User avatar
IceSoft
Addict
Addict
Posts: 1682
Joined: Thu Jun 24, 2004 8:51 am
Location: Germany

Re: DX9 Subsystem v0.5

Post by IceSoft »

Better you use the MP3D userlib => it is a very usefull Subsystem for DirectX9
Belive! C++ version of Puzzle of Mystralia
<Wrapper>4PB, PB<game>, =QONK=, PetriDish, Movie2Image, PictureManager,...
hippy
User
User
Posts: 28
Joined: Tue Mar 05, 2013 3:11 pm

Re: DX9 Subsystem v0.5

Post 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
Post Reply