Custom joints vehicle and weak joints

A place to discuss everything related to Newton Dynamics.

Moderators: Sascha Willems, walaber

Re: Custom joints vehicle and weak joints

Postby Julio Jerez » Mon Dec 14, 2009 9:24 am

The first thing I learned is that the method I use of setting relative path in visual stusion is cool when you have one big project, but is is not very powerful when you one to use subproject for other larger projetcs.

your solution of setting the path relatibe to an inveroment variable is moch more flexible, so a, godn to adopt that fo teh Netwon SDK. :mrgreen:
so I will set the math to the newton SDK to teh same enviromenet variable you use fo Netwon NEWTON_HOME
Julio Jerez
Moderator
Moderator
 
Posts: 12425
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Custom joints vehicle and weak joints

Postby Julio Jerez » Mon Dec 14, 2009 11:47 pm

This is what I am now.
http://www.newtondynamics.com/downloads/OgreNewt.rar

I like if you can open it in your version Visual Studio.
Do not merge anything yet because it is not completed. It is you to check out and see if you agree wih the changes I am proposing.
Basically temporarily remove all projects using Joint until I get to them. Then I added the basic joint and I start to implement the joint by reusing the joint form eth joint library.
It only has the Ball and socked, and it can create and destroy safely, now I will keep adding more functionality until get the entire wrapper converted.

Hopefully that will not take too long, then from there I like to add some cosmetic to Ogre Newt, it is too outdated in the visual department. But that will be after we agree in the changes.

note: when you open the project do not forget to set the dependency for the JointLib on the dmath library, for some reason I forget that.
Julio Jerez
Moderator
Moderator
 
Posts: 12425
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Custom joints vehicle and weak joints

Postby Julio Jerez » Tue Dec 15, 2009 10:54 am

Before I move on, I made few changes to the projetc file.

I added Precomplied headers, only for Visual studio build, it make me sick hwo long it take to build those Ogre header, nwo it buidll very fast.
I also fix some oteh minoir problems and added more demo subprojects.
now I am to the custom joint demo. But unfortunalt I have to get ready for rwork.

My guess is that this will be ready by tomorrow. cors my fingers nock in the wood
Julio Jerez
Moderator
Moderator
 
Posts: 12425
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Custom joints vehicle and weak joints

Postby Julio Jerez » Tue Dec 15, 2009 12:10 pm

wow believe or not I already got the player controller going,
if you see teh impelmnetaion you will fall of you chair, but now I have to leave for work.
Julio Jerez
Moderator
Moderator
 
Posts: 12425
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Custom joints vehicle and weak joints

Postby Julio Jerez » Tue Dec 15, 2009 2:31 pm

I have to say ogre is no so bad after yo uget it all set up.
The next few day I will spend learning a litle more about it so teh we can put soem more punch into OgreNewt.

I was looking fo a graphics engine that show cae Newton high end demos, and altought there are few people how do have very nice engines, there are all writtent is languges other than C++.
any way I can not way to bring Ogre newt to teh point I started, so teh we can move to the more interesting stuff.
Julio Jerez
Moderator
Moderator
 
Posts: 12425
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Custom joints vehicle and weak joints

Postby kallaspriit » Tue Dec 15, 2009 6:36 pm

Great to hear you are having some progress, I will try your work tomorrow :)
kallaspriit
 
Posts: 216
Joined: Sun Aug 14, 2005 6:31 pm

Re: Custom joints vehicle and weak joints

Postby Julio Jerez » Wed Dec 16, 2009 12:50 pm

Player controller is in the house
http://www.newtondynamics.com/downloads/OgreNewt.rar

you nee to get Netwon 2.14 so tah you get teh funrion GetVlocity added to teh Player joint, also you will get a superion Player controller an d
a completer thread safe newton version.

I veielve that you cna start integartion into SVN since the tehr are only tow more demo to cover Vehiocle and Rag doll
will takle Vehicle tomorrow.

