debug PureBasic dll's

Got an idea for enhancing PureBasic? New command(s) you'd like to see?
Quentmeier
New User
New User
Posts: 5
Joined: Wed Jul 28, 2004 10:37 am

debug PureBasic dll's

Post by Quentmeier »

Would it be possible to bebug PureBasic dll's when you call them from a different programming language? There are a few cool 3d-engines that allow you to write your game-code as a dll that is plugged into the engine. Principally you could therefore use any language you want. Practically this is not possible if the programming language doesn't support debugging of the dll's.(I have to use C++ right now and I hate it!)
This would be a really cool feature.
Greetings Lars
Last edited by Quentmeier on Thu Aug 07, 2008 11:04 am, edited 1 time in total.
Moonshine
Enthusiast
Enthusiast
Posts: 263
Joined: Tue May 25, 2004 12:13 am
Location: UK

Post by Moonshine »

Certainly an interesting concept... which 3d engines for example?

How can a game be written in a DLL, would all the game code have to be placed in the internal Constructor() procedure or something?
Mark my words, when you least expect it, your uppance will come...
User avatar
NoahPhense
Addict
Addict
Posts: 1999
Joined: Thu Oct 16, 2003 8:30 pm
Location: North Florida

Re: debug PureBasic dll's

Post by NoahPhense »

I use DebugView from SysInternals.. here's the link and a dll sample usage:

http://www.sysinternals.com/ntw2k/freew ... view.shtml

Code: Select all

Global ReturnValue$ 

; This procedure is called once, when the program loads the library 
; for the first time. All init stuffs can be done here (but not DirectX init) 
; 
ProcedureDLL AttachProcess(Instance)
  OutputDebugString_("AttachProcess(Instance) = " + Str(Instance))
EndProcedure 


; Called when the program release (free) the DLL 
; 
ProcedureDLL DetachProcess(Instance)
  OutputDebugString_("DetachProcess(Instance) = " + Str(Instance))
EndProcedure

; Both are called when a thread in a program call or release (free) the DLL
;
ProcedureDLL AttachThread(Instance)
  OutputDebugString_("AttachThread(Instance) = " + Str(Instance))
EndProcedure

ProcedureDLL DetachThread(Instance)
  OutputDebugString_("DetachThread(Instance) = " + Str(Instance))
EndProcedure


ProcedureDLL proc1(main$)
  Returnvalue$ = "in::" + main$
  ProcedureReturn @ReturnValue$
EndProcedure
- np
Shannara
Addict
Addict
Posts: 1808
Joined: Thu Oct 30, 2003 11:19 pm
Location: Emerald Cove, Unformed

Post by Shannara »

Moonshine wrote:Certainly an interesting concept... which 3d engines for example?
Quake 3 SDK comes to mind.
Moonshine
Enthusiast
Enthusiast
Posts: 263
Joined: Tue May 25, 2004 12:13 am
Location: UK

Post by Moonshine »

Shannara wrote:Quake 3 SDK comes to mind.
Phew, thats costs loads, doubt I'll be using that :wink:
Mark my words, when you least expect it, your uppance will come...
Quentmeier
New User
New User
Posts: 5
Joined: Wed Jul 28, 2004 10:37 am

Post by Quentmeier »

I use Cipher! Or at least I'm trying to.
Cipher is a lot like Quake3.
www.cipherengine.com
Greetings Lars
Last edited by Quentmeier on Wed Jul 28, 2004 5:46 pm, edited 1 time in total.
Quentmeier
New User
New User
Posts: 5
Joined: Wed Jul 28, 2004 10:37 am

Post by Quentmeier »

But it would also be cool to use with other Engines like Blitz3d, Torgue or Gamestudio. A dll debugger is always handy.
Greetings Lars
User avatar
NoahPhense
Addict
Addict
Posts: 1999
Joined: Thu Oct 16, 2003 8:30 pm
Location: North Florida

..

