Newton DBPro wrapper v1.23

Share with us how are you using the powerrrr of the force

Moderator: Alain

Postby walaber » Mon Aug 23, 2004 5:55 am

indeed. especially once we get more collision primitives... :D
Independent game developer of (mostly) physics-based games. Creator of "JellyCar" and lead designer of "Where's My Water?"
User avatar
walaber
Moderator
Moderator
 
Posts: 393
Joined: Wed Mar 17, 2004 3:40 am
Location: California, USA

Postby BigB » Mon Aug 23, 2004 7:47 am

yup :) , lots of potention in this editor.,
Another thing that would be simple to add, would be the ability to place joints , like that we could setup even more complex objects, like a closet, where we could open the door.

Thinking again, it wouldn't be so simple, because somehow we would need to tell the application who connects to who..
BigB
 
Posts: 78
Joined: Sun Mar 21, 2004 8:08 pm

Postby walaber » Mon Aug 23, 2004 9:52 am

FILE FORMAT:
Code: Select all

DESCRIPTION      SIZE      CONTENTS
----------------+---------------+---------------------
HEADER      |  3 BYTES (3)   | char string "ndb"
----------------+---------------+---------------------
VISUAL OBJECT
----------------+---------------+---------------------
FileLength   |  BYTE (1)   | visual model filename string length
FileString   |  CHAR (???)   | char string (filename)
Rot.x      |  DWORD (4)   | object x rotation offset
Rot.y      |  DWORD (4)   | object y rotation offset
Rot.z      |  DWORD (4)   | object z rotation offset
Pos.x      |  DWORD (4)   | object x position offset
Pos.y      |  DWORD (4)   | object y position offset
Pos.z      |  DWORd (4)   | object z position offset
----------------+---------------+---------------------
The above values are for offsetting the object, to get the center of rotation
to a more desirable point.  in the loader, you should reset the center point (pivot)
of the model to these values.
----------------+---------------+---------------------
ADVANCED VISUAL SETTINGS
----------------+---------------+---------------------
VisualFlag   | BYTE (1)   | visual settings saved? 1=yes 0=no
ExternalTexFlag   | BYTE (1)   | external texture used? 1=yes 0=no
ExternalTexLen   | BYTE (1)   | length of texture file string
ExternalTex   | CHAR (???)   | char string (filename)
TransFlag   | BYTE (1)   | transparency on? 1=on 0=off
GhostFlag   | BYTE (1)   | ghost object? 1=on 0=off
GhostSetting   | BYTE (1)   | ghost setting (user set)
CullOff      | BYTE (1)   | object cull off? 1=yes 0=no
----------------+---------------+---------------------
COLLISION PRIMITIVES
----------------+---------------+---------------------
PrimNum      | BYTE (1)   | Number of primitives used
----------------+---------------+---------------------
(for each primitive:)
----------------+---------------+---------------------
PrimShape   | BYTE (1)   | Shape.  1 = box, 2 = sphere
Size.x      | DWORD (4)   | prim size x
Size.y      | DWORD (4)   | prim size y
Size.z      | DWORD (4)   | prim size z
----------------+---------------+---------------------
*for a sphere, all three sizes are loaded, but size.x is used for radius.
----------------+---------------+---------------------
Rot.x      | DWORD (4)   | prim rotation x
Rot.y      | DWORD (4)   | prim rotation y
Rot.z      | DWORD (4)   | prim rotation z
Pos.x      | DWORD (4)   | prim offset x
Pos.y      | DWORD (4)   | prim offset y
Pos.z      | DWORD (4)   | prim offset z
----------------+---------------+---------------------
NEWTON SETTINGS
----------------+---------------+---------------------
Mass      | DWORD (4)   | object mass
Ixx      | DWORD (4)   | Object Ixx
Iyy      | DWORD (4)   | Object Iyy
Izz      | DWORD (4)   | Object Izz
TransCallback   | BYTE (1)   | use transform callback? 1=yes 0=no
ForceCallback   | BYTE (1)   | use forceandtorque callback? 1=yes 0=no
ForceOption   | BYTE (1)   | Force callback option (user set)
DestCallback   | BYTE (1)   | set destructor callback? 1=yes 0=no
AutoActivate   | BYTE (1)   | set autoactivate callback? 1=yes 0=no
SaveCollision   | BYTE (1)   | save collision? 1=yes 0=no (if no, NewtonReleaseCollision)
----------------+---------------+---------------------
END OF FILE
----------------+---------------+---------------------

* if the VisualFlag = 0, the saver skips to PrimNum.

Independent game developer of (mostly) physics-based games. Creator of "JellyCar" and lead designer of "Where's My Water?"
User avatar
walaber
Moderator
Moderator
 
