c2U3ZW5za2lk
Enthusiast
rally points... meh.
Can't find the dam value declaring offsets/gaps, might do a recursive search. I think these are random.
e: fixed. Using some not great code though :/
Code:/// <summary> /// Return All rallypoints and engine calls in every language /// </summary> /// <param name="mio">Mojos IO already declared</param> /// <returns></returns> public static string[] readMissionRallyPoints(MojosIO mio) { string[] rallyPoints = new string[35]; bool rally2 = false; bool rally3 = false; int rally2Off = 0; int rally3Off = 0; #region rally1 //Mission Start - Omega mio.Position = 0x125C; rallyPoints[1] = mio.ReadString(0x85, Encoding.ASCII); ///English mio.Position = 0x12E1; rallyPoints[2] = mio.ReadString(0x3E, Encoding.Unicode); ///Japanese mio.Position = 0x1320; rallyPoints[3] = mio.ReadString(0x3E, Encoding.Unicode); ///German mio.Position = 0x1361; rallyPoints[4] = mio.ReadString(0x3E, Encoding.Unicode); ///French mio.Position = 0x13A1; rallyPoints[5] = mio.ReadString(0x3E, Encoding.Unicode); ///Spanish mio.Position = 0x13E1; rallyPoints[6] = mio.ReadString(0x3E, Encoding.Unicode); ///Latin American Spanish mio.Position = 0x1421; rallyPoints[7] = mio.ReadString(0x3E, Encoding.Unicode); ///Italian mio.Position = 0x1461; rallyPoints[8] = mio.ReadString(0x3E, Encoding.Unicode); ///Korean mio.Position = 0x14A0; rallyPoints[9] = mio.ReadString(0x3E, Encoding.Unicode); ///Chinese mio.Position = 0x14E0; rallyPoints[10] = mio.ReadString(0x3E, Encoding.Unicode); ///Portuguese mio.Position = 0x1561; rallyPoints[11] = mio.ReadString(0x3E, Encoding.Unicode); #endregion #region checkForRally2&3 for (int i = 0; i < Convert.ToInt32(mio.StreamLength); i++) { mio.Position = i; if (mio.ReadString(0x3E, Encoding.Unicode) == "Rally Point Alpha") { rally2 = true; rally2Off = i; } mio.Position = i; if (mio.ReadString(0x3E, Encoding.Unicode) == "Rally Point Bravo") { rally3 = true; rally3Off = i; } } #endregion #region rally2 if (rally2 == true) { //Rally Point Alpha mio.Position = (rally2Off - 133); rallyPoints[12] = mio.ReadString(0x85, Encoding.ASCII); ///English mio.Position = rally2Off; rallyPoints[13] = mio.ReadString(0x3E, Encoding.Unicode); ///Japanese mio.Position = rally2Off + 0x3F; rallyPoints[14] = mio.ReadString(0x3E, Encoding.Unicode); ///German mio.Position = rally2Off + 0x80; rallyPoints[15] = mio.ReadString(0x3E, Encoding.Unicode); ///French mio.Position = rally2Off + 0xC0; rallyPoints[16] = mio.ReadString(0x3E, Encoding.Unicode); ///Spanish mio.Position = rally2Off + 0x100; rallyPoints[17] = mio.ReadString(0x3E, Encoding.Unicode); ///Latin American Spanish mio.Position = rally2Off + 0x140; rallyPoints[18] = mio.ReadString(0x3E, Encoding.Unicode); ///Italian mio.Position = rally2Off + 0x180; rallyPoints[19] = mio.ReadString(0x3E, Encoding.Unicode); ///Korean mio.Position = rally2Off + 0x1BF; rallyPoints[20] = mio.ReadString(0x3E, Encoding.Unicode); ///Chinese mio.Position = rally2Off + 0x1FF; rallyPoints[21] = mio.ReadString(0x3E, Encoding.Unicode); ///Portuguese mio.Position = rally2Off + 0x280; rallyPoints[22] = mio.ReadString(0x3E, Encoding.Unicode); } #endregion #region rally3 if (rally3 == true) { //Rally Point Bravo mio.Position = (rally3Off - 133); rallyPoints[23] = mio.ReadString(0x85, Encoding.ASCII); ///English mio.Position = rally3Off; rallyPoints[24] = mio.ReadString(0x3E, Encoding.Unicode); ///Japanese mio.Position = rally3Off + 0x3F; rallyPoints[25] = mio.ReadString(0x3E, Encoding.Unicode); ///German mio.Position = rally3Off + 0x80; rallyPoints[26] = mio.ReadString(0x3E, Encoding.Unicode); ///French mio.Position = rally3Off + 0xC0; rallyPoints[27] = mio.ReadString(0x3E, Encoding.Unicode); ///Spanish mio.Position = rally3Off + 0x100; rallyPoints[28] = mio.ReadString(0x3E, Encoding.Unicode); ///Latin American Spanish mio.Position = rally3Off + 0x140; rallyPoints[29] = mio.ReadString(0x3E, Encoding.Unicode); ///Italian mio.Position = rally3Off + 0x180; rallyPoints[30] = mio.ReadString(0x3E, Encoding.Unicode); ///Korean mio.Position = rally3Off + 0x1BF; rallyPoints[31] = mio.ReadString(0x3E, Encoding.Unicode); ///Chinese mio.Position = rally3Off + 0x1FF; rallyPoints[32] = mio.ReadString(0x3E, Encoding.Unicode); ///Portuguese mio.Position = rally3Off + 0x280; rallyPoints[33] = mio.ReadString(0x3E, Encoding.Unicode); } #endregion if (rallyPoints[24] != null) { rallyPoints[0] = "3"; } else if (rallyPoints[13] != null) { rallyPoints[0] = "2"; } else if (rallyPoints[2] != null) { rallyPoints[0] = "1"; } else { rallyPoints[0] = "0"; } return rallyPoints; }
Code:
if(rally2 == true)
LOLSDLOLOLOL