Post by NoahPhense »

Quentmeier wrote:I use Cipher! Or at least I'm trying to.
Cipher is a lot like Quake3.
www.cipherengine.com
Greetings Lars
Thats a pretty kewl engine..

- np
User avatar
blueznl
PureBasic Expert
PureBasic Expert
Posts: 6166
Joined: Sat May 17, 2003 11:31 am
Contact:

Post by blueznl »

i suspect gamestudio 3d :-)

it's a route i have been considering, in the end i decided to wait a little more... too much other stuff going on
( PB6.00 LTS Win11 x64 Asrock AB350 Pro4 Ryzen 5 3600 32GB GTX1060 6GB)
( The path to enlightenment and the PureBasic Survival Guide right here... )
thefool
Always Here
Always Here
Posts: 5875
Joined: Sat Aug 30, 2003 5:58 pm
Location: Denmark

Post by thefool »

cipher looks cool. But is there a demo to try out? Just for testing if i can use it.

Sorry but im tired 8O
Moonshine
Enthusiast
Enthusiast
Posts: 263
Joined: Tue May 25, 2004 12:13 am
Location: UK

Post by Moonshine »

I wanted to try a 3d game with an external engine in PB, and I think I can safely say Ive been through every single possibility (within the free/indie price range). My most hopeful engine was TrueVision 3d because of the COM interface, just like DirectX, but I got an unexplainable crash whenever I initialized it.

Cipher I was really interested in, but I couldnt use it because theres no demo to try (and Im not gambling on purchasing a license for something I cant use). Aztica 6DX looked promising as far as implementing a PB binding went, but overall it looked dated and bland, so I never attempted it.

Personally I think there should be a community effort to get as many 3d engines bound to PB as possible, PB has this advantage over Blitz/Dark etc whereby it isnt bound to a set of rules or an engine or anything like that, its open for you to use as you please. We should exploit that as a community. Virtually everything is geared at C++ only, and we need someone with the necessary skills to help bind them.

Others of note were PowerRender, but I didnt bother because of the stupid lisencing rules. You have to spend a few grand for an unlimited license to remove the splash screen and recieve the source code, for which I have no use for whatsoever.

NeoEngine looked good but was open source and didnt have any available binaries.

So have a think, maybe we could start a few maintained bindings.

[edit] Cipher's price is certainly reasonable, $100USD (approx. £54.82GBP; approx. 82.96EUR) and for the license:

*full engine/tools source code
*no limit on the number of games you can make and sell however you wish, with no royalties
*Access to sample source, forums and documentation
Mark my words, when you least expect it, your uppance will come...
Quentmeier
New User
New User
Posts: 5
Joined: Wed Jul 28, 2004 10:37 am

Post by Quentmeier »

Unfortunately there is no demo of Cipher. But you can test Quake3. Cipher looks and works very very similar.

I've tried some 3d-engines over the last years. Right now I have 4 that I really like:
1) Torgue(cheap, platform independent, large user base,powerfull)
2) Cipher(cheap,fast on low end machines[good for shareware])
3) BlitzBasic3d(huge user database, really easy to use, good for shareware)
4) Gamestudio(easy,easy,easy)

Greetings Lars
Dare2
Moderator
Moderator
Posts: 3321
Joined: Sat Dec 27, 2003 3:55 am
Location: Great Southern Land

Post by Dare2 »

This is not my area of interest, but I stumbled on these sites and maybe they have something for you:

http://cg.cs.tu-berlin.de/~ki/engines.html
http://www.opengl.org/applications/wind ... oper_tool/
@}--`--,-- A rose by any other name ..
Moonshine
Enthusiast
Enthusiast
Posts: 263
Joined: Tue May 25, 2004 12:13 am
Location: UK

Post by Moonshine »

Ive been on both before, the first hasnt been updated for ages and the second contains all that Id already found before.
Mark my words, when you least expect it, your uppance will come...
Post Reply