IrrNewt irrlicht\newton framework >> SVN access

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
Post Reply
mr.Zog
Posts: 8
Joined: Fri Jan 26, 2007 5:05 pm
Location: st.valentin[austria]
Contact:

Post by mr.Zog »

Hi!

First of all, I really appreciate the work being done!
I've spent the last few days a lot with Irrlicht & Newton, and now I'm gonna switch over to your framework, because it just saves time and we have to be finished with our project in about 4 months (one-semester-game-project ;) )

I got a strange problem though:
A few pages back, kohaar mentioned something about mouse-sensitivity.
Now, when I run your demo-example, everything works correct.

As soon as I compile the demo and try to run it, it looks ok, but as soon as I try to look with the mouse, it "stutters" really bad.
Movement with arrowkeys works fine though, so its not a framerate problem...(?)

Do you have a clou what could cause this issue?
I mean I haven't changes anything in the code...

I'm compiling with VS2005 under WinXP and would be thankful for any comments!


edit: I've did some more tests, and found out that:
your compiled version works in every graphics mode(dx8,9,ogl)
and if I compile, in DX8 & ogl it (mouse-looking) "stutters" and in DX9 it doesn't...it's really weird.
white tiger
Posts: 269
Joined: Tue Oct 31, 2006 3:24 pm
Contact:

Post by white tiger »

edit: I've did some more tests, and found out that:
your compiled version works in every graphics mode(dx8,9,ogl)
and if I compile, in DX8 & ogl it (mouse-looking) "stutters" and in DX9 it doesn't...it's really weird.
Maybe on dx8\ogl the FPS change a lot during game execution and on dx9 change a bit (ion your implementation of this two APIs) .. however to be sure wait for the net release :D on my conputer this doesn't happen in the next release

-------------------------------------

i've make some progress. implementing 2 getClosestPoint function (one from 2 bodies and one from a body and a point), create a class to management camera FPS. now to create a camera FPS cimply call IWorld::createCameraFPS (in the current release you need to build the camera manually) and ported some functions from newton.

unfortunately i have problem to make ragdoll working :(
mr.Zog
Posts: 8
Joined: Fri Jan 26, 2007 5:05 pm
Location: st.valentin[austria]
Contact:

Post by mr.Zog »

I think I found the problem:
I put

Code: Select all

p_world->update();
at the end of the mainloop (right before driver->endScene(); ) and now I can look smoothly with the mouse in all graphic modes :)
white tiger
Posts: 269
Joined: Tue Oct 31, 2006 3:24 pm
Contact:

Post by white tiger »

perfect :D
Lorian
Posts: 20
Joined: Sat Feb 10, 2007 9:20 am
Location: United Kingdom
Contact:

Post by Lorian »

g++ -o materialsandshapes materials\ and\ shapes.cpp -I/usr/local/include/irrnewt/ -lirrnewt -lIrrlicht -lGLU -lXxf86vm

Yes my friends, that is the sound of IrrNewt working on Linux. :)

At least, partially anyway, so far the only example I have got to work is the materials and shapes one, which explodes when you exit it...
*** glibc detected *** ./materialsandshapes: double free or corruption (!prev): 0x088e2118 ***

Still, good to have it working. If I can work out the kinks I will post it up.
Nargil
Posts: 7
Joined: Wed Feb 14, 2007 7:08 pm

Post by Nargil »

g++ -o materialsandshapes materials\ and\ shapes.cpp -I/usr/local/include/irrnewt/ -lirrnewt -lIrrlicht -lGLU -lXxf86vm

Where did you get the linux library irrnewt from ?
white tiger
Posts: 269
Joined: Tue Oct 31, 2006 3:24 pm
Contact:

Post by white tiger »

great :D currently i'm working on 0.3 release. i'm improving character controling, write a new example on it. I have already writen a ICameraBodyFPS class. I have also ported some functions from newton and write some help function (addGlobalForce, addLocalForce, ...).

There will be 12 examples in irrnewt 0.3 :D

There is a problem. Next release will contain those:

1)irrnewt.dll and irrnewt.lib for visual studio
2)irrnewt.dll and irrnewt.lib for win32 gcc
3)irrnewt source
4)examples source
5)examples win32 binaries
6)documentation
7)media file to run examples

all of those in a zip file make the zip file big. I propose to release two zip files. First 1-2-3-4-6-7 and second 5. What about?
white tiger
Posts: 269
Joined: Tue Oct 31, 2006 3:24 pm
Contact:

Post by white tiger »

Where did you get the linux library irrnewt from ?
i'm sorry but i don't understand :wink:

