76

(21 replies, posted in General)

Bump :3
Just a hint would be ok.

77

(11 replies, posted in Gossip)

That touch mechanics is very cool.

78

(5 replies, posted in News)

I meant in general.

79

(5 replies, posted in News)

Is IRC still used by people? lol

80

(4 replies, posted in Gossip)

Yeah I was very good at GM till version ~7.
Used again years later with version ~8 when it was already under the new company.
Very good tool but when you're making complex games with a lot of GM Language you wonder what the hell are you doing and why don't you start a C++ project with some graphic library LOL.


I recently came to the EUREKA that a game doesn't have to look all fancy like AAA games to be successful. It's all about mechanics.

It's about a lot of other things too, actually. Music, quality of graphics (even if retro-2D), etc. Your first sentence is correct though.

If programmers would understand that it is always best to program a TOOL to help you create your next program easier, then...

This is how programming normally works lol, it's all about abstraction layers. You can be sure that programmers got it lol, otherwise we wouldn't have operating systems right now, they will be 1000 times harder to create.

81

(56 replies, posted in Editor)

I don't know Premake.
The VS option is this one though: http://msdn.microsoft.com/en-us/library/thxezb7y.aspx
And here the compiler command-line syntax: http://msdn.microsoft.com/en-us/library/610ecb4h.aspx

BTW I don't think that disable warnings for the entire project (from which you may want to base your game) is a good idea, maybe anael could fix these casting problems in the source itself. He may not get these warnings in his IDE, but he could fix them anyway if we point out the lines.

82

(56 replies, posted in Editor)

When you get this kind of errors you should just try to edit the line and do some casting as the error message says itself.
I'm not able to give you a solution for this specific error, but in general it's something like this:

Line of code: pointerOfTypeX = pointerOfTypeY;
Error: cannot convert TypeY* to TypeX*, casting problems, etc.
Solution: pointerOfTypeX = (TypeX*)pointerOfTypeY

I'm pretty sure that MinGW also have that "warning level" thing so you may also want to change that in your configuration, and these kind of errors may disappear.

83

(4 replies, posted in Gossip)

One of the biggest problems with video game development is that people imagine that it’s a lot like playing games – e.g., fun.  The truth is that video game development is really fun but only if you enjoy the act of building a video game for its own sake. I write video game code in my spare time not because I want to make a video game per se, but rather because I enjoy programming.

I think this is the most important point. I always do my hobbist projects just for the sake of programming them, that's why some of them got somewhere. You know how they say, it's about the journey, not the destination.

7.  Most people have either programming skills or art skills – rarely both

This is my biggest problem. I suck in anything related to graphics, especially 2D. I'm learning but this puts me in the same situation of who doesn't know how to program and wants to program only because he needs it: I need learning to do graphics/modeling etc but only because I need it, while instead I love programming. Maybe in your case it's the way around, but the problem is the same eheh.

84

(13 replies, posted in General)

So maybe with Chrome it doesn't happen?
Vegas, com3D, VeganDev, do you use Firefox?

85

(61 replies, posted in Editor)

X54321 wrote:

1.Some sort of freelook camera editing mode

http://wiki.maratis3d.org/index.php?tit … ree_camera

X54321 wrote:

4.An in-built command reference. My internet is really unstable, and if I forget a function I'd have to wait for the internet to come back up.

Your browser->menu->"Save page with name"?
Also, header files can be found in the SDK folder.

X54321 wrote:

5.A particle system. 'Nuff said.

Eheh we all know that. ^ ^

X54321 wrote:

Some sort of system for creating, reading, and editing files.

http://code.google.com/p/maratis/source … ileTools.h

This is "preparing", "initializing", but I'm talking about deleting an entity or its physics properties. The actual physics objects and shapes are NOT deleted.
I was just guessing, reading the source code, but now I've done a test and it's actually a real bug.

Create a project, create a falling box and a plane with mass 0.00 to stop the falling box.
In your game plugin do

MOEntity* plane = scene->getEntityByName("Plane");
scene->deleteObject(plane);

Run the game, the box will fall and it will soon be stopped by the invisible physics object left by the plane entity.

I see that MPhysicsContext has deleteShape() and deleteObject() method but I don't see them used anywhere.
If I do

entity->createPhysicsProperties();

physics properties and constraint are SAFE_DELETEd which means

delete pointer;
pointer = NULL;

but the physics shape and object are not deleted.
I then call

scene->prepareCollisionShape(entity);
scene->prepareCollisionObject(entity);

but in these functions there is no deleting of the previous object neither.

88

(5 replies, posted in General)

What does Maratis mean?

89

(56 replies, posted in Editor)

Yes, 219.

90

(56 replies, posted in Editor)

In Visual Studio 2010 MGui compiles fine, I just did it myself. A lot of errors can be avoided by compiling with the lower warning level, which is (/W0) on Configuration->C/C++.
You may want to try that.

Are you trying to compile the stand-alone version? This one:
https://code.google.com/p/maratis/sourc … 2FIncludes

91

(2 replies, posted in General)

Yes but I would have to copy all the code from the original MGame::update instead of just doing

MGame::update();

in my derived class.
And just do

scene->stopPhysics();

when I need it.

92

(21 replies, posted in General)

In the other thread I was trying to change the mesh origin. Now I need to rotate it too but since it looks hard I thought I could just add an offset rotation to my object.

I have a 3d point P and a 3d point Q.
I want to get the rotation between these points and use it as an offset for my object.
This is what I tried.

//find the angle between the two 3d points
    MVector3 AxisYPoint = P;
    AxisYPoint.y = 1000;
    MVector3 A = AxisYPoint - P;  //vector A
    MVector3 B = Q - P;               //vector B
    A.normalize();
    B.normalize();

//find the angle
    float dp = A.dotProduct(B);
    float angle = acos(dp) / float(M_PI) * 360;

//find the sign of the angle
    MVector3 cross = B.crossProduct(A);
    if(B.dotProduct(cross) < 0)
        angle = -angle;

//find the axis
    axis = cross;

//transform and rotate the object
...

//and finally add the rotation offset
object->addAxisAngleRotation(axis,angle);

Useless to say, it doesn't work. The offset is not correct and so the final rotation is bad.

93

(2 replies, posted in General)

How do you pause/stop physics?
I'm currently putting all object mass to zero, but it would be cool to have a function in MScene for that. It's useful when debugging.

94

(8 replies, posted in General)

Oh I had thought that! But then I just confused the bounding box for a collision thing and said "no it doesn't matter" eheh.
For collision it's the collision shape, not the bounding box.

Solved.

Should I put it in the issues tracker?

anael wrote:

did you run multiple instances of Maratis at the same time by any chance?

No but I loaded another project from the editor menu. The previous project was mine, which uses a game plugin. The second project was the joint demo.

anael wrote:

or was the system lagging or something when the bug occurred ?

No.

97

(8 replies, posted in General)

I've tried moving all the vertices by the amount that I need. It works but basing on the camera angle sometimes the mesh disappears. I guess it has something to do with normals or text coords?
Any help?

Or, even better, you could put in MPhysicsConstraint a pointer of the MObject3d parent, but I guess the first design is preferred.

Suggestion.
In MScene::prepareConstraints(), if parentObjectId is not null, its value should be used instead of parentName. This will allow dynamic creation of physics constraint without having to retrieve the name of the parent object which may as well not have a name at all since it may have been generated via code.

100

(56 replies, posted in Editor)

Oh, didn't notice! Perfect.