Sorry for the trouble this is causing people.

PureGDK 1.1.0 Beta 3
====================
Bug fixes:
- Fixed a bug where the PureGDK compiler would diplay both the GUI and the command-line window at the same time. The command line window is now hidden when compiling from the IDE as it was intended. This update was missing from 1.1.0 Beta 2.
- Fixed a bug where dbMouseMoveX and dbMouseMoveY calculated the first iteration incorrectly.
- Fixed a bug where the PureGDK compiler would not parse the include keyword correctly if it did not use parenthesis.
- Fixed a bug where the following commands would fail to return a value with the debugger on: dbLightExist, dbLightType, dbLightVisible, dbLightRange, dbLightPositionX, dbLightPositionY, dbLightPositionZ, dbLightDirectionX, dbLightDirectionY, dbLightDirectionZ.
- Removed old debug code in dbSetLightRotationVector that would cause a message box to be appear when called.
- Fixed a bug where dbMouseClick returned the wrong value for the right and middle mouse buttons. The value returned now matches the documentation.
- Fixed a bug where in dbIsIdentityMatrix could fail to recognize a matrix4 structure as an identity matrix.
- Fixed a bug in dbGetCameraPositionVector, dbGetCameraRotationVector, dbGetMatrixPositionVector, dbGetParticlePositionVector, and dbGetParticleRotationVector where they would failed to return the expected value.
- Fixed a bug where dbLoadEffect would cause an access violation error.
- Added all of the new GameFX commands which were missing from PureGDK 1.1.0 Beta 1.
- Added missing help documentaton to the System library.
- Fixed a bug where dbTextureScreen only accepted one parameter where it should have accepted two.
Updates:
- Swapped the parameter order of dbCloneSound to be consistent with other commands.
- DBP 7.0 Added new optional parameters to dbLoadEffect and dbSetCameraToImage
- DBP 7.0 Added new commands dbCheckListFValueA, dbCheckListFValueB, dbCheckListFValueC, and dbCheckListFValueD
- Removed the commands dbDisableSystemKeys, dbEnableSystemKeys, dbDisableEscapeKey and dbEnableEscapeKey. This functionality is obsolete in PureGDK 1.1.0 and can be handled through keyboard events.
- Added documentation to the help file for all of the new commands introduced since 6.7.
- Added the library Advanced Terrain to the core libraries. Refer to the documentation for a list of commands.
- The following commands will now automatically use and return the next free ID associated with the entity being created when passed an ID of #PB_Any or -1:
* dbLoadAnimation
* dbLoadDVDAnimation
* dbMakeLight
* dbLoadBitmap
* dbCreateBitmap
* dbLoadSound
* dbLoad3DSound
* dbCloneSound
* dbRecordSound
* dbLoadObject
* dbCloneObject
* dbInstanceObject
* dbMakeObject
* dbMakeObjectBox
* dbMakeObjectCone
* dbMakeObjectCube
* dbMakeObjectCylinder
* dbMakeObjectFromLimb
* dbMakeObjectPlain
* dbMakeObjectSphere
* dbMakeObjectTriangle
* dbLoadEffect
* dbLoadVertexShader
* dbLoadPixelShader
* dbLoadMesh
* dbMakeMeshFromObject
* dbLoadImage
* dbGetImage
* dbLoadMusic
* dbMakeMemblock
* dbMakeMemblockFromBitmap
* dbMakeMemblockFromImage
* dbMakeMemblockFromSound
* dbMakeMemblockFromMesh
* dbCopyMemblock
* dbMakeBitmapFromMemblock
* dbMakeImageFromMemblock
* dbMakeSoundFromMemblock
* dbMakeMeshFromMemblock
* dbChangeMeshFromMemblock
* dbMakeParticles
* dbMakeSnowParticles
* dbMakeFireParticles
* dbMakeCamera
* dbMakeMatrix
* dbMakeTerrain
* dbSprite
* dbCreateAnimatedSprite
* dbCloneSprite
I know, I haven't checked if there are any new commands I just looked on the version numbers available for the download and what was then supported by the PGDK. If you say that there isn't any new commands then that's fine. I will inform you if there is a specific command EnAn is missing.Mistrel wrote:Olby, correct me if I'm wrong but PureGDK is already up to date with support for the Enhanced Animations plugin. Unless new commands are added or the parameters change then it's still "up to date".
The files produced by the library builder are just a wrapper for the command library. It doesn't actually contain any code from the dll; it only contains the command names and parameters.
Let me know specifically if it's missing something and I'll add it to the official release.
http://puregdk.com/files/upload/PureGDK ... 4-4.30.zipPureGDK 1.1.0 Beta 4
====================
Bug fixes:
- Updated the uninstaller to be compatible with PureBasic 4.30.
Code: Select all
dbSetObjectMask(drDirectLightObject, 2^(drDeferredCamera+2) )
There is no "^" operator. Try this:Olby wrote:Yeah I saw that thread right before I posted here. But they are documented in the DBPro help files so sooner or later I think they will be fixed. Anyways I got another question, yes I am a boring person
In DBPro we could use syntax like this to mask the objects, but PB says it's incorrect:
What should I change ?Code: Select all
dbSetObjectMask(drDirectLightObject, 2^(drDeferredCamera+2) )
Code: Select all
dbSetObjectMask(drDirectLightObject, Pow((drDeferredCamera+2,2)) )
See the "PureBasic\PureGDK\plugin-sdk\Supported Plugins" folder for a list of supported plugins. There are syntax lists for all of the commands in each folder but.. they appear to be missing for a couple of them.Since there are so many DB plugins supported natively, I'm wondering if there will be documentation on what the commands are via PureGDK.
Here is some example code for EZRoate and EZRotate Basic. There seems to be a drift problem with the commercial plugin though.My current interest is the EZRotate commands. Any chance someone could provide a basic example of using the EZRotate commands through PureGDK?
Code: Select all
; EZrotate sample program
; 14-Dec-2005
; Written by: Ron Erickson
; http://www.gametoolshed.com
OpenWindow(0,0,0,640,480,"DarkBasic Professional - PureGDK",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
hDBWnd=OpenDBWnd(WindowID(0),0,0,640,480)
dbSyncRate(0)
; Main Cube Object
dbMakeObjectCube(1,1)
; Create Global Axis
;--------------------------
; X axis
dbMakeObjectCylinder(2,0.1)
dbScaleObject(2,100,2000,100)
dbPositionObject(2,1,0,0)
dbRotateObject(2,0,0,-90)
dbColorObject(2,dbRGB(255,0,0))
;Yaxis
dbMakeObjectCylinder(3,0.1)
dbScaleObject(3,100,2000,100)
dbPositionObject(3,0,1,0)
dbColorObject(3,dbRGB(0,255,0))
; Z axis
dbMakeObjectCylinder(4,0.1)
dbScaleObject(4,100,2000,100)
dbPositionObject(4,0,0,1)
dbRotateObject(4,90,0,0)
dbColorObject(4,dbRGB(0,0,255))
; Create Local Axis
;--------------------------
; X axis
dbMakeObjectCylinder(5,0.1)
dbScaleObject(5,100,2000,100)
dbMakeMeshFromObject(1,5)
dbDeleteObject(5)
dbAddLimb(1,1,1)
dbOffsetLimb(1,1,1,0,0)
dbRotateLimb(1,1,0,0,-90)
dbColorLimb(1,1,dbRGB(100,0,0))
; Y axis
dbMakeObjectCylinder(5,0.1)
dbScaleObject(5,100,2000,100)
dbMakeMeshFromObject(2,5)
dbDeleteObject(5)
dbAddLimb(1,2,2)
dbOffsetLimb(1,2,0,1,0)
dbColorLimb(1,2,dbRGB(0,100,0))
; Z axis
dbMakeObjectCylinder(5,0.1)
dbScaleObject(5,100,2000,100)
dbMakeMeshFromObject(3,5)
dbDeleteObject(5)
dbAddLimb(1,3,3)
dbOffsetLimb(1,3,0,0,1)
dbRotateLimb(1,3,90,0,0)
dbColorLimb(1,3,dbRGB(0,0,100))
; Camera
dbPositionCamera(-5,5,-5)
dbPointCamera(0,0,0)
mode=1
Repeat
; Set EZrotate to objects current angle
EZRoBasic_Set(dbObjectAngleX(1),dbObjectAngleY(1),dbObjectAngleZ(1))
If dbInKey()="1": mode=1: EndIf
If dbInKey()="2": mode=2: EndIf
; Rotate X Axis
If dbUpKey()=1
If mode=1: EZRoBasic_GX(1): EndIf
If mode=2: EZRoBasic_LX(1): EndIf
EndIf
If dbDownKey()=1
If mode=1: EZRoBasic_GX(-1): EndIf
If mode=2: EZRoBasic_LX(-1): EndIf
EndIf
; Rotate Y Axis
If dbRightKey()=1
If mode=1: EZRoBasic_GY(1): EndIf
If mode=2: EZRoBasic_LY(1): EndIf
EndIf
If dbLeftKey()=1
If mode=1: EZRoBasic_GY(-1): EndIf
If mode=2: EZRoBasic_LY(-1): EndIf
EndIf
; Rotate Z Axis
If dbInKey()="+"
If mode=1: EZRoBasic_GZ(1): EndIf
If mode=2: EZRoBasic_LZ(1): EndIf
EndIf
If dbInKey()="-"
If mode=1: EZRoBasic_GZ(-1): EndIf
If mode=2: EZRoBasic_LZ(-1): EndIf
EndIf
If dbSpaceKey()=1: EZRoBasic_Set(0,0,0): EndIf
; Set Object to EZrotate's calculated rotation
dbRotateObject(1,EZRoBasic_GetX(),EZRoBasic_GetY(),EZRoBasic_GetZ())
YPos=15
dbText(15,YPos,Str(dbScreenFPS())): YPos+15
dbText(15,YPos,"EZ-Rotate Basic version"): YPos+15
dbText(15,YPos,"By: Ron Erickson"): YPos+15
dbText(15,YPos,"visit: www.gametoolshed.com"): YPos+15
dbText(15,YPos," "): YPos+15
dbText(15,YPos,"Press 1 for Global Rotation"): YPos+15
dbText(15,YPos,"Press 2 for Local Rotation"): YPos+15
dbText(15,YPos,"---------------------------"): YPos+15
If mode=1: dbText(15,YPos,"Current mode: Global"): YPos+15: EndIf
If mode=2: dbText(15,YPos,"Current mode: Local"): YPos+15: EndIf
dbText(15,YPos," X Rotation - Up and Down arrows"): YPos+15
dbText(15,YPos," Y Rotation - Left and Right arrows"): YPos+15
dbText(15,YPos," Z Rotation - + and - keys"): YPos+15
dbText(15,YPos," "): YPos+15
dbText(15,YPos,"Euler X=" + StrD(EZRoBasic_GetX())): YPos+15
dbText(15,YPos,"Euler Y=" + StrD(EZRoBasic_GetY())): YPos+15
dbText(15,YPos,"Euler Z=" + StrD(EZRoBasic_GetZ())): YPos+15
dbText(15,YPos," "): YPos+15
dbText(15,YPos,"Matrix XX=" + StrD(EZRoBasic_GetMatXX())): YPos+15
dbText(15,YPos,"Matrix XY=" + StrD(EZRoBasic_GetMatXY())): YPos+15
dbText(15,YPos,"Matrix XZ=" + StrD(EZRoBasic_GetMatXZ())): YPos+15
dbText(15,YPos,"Matrix YX=" + StrD(EZRoBasic_GetMatYX())): YPos+15
dbText(15,YPos,"Matrix YY=" + StrD(EZRoBasic_GetMatYY())): YPos+15
dbText(15,YPos,"Matrix YZ=" + StrD(EZRoBasic_GetMatYZ())): YPos+15
dbText(15,YPos,"Matrix ZX=" + StrD(EZRoBasic_GetMatZX())): YPos+15
dbText(15,YPos,"Matrix ZY=" + StrD(EZRoBasic_GetMatZY())): YPos+15
dbText(15,YPos,"Matrix ZZ=" + StrD(EZRoBasic_GetMatZZ())): YPos+15
dbSync()
; End loop
Until WindowEvent()=#PB_Event_CloseWindow Or dbKeyState(#VK_ESCAPE)
End
Code: Select all
; EZrotate sample program
; 14-Dec-2005
; Written by: Ron Erickson
; http://www.gametoolshed.com
OpenWindow(0,0,0,640,480,"DarkBasic Professional - PureGDK",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
hDBWnd=OpenDBWnd(WindowID(0),0,0,640,480)
dbSyncRate(0)
; Main Cube Object
dbMakeObjectCube(1,1)
; Create Global Axis
;--------------------------
; X axis
dbMakeObjectCylinder(2,0.1)
dbScaleObject(2,100,2000,100)
dbPositionObject(2,1,0,0)
dbRotateObject(2,0,0,-90)
dbColorObject(2,dbRGB(255,0,0))
;Yaxis
dbMakeObjectCylinder(3,0.1)
dbScaleObject(3,100,2000,100)
dbPositionObject(3,0,1,0)
dbColorObject(3,dbRGB(0,255,0))
; Z axis
dbMakeObjectCylinder(4,0.1)
dbScaleObject(4,100,2000,100)
dbPositionObject(4,0,0,1)
dbRotateObject(4,90,0,0)
dbColorObject(4,dbRGB(0,0,255))
; Create Local Axis
;--------------------------
; X axis
dbMakeObjectCylinder(5,0.1)
dbScaleObject(5,100,2000,100)
dbMakeMeshFromObject(1,5)
dbDeleteObject(5)
dbAddLimb(1,1,1)
dbOffsetLimb(1,1,1,0,0)
dbRotateLimb(1,1,0,0,-90)
dbColorLimb(1,1,dbRGB(100,0,0))
; Y axis
dbMakeObjectCylinder(5,0.1)
dbScaleObject(5,100,2000,100)
dbMakeMeshFromObject(2,5)
dbDeleteObject(5)
dbAddLimb(1,2,2)
dbOffsetLimb(1,2,0,1,0)
dbColorLimb(1,2,dbRGB(0,100,0))
; Z axis
dbMakeObjectCylinder(5,0.1)
dbScaleObject(5,100,2000,100)
dbMakeMeshFromObject(3,5)
dbDeleteObject(5)
dbAddLimb(1,3,3)
dbOffsetLimb(1,3,0,0,1)
dbRotateLimb(1,3,90,0,0)
dbColorLimb(1,3,dbRGB(0,0,100))
; Camera
dbPositionCamera(-5,5,-5)
dbPointCamera(0,0,0)
mode=1
Repeat
; Set EZrotate to objects current angle
EZro_SetEuler(dbObjectAngleX(1),dbObjectAngleY(1),dbObjectAngleZ(1))
If dbInKey()="1": mode=1: EndIf
If dbInKey()="2": mode=2: EndIf
; Rotate X Axis
If dbUpKey()=1
If mode=1: EZro_GX(1): EndIf
If mode=2: EZro_LX(1): EndIf
EndIf
If dbDownKey()=1
If mode=1: EZro_GX(-1): EndIf
If mode=2: EZro_LX(-1): EndIf
EndIf
; Rotate Y Axis
If dbRightKey()=1
If mode=1: EZro_GY(1): EndIf
If mode=2: EZro_LY(1): EndIf
EndIf
If dbLeftKey()=1
If mode=1: EZro_GY(-1): EndIf
If mode=2: EZro_LY(-1): EndIf
EndIf
; Rotate Z Axis
If dbInKey()="+"
If mode=1: EZro_GZ(1): EndIf
If mode=2: EZro_LZ(1): EndIf
EndIf
If dbInKey()="-"
If mode=1: EZro_GZ(-1): EndIf
If mode=2: EZro_LZ(-1): EndIf
EndIf
If dbSpaceKey()=1: EZro_SetEuler(0,0,0): EndIf
; Calculate the new Euler angles of the Internal EZrotate Object
EZro_FindEuler()
; Set Object to EZrotate's calculated rotation
dbRotateObject(1,EZro_GetEulerX(),EZro_GetEulerY(),EZro_GetEulerZ())
YPos=15
dbText(15,YPos,Str(dbScreenFPS())): YPos+15
dbText(15,YPos,"EZ-Rotate Basic version"): YPos+15
dbText(15,YPos,"By: Ron Erickson"): YPos+15
dbText(15,YPos,"visit: www.gametoolshed.com"): YPos+15
dbText(15,YPos," "): YPos+15
dbText(15,YPos,"Press 1 for Global Rotation"): YPos+15
dbText(15,YPos,"Press 2 for Local Rotation"): YPos+15
dbText(15,YPos,"---------------------------"): YPos+15
If mode=1: dbText(15,YPos,"Current mode: Global"): YPos+15: EndIf
If mode=2: dbText(15,YPos,"Current mode: Local"): YPos+15: EndIf
dbText(15,YPos," X Rotation - Up and Down arrows"): YPos+15
dbText(15,YPos," Y Rotation - Left and Right arrows"): YPos+15
dbText(15,YPos," Z Rotation - + and - keys"): YPos+15
dbText(15,YPos," "): YPos+15
dbText(15,YPos,"Euler X=" + StrD(EZro_GetEulerX())): YPos+15
dbText(15,YPos,"Euler Y=" + StrD(EZro_GetEulerY())): YPos+15
dbText(15,YPos,"Euler Z=" + StrD(EZro_GetEulerZ())): YPos+15
dbText(15,YPos," "): YPos+15
dbText(15,YPos,"Matrix XX=" + StrD(EZro_GetMatXX())): YPos+15
dbText(15,YPos,"Matrix XY=" + StrD(EZro_GetMatXY())): YPos+15
dbText(15,YPos,"Matrix XZ=" + StrD(EZro_GetMatXZ())): YPos+15
dbText(15,YPos,"Matrix YX=" + StrD(EZro_GetMatYX())): YPos+15
dbText(15,YPos,"Matrix YY=" + StrD(EZro_GetMatYY())): YPos+15
dbText(15,YPos,"Matrix YZ=" + StrD(EZro_GetMatYZ())): YPos+15
dbText(15,YPos,"Matrix ZX=" + StrD(EZro_GetMatZX())): YPos+15
dbText(15,YPos,"Matrix ZY=" + StrD(EZro_GetMatZY())): YPos+15
dbText(15,YPos,"Matrix ZZ=" + StrD(EZro_GetMatZZ())): YPos+15
dbSync()
; End loop
Until WindowEvent()=#PB_Event_CloseWindow Or dbKeyState(#VK_ESCAPE)
End