bool SimonEngine::printTextOf(uint a, uint x, uint y) { const byte *stringPtr; uint16 pixels, w; if (getGameType() == GType_SIMON2) { if (getBitFlag(79)) { Subroutine *sub; _variableArray[84] = a; sub = getSubroutineByID(5003); if (sub != NULL) startSubroutineEx(sub); return true; } } if (a >= _numTextBoxes) return false; stringPtr = getStringPtrByID(_stringIdArray2[a]); if (getGameType() == GType_FF) { getPixelLength((const char *)stringPtr, 400, pixels); w = pixels + 1; x -= w / 2; printScreenText(6, 0, (const char *)stringPtr, x, y, w); } else { showActionString(stringPtr); } return true; }
bool SimonEngine::printNameOf(Item *item, uint x, uint y) { SubObject *subObject; const byte *stringPtr; uint16 pixels, w; if (item == 0 || item == _dummyItem2 || item == _dummyItem3) return false; subObject = (SubObject *)findChildOfType(item, 2); if (subObject == NULL) return false; stringPtr = getStringPtrByID(subObject->objectName); if (getGameType() == GType_FF) { getPixelLength((const char *)stringPtr, 400, pixels); w = pixels + 1; x -= w / 2; printScreenText(6, 0, (const char *)stringPtr, x, y, w); } else { showActionString(stringPtr); } return true; }
void AGOSEngine::printVerbOf(uint hitarea_id) { const char *txt; const char * const *verb_names; const char * const *verb_prep_names; hitarea_id -= 101; if (_showPreposition) { switch (_language) { case Common::RU_RUS: verb_prep_names = russian_verb_prep_names; break; case Common::HE_ISR: verb_prep_names = hebrew_verb_prep_names; break; case Common::ES_ESP: verb_prep_names = spanish_verb_prep_names; break; case Common::IT_ITA: verb_prep_names = italian_verb_prep_names; break; case Common::FR_FRA: verb_prep_names = french_verb_prep_names; break; case Common::DE_DEU: verb_prep_names = german_verb_prep_names; break; case Common::CZ_CZE: verb_prep_names = czech_verb_prep_names; break; default: verb_prep_names = english_verb_prep_names; break; } CHECK_BOUNDS(hitarea_id, english_verb_prep_names); txt = verb_prep_names[hitarea_id]; } else { switch (_language) { case Common::RU_RUS: verb_names = russian_verb_names; break; case Common::HE_ISR: verb_names = hebrew_verb_names; break; case Common::ES_ESP: verb_names = spanish_verb_names; break; case Common::IT_ITA: verb_names = italian_verb_names; break; case Common::FR_FRA: verb_names = french_verb_names; break; case Common::DE_DEU: verb_names = german_verb_names; break; case Common::CZ_CZE: verb_names = czech_verb_names; break; default: verb_names = english_verb_names; break; } CHECK_BOUNDS(hitarea_id, english_verb_names); txt = verb_names[hitarea_id]; } showActionString((const byte *)txt); }