Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Professional Discussion / [STICKY] DBPro 9Ex

Author
Message
mr_d
DBPro Tool Maker
10
Years of Service
User Offline
Joined: 26th Mar 2007
Location: Somewhere In Australia
Posted: 21st Feb 2017 18:30
Just wanted to tag in to this thread for updates and to give my thanks to Rudolpho for the work he's putting into DBPro 9Ex.
Rudolpho
11
Years of Service
User Offline
Joined: 28th Dec 2005
Location: Sweden
Posted: 26th Feb 2017 22:24
Green Gandalf wrote: "On the Advanced Terrain Memory Failure error message, I think you get that error in DBPU77RC7 when the heightmap is missing. Could that be a clue to the source of your error? For example, an incorrect file name or something?"

It's possible if it attempts to do some managed texture stuff that I have missed to cover in my wrappers. I think WickedX was kind enough to provide the source for the Advanced Terrain plugin somewhere around here so hopefully it should be relatively easy to find out if I just get the time to sit down and have a look. Then again I thought that changing the display mode without recreating the device would also be easy until I sat down to do just that the other day - lots of cross references and dependencies between the various dll's making up the core DBPro engine to sort out there (for anyone interested it is more or less functional by now, it just doesn't properly swap between fullscreen exclusive and windowed mode yet, so I'll hold up on posting a new version until I've sorted that out).

Green Gandalf wrote: "It's really encouraging to see you working on this. "

mr_d wrote: "Just wanted to tag in to this thread for updates and to give my thanks to Rudolpho for the work he's putting into DBPro 9Ex. "

Thanks

Green Gandalf wrote: "I appreciate what you say about DBPro really needing a rewrite, however, I'll dig out my old top ten most annoying bugs and see how annoying they are before bothering you with them."

I'm looking forward to it! Enjoy your trip

CumQuaT
AGK Master
7
Years of Service
User Offline
Joined: 28th Apr 2010
Location: Brisbane, Australia
Posted: 8th Mar 2017 14:30 Edited at: 8th Mar 2017 15:10
Hi Rudolpho! Apparently my shader code causes this error:



The message is actually cut off... Do you know what it says and what I need to do to get my shaders working?

Also, my BlitzTerrain generation is now causing this error:



Any light you might be able to shed on that one would be greatly appreciated, also!

Other than that, I'm loving this. My compiles used to take around 17 minutes. Now they're under 90 seconds!
I work full-time making games in AGK2 and DBpro. Living the dream!
Rudolpho
11
Years of Service
User Offline
Joined: 28th Dec 2005
Location: Sweden
Posted: 12th Mar 2017 16:15
CumQuaT wrote: "The message is actually cut off... Do you know what it says and what I need to do to get my shaders working?"

Shader model 1 is no longer supported by the HLSL compiler used by DBPro9Ex.
Odds are the solution is as simple as opening your _modified.fx file and change the technique declaration from ps_1_x to ps_2_0 and everything should work. If it does not you'll get further shader error messages describing what else will have to be changed when trying to run your program after making said changes to the effect file.

CumQuaT wrote: "Also, my BlitzTerrain generation is now causing this error:
"

That happens because BlitzTerrain attempts to create 3D meshes directly using DirectX rather than going through DBPro. As such it assumes to run on D3D9.0c and basically supplies some parameters to a function that are no longer valid in D3D9Ex. This is the same problem as was being had with images earlier ("cannot lock pixel data" etc.) and has been solved by manually patching the offending DX functions to emulate the desired behaviour in the latest v1.0.0.8 release (see my next post below). Thanks for pointing this ou as well as your e-mail correspondencet; it helped to pinpoint that particular issue which it is quite possible would cause incompatibilities with other as-of-yet undiscovered third party plugins as well

CumQuaT wrote: "Other than that, I'm loving this. My compiles used to take around 17 minutes. Now they're under 90 seconds!"

Wow, that is quite the upgrade indeed! Great to hear
Rudolpho
11
Years of Service
User Offline
Joined: 28th Dec 2005
Location: Sweden
Posted: 12th Mar 2017 16:16 Edited at: 12th Mar 2017 16:17
Version 1.0.0.8 is now available.
Click here to download it.


This version fixes compatibility issues with third party plugins that create meshes or load/create/update textures directly through DirectX, such as BlitzTerrain and AdvancedTerrain, allows changing the display mode at runtime without having to reload media and fixes a couple of bugs present in the previous version.

The display mode can now be changed at runtime without the need to reload any media using the new CHANGE DISPLAY MODE command. SET DISPLAY MODE will continue to work as before (ie. purging all VRAM data) for backwards compatibility with projects depending on this behaviour. Take note that you can also tab in and out of fullscreen exclusive mode without any issues.
Fixed compatibility with plugins that create meshes directly through DirectX such as BlitzTerrain.
Extended texture management emulation to also include the various D3DX utility functions, which means plugins using these (such as AdvancedTerrain) will no longer fail with DBPro9Ex.
Fixed a bug where pixel data would not be properly read back from a locked image in certain situations.
Fixed a memory leak in DBProSetupDebug.dll.


As always, thanks for the feedback guys
CumQuaT
AGK Master
7
Years of Service
User Offline
Joined: 28th Apr 2010
Location: Brisbane, Australia
Posted: 13th Mar 2017 01:07 Edited at: 13th Mar 2017 01:08
I work full-time making games in AGK2 and DBpro. Living the dream!
Kuper
9
Years of Service
User Offline
Joined: 25th Feb 2008
Playing: Planescape:Torment
Posted: 13th Mar 2017 16:33 Edited at: 13th Mar 2017 16:33
8 updates in row? Kidding?
A year ago I thought that DBPro is dead for sure.
You bring new breath of life to our community.
Thanks!
Chris Tate
8
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 16th Mar 2017 12:41
Gratz. Keep up the good work; this will soon require a new forum section to help raise awareness and attract support.

I still have not implemented this into my project, at least not yet; but am looking forward to doing it.
Bored of the Rings
12
Years of Service
User Offline
Joined: 25th Feb 2005
Location: Middle Earth
Posted: 17th Mar 2017 09:12
amazing updates/fixes so far, thanks Rudolpho
Professional Programmer, languages: SAS, C++, SQL, PL-SQL, DBPro, Purebasic, JavaScript, others
Rudolpho
11
Years of Service
User Offline
Joined: 28th Dec 2005
Location: Sweden
Posted: 18th Mar 2017 09:21 Edited at: 18th Mar 2017 09:24
Thanks guys and lol CumQuaT

Kuper wrote: "8 updates in row? Kidding?"

Well, it's been nearly 6 months since the first release and it's mostly just bugfix updates but thanks

Chris Tate wrote: "this will soon require a new forum section to help raise awareness and attract support."

I suppose it might raise awareness but considering how diluted the DB-parts of these forums have become lately it might just as well have the opposite effect with people not finding it in the first place. I'm not sure, would be quite the honour though

Chris Tate wrote: "I still have not implemented this into my project, at least not yet; but am looking forward to doing it."

I can understand that given its scope haha. On the other hand I'm sure you would uncover tonnes of new bugs if you did, so I'm looking forward to hearing of the results of such an undertaking too


Edit: Well look at that, thanks for the Valued Member badge, whomever nominated me for that!
Chris Ritchie
11
Years of Service
User Offline
Joined: 7th Jan 2006
Location: Norn Iron
Posted: 20th Mar 2017 01:09
Just chiming in to say thanks for all your hard work on this Rudolpho, its great to see DB getting updated, I hope to be using it for many years to come.

Lead programmer ULIDIA
Action_Saxon
1
Years of Service
User Offline
Joined: 30th Sep 2015
Location:
Posted: 5th Apr 2017 11:57
Hi Rudolpho, this looks absolutely superb! Thanks for your efforts with this

I've managed to compile my project with this and I've noticed that IanM's function pointers no longer seem to work (Matrix1Util_20) - as soon as you use 'GET PTR TO FUNCTION' it just hangs - (to be fair he did say it probably wouldn't survive a compiler change) - but they do seem to be quite well used (Diggsey's TopGui relies on them https://forum.thegamecreators.com/thread/186847), and I think some of the LUA script plugins (I'm guessing there might be others too?) along with usage in people's own projects. Not sure if anything can be done, but it seemed worth mentioning.