to give you an idea of how simpel i s to make a joint wbu re using code rather that re implementing it, here is a fulli funtional the player joint
Code: Select all
namespace OgreNewt
{
PlayerController::PlayerController(OgreNewt::Body * child, Ogre::Real stairHeight, Ogre::Real kinematicCushion)
   :Joint(), m_body(child)
{
   dMatrix globalFrame (GetIdentityMatrix());
   globalFrame.m_front = dVector (0.0f, 1.0f,  0.0f, 0.0f);        // up direction in global Space
   globalFrame.m_up    = dVector (0.0f, 0.0f, -1.0f, 0.0f);        // ogre front dir is the -z direction
   globalFrame.m_right = globalFrame.m_front * globalFrame.m_up;  // strafing direction in global Space

   // convert the ogre matrix to a newton matrix
//   Ogre::Matrix4 localframe4x4 (localFrame3x3);
//   Converters::Matrix4ToMatrix (localframe4x4, &localframe[0][0]);

   // create a newton player controller
   CustomPlayerController* controller;
   controller = new CustomPlayerController (globalFrame, child->getNewtonBody(), stairHeight, kinematicCushion);
   SetSupportJoint(controller);
}

PlayerController::~PlayerController()
{
}

void PlayerController::getVelocity(Ogre::Real& forwardSpeed, Ogre::Real& sideSpeed, Ogre::Radian& heading) const
{
   dFloat dir;

   dir = 0.0f;
   sideSpeed = 0.0f;
   forwardSpeed = 0.0f;
   CustomPlayerController* joint = (CustomPlayerController*) m_joint;
   if (joint) {
      joint->GetVelocity (forwardSpeed, sideSpeed, dir);
   }

   heading = dir;
}

void PlayerController::setVelocity(Ogre::Real forwardSpeed, Ogre::Real sideSpeed, Ogre::Radian heading)
{
   CustomPlayerController* joint = (CustomPlayerController*) m_joint;
   if (joint) {
      joint->SetVelocity (forwardSpeed, sideSpeed, heading.valueRadians());
   }
}
}   // end NAMESPACE OgreNewt


Have to leave for work know. continue tomorrow
Julio Jerez
Moderator
Moderator
 
Posts: 12425
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Custom joints vehicle and weak joints

Postby PJani » Thu Dec 17, 2009 7:56 am

Hy...
...i lost a track in newton...1. year at collage :shock:

i have question what is changed here?
http://www.newtondynamics.com/downloads/OgreNewt.rar
| i7-5930k@4.2Ghz, EVGA 980Ti FTW, 32GB RAM@3000 |
| Dell XPS 13 9370, i7-8550U, 16GB RAM |
| Ogre 1.7.4 | VC++ 9 | custom OgreNewt, Newton 300 |
| C/C++, C# |
User avatar
PJani
 
Posts: 448
Joined: Mon Feb 02, 2009 7:18 pm
Location: Slovenia

Re: Custom joints vehicle and weak joints

Postby Julio Jerez » Thu Dec 17, 2009 8:29 am

we are trying to bring Ogrenewt uptodate.
as it is now it is too hard to integrate to newer versions, as a result it doe sno expose newer features and it si hard to fix bugs.

with this changes, hopelly the goal is that integration to newer version should no be more dificult than a drop in of the a new DLL and fix syntax errors here and there at most.
Julio Jerez
Moderator
Moderator
 
Posts: 12425
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Custom joints vehicle and weak joints

Postby kallaspriit » Fri Dec 18, 2009 8:07 am

Hey,

