public string ReadMessage() { var currentMsg = vam.ReadStringASCII((IntPtr)(vam.getBaseAddress + CURRENT_GAME_MESSAGE), 255); try { string res; if (currentMsg.Contains("($?)")) { var replace = Regex.Replace(currentMsg, "([a-zA-Z][0-9]+)|[?$]", "", RegexOptions.Compiled); replace = replace.Replace("()", ""); res = replace; } else { res = currentMsg; } var terminateIndex = res.IndexOf('\0'); if (terminateIndex == -1) { return(res); } var result = res.Substring(0, res.IndexOf('\0')); return(result); } catch { return(string.Empty); } }
private static string GetFamilyName(VAMemory vam) { var res = vam.ReadStringASCII((IntPtr)(vam.getBaseAddress + FAMILY_NAME), 255); res = res.Substring(0, res.IndexOf('\0')); if (string.IsNullOrWhiteSpace(res)) { return("At Login Screen"); } return($"{res} Family"); }
private static string GetCurrentMap(VAMemory vam) { var currentMap = vam.ReadStringASCII((IntPtr)(vam.getBaseAddress + CURRENT_MAP), 255); return(currentMap.Substring(0, currentMap.IndexOf('\0'))); }