+ Code Snippet

Rudolpho
11
Years of Service
User Offline
Joined: 28th Dec 2005
Location: Sweden
Posted: 6th Apr 2017 21:40
Thanks guys.

Action_Saxon wrote: "I've noticed that IanM's function pointers no longer seem to work (Matrix1Util_20)"

I was not aware of this, thanks for reporting it.
It's hard to say whether this can be made to work as I don't know how Ian retrieves those pointers.
DBPro uses runtime linking of user functions from a table kept in the executable so odds are he's looking that one up. If this is done via a static offset it most certainly will not work with anything but a very particular executable base that has since changed with the newer compiler versions. It might be possible to either patch the dll in question to refer to the current memory location of the function table instead (the table structure itself should be the same so should work) or to provide a new set of functions for retrieving function pointers.

Unfortunately my computer broke down about two weeks ago and I'm still waiting for spare parts to be in stock so I'm unable to look into this further at the moment, but again, thanks for reporting it and for your appreciation
Kuper
9
Years of Service
User Offline
Joined: 25th Feb 2008
Playing: Planescape:Torment
Posted: 9th Apr 2017 00:19
Only today I've notice that DBPro's cammand block "animation" doesn't work at all
I wrote time ago that DarkVideo plugin do not work but decided that it is not crucial problem because DBPro
has its own functions for that.Now I get that they don't work too.
Please guys check maybe it is only my problem?
Example project are here:
Dark Basic Professional\Projects\3DVideo
Dark Basic Professional\Help\examples\animation
PS
Also have question: How do you think is the best way to make animated textures like TV screen? For me sequence of .dds textures and separate 3d sound is only solution
Rudolpho
11
Years of Service
User Offline
Joined: 28th Dec 2005
Location: Sweden
Posted: 11th Apr 2017 22:38
The built-in "animation" (movie) functions of DBPro haven't worked in the official upgrades for ages. I believe this is due to them originally using some Microsoft library that has since been deprecated and removed, so I don't think that's anything I'm going to try to make work. If I did it would probably rather be as a new plugin on its own, or as part of my DX11 engine.
That said, DarkVideo should hopefully work now as of the latter updates I believe. Have you given it another try lately?
Kuper
9
Years of Service
User Offline
Joined: 25th Feb 2008
Playing: Planescape:Torment
Posted: 11th Apr 2017 23:50
@Rudolpho
animation commands and also DarkVideo works fine with last official update 7.6
Video files which I find in example folders use Cinepak and WMV1 codecs which was part of Windows XP ( or maybe even 98)
Kuper
9
Years of Service
User Offline
Joined: 25th Feb 2008
Playing: Planescape:Torment
Posted: 14th Apr 2017 02:06
@Rudolpho
Also You can check this curious link(from FPSC thread) : http://www.ntcore.com/4gb_patch.php
Mage
10
Years of Service
User Offline
Joined: 3rd Feb 2007
Location: Canada
Posted: 15th Apr 2017 05:48
Too bad about the animation commands.

