void ScummEngine_v70he::o70_readINI() { byte option[256]; byte *data; const char *entry; int len, type; convertMessageToString(_scriptPointer, option, sizeof(option)); len = resStrLen(_scriptPointer); _scriptPointer += len + 1; type = pop(); switch (type) { case 1: // number if (!strcmp((char *)option, "NoPrinting")) { push(1); } else if (!strcmp((char *)option, "TextOn")) { push(ConfMan.getBool("subtitles")); } else { push(ConfMan.getInt((char *)option)); } break; case 2: // string entry = (ConfMan.get((char *)option).c_str()); writeVar(0, 0); len = resStrLen((const byte *)entry); data = defineArray(0, kStringArray, 0, len); memcpy(data, entry, len); push(readVar(0)); break; default: error("o70_readINI: default type %d", type); } debug(1, "o70_readINI: Option %s", option); }
int ScummEngine_v71he::setupStringArray(int size) { writeVar(0, 0); defineArray(0, kStringArray, 0, size + 1); writeArray(0, 0, 0, 0); return readVar(0); }