So, i gave it a quick try and it seems when calling ent_morph the ent_clone memory isn't freed. If you let the following code snippet run for a while it will give you an out of memory error. You can even see the memory go up in the debug panel.
Code:
#include <acknex.h>
#include <default.c>
void main()
{
wait(1);
level_load(NULL);
ENTITY* e = ent_create(CUBE_MDL,vector(0,0,0),NULL);
while (1)
{
int i;
for (i = 0; i < 1000; i++)
{
ent_clone(e);
ent_morph(e,SPHERE_MDL);
ent_morph(e,CUBE_MDL);
wait(1);
}
}
}
Always learn from history, to be sure you make the same mistakes again...