Posts: 393
Joined: Wed Mar 17, 2004 3:40 am
Location: California, USA

Postby BigB » Mon Aug 23, 2004 2:13 pm

Thanks Walaber :)
BigB
 
Posts: 78
Joined: Sun Mar 21, 2004 8:08 pm

Postby walaber » Tue Aug 24, 2004 3:29 am

Ragdoll Designer tool in-progress
I'm now working on another editor, again for my in-progress game. This is a ragdoll designer. basically you load a visual object (with skeleton), and set the bones up visually (setting size, etc). the bones are automatically oriented to the skeleton, as Newton requires. I've almost got this program complete as well, just a few features to add, and implement the save/load feature.

This one is particularly designed for use with DBPro, so I don't think the file format will really be of any use to other programmers...

I'll probably have a demo up (like the above editor) sometime tomorrow.

click for a larger screenshot:
Image
Independent game developer of (mostly) physics-based games. Creator of "JellyCar" and lead designer of "Where's My Water?"
User avatar
walaber
Moderator
Moderator
 
Posts: 393
Joined: Wed Mar 17, 2004 3:40 am
Location: California, USA

Postby Cheery » Tue Aug 24, 2004 7:42 am

walaber wrote:...This one is particularly designed for use with DBPro, so I don't think the file format will really be of any use to other programmers...


I really think you are underestimating the power of c++! :) Like I am underestimating the power of darkbasic pro!
If there are information as bytes, there are information, and it can be looted with c++! :wink:
User avatar
Cheery
 
Posts: 21
Joined: Sun Jul 11, 2004 1:47 pm

Postby walaber » Wed Aug 25, 2004 2:03 am

I don't mean that someone wouldn't be able to access the data: I just don't think much of it would be any use to a non-DBPro user. when you load a skinned mesh object into DBPro, it assigns an index number to each "limb" (bone). My editor saves which "limb" to attach each ragdoll bone to. so when you build the ragdoll, you get the rotation matrix for that "limb" as the matrix for the joint.

but DBPro has a few issues with rotation, so I also save which "limb" is the parent, and generate the rotation matrices myself at generation time.

in other words, the bone size information, bone heirarchy, etc. are universal, but the parts that link the bones to the model are very DBPro specific, and that's why I doubt they'd be of much use to other users.

either way I've got it working really nice now, almost complete:

(click for 640x480 screenshot)
Image Image Image
Independent game developer of (mostly) physics-based games. Creator of "JellyCar" and lead designer of "Where's My Water?"
User avatar
walaber
Moderator
Moderator
 
Posts: 393
Joined: Wed Mar 17, 2004 3:40 am
Location: California, USA

Postby walaber » Thu Aug 26, 2004 9:13 pm

I got the ragdoll designer working, at least with my own model.

you should be able to create and test a ragdoll with any properly setup .x file (it must have an animation of some kind to work).

click for larger screenshots:
Image Image
Image Image Image

BETA DOWNLOAD - includes ragdoll designer + text ragdoll loader .exe, plus the "franky" example in the screenshots.
Independent game developer of (mostly) physics-based games. Creator of "JellyCar" and lead designer of "Where's My Water?"
User avatar
walaber
Moderator
Moderator
 
Posts: 393
Joined: Wed Mar 17, 2004 3:40 am
Location: California, USA

Postby walaber » Thu Sep 23, 2004 2:16 am

I'm thinking of using this (in realtime of course) as the splash screen for my Newton projects...

LOGO AVI - about 140KB
Independent game developer of (mostly) physics-based games. Creator of "JellyCar" and lead designer of "Where's My Water?"
User avatar
walaber
Moderator
Moderator
 
Posts: 393
Joined: Wed Mar 17, 2004 3:40 am
Location: California, USA

Postby zircher » Thu Sep 23, 2004 8:29 am

Sweet! I literally didn't see that coming. The logo was seamless until impacted. Is that something you're planning on donating to the Newton community? I'd like to borrow it.
--
TAZ
zircher
 
Posts: 2
Joined: Wed Sep 22, 2004 4:53 pm
Location: OKC, OK, USA

Postby Galahad » Wed May 31, 2006 8:53 pm

I'm not sure if you were aware of this yet, but with the 6.0 upgrade of Dark Basic Pro they added a Floor command that messes up alot of the tutorials that come with the wrapper (it uses a variable named floor). It returns an unusable variable name error whenever it compiles. Just thought I'd let you know in case you didn't know already.
Galahad
 
Posts: 1
Joined: Sun Jan 08, 2006 8:08 pm

Previous

Return to User Gallery

Who is online

Users browsing this forum: No registered users and 12 guests