1,201

(8 replies, posted in Engine)

Sorry, I'm not sure to understand your question,
what do you want to do ?

Je ne suis pas sur de comprendre, qu'es-ce que tu veux faire ?

updateSimulation is to update simulation tick.

1,202

(150 replies, posted in Engine)

That's ok, don't worry,
it's not a heavy lib, we will see that later if it is really worth it.

I finished a first pass of the mesh bin, there is still the animation files (separate xml),
and I need to do the reader to be sure the writer is working, right now it's untested.
I'll see if I can continue a bit tomorrow and this week-en at least.

1,203

(7 replies, posted in General)

Hi,

for the texture, are you sure to use the good uv channel ?
You normally don't need to remap after the edge split, is it working when you don't apply it ?
Can you send a screen-shot of your object in Blender and in Maratis ?

I think the difference is the free version of unity doesn't allow dynamic shadows.

1,205

(150 replies, posted in Engine)

The mproj file need to be a bin for sure,
after, where to put it can be optional.

A simple thing we can do first is to make MaratisPlayer search for a local mproj, to not have to use a command line if there is a project in the same folder.

Or yes, the mproj could be embedded, I personally don't know how to do that (except for mac, to put it inside an app).

Nice,
what will be interesting also is to compare with something like Unity,
it could be good to create the same scene and to look at the speed and memory used.

1,207

(150 replies, posted in Engine)

Yes smile I was going to say that shaders uses readTextFile in MStringTool

1,208

(150 replies, posted in Engine)

The event system is a good idea, it can be useful for some specific production to customize the publishing process.

Lets not touch the file extension, I don't have a better idea that is really safe. We mainly build a package to hide the original files and I checked that all the loaders uses only the file header to recognize the file type.

I checked and Freetype can also use a buffer to read a font. MBinFontLoader is not so useful for desktop publishing.

- the step one is to convert the xml, meshs (in meshs/) and levels (in levels/) to binary in a temporary folder.
- pack the bin files + "scripts/" "fonts/" "maps/" "shaders/" "sounds/"
- delete the temp files
- copy the mproj file and the game plugin (if there is one)


PS : We should also update some functions in MCore to use your fwrite wrapper :
- isFileExist in MFileTool
- readTextFile in MStringTool

1,209

(150 replies, posted in Engine)

- If you want to try doing the reading of the bin, I can send you the code of the writing when I finished it and you can tell me if you fell doing it. As I also need to do the writing of the level bin it can help.

- Good to know for the split of the lib smile

- For the publish button, it can go in the File menu (File > Publish Project).
Later if we need publishing options, we'll just open a new window with additional buttons/menus.

- For the generalized .bin, mh why not... let's think about it, I'm not sure it's so important to do it for all files.
> the bin files need to be also readable outside a package as a normal file.

Like keeping the original extension, it will be less risky than changing the extensions, as users can load data from a c++ plugin,
if they use something like "level->loadFont("fonts/arial.ttf");" it won't be possible to just change extensions as the filename will be in their code.

Just for the previous reason, changing the extension is in fact not an option.
Or we keep the same extension, or we add something after the filename for the modified files or for all the files.

1,210

(150 replies, posted in Engine)

Yes, I have the same taught about the file extension, I'm still not sure what is the best, the .font thing was a temporary test, no need to keep it.

The main problem is the level data, everything inside is linking to the original file.
- We can keep the same extension but it can be confusing and maybe create problem with freetype if it uses the extension.
- Or when converting the level to binary, we can change the extension of all files that has been converted (we can use a small database listing the modified files with their new name).
- Or we can add ".bin" to the original filenames when converting, and in the bin reader, add it to the filename argument.

Changing the extension is probably the best choice as it can be useful in the future to also convert textures in another format depending on the publishing target.

1,211

(150 replies, posted in Engine)

My first idea was to write a temp file and then pack it, to not multiply the techniques, the other files are just imported.
I don't know, if it's simple to write directly to the pack why not, what do you think ?

1,212

(150 replies, posted in Engine)

No problem, there is no hurry,
please take your time.

I'm using your M_fwrite for the bin, it's perfect,
the mesh file is a bit long to do, I'm not sure when to finish, but I'll work on it on maximum I can.
There is nothing complicated, just time to find.

