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:
#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?