I am having some problems getting all the demos to compile without changing anything:
Code: Select all
------ Build started: Project: Demo07_CustomJoints, Configuration: Release Win32 ------
Compiling...
OgreNewtonApplication.cpp
c:\users\priit kallas\desktop\ogrenewt\demos\demo07_customjoints\MyCustomBallSocket.h(11) : error C2039: 'BallAndSocket' : is not a member of 'OgreNewt'
c:\users\priit kallas\desktop\ogrenewt\demos\demo07_customjoints\MyCustomBallSocket.h(11) : error C2504: 'BallAndSocket' : base class undefined
.\OgreNewtonApplication.cpp(110) : error C2440: '=' : cannot convert from 'MyCustomBallSocket *' to 'OgreNewt::Joint *'
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
.\OgreNewtonApplication.cpp(115) : error C2440: '=' : cannot convert from 'MyCustomBallSocket *' to 'OgreNewt::Joint *'
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
MyCustomBallSocket.cpp
c:\users\priit kallas\desktop\ogrenewt\demos\demo07_customjoints\MyCustomBallSocket.h(11) : error C2039: 'BallAndSocket' : is not a member of 'OgreNewt'
c:\users\priit kallas\desktop\ogrenewt\demos\demo07_customjoints\MyCustomBallSocket.h(11) : error C2504: 'BallAndSocket' : base class undefined
.\MyCustomBallSocket.cpp(5) : error C2039: 'BallAndSocket' : is not a member of 'OgreNewt'
.\MyCustomBallSocket.cpp(6) : error C2614: 'MyCustomBallSocket' : illegal member initialization: 'BallAndSocket' is not a base or member
Build log was saved at "file://c:\Users\Priit Kallas\Desktop\OgreNewt\demos\obj\Release\Demo07_CustomJoints\BuildLog.htm"
Demo07_CustomJoints - 8 error(s), 0 warning(s)
------ Build started: Project: Demo04_Raycasting, Configuration: Release Win32 ------
Compiling...
OgreNewtonApplication.cpp
.\OgreNewtonApplication.cpp(111) : error C2039: 'BallAndSocket' : is not a member of 'OgreNewt'
.\OgreNewtonApplication.cpp(111) : error C2061: syntax error : identifier 'BallAndSocket'
.\OgreNewtonApplication.cpp(116) : error C2039: 'BallAndSocket' : is not a member of 'OgreNewt'
.\OgreNewtonApplication.cpp(116) : error C2061: syntax error : identifier 'BallAndSocket'
Build log was saved at "file://c:\Users\Priit Kallas\Desktop\OgreNewt\demos\obj\Release\Demo04_Raycasting\BuildLog.htm"
Demo04_Raycasting - 4 error(s), 0 warning(s)
------ Build started: Project: Demo06_SimpleBuoyancy, Configuration: Release Win32 ------
Compiling...
OgreNewtonApplication.cpp
.\OgreNewtonApplication.cpp(113) : error C2039: 'BallAndSocket' : is not a member of 'OgreNewt'
.\OgreNewtonApplication.cpp(113) : error C2061: syntax error : identifier 'BallAndSocket'
.\OgreNewtonApplication.cpp(118) : error C2039: 'BallAndSocket' : is not a member of 'OgreNewt'
.\OgreNewtonApplication.cpp(118) : error C2061: syntax error : identifier 'BallAndSocket'
Build log was saved at "file://c:\Users\Priit Kallas\Desktop\OgreNewt\demos\obj\Release\Demo06_SimpleBuoyancy\BuildLog.htm"
Demo06_SimpleBuoyancy - 4 error(s), 0 warning(s)
========== Build: 0 succeeded, 3 failed, 9 up-to-date, 0 skipped ==========


The rest of the demos do compile, but when I try to run them, I get:
e.png
Error message
e.png (41.62 KiB) Viewed 6725 times


Did not have time to investigate, any ideas? :P
kallaspriit
 
Posts: 216
Joined: Sun Aug 14, 2005 6:31 pm

Re: Custom joints vehicle and weak joints

Postby Julio Jerez » Fri Dec 18, 2009 11:48 am

Upps my mistake. I added some project as dependency by I forget that Visual studio cannot search for depended projects.
I also forgot to enable some of the demos in Ogre newt.
It is all fixed now and it should build out of the Box form any folder.

I added the Debug and Release joint libraries to the SDK.
I also added a project to the NewtonSDK that will build the libraries in case you want to build them but they are part of the archive.

I remove the Newton SDK project form OgreNewt and instead is Link to the libraries relative to eth NEWTO_HOME path.

All you have to do is:
download newtonSDK 2.14
download OgreNewt

make sure you have the Path.

Newton SDK now also use and environment NEWTON_HOME
If you unpack OgreNewt to another folder make sure you set the OGRENEWT_HOME (I made that mistake when testing the archive)

Then it should build all demos with zero warning and zero errors

Please try again.
Julio Jerez
Moderator
Moderator
 
Posts: 12425
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Custom joints vehicle and weak joints

