According to the manual page about game_save() "SV_PATH saves all paths changed by path_setnode or path_setedge".

However, this doesn't seem to work for me.

Here is what I do and what happens:

1. change a node using path_setnode()
2. game_save(.., SV_PATH)
3. restart engine
4. game_load()

game_load() fails then (return value <= 0).
When step 1 or 3 is omitted game_load() works fine.

This is the code I've used to test this:
Code:
#include <acknex.h>

void gameLoad() {
	if (game_load("saveload", 0) > 0)
		printf("game loaded");
	else
		printf("game_load() failed");
}

void gameSave() {
	// remark: there is only one entity, so ent_next() returns the entity
	//         created in main()
	path_setnode(ent_next(NULL), 1, NULL, NULL);
	
	// remark: SV_ALL doesn't work either
	if (game_save("saveload", 0, SV_PATH) > 0)
		printf("game saved");
	else
		printf("game_save() failed");
}

void main() {
	level_load("saveload.wmb");
	
	ENTITY *ent = ent_create(CUBE_MDL, nullvector, NULL);
	path_set(ent, "path_000");
	
	on_l = gameLoad;
	on_s = gameSave;
}


Does somebody know the reason for this problem?