Where can I get Dark Video?
James H
10
Years of Service
User Offline
Joined: 21st Apr 2007
Location: St Helens
Posted: 15th Apr 2017 13:18
@Mage
I haven't tried it that I recall(I have paid for version from TGC) but you could try THIS (look for DarkVideo tab)
Rudolpho
11
Years of Service
User Offline
Joined: 28th Dec 2005
Location: Sweden
Posted: 1st May 2017 22:34
Kuper wrote: "animation commands and also DarkVideo works fine with last official update 7.6"

Really hm, I was quite certain those were deprecated at best.
I'll have to look into it when I'm able I guess.

About that link, it shouldn't be hard to make the compiler able to flip that setting. That said, it's possible there are various custom checks that will not consider unsigned addresses valid still in both the DBPro core libraries and third party dll's. Odds are there won't be many, if any, such checks though so it's definitely worth adding in.
Unfortunately my computer is still out of comission so I don't have access to build any updates or even (easily at least) check the code at the moment but I will give this a look when able; thanks for the suggestion
CumQuaT
AGK Master
7
Years of Service
User Offline
Joined: 28th Apr 2010
Location: Brisbane, Australia
Posted: 2nd May 2017 01:30
Jeez, still waiting on parts, Rudolpho? I feel for you. I can't imagine having my PC out of commission that long!
I work full-time making games in AGK2 and DBpro. Living the dream!
Kuper
9
Years of Service
User Offline
Joined: 25th Feb 2008
Playing: Planescape:Torment
Posted: 17th May 2017 02:39 Edited at: 17th May 2017 03:23
Get new FPS bug ( Ive get it on my laptop , so maybe there is no problem on main PC )
Simple code:

