From f7374e962d76197bd87fad2661904818ab2baefd Mon Sep 17 00:00:00 2001 From: Greg Edwards Date: Thu, 7 Aug 2014 19:57:33 -0400 Subject: [PATCH] Fixed some stupid battle subway issues. --- gts/syachi2ds.ashx.cs | 8 ++++---- library/Data/DataMysql.cs | 10 ++++++---- library/Structures/BattleSubwayProfile5.cs | 2 +- library/Structures/BattleTowerProfile4.cs | 2 +- towerRestorer4/Program.cs | 1 + 5 files changed, 13 insertions(+), 10 deletions(-) diff --git a/gts/syachi2ds.ashx.cs b/gts/syachi2ds.ashx.cs index 5e5f188f..c1410be2 100644 --- a/gts/syachi2ds.ashx.cs +++ b/gts/syachi2ds.ashx.cs @@ -538,14 +538,14 @@ namespace PkmnFoundations.GTS { manager.Remove(session); - if (data.Length != 6) + if (data.Length != 10) { Error400(context); return; } - byte rank = data[0x04]; - byte roomNum = data[0x05]; + byte rank = data[0x08]; + byte roomNum = data[0x09]; BattleSubwayRecord5[] opponents = DataAbstract.Instance.BattleSubwayGetOpponents5(pid, rank, roomNum); @@ -575,7 +575,7 @@ namespace PkmnFoundations.GTS { manager.Remove(session); - if (data.Length != 243) + if (data.Length != 396) { Error400(context); return; diff --git a/library/Data/DataMysql.cs b/library/Data/DataMysql.cs index 742df40a..9539740f 100644 --- a/library/Data/DataMysql.cs +++ b/library/Data/DataMysql.cs @@ -1427,7 +1427,7 @@ namespace PkmnFoundations.Data result.Add(new MySqlParameter("@phrase_won", record.PhraseWon.Data)); result.Add(new MySqlParameter("@phrase_lost", record.PhraseLost.Data)); result.Add(new MySqlParameter("@unknown3", record.Unknown3)); - result.Add(new MySqlParameter("@unknown4", record.Unknown4)); + result.Add(new MySqlParameter("@unknown4", record.Unknown4 ?? new byte[5])); result.Add(new MySqlParameter("@unknown5", record.Unknown5)); result.Add(new MySqlParameter("@battles_won", record.BattlesWon)); } @@ -1567,7 +1567,9 @@ namespace PkmnFoundations.Data MySqlDataReader reader = (MySqlDataReader)tran.ExecuteReader( "SELECT id, pid, Name, " + "Version, Language, Country, Region, TrainerID, " + - "PhraseLeader, Gender, Unknown2, Unknown3, Unknown4, Unknown5 FROM GtsBattleSubway5 " + + "PhraseLeader, Gender, Unknown2, PhraseChallenged, " + + "PhraseWon, PhraseLost, Unknown3, Unknown4, Unknown5 " + + "FROM GtsBattleSubway5 " + "WHERE Rank = @rank AND RoomNum = @room AND pid != @pid " + "ORDER BY Position LIMIT 7", new MySqlParameter("@rank", rank), @@ -1613,7 +1615,7 @@ namespace PkmnFoundations.Data if (reader.FieldCount > 12) result.PhraseWon = new TrendyPhrase5(reader.GetByteArray(12, 8)); if (reader.FieldCount > 13) result.PhraseLost = new TrendyPhrase5(reader.GetByteArray(13, 8)); if (reader.FieldCount > 14) result.Unknown3 = reader.GetUInt16(14); - if (reader.FieldCount > 15) result.Unknown4 = reader.GetByteArray(15, 5); + if (reader.FieldCount > 15 && !reader.IsDBNull(15)) result.Unknown4 = reader.GetByteArray(15, 5); if (reader.FieldCount > 16) result.Unknown5 = reader.GetUInt64(16); BattleSubwayProfile5 profile = new BattleSubwayProfile5(); @@ -1666,7 +1668,7 @@ namespace PkmnFoundations.Data MySqlDataReader reader = (MySqlDataReader)tran.ExecuteReader( "SELECT id, pid, Name, " + "Version, Language, Country, Region, TrainerID, " + - "PhraseLeader, Gender, Unknown2 FROM GtsBattleTowerLeaders4 " + + "PhraseLeader, Gender, Unknown2 FROM GtsBattleSubwayLeaders5 " + "WHERE Rank = @rank AND RoomNum = @room " + "ORDER BY TimeUpdated DESC, id LIMIT 30", new MySqlParameter("@rank", rank), diff --git a/library/Structures/BattleSubwayProfile5.cs b/library/Structures/BattleSubwayProfile5.cs index e0a7f1eb..d55199d6 100644 --- a/library/Structures/BattleSubwayProfile5.cs +++ b/library/Structures/BattleSubwayProfile5.cs @@ -41,7 +41,7 @@ namespace PkmnFoundations.Structures MemoryStream ms = new MemoryStream(data); BinaryWriter writer = new BinaryWriter(ms); - writer.Write(Name.RawData); + writer.Write(Name.RawData, 0, 16); writer.Write((byte)Version); writer.Write((byte)Language); writer.Write(Country); diff --git a/library/Structures/BattleTowerProfile4.cs b/library/Structures/BattleTowerProfile4.cs index 7e41f9de..77f5879e 100644 --- a/library/Structures/BattleTowerProfile4.cs +++ b/library/Structures/BattleTowerProfile4.cs @@ -41,7 +41,7 @@ namespace PkmnFoundations.Structures MemoryStream ms = new MemoryStream(data); BinaryWriter writer = new BinaryWriter(ms); - writer.Write(Name.RawData); + writer.Write(Name.RawData, 0, 16); writer.Write((byte)Version); writer.Write((byte)Language); writer.Write(Country); diff --git a/towerRestorer4/Program.cs b/towerRestorer4/Program.cs index 306c82a9..fefda1c7 100644 --- a/towerRestorer4/Program.cs +++ b/towerRestorer4/Program.cs @@ -158,6 +158,7 @@ namespace towerRestorer record.Rank = rank; record.RoomNum = room; record.BattlesWon = 7; + record.Unknown4 = new byte[5]; db.BattleSubwayUpdateRecord5(record); opponentSuccessCount++; }