PDA

Voir la version complète : [GBA][Aide] Gérer des sauvegardes


omg
19/08/2006, 12h58
Bonjour à tous!
Je voudrais juste savoir si quelqu'un a déjà testé les sauvegardes avec HAM ? :p

Yodajr
19/08/2006, 13h16
Pour sauvegarder le contenu de ta variable "int score" :

ham_SaveIntToRAM("score",score);

Pour la charger :

ham_LoadIntFromRAM("score",&score);

omg
19/08/2006, 13h40
Merci YodaJR!

Kyros
19/08/2006, 15h38
Sur mon jeu j'utilise direct , ham_SaveRawToRAM :

typedef struct{
u8 nb_save_pp;
u8 nb_save_stack;
u8 strict;
u8 ptr_save;
u8 bit_save;
Game game_save;
Piece_posee pp[150];
u8* ptr_bg;
u16* ptr_bgpal;
} QuickSave;

QuickSave QS;

QuickSave ça sera ta structure (mais tu mets bien ce que tu veux dedans ;) ) de sauvegarde , puis QS sera donc ta variable conteant ce qu'il y a à sauvegarder.

Pour sauver :
ham_SaveRawToRAM("qs",&QS,sizeof(QuickSave));

Pour charger :
ham_LoadRawFromRAM("qs",&QS);

J'trouve ça bien plus souple que de devoir gérer plein de "int" :) .

Brunni
19/08/2006, 15h46
Le souci c'est que si tu modifies ta structures QS par la suite, tu ne vas pas pouvoir détecter que tu charges une ancienne version et ton jeu va planter (et ne plus jamais vouloir démarrer)... dans ce cas il faudrait au moins sauver un numéro de version ou autre ;)

Kyros
19/08/2006, 16h17
Le souci c'est que si tu modifies ta structures QS par la suite, tu ne vas pas pouvoir détecter que tu charges une ancienne version et ton jeu va planter (et ne plus jamais vouloir démarrer)... dans ce cas il faudrait au moins sauver un numéro de version ou autre ;)

Oui j'y avais pas penser :whst: , ... j'avais pas ce problème puisque quand je modifie ma structure , j'efface la sauvegarde puis j'édite "à la main" ma nouvelle sauvegarde (en forceant certain champ de ma structure à une valeur à la première execution du jeu) .

Après bien sur ça dépend de l'utilisation qu'on en fait aussi :) .