iGalcon – main menu + confusion over save / restore state
The good news: I’ve got the basic layout of my main menu decided on. It isn’t really functional yet, but here it is:
I’ve also got the game transitioning between several states and prompts now. I haven’t coded in the difficulty levels or the various missions quite yet, will be doing that soon. I’ve also got it saving and restoring game state when you quit the game and start it up again. (That way, if you get a phone call you can resume your game exactly where you left off after talking …)
Here’s the trouble: I can’t figure out how to write and read files on the iphone. I want to do this with C code:
void gc_engine_save(gc_game *g) {
FILE *f;
int ver = GC_VERSION;
f = fopen(“igalcon.sav”,”wb”);
fwrite(&ver,sizeof(int),1,f);
fwrite(g,sizeof(gc_game),1,f);
fclose(f);
}
And be able to load it later, etc .. However, the iphone gives me a EXC_BAD_ACCESS error .. I guess because I can’t just write to just anywhere. What would be nice is if I knew what path to write to, however my brain has found the API reference a bit huge for a noob to the whole Apple way of doing things.
Rumors I’ve heard are “save your stuff to the Documents folder” or “no no, save it to the Library” or “no, you have to save it under $some_folder/Galcon/” or “it’s best to save your settings via some NSSettings …blah blah” . I’m sure I could get it working one of those ways, I just want to know *which* one I should use. And maybe a link to an example. Basically, what I want to do is in my ObjC code is construct a base path, send it to my C code and be able to do something like char fname[256]; sprintf(fname,”%s/igalcon.sav”,base_path); And then carry on with what I was trying to do ..
And .. if everything I’ve just said sounds like a really bad idea, I’d be thrilled for some guidance on this point 🙂 In the meantime, I think I’ll get some more bots working and whatnot. I’m trying to decide if I should use tinypy or not for some of the code, but at present, I’m leaning towards just coding up my bots / missions in C code for the iphone.
P.S. while you’re at it, if someone can explain what the purpose of these methods of UIApplicationDelegate and how to make them happen on my ipod touch, I’d really appreciate it.
Responding to a Change in Active Status
* – applicationWillResignActive: optional method
* – applicationDidBecomeActive: optional method
June 25th, 2008 at 4:06 pm
http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/ApplicationEnvironment/chapter_6_section_3.html#//apple_ref/doc/uid/TP40007072-CH7-SW21
Appears to answer the question (thanks Pov!)
June 25th, 2008 at 4:27 pm
End solution was:
#define GC_SAVEDIR getenv(“TMPDIR”)
June 25th, 2008 at 4:32 pm
Double tapping the home button calls:
* – applicationWillResignActive: optional method
And this is called once you dismiss the music dialog:
* – applicationDidBecomeActive: optional method
June 26th, 2008 at 11:05 am
Captain Hard? That sounds like a porn actor…
If only people left helpful comments, hey? 🙂
June 26th, 2008 at 12:46 pm
Most confusing reply ever.