Linked variables:By linked, I mean relative to each others. It seems that there's 3 entities: models, instances and meshes, and it not very to easy to know where "raydium_anim_material_use" belongs, for instance. It would be easier to code, (way) easier to maintain and understand to use 3 structures, IMHO. And it's probably quite simple to do, I think.
anim-tutorial.c and "--package model.zip" command line switch:Let me explain: I've downloaded the patch and models.zip. Instead of unzipping it, I've tried to use our package feature so that Raydium deals with zip file by itself:
Code:
# these two works perfectly (despite what I've said in my last post)
./odyncomp.sh anim-test1.c --package models.zip
./odyncomp.sh anim-tutorial.c --package models.zip
But when it comes to anim-viewer, it goes wrong, since it use directly argv instead of the usual "init_cli_option" way. A simple test is to call anim-viewer with a non-existing model as argument: it creates a package with that name in the current directory. Another example is when you want it fullscreen: it creates a file named "--fullscreen".
Another small point is that, when called without any argument, you give odyncomp usage directly in source code. It's not very "multi-target" compliant
link with ODE/shadows/replays (and shaders):Of course, it's not needed for this first release, no trouble with that
But I just want to be sure that these subjects will not be "left behind" once the current patch will be added to the trunk ("big job is done, let's start something else now" syndrome). As we've seen it, animation is an important and wanted feature for users, so we must do our best to "integrate" it to the engine, and make it as easy and complete as possible to use, this is an very important (mid term) goal for the engine.
automatic update and render:Good point about the not-so-interesting interaction with ODE, but the idea remains the same without ODE: why do I have to update all by myself ? and why do I have to render all instances one by one ?
Makefile "-I/usr/include" path:OK, cal3d is here, but this directory is a default (where libs gets installed and where gcc will search), so there's not need to add it (and it may broke something on non Linux systems [BSD ?])
static arrays in raydium_anim_cal3d_instance_render_mesh():Pointers, allocations, arrays declared in anim.h (currently not existing, just to be sure we talk about the same thing), whatever, since I haven't taken enough time to understand the role of these arrays. But we can't keep it as-is, that's for sure
Don't get me wrong, I'm not asking you to complete all this by yourself before "allowing" you to commit: I'm OK to help, and I'm ready to hear that I'm wrong on some points: you wrote this patch, so you know best