/// <summary> /// Quick method to return a pre-defined conversation string from Data.ovl /// </summary> /// <param name="index">index into string array (use DataOvlReference.CHUNK__PHRASES_CONVERSATION)</param> /// <returns>associated string</returns> public string GetConversationStr(DataOvlReference.ChunkPhrasesConversation index) { char[] trimChars = new[] { '"' }; string convStr = _dataOvlRef.GetStringFromDataChunkList(DataOvlReference.DataChunkName.PHRASES_CONVERSATION, (int)index).Trim(); convStr = convStr.Trim(trimChars); return(convStr); }
public string GetLocationName(SmallMapReferences.SingleMapReference.Location location) { Func <DataOvlReference.LocationStrings, string> getLocationNameStr = delegate(DataOvlReference.LocationStrings index) { return(_dataRef.GetStringFromDataChunkList(DataOvlReference.DataChunkName.LOCATION_NAMES, (int)index)); }; // filthy way to convert our more commonly used _location enum to the less used LOCATION_STRINGS // they didn't even bother having them all match, and then decided to leave some out DataOvlReference.LocationStrings newLocStrEnum = (DataOvlReference.LocationStrings)Enum.Parse(typeof(DataOvlReference.LocationStrings), location.ToString()); // if the DataOVL didn't provide a name, then we are forced to set our own... :( if ((int)newLocStrEnum < 0) { switch (newLocStrEnum) { case DataOvlReference.LocationStrings.Suteks_Hut: return("SUTEK'S HUT"); case DataOvlReference.LocationStrings.SinVraals_Hut: return("SIN VRAAL'S HUT"); case DataOvlReference.LocationStrings.Grendels_Hut: return("GRENDAL'S HUT"); case DataOvlReference.LocationStrings.Lord_Britishs_Castle: return("LORD BRITISH'S CASTLE"); case DataOvlReference.LocationStrings.Palace_of_Blackthorn: return("PALACE OF BLACKTHORN"); default: throw new Ultima5ReduxException("Ummm asked for a location name and wasn't on the guest list."); } } else { return(getLocationNameStr(newLocStrEnum)); } }