irrnewt compilable on win32 g++ (Cygwin or MinGW "release" (i don't know if this is the correct term)) means that you can compile it trought g++ also under linux (the g++'s binaries made for your distribution of course) and on all platform in wich you can compile g++ (or download a precompiled version)

From http://gcc.gnu.org/
"We strive to provide regular, high quality releases, which we want to work well on a variety of native and cross targets (including GNU/Linux), "

Of course maybe we need to change some g++'s command line parameters on linux :wink:
Nargil
Posts: 7
Joined: Wed Feb 14, 2007 7:08 pm

Post by Nargil »

sure, but even the header files aint working. There are a lot of errors such as:
_cdecl being not recognized. After deleting all the _cdecl and __cdecl calls there are also another errors such as:

Code: Select all

/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/dll_exports.hpp:9: warning: ignoring #pragma warning 
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/dll_exports.hpp:25: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/pos_rot.hpp:59: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/irrtonewt.hpp:22: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:253: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/collision_manager.hpp:63: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/world.hpp:240: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/intersection_point.hpp:42: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/ragdoll.hpp:65: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/body.hpp:396: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/contact.hpp:30: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/material_pair.hpp:101: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/material_pair_and_contact.hpp:42: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/material_collision_callback.hpp:48: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/joint.hpp:98: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/vehicle_simple.hpp:124: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/vehicle_tire.hpp:194: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/utils.hpp:64: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/vehicle_car.hpp:49: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/joint_universal.hpp:38: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/joint_upvector.hpp:57: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/joint_hinge.hpp:46: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/joint_corkscrew.hpp:36: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/joint_slider.hpp:42: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/joint_ball.hpp:37: warning: no newline at end of file
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/IrrNewt.hpp:79: warning: no newline at end of file
/home/nargil/Desktop/C++/irrlicht-1.2/include/ISceneUserDataSerializer.h:25: warning: ‘class irr::scene::ISceneUserDataSerializer’ has virtual functions but non-virtual destructor
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:102: warning: ‘irr::newton::SJointUpVector::PinDir’ will be initialized after
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:101: warning:   base ‘irr::newton::SJoint’
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:101: warning:   when initialized here
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:112: warning: ‘irr::newton::SJointHinge::PinDir’ will be initialized after
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:106: warning:   base ‘irr::newton::SJoint’
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:106: warning:   when initialized here
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:150: warning: ‘irr::newton::SJointSlider::PinDir’ will be initialized after
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:144: warning:   base ‘irr::newton::SJoint’
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:144: warning:   when initialized here
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:186: warning: ‘irr::newton::STire::BodyOffsetFromSceneNode’ will be initialized after
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:185: warning:   ‘irr::scene::ISceneNode* irr::newton::STire::Node’
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:167: warning:   when initialized here
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:185: warning: ‘irr::newton::STire::Node’ will be initialized after
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:176: warning:   ‘irr::f32 irr::newton::STire::Width’
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:167: warning:   when initialized here
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:170: error: no matching function for call to ‘irr::newton::SPosRot::SPosRot(irr::newton::SPosRot)’
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/pos_rot.hpp:31: note: candidates are: irr::newton::SPosRot::SPosRot(irr::newton::SPosRot&)
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/pos_rot.hpp:27: note:                 irr::newton::SPosRot::SPosRot(irr::core::vector3df, irr::core::vector3df)
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/pos_rot.hpp:22: note:                 irr::newton::SPosRot::SPosRot()
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:216: warning: ‘irr::newton::SCar::UpVector’ will be initialized after
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:203: warning:   ‘irr::f32 irr::newton::SCar::TiresMass’
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:190: warning:   when initialized here
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:218: warning: ‘irr::newton::SCar::TiresOffsetFromChassis’ will be initialized after
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:211: warning:   ‘irr::f32 irr::newton::SCar::SuspensionShock’
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:190: warning:   when initialized here
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:215: warning: ‘irr::newton::SCar::TiresBodyOffsetFromSceneNode’ will be initialized after
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:197: warning:   ‘irr::newton::IBody* irr::newton::SCar::ChassisBody’
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:190: warning:   when initialized here
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/structures.hpp:195: error: no matching function for call to ‘irr::newton::SPosRot::SPosRot(irr::newton::SPosRot)’
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/pos_rot.hpp:31: note: candidates are: irr::newton::SPosRot::SPosRot(irr::newton::SPosRot&)
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/pos_rot.hpp:27: note:                 irr::newton::SPosRot::SPosRot(irr::core::vector3df, irr::core::vector3df)
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/pos_rot.hpp:22: note:                 irr::newton::SPosRot::SPosRot()
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/irrnewt_base.hpp:22: warning: ‘class irr::newton::IrrNewt_Base’ has virtual functions but non-virtual destructor
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/collision_manager.hpp:22: warning: ‘class irr::newton::ICollisionManager’ has virtual functions but non-virtual destructor
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/world.hpp:44: warning: ‘class irr::newton::IWorld’ has virtual functions but non-virtual destructor
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/ragdoll.hpp:33: error: extra qualification ‘irr::newton::IRagDoll::’ on member ‘build’
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/ragdoll.hpp:21: warning: ‘class irr::newton::IRagDoll’ has virtual functions but non-virtual destructor
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/ragdoll.hpp:40: warning: ‘class irr::newton::IRagDollBone’ has virtual functions but non-virtual destructor
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/body.hpp:28: warning: ‘class irr::newton::IBody’ has virtual functions but non-virtual destructor
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/tree_body.hpp:19: warning: ‘class irr::newton::ITreeBody’ has virtual functions but non-virtual destructor
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/material_collision_callback.hpp:18: warning: ‘class irr::newton::IMaterialCollisionCallback’ has virtual functions but non-virtual destructor
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/material.hpp:21: warning: ‘class irr::newton::IMaterial’ has virtual functions but non-virtual destructor
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/body_controller.hpp:17: warning: ‘class irr::newton::ICharacterController’ has virtual functions but non-virtual destructor
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/joint.hpp:21: warning: ‘class irr::newton::IJoint’ has virtual functions but non-virtual destructor
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/vehicle_simple.hpp:22: warning: ‘class irr::newton::IVehicleSimple’ has virtual functions but non-virtual destructor
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/vehicle_tire.hpp:22: warning: ‘class irr::newton::IVehicleTire’ has virtual functions but non-virtual destructor
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/utils.hpp:22: warning: ‘class irr::newton::IUtils’ has virtual functions but non-virtual destructor
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/vehicle_car.hpp:24: warning: ‘class irr::newton::ICar’ has virtual functions but non-virtual destructor
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/joint_universal.hpp:13: warning: ‘class irr::newton::IJointUniversal’ has virtual functions but non-virtual destructor
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/joint_upvector.hpp:15: warning: ‘class irr::newton::IJointUpVector’ has virtual functions but non-virtual destructor
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/joint_hinge.hpp:13: warning: ‘class irr::newton::IJointHinge’ has virtual functions but non-virtual destructor
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/joint_corkscrew.hpp:13: warning: ‘class irr::newton::IJointCorkscrew’ has virtual functions but non-virtual destructor
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/joint_slider.hpp:13: warning: ‘class irr::newton::IJointSlider’ has virtual functions but non-virtual destructor
/home/nargil/Desktop/C++/Linux/irrlicht_rpg6/include/joint_ball.hpp:13: warning: ‘class irr::newton::IJointBall’ has virtual functions but non-virtual destructor
:: === Build finished: 9 errors, 72 warnings ===
my cpp file:

Code: Select all

#include <irrlicht.h>
#include <IrrNewt.hpp>
#include "newton.h"
#include <iostream>
#include <vector>
#include <cstdio>
#include <cstdlib>
#include <wchar.h>


using namespace irr;
using namespace std;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;


int main()
{
    return 0;
}
white tiger
Posts: 269
Joined: Tue Oct 31, 2006 3:24 pm
Contact:

Post by white tiger »

yes, in fact i have saied that the next release will be compilable on linux. I have solved those problems at all :D
white tiger
Posts: 269
Joined: Tue Oct 31, 2006 3:24 pm
Contact:

Post by white tiger »

News:

I have improved character controlling a lot.

Now there are jump() , crouch() (from standing to crouching) and stand() (from crouching to standing) functions. Of course all functions have done tests before jumping\crouching. For example if you call jump() and the body is already jumping and\or it doesn't have anthing under its feet no happen.

I have also added two functions, setClimbStairForce() and setStairMaxHeight(). These allow to climb stair in automatic, without jumping (irrnewt check if a stair is in body movement direction and add the force specified by setClimbStairForce() if yes)

bye
Nargil
Posts: 7
Joined: Wed Feb 14, 2007 7:08 pm

Post by Nargil »

white tiger wrote:yes, in fact i have saied that the next release will be compilable on linux. I have solved those problems at all :D
When can we expect the next realease ? Because I dont know if I should wait for it, or try to implement PhysX myself.
white tiger
Posts: 269
Joined: Tue Oct 31, 2006 3:24 pm
Contact:

Post by white tiger »

next release will be released when it is ready. I don't know the exact date.
white tiger
Posts: 269
Joined: Tue Oct 31, 2006 3:24 pm
Contact:

Post by white tiger »

I have compiled irrnewt on linux g++ (previously i have compiled it on win32 g++). Next release of irrnewt will be a static library under linux (like irrlicht and newton)

screen-shot (car example):

Image

in linux console:
root@1[IrrNewt_src]# g++ -I"../../../irrlicht 1.2/include" -I"../../../newtonLinux/newtonSDK/sdk" *.cpp -c

# ar rcsv libirrnewt.a *.o

# g++ -I"../../../irrlicht 1.2/include" -I"../../../newtonLinux/newtonSDK/sdk" -L"./" "hello world.cpp" -lIrrlicht "/usr/lib/libGL.so.1.2" "/usr/lib/libGLU.so.1.3.060401" -lirrnewt -lnewton -ohello_world.bin

# ./hello world.bin
kburkhart84
Posts: 277
Joined: Thu Dec 15, 2005 6:11 pm

Post by kburkhart84 »

I'm probably going to use this thingy in some projects of my own and have a couple questions. If I have a character model(don't care about ragdoll), and I shoot it, is there a way to say whether it was the leg or arm or whatever without doing separate models? Also, can you set your own callback functions for when specific objects collide?? Like if I make an asteroid game, if I want the asteroids to bounce off of each other, that shouldn't be too hard, but if when they hit the ship, I need to damage the ship, then I'd need my own callback function right. Also, is it possible with your wrapper and Newton to do Space physics without gravity and without air pressure to stop objects over time, like as if you were in outer space obviously??? Can this be done, or this newton not set to do this.
Post Reply