--- np2/macosx/np2.cpp 2003/10/16 17:59:36 1.1.1.1 +++ np2/macosx/np2.cpp 2003/10/17 07:17:20 1.4 @@ -1,5 +1,6 @@ #include "compiler.h" #include "resource.h" +#include "strres.h" #include "np2.h" #include "dosio.h" #include "scrnmng.h" @@ -50,6 +51,9 @@ static BYTE scrnmode; static char target[MAX_PATH] = DEFAULTPATH; +static const char np2resume[] = "sav"; + + // ---- おまじない #if TARGET_CARBON @@ -503,14 +507,42 @@ static void processwait(UINT waitcnt) { if (timing_getcount() >= waitcnt) { timing_setcount(0); framecnt = 0; - if (np2oscfg.DISPCLK & 2) { + if (np2oscfg.DISPCLK & 3) { if (sysmng_workclockrenewal()) { - sysmng_updatecaption(2); + sysmng_updatecaption(3); } } } } +static void getstatfilename(char *path, const char *ext, int size) { + + file_cpyname(path, file_getcd("np2"), size); + file_catname(path, str_dot, size); + file_catname(path, ext, size); +} + +static void flagsave(const char *ext) { + + char path[MAX_PATH]; + + getstatfilename(path, ext, sizeof(path)); + statsave_save(path); +} + +static void flagload(const char *ext) { + + char path[MAX_PATH]; + char buf[1024]; + int ret; + + getstatfilename(path, ext, sizeof(path)); + ret = statsave_check(path, buf, sizeof(buf)); + if (ret == NP2FLAG_SUCCESS) { + statsave_load(path); + } +} + int main(int argc, char *argv[]) { Rect wRect; @@ -568,7 +600,7 @@ int main(int argc, char *argv[]) { pccore_reset(); #if defined(USE_RESUME) - statsave_load(":np2.sav"); + flagload(np2resume); #endif SetEventMask(everyEvent); @@ -635,7 +667,7 @@ int main(int argc, char *argv[]) { pccore_cfgupdate(); #if defined(USE_RESUME) - statsave_save(":np2.sav"); + flagsave(np2resume); #endif pccore_term();