1,213

(150 replies, posted in Engine)

Look, at some point I will need you to pause a bit so I can commit a version that compile everywhere, and maybe do some minor changes, for now I will wait, tell me when it can be done.

There is also a small thing to clean, there is two copies of zlib in 3rdparty, zlib was already used before and it's also in the npk source. We should try to have only one, but it's not urgent.

I will work on the mesh bin so.
Let me know how it goes wink

bye,

1,214

(150 replies, posted in Engine)

Hi,
it looks like your post got a problem,
what do you need ?

1,215

(150 replies, posted in Engine)

I started looking at it, it is very nice, good work !
I like the way it is done and it's a lot of commitment, thank you very much !

Before sending it to svn I have to try on every platform to check that everything compile,
there is also the mac project and the iOS publishing project to update.

I might move MPackage manager in another place, as a rule there is no 3rdparty dependencies in MCore and MEngine,
so it will probably be a module like the actual contexts, that's just a small detail to keep a door open in case someone want to use another packaging system, like they can change the physics engine.

I'm really happy to see things evolving like that, I hope we'll continue in the same way, good energy, good sharing smile

I have to go right now so I will start this afternoon,
see you later,

Anaël.

There is no game by default,
engine->getGame(); will return a NULL

but MGame implement basic functionalities, so you can create one :

MGame * game = new MGame();
engine->setGame(game);

And of course, for a custom game, you can inherit MGame and customize functions you want (update, draw).

1,217

(37 replies, posted in Engine)

hmm yes, doing real cross platform is a real challenge, specially when something like apple use very restrictive decisions, I'm trying to be really smooth with the moves of the engine. That's also why I paused the multi plugin system, I was sure it was ok with a one game plugin, but I was still not 100% sure of the pipeline for a multi plugin system.

More I think about it and more I don't find so important to take iOS into account.
The multi plugin system is more a "tool" and desktop thing.

It can be enabled for the next release.

1,218

(150 replies, posted in Engine)

Wonderful,
I'll have a look at it tomorrow,

thanks !

ManualUse example is one of the simplest,
just initializing MCore + MEngine and loading some mesh.

What do you mean by subclassed ?

1,220

(37 replies, posted in Engine)

Hi,

in fact the functionality is there but I hide it for the moment for two reasons :

- as Maratis is still under a beta phase and evolving a lot, every plugin would have to be rebuild each time MCore or MEngine is modified, so I wanted to reach a more mature release.

- iOS doesn't allow the use of dynamic libraries (forbidden by apple), so I'm still not sure what is the best way to deal with it. The plugin system could just be disabled for iOS, but at least for plugin with open source code it should be possible to include the code inside the xcode project ; The current plugin system doesn't allow that statically because the functions calling the plugin has the same name for every plugin (StartPlugin and EndPlugin).

1,221

(7 replies, posted in Bug report)

Cool,

yes a patch would be good to update svn !
Thanks !

1,222

(3 replies, posted in Engine)

Also, I have a mac so I can test it and update the xcode project.

If there is too much chance that committing all your files will break the compilation,
you can send me first a patch and I'll try to test it on every platform before committing to svn.

1,223

(18 replies, posted in Engine)

Good, let us know how it is going smile

Officially for Maratis I want to support only one building system, because it has been already very hard to have one working simply and cross-platform, it was a big work for Davide Bacchet and we have a linux build in a big part thanks to that.

If at some point a better, simpler alternative is working as good as scons for all platform, we can think about switching to it, why not. Some details are more difficult than others, compiling the 3rdparty libs, making MCore/MEngine dynamic libs and linked properly for the plugin system dependency etc

What is the exact difference with scons ? Is it generating make-file and native compilers projects ?
What do you need to be installed in your computer ?

Hi,
thanks smile

Good to know about OpenImageIO, it can be a good alternative is needed,
for now DevIL has been very good, it also support various formats among with HDR.

STK looks interesting, how is it working with non-desktop systems (iOS, Android) ?

1,225

(7 replies, posted in Bug report)

Strange...

I also read on a linux forum that an accent in a python script could cause an error on some platform :
http://forum.ubuntu-fr.org/viewtopic.php?pid=7748141

the file : trunk/dev/var/scons/platformcustom.py
"févr" line 3