static int BLOreloBase() { char *path, *file, err[1000]; int r; if(!game) game = new gameC(0,0,0,0); path = dataFindPath("everborn.game"); if(path == NULL) { pe("can't find game\n"); return -1; } file = txtLoad(path); free(path); if(file == NULL) { pe("can't load game\n"); return -1; } r = game->Read(file, err); free(file); if(r) { pe("error: %s\n", err); return -1;; } return 0; }
/* public functions - TEXT */ void txtInit(char lang) { char txtListPath[DSK_PATH_MAX]; if ((txtBase = TCAllocMem(sizeof(*txtBase), 0))) { txtBase->tc_Texts = CreateList(); txtBase->tc_Language = lang; dskBuildPathName(DISK_CHECK_FILE, TEXT_DIRECTORY, TXT_LIST, txtListPath); if (ReadList(txtBase->tc_Texts, sizeof(struct Text), txtListPath)) { U32 i, nr; nr = GetNrOfNodes(txtBase->tc_Texts); for (i=0; i<nr; i++) { txtLoad(i); } } else { ErrorMsg(No_Mem, ERROR_MODULE_TXT, ERR_TXT_READING_LIST); } } else { ErrorMsg(No_Mem, ERROR_MODULE_TXT, ERR_TXT_FAILED_BASE); } }
static int BLOrelo() { char *fn, *path, *file, err[1000]; raceC* r; fn = envGet("BLOrace"); path = dataFindPath(fn); if(path == NULL) { pe("can't find race file %s\n", fn); return -1; } file = txtLoad(path); free(path); if(file == NULL) { pe("can't load race file %s\n", fn); return -1; } r = raceLoad(file, err); free(file); if(r == NULL) { pe("error: %s\n", err); return -1; } BLOrace(r); return 0; }