set display mode 1920,1080,32,0
sync on
sync rate 0
do
text 100,100,str$(screen fps())+" "+str$(statistic(1))
fastsync
loop

With nothing I get about 90fps (!)
Now add new command : CHANGE DISPLAY MODE 1920,1080,32,1
like this:
set display mode 1920,1080,32,0
CHANGE DISPLAY MODE 1920,1080,32,1
So now we have about 260 fps! Not bad - but we have just clear loop and no media loaded. Weird endeed!
After this funny pastime I check standart example which called "PlasmaDemo"
Here I get 200 fps and 530fps when add CHANGE DISPLAY MODE command
Can't explain how clear loop produce less FPS when demo with media.

PS.
Also there is option on laptop which allow you to run programs with built-in CPU video card ( I have intel 4600) or
with GPU ( nvidia for example ). So funny thing is that in some DBPro demos I get more FPS with my integrated in CPU graphics processor
Anyway FPS with DProEx v8 is unexplainable lower then with DBPro v7.6 even with no media and clear loop.
Rudolpho
11
Years of Service
User Offline
Joined: 28th Dec 2005
Location: Sweden
Posted: 19th May 2017 19:01
Kuper wrote: "Also there is option on laptop which allow you to run programs with built-in CPU video card ( I have intel 4600) or
with GPU ( nvidia for example ). So funny thing is that in some DBPro demos I get more FPS with my integrated in CPU graphics processor
Anyway FPS with DProEx v8 is unexplainable lower then with DBPro v7.6 even with no media and clear loop."

Are you running on the dedicated graphics card when this is happening? Also what card is that? It seems very odd if the integrated one would outperform your dedicated chip.

As for 9Ex being slower than 7.6 when not drawing anything this is not impossible as there have been various additions and changes made to the 9Ex version. You really should compare how they are running when actually drawing something though, a clear screen doesn't tell you that much. For example I can run a simple fullscreen clear-sync loop at ~10 000FPS with 9Ex while it only goes to ~5800 with my DX11 engine. The DX11 engine can still outperform 9Ex quite significantly when it comes to drawing lots of meshes per render pass.

Kind of off-topic but still, this made me notice that I'm apparently getting a lower frame rate in full-screen exclusive mode both with 9Ex and Ziggurat with my new graphics card, which certainly doesn't make much sense


CumQuaT wrote: "Jeez, still waiting on parts, Rudolpho? I feel for you. I can't imagine having my PC out of commission that long!"

Indeed, well I finally got it now but it was a ridiculous wait; I certainly would've settled on a different brand had I known it was going to be like this
Kuper
9
Years of Service
User Offline
Joined: 25th Feb 2008
Playing: Planescape:Torment
Posted: 19th May 2017 20:57
@Rudolpho
If I use 'CHANGE DISPLAY MODE" command things looks more natural - integrated intel 4600 card produce much lower fps then
nvidia 960m ( 250 vs 500 approximately) this numbers are similar to DBPro v7.6



CumQuaT
AGK Master
7
Years of Service
User Offline
Joined: 28th Apr 2010
Location: Brisbane, Australia
Posted: 21st May 2017 03:35 Edited at: 21st May 2017 03:39
Hey Rudolpho. I've just noticed that if I switch in or out of windowed mode mid-game using SET WINDOW ON and SET WINDOW OFF, the visuals start flickering like crazy. Is this something you can replicate on your end?

Of course, if you don't have a working PC to test this on then that question may be moot
I work full-time making games in AGK2 and DBpro. Living the dream!
TiberiusHoorn
2
Years of Service
User Offline
Joined: 25th Jun 2014
Location: The Netherlands
Posted: 24th May 2017 20:36
Hi Guys,

I hope I am not asking a question that has been previously asked but |I am interested to know whether the Matrix1Utils will work under the new version of DarkBasic. I have tried to no avail so maybe someone has some tips. I am especially interested in the FILE and STRING additions?

Thanks,
Nick

Login to post a reply

Server time is: 2017-05-25 13:29:08
Your offset time is: 2017-05-25 13:29:08