PureGDK - 3D Programming for PureBasic
Any more bugs? I was planning for a longer beta cycle because of the amount of changes. But so far it's been very stable at Beta 2.
One additional improvement I'm working on is automatic ID association when passing #GDK_Any or -1 as the ID. For example:
Where ObjectID is automatically assigned as the next free ID available. I've found this to be very convenient for keeping track of assets. You can do this, for example:
This way it's easy to capture IDs in your own lists for enumeration without all of those cumbersome FindFree..() functions.
One additional improvement I'm working on is automatic ID association when passing #GDK_Any or -1 as the ID. For example:
Code: Select all
ObjectID=dbMakeObjectCube(#GDK_Any,3)
Code: Select all
ObjectID=GameData_AddObject(dbMakeObjectPlain(#GDK_Any,TileWidth,TileWidth))
dbRotateObject(ObjectID,90,0,0)
dbPositionObject(ObjectID,x*TileWidth,0,y*TileWidth)
dbTextureObject(ObjectID,*GameData\ImagesLevel1\FloorMetal)
Last edited by Mistrel on Wed Feb 11, 2009 9:06 am, edited 2 times in total.
If you could pull this off for every asset of DB, like images, meshes, objects, etc, etc. Otherwise it will be only 1/2 useful.
Oh and one more thing do you plan that the #GDK_Any will return 0 if for example the object could not be created/loaded ?
Like it would be possible to do like this:
If yes then you are star, just add it! 
Oh and one more thing do you plan that the #GDK_Any will return 0 if for example the object could not be created/loaded ?
Like it would be possible to do like this:
Code: Select all
if dbMakeObjectCube(#GDK_Any,3)
; Do stuff here...
endif

Intel Core i7 Quad 2.3 Ghz, 8GB RAM, GeForce GT 630M 2GB, Windows 10 (x64)
Returning a value instead of calling DBP's error handler is entirely possible but it would take a lot of careful planning to implement because of how something like this will universally affect many different functions.
I would really like to implement this but I can't promise that it will make it into 1.1, because of the scope of the feature.

I would really like to implement this but I can't promise that it will make it into 1.1, because of the scope of the feature.
The changes for this are very minimal and there are only a handful of these functions. A feature like this, for example, is very easy to implement.Olby wrote:If you could pull this off for every asset of DB, like images, meshes, objects, etc, etc.

That sounds good. Well don't push your self to do it because we have all those .. exist commands that are meant solely for this purpose so I guess it would not be something that we would extremely miss. Just a bit different way of handling things than internal 3d engine of PB.Mistrel wrote:Returning a value instead of calling DBP's error handler is entirely possible but it would take a lot of careful planning to implement because of how something like this will universally affect many different functions.
I would really like to implement this but I can't promise that it will make it into 1.1, because of the scope of the feature.
The changes for this are very minimal and there are only a handful of these functions. A feature like this, for example, is very easy to implement.Olby wrote:If you could pull this off for every asset of DB, like images, meshes, objects, etc, etc.
Intel Core i7 Quad 2.3 Ghz, 8GB RAM, GeForce GT 630M 2GB, Windows 10 (x64)
Did anyone else notice DBP 7.2 slip out under the radar? I haven't tried it yet but from the release notes it's just an update for a new plugin and some FTP modifications (which don't affect PureGDK).
I'm not anticipating any problems but I would recommend people try recompiling their projects with the new update to see if there have been any far reaching changes.
I'm not anticipating any problems but I would recommend people try recompiling their projects with the new update to see if there have been any far reaching changes.
This is what I get when I try to use any command from the GameFX library. I have it in both the DBPro folder and the data folder copied by PureGDK into my documents Roaming folder of PGDK. I tried to place the GameFX dll in various locations but that didn't help also.


Intel Core i7 Quad 2.3 Ghz, 8GB RAM, GeForce GT 630M 2GB, Windows 10 (x64)
I remember adding all of the new GameFX commands but they're missing from the GameFX library. I must have forgotten to paste them in.
I will definitely fix this!
For now, add "BUILD STATIC PORTALS" to the top of Lib-GameFX.gde in your "PureBasic\PureGDK\commands folder" to use any of the commands listed there. Only the GameFX commands listed there are implemented. This should allow you to compile what you have there.
I will definitely fix this!

For now, add "BUILD STATIC PORTALS" to the top of Lib-GameFX.gde in your "PureBasic\PureGDK\commands folder" to use any of the commands listed there. Only the GameFX commands listed there are implemented. This should allow you to compile what you have there.
Thanks,Mistrel wrote:I remember adding all of the new GameFX commands but they're missing from the GameFX library. I must have forgotten to paste them in.
I will definitely fix this!
For now, add "BUILD STATIC PORTALS" to the top of Lib-GameFX.gde in your "PureBasic\PureGDK\commands folder" to use any of the commands listed there. Only the GameFX commands listed there are implemented. This should allow you to compile what you have there.
It compiles now.
Intel Core i7 Quad 2.3 Ghz, 8GB RAM, GeForce GT 630M 2GB, Windows 10 (x64)
This is a bug in the IDE. Sometimes when you type command it won't set the proper case either. I hotkey "RestartCompiler" which sometimes fixes it. It's a hit or miss, unfortunately.
There was report in the bug forum about this happening to the core PB libraries around PB 4.02 or 4.10, I think, but I can't find it.
There was report in the bug forum about this happening to the core PB libraries around PB 4.02 or 4.10, I think, but I can't find it.
Ok, I saw a few other nice PB editors. Will they work with PureGDK ?
And another question. I am trying to create my own PureGDK libraries but the GDKLib Builder.exe wont compile nothing for me. I tried even the same AdvancedTerrain.dll and all it displays is an error message saying:
Here is what I tried to pass in the GDKTable.txt:
And another question. I am trying to create my own PureGDK libraries but the GDKLib Builder.exe wont compile nothing for me. I tried even the same AdvancedTerrain.dll and all it displays is an error message saying:
Code: Select all
Unexpected number of parameters: 3
Code: Select all
UPDATE TERRAIN
dbSetTerrainScale%LFFF%?SetTerrainScale@@YAXHMMM@Z%TerrainID, x.f, y.f, z.f
Intel Core i7 Quad 2.3 Ghz, 8GB RAM, GeForce GT 630M 2GB, Windows 10 (x64)
Library Builder has changed substantially for PureGDK 1.1 and needs new documentation.
The first change is that only the GDK table is required now. The syntax is slightly different as well. The first line of the .gdt file (note the extension) has two strings separated by a percent (%). The first is the library name and the second is the dependency string (some DBP function from the library).
Everything else is the same. You can drag the .gdt file on top of the library builder, use the command line, or a shortcut. Just make sure that your current directory is where you want the output files to go. Two folders will be created, a "Sources" and a "Dependencies" folder with your .pb and .gde (formerly .d) files.
The way it works is:
Compiling with the debugger: -c "%COMPILEFILE" "%FILE" "%EXECUTABLE" -g
Compiling without the debugger: -e "%COMPILEFILE" "%FILE" "%EXECUTABLE" -g
Always run Compiler.exe with the -u parameter after your compile and before you run the executable. It won't work otherwise.
You can also run Compiler.exe with the -u parameter at any time to purge your temp folder of temporary PureGDK files.
That's it. Compiling is pretty simple.
The first change is that only the GDK table is required now. The syntax is slightly different as well. The first line of the .gdt file (note the extension) has two strings separated by a percent (%). The first is the library name and the second is the dependency string (some DBP function from the library).
Everything else is the same. You can drag the .gdt file on top of the library builder, use the command line, or a shortcut. Just make sure that your current directory is where you want the output files to go. Two folders will be created, a "Sources" and a "Dependencies" folder with your .pb and .gde (formerly .d) files.
I've never tried it but it should. Just follow the required compile order of each of the tools listed in the default IDE for the PureGDK compiler. If you want to hide the GUI drop the -g parameter.Olby wrote:Ok, I saw a few other nice PB editors. Will they work with PureGDK?
The way it works is:
Compiling with the debugger: -c "%COMPILEFILE" "%FILE" "%EXECUTABLE" -g
Compiling without the debugger: -e "%COMPILEFILE" "%FILE" "%EXECUTABLE" -g
Always run Compiler.exe with the -u parameter after your compile and before you run the executable. It won't work otherwise.
You can also run Compiler.exe with the -u parameter at any time to purge your temp folder of temporary PureGDK files.
That's it. Compiling is pretty simple.