Postby kallaspriit » Fri Dec 18, 2009 4:42 pm

Are you sure you updated the archive? I re-downloaded it and also NGD 2.14 but I get the same errors compiling and also running it (the missing entry point).
Code: Select all
------ Rebuild All started: Project: OgreNewt, Configuration: Release Win32 ------
Deleting intermediate and output files for project 'OgreNewt', configuration 'Release|Win32'
Compiling...
OgreNewt_Stdafx.cpp
Compiling...
OgreNewt_World.cpp
OgreNewt_Vehicle.cpp
OgreNewt_Tools.cpp
OgreNewt_RayCast.cpp
OgreNewt_PlayerController.cpp
OgreNewt_MaterialPair.cpp
OgreNewt_MaterialID.cpp
OgreNewt_Joint.cpp
OgreNewt_Debugger.cpp
OgreNewt_ContactJoint.cpp
OgreNewt_ContactCallback.cpp
OgreNewt_CollisionSerializer.cpp
OgreNewt_CollisionPrimitives.cpp
OgreNewt_Collision.cpp
OgreNewt_BodyInAABBIterator.cpp
OgreNewt_Body.cpp
OgreNewt_BasicJoints.cpp
OgreNewt_BasicFrameListener.cpp
Generating Code...
Linking...
   Creating library lib\OgreNewt.lib and object lib\OgreNewt.exp
Embedding manifest...
Performing Post-Build Event...
        1 file(s) copied.
        1 file(s) copied.
        1 file(s) copied.
        1 file(s) copied.
        1 file(s) copied.
        1 file(s) copied.
        1 file(s) copied.
        1 file(s) copied.
        1 file(s) copied.
        1 file(s) copied.
        1 file(s) copied.
        1 file(s) copied.
