diff --git a/modules/dDemo/dDemo.c b/modules/dDemo/dDemo.c index bde4537..bfc7450 100644 --- a/modules/dDemo/dDemo.c +++ b/modules/dDemo/dDemo.c @@ -96,8 +96,13 @@ static void Init() { int p3 = getCaliValue(); int *var = getCaliVariable(); - alk_t *alk = alk_new("dDEMO.alk"); + if (!nact->files.alk[0]) { + WARNING("dDEMO.alk not found"); + return; + } + alk_t *alk = alk_new(nact->files.alk[0]); // dDEMO.alk if (!alk) { + WARNING("Cannot open %s", nact->files.alk[0]); *var = 0; return; } @@ -936,7 +941,7 @@ static void Run() { break; } SDL_RenderPresent(gfx_renderer); - SDL_Delay(16); + sys_wait_vsync(); } muscd_stop(); diff --git a/modules/tDemo/tDemo.c b/modules/tDemo/tDemo.c index 3863699..3981d87 100644 --- a/modules/tDemo/tDemo.c +++ b/modules/tDemo/tDemo.c @@ -62,9 +62,13 @@ static void SetLoopFlag() { } static void Run() { - alk_t *alk = alk_new("tDEMO.alk"); + if (!nact->files.alk[0]) { + WARNING("tDEMO.alk not found"); + return; + } + alk_t *alk = alk_new(nact->files.alk[0]); // tDEMO.alk if (!alk) { - WARNING("Cannot open tDEMO.alk"); + WARNING("Cannot open %s", nact->files.alk[0]); return; } diff --git a/src/gameresource.c b/src/gameresource.c index ea7262f..aafbb47 100644 --- a/src/gameresource.c +++ b/src/gameresource.c @@ -85,8 +85,8 @@ bool initGameResourceFromDir(GameResource *gr, DIR *dir, const char *savedir, st } else if (len >= 4 && strcasecmp(filename + len - 4, ".bgi") == 0) { gr->bgi = strdup(filename); } else if (len >= 5 && strcasecmp(filename + len - 4, ".alk") == 0) { - if (!isdigit(filename[len - 5])) continue; - gr->alk[filename[len - 5] - '0'] = strdup(filename); + int idx = isdigit(filename[len - 5]) ? filename[len - 5] - '0' : 0; + gr->alk[idx] = strdup(filename); } else if (len >= 6 && strcasecmp(filename + len - 4, ".ald") == 0) { int dno = toupper(filename[len - 5]) - 'A'; if (dno < 0 || dno >= DRIFILEMAX) continue;