No problem for the clean, im just used to check 3 times this things.
Ok, lets keep it for later.
I'm seeing the end of the merging, is it ok for you if the publisher code is GPL (Maratis and MaratisPlayer are) ?
You are not logged in. Please login or register.
Maratis forum » Posts by anael
No problem for the clean, im just used to check 3 times this things.
Ok, lets keep it for later.
I'm seeing the end of the merging, is it ok for you if the publisher code is GPL (Maratis and MaratisPlayer are) ?
ok, interesting.
It make me remeber that for the next release we need to update the scrip function "getObject" to be able to also get objects from other scenes (now it's true it's only getting current scene objects).
About your compilation, this afternoon I will check that everything compile on linux, if it's working I'll give you a link for you to try.
Yes, I'm not sure yet, lets take some time to think about it, having different plugins can be also confusing for users, but at some point it will be probably needed to be able to extend the editor.
I commited your npk package manager, I just modified a bit the cleanup.
Next, your publishing, and (I forget to do) the level bin.
About your HUD, I'm not sure to understand what you are doing, but for the limit it is the maximum that can handle an unsigned int (I don't have the number in head).
just to be sure,
the only libsnd libs and headers you have are the one from Maratis svn ?
- there is no libsnd headers / libs in your system ?
Hi
your idea is perfect, I just don't know where we should put it, it is a tool thing so it should not be in MEngine, but it need to be accessed by plugin... Ideally we should have two different kind of plugins, editor plugins and engine plugins.
I didn't had time yesterday to finish the commits, I'll try to finish today, I will probably be very busy next week because of a new work coming.
I checked the error "ERROR Load Sound : non supported format"
it happens after libsndfile read the sound but if the format is not supported,
just to be sure, are you using a sound that is 8bits or using more than 2 channels by any chance ?
(it would not explain why it works on the previous version thought)
!! the first pass is over,
MFile, MPackageManager, the file loaders you updated (I modified freetype loader at the same time so we don't need to convert the fonts), and the mesh bin export/load are on svn
http://code.google.com/p/maratis/source/list
The biggest part will be to commit your scons modifications, 3rdparties and your publishing code, then testing it on every platform and checking that everything still compiles on iOS : )
It's possible that, when you compile it yourself, the compiler use the headers of your system libsndfile (if you have, and if the version is different than the svn one), not sure... I had something like that when building the linux version, at some point it was not clear so I removed all the double libs or headers that was in the system.
Something like that, it's ok I had the same problem with MDataRef at the time, it will be the same system, a "getNew" static function for the derivated class and a virtual "destroy" function, to avoid using new and delete directly.
I am forced to do some small modifications to MFile and then to MPackageManagerNPK, there is a problem in the files new/delete, a file cannot be new in Maratis (by MPackageFileOpenHook) and be delete in MCore (by M_fclose) as MCore is a dynamic library the memory is not shared, at least on windows.
It's best if you don't make modifications the time everything is sent to svn (I think it's what you planned but just in case).
thank you for reporting,
if I have an idea I'll let you know.
Thank you,
I'm starting including MFile and commit step by step
Thank you,
I will then commit little by little, I'll start by sending your wrapper on svn.
Hi,
I looked at the fopen wrapper again, I wanted to check the isFileExist function, then I noticed something that I have a small problem with. You used if(! file || !file->Exists()) and then I understood that M_fopen doesn't return NULL when the file is not opened. To be sure to port safely the current loaders, it should really match the use of fopen (and in this case return NULL if the file is not opened).
Mh... strange...
is there any chance you have another version of libsndfile installed on your system ?
when building, the compiler first looks at the system libraries.
> in case it is, try to remove openAL and libsndfile dynamic libs from your maratis folder (to force use of system lib)
Nistur, you can have a look if you want of course,
I think it is probably a building problem, or a bad linking with libsndfile.
Jurgel, are you on a 64bit linux ? (we use a pre-build lib for libsndfile that is probably only 32bits)
PS : mp3 won't work, it is not a license free codec and is not supported.
- Thanks Jurgel
- Ok, the bin mesh is reading, it is faster than I taught, sponza mesh is loading in 10 sec in xml, half a sec in bin, of course it is less easy to maintain and impossible to edit by hand.
To go back to the packaging,
I think I have the bin mesh done, I need to test and do the reading to be sure,
in one example a 4mo xml mesh makes a 700ko bin mesh. It should also be 4 to 8 times faster to read...
- We'll have a look at the ogg thing, I'm not sure right now why it is different than the pre-build beta you downloaded.
- The ios publishing example is 100% zlib and is not using DevIL nor libsndfile.
- If you don't have to modify MaratisPlayer, then you have nothing special to do, you can just publish your game as-it.
- If you want to modify MaratisPlayer you have to publish the source of your modification.
- And if you want to build all static, you have to deal with Maratis engine manually and be sure all the LGPL 3rdparty libs are dynamic.
- in prod/ are all the final executable and libs, ready to use. In build there is only the executable.
If you just copy to your old MaratisEditor it might be wrong because the libs can be out to date (MCore and MEngine specially).
- Nistur publishing is not making the game static, the game files are still outside the executable, he is only embedding the .mproj file that basically tells what level need to be opened first and what is the rendering engine.
A full static executable would be like ManualUse example, where your game code is into the executable and not inside the Game plugin (dynamic library). If you want to do that and not be bound by the GPL, you have to do the engine init manually and to use some 3rdparty lib as dynamic libraries (DevIL and libsndfile).
Jurgel : did you use the program that is inside the prod/ directory (don't use the one in build/)
About the GPL and embedding files in a GPL executable :
I checked and files embedded inside a GPL executable are then covered by GPL, but in this case it means only the .mproj file that contains 3 lines of text, it doesn't connect with the game itself.
You don't need to copy the cpp with the project, as the source code is freely available on Maratis website, MaratisPlayer source code as to be released only if there is a "real" modification. But we should release the game with a MaratisPlayer licence-text explaining the game is using MaratisPlayer, licensed under GPL, and that the source can be downloaded on www.maratis3d.org.
(I'll make the text file)
Anaël.
Cool, I'll check the download files when I have some time.
About the license :
- The engine is Zlib (MCore, MEngine, MGui, contexts, loaders...)
- Maratis and MaratisPlayer are GPL
MaratisPlayer is just a player, your game doesn't have to be open source because you are using it, that's why there is a plugin system, your game, data, scripts and plugin code doesn't have to be open-source.
The only thing you have to do, is, if you improve the Player, you have to release the source in GPL, so it benefits all the community. If you look at MaratisPLayer code, you'll see there is not much, it's basically loading the engine and plugins and running the game loop.
Ok,
you cannot do like you do and change the box position and expecting the collision test to update,
the best way is to create 4 boxes from the beginning.
The collision test is not real-time like that, isObjectInCollision returns the current frame collision detection (faster).
If you want to test a real-time collision detection (which is not the best idea) you can use Maratis functions that are not using the physics engine :
- isRaytraced in : http://code.google.com/p/maratis/source
eshTools.h
- isBoxToBoxCollision, isPointInBox... in : http://code.google.com/p/maratis/source
s/MMaths.h
Le cube en ghost ne rentre pas en collision avec le personnage ?
Par exemple, pour la boite "Feet" dans YoFrankie exemple, on détecte la collision avec le sol si le nombre de collision est supérieur à 1 car la boite rentre aussi en collision avec le Player.
int nbCollision = physics->isObjectInCollision(phyProps->getCollisionObjectId());
updateSimulation() doit être appelé par la classe MGame dans update() comme fait par défaut.
Maratis forum » Posts by anael
Powered by PunBB, supported by Informer Technologies, Inc.
Currently installed 3 official extensions. Copyright © 2003–2009 PunBB.