Build log was saved at "file://d:\OgreNewt\obj\release\BuildLog.htm"
OgreNewt - 0 error(s), 0 warning(s)
------ Rebuild All started: Project: Demo09_PlayerController, Configuration: Release Win32 ------
Deleting intermediate and output files for project 'Demo09_PlayerController', configuration 'Release|Win32'
Compiling...
OgreNewtonFrameListener.cpp
OgreNewtonApplication.cpp
demo09.cpp
Linking...
Generating code
Finished generating code
Embedding manifest...
Build log was saved at "file://d:\OgreNewt\demos\obj\Release\Demo09_PlayerController\BuildLog.htm"
Demo09_PlayerController - 0 error(s), 0 warning(s)
------ Rebuild All started: Project: Demo07_CustomJoints, Configuration: Release Win32 ------
Deleting intermediate and output files for project 'Demo07_CustomJoints', configuration 'Release|Win32'
Compiling...
OgreNewtonFrameListener.cpp
OgreNewtonApplication.cpp
d:\ogrenewt\demos\demo07_customjoints\MyCustomBallSocket.h(11) : error C2039: 'BallAndSocket' : is not a member of 'OgreNewt'
d:\ogrenewt\demos\demo07_customjoints\MyCustomBallSocket.h(11) : error C2504: 'BallAndSocket' : base class undefined
.\OgreNewtonApplication.cpp(110) : error C2440: '=' : cannot convert from 'MyCustomBallSocket *' to 'OgreNewt::Joint *'
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
.\OgreNewtonApplication.cpp(115) : error C2440: '=' : cannot convert from 'MyCustomBallSocket *' to 'OgreNewt::Joint *'
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
MyCustomBallSocket.cpp
d:\ogrenewt\demos\demo07_customjoints\MyCustomBallSocket.h(11) : error C2039: 'BallAndSocket' : is not a member of 'OgreNewt'
d:\ogrenewt\demos\demo07_customjoints\MyCustomBallSocket.h(11) : error C2504: 'BallAndSocket' : base class undefined
.\MyCustomBallSocket.cpp(5) : error C2039: 'BallAndSocket' : is not a member of 'OgreNewt'
.\MyCustomBallSocket.cpp(6) : error C2614: 'MyCustomBallSocket' : illegal member initialization: 'BallAndSocket' is not a base or member
demo07.cpp
Build log was saved at "file://d:\OgreNewt\demos\obj\Release\Demo07_CustomJoints\BuildLog.htm"
Demo07_CustomJoints - 8 error(s), 0 warning(s)
------ Rebuild All started: Project: Demo06_SimpleBuoyancy, Configuration: Release Win32 ------
Deleting intermediate and output files for project 'Demo06_SimpleBuoyancy', configuration 'Release|Win32'
Compiling...
OgreNewtonFrameListener.cpp
OgreNewtonApplication.cpp
.\OgreNewtonApplication.cpp(113) : error C2039: 'BallAndSocket' : is not a member of 'OgreNewt'
.\OgreNewtonApplication.cpp(113) : error C2061: syntax error : identifier 'BallAndSocket'
.\OgreNewtonApplication.cpp(118) : error C2039: 'BallAndSocket' : is not a member of 'OgreNewt'
.\OgreNewtonApplication.cpp(118) : error C2061: syntax error : identifier 'BallAndSocket'
demo06.cpp
Build log was saved at "file://d:\OgreNewt\demos\obj\Release\Demo06_SimpleBuoyancy\BuildLog.htm"
Demo06_SimpleBuoyancy - 4 error(s), 0 warning(s)
------ Rebuild All started: Project: Demo04_Raycasting, Configuration: Release Win32 ------
Deleting intermediate and output files for project 'Demo04_Raycasting', configuration 'Release|Win32'
Compiling...
OgreNewtonFrameListener.cpp
OgreNewtonApplication.cpp
.\OgreNewtonApplication.cpp(111) : error C2039: 'BallAndSocket' : is not a member of 'OgreNewt'
.\OgreNewtonApplication.cpp(111) : error C2061: syntax error : identifier 'BallAndSocket'
.\OgreNewtonApplication.cpp(116) : error C2039: 'BallAndSocket' : is not a member of 'OgreNewt'
.\OgreNewtonApplication.cpp(116) : error C2061: syntax error : identifier 'BallAndSocket'
demo04.cpp
Build log was saved at "file://d:\OgreNewt\demos\obj\Release\Demo04_Raycasting\BuildLog.htm"
Demo04_Raycasting - 4 error(s), 0 warning(s)
------ Rebuild All started: Project: Demo03_CollisionCallbacks, Configuration: Release Win32 ------
Deleting intermediate and output files for project 'Demo03_CollisionCallbacks', configuration 'Release|Win32'
Compiling...
OgreNewtonFrameListener.cpp
OgreNewtonApplication.cpp
demo03.cpp
ConveyorMatCallback.cpp
ConveyorBelt.cpp
Linking...
Generating code
Finished generating code
Embedding manifest...
Build log was saved at "file://d:\OgreNewt\demos\obj\Release\Demo03_CollisionCallbacks\BuildLog.htm"
Demo03_CollisionCallbacks - 0 error(s), 0 warning(s)
------ Rebuild All started: Project: Demo01_TheBasics, Configuration: Release Win32 ------
Deleting intermediate and output files for project 'Demo01_TheBasics', configuration 'Release|Win32'
Compiling...
OgreNewtonFrameListener.cpp
OgreNewtonApplication.cpp
demo01.cpp
Linking...
Generating code
Finished generating code
Embedding manifest...
Build log was saved at "file://d:\OgreNewt\demos\obj\Release\Demo01_TheBasics\BuildLog.htm"
Demo01_TheBasics - 0 error(s), 0 warning(s)
------ Rebuild All started: Project: Demo02_Joints, Configuration: Release Win32 ------
Deleting intermediate and output files for project 'Demo02_Joints', configuration 'Release|Win32'
Compiling...
OgreNewtonFrameListener.cpp
OgreNewtonApplication.cpp
.\OgreNewtonApplication.cpp(161) : error C2039: 'BallAndSocket' : is not a member of 'OgreNewt'
.\OgreNewtonApplication.cpp(161) : error C2061: syntax error : identifier 'BallAndSocket'
demo02.cpp
Build log was saved at "file://d:\OgreNewt\demos\obj\Release\Demo02_Joints\BuildLog.htm"
Demo02_Joints - 2 error(s), 0 warning(s)
========== Rebuild All: 4 succeeded, 4 failed, 0 skipped ==========


When trying to compile Demo01 in debug mode, I get additional error about missing dMath.lib:
Code: Select all
1>------ Build started: Project: OgreNewt, Configuration: Debug Win32 ------
1>Compiling...
1>OgreNewt_Stdafx.cpp
1>Compiling...
1>OgreNewt_World.cpp
1>OgreNewt_Vehicle.cpp
1>OgreNewt_Tools.cpp
1>OgreNewt_RayCast.cpp
1>OgreNewt_PlayerController.cpp
1>OgreNewt_MaterialPair.cpp
1>OgreNewt_MaterialID.cpp
1>OgreNewt_Joint.cpp
1>OgreNewt_Debugger.cpp
1>OgreNewt_ContactJoint.cpp
1>OgreNewt_ContactCallback.cpp
1>OgreNewt_CollisionSerializer.cpp
1>OgreNewt_CollisionPrimitives.cpp
1>OgreNewt_Collision.cpp
1>OgreNewt_BodyInAABBIterator.cpp
1>OgreNewt_Body.cpp
1>OgreNewt_BasicJoints.cpp
1>OgreNewt_BasicFrameListener.cpp
1>Generating Code...
1>Linking...
1>LINK : fatal error LNK1181: cannot open input file 'dMath.lib'
1>Build log was saved at "file://d:\OgreNewt\obj\debug\BuildLog.htm"
1>OgreNewt - 1 error(s), 0 warning(s)
2>------ Build started: Project: Demo01_TheBasics, Configuration: Debug Win32 ------
2>Compiling...
2>demo01.cpp
2>OgreNewtonApplication.cpp
2>OgreNewtonFrameListener.cpp
2>Generating Code...
2>Linking...
2>LINK : fatal error LNK1181: cannot open input file '..\..\lib\ogrenewt_d.lib'
2>Build log was saved at "file://d:\OgreNewt\demos\obj\Debug\Demo01_TheBasics\BuildLog.htm"
2>Demo01_TheBasics - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 2 failed, 0 up-to-date, 0 skipped ==========
kallaspriit
 
Posts: 216
Joined: Sun Aug 14, 2005 6:31 pm

Re: Custom joints vehicle and weak joints

Postby Julio Jerez » Fri Dec 18, 2009 5:20 pm

if the new visual solution does not have teh dmath an dJoint, then is is teh new one.

when you download Newton you nee to buidl teh libraries, you jsu nee to open solution
C:\tmp\NewtonWin-2.14\sdk\sdkBuild.sln
and it will build the .lib (next tiem I will also add teh libraries so the thsi do not happens.

I test OgreNewt by unpacking on a tem fordel in my mnachine and setting the enviroment variable to point to tha folder and it worked fine.
It should work for you too.

Deleting intermediate and output files for project 'Demo07_CustomJoints', configuration 'Release|Win32'
Compiling...


so the demo that is failing is demo7, I will chek it out.
Julio Jerez
Moderator
Moderator
 
Posts: 12425
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Custom joints vehicle and weak joints

Postby Julio Jerez » Sat Dec 19, 2009 1:48 pm

Ok let us try this again, we cannot move forward until we both can be able to download OgreNewt and build out of the Box with zero changes. Anything less than that is unacceptable to me.
Can you please try again?

Delete your copy of newton.14 and download it again
Windows_SDK_2.14
I added the precompiled libraries as part of eth download and remove the Environment variable thing.

Then download OgreNewt again on any local folder in your machine.
http://www.newtondynamics.com/downloads/OgreNewt.rar
Open the solution and click Build, it should all project with zero warning and zero errors.
Julio Jerez
Moderator
Moderator
 
Posts: 12425
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Custom joints vehicle and weak joints

Postby kallaspriit » Sun Dec 20, 2009 3:25 pm

This time everything compiled and works great, nice job :)

Should I commit the changes or are there more changes you want to make before that? :P
kallaspriit
 
Posts: 216
Joined: Sun Aug 14, 2005 6:31 pm

PreviousNext

Return to General Discussion

Who is online

Users browsing this forum: No registered users and 0 guests

cron