diff --git a/GlobalTerminalService/GTServer4.cs b/GlobalTerminalService/GTServer4.cs
index d5ca226f..5dea2bee 100644
--- a/GlobalTerminalService/GTServer4.cs
+++ b/GlobalTerminalService/GTServer4.cs
@@ -84,7 +84,7 @@ namespace PkmnFoundations.GlobalTerminalService
byte[] boxData = new byte[0x21c];
Array.Copy(data, 0x144, boxData, 0, 0x21c);
BoxRecord4 record = new BoxRecord4(pid, label, 0, boxData);
- long serial = DataAbstract.Instance.BoxUpload4(record);
+ ulong serial = DataAbstract.Instance.BoxUpload4(record);
if (serial == 0)
{
@@ -140,7 +140,7 @@ namespace PkmnFoundations.GlobalTerminalService
byte[] dressupData = new byte[0xe0];
Array.Copy(data, 0x140, dressupData, 0, 0xe0);
DressupRecord4 record = new DressupRecord4(pid, 0, dressupData);
- long serial = DataAbstract.Instance.DressupUpload4(record);
+ ulong serial = DataAbstract.Instance.DressupUpload4(record);
if (serial == 0)
{
@@ -194,7 +194,7 @@ namespace PkmnFoundations.GlobalTerminalService
byte[] battlevidData = new byte[0x1d4c];
Array.Copy(data, 0x140, battlevidData, 0, 0x1d4c);
BattleVideoRecord4 record = new BattleVideoRecord4(pid, 0, battlevidData);
- long serial = DataAbstract.Instance.BattleVideoUpload4(record);
+ ulong serial = DataAbstract.Instance.BattleVideoUpload4(record);
if (serial == 0)
{
@@ -262,7 +262,7 @@ namespace PkmnFoundations.GlobalTerminalService
break;
}
- long serial = BitConverter.ToInt64(data, 0x140);
+ ulong serial = BitConverter.ToUInt64(data, 0x140);
BattleVideoRecord4 record = DataAbstract.Instance.BattleVideoGet4(serial, true);
if (record == null)
{
@@ -292,6 +292,7 @@ namespace PkmnFoundations.GlobalTerminalService
{
logEntry.AppendFormat("Unhandled exception while handling request.\nException: {0}", ex.ToString());
logEntry.AppendLine();
+ type = EventLogEntryType.Error;
response.Write(new byte[] { 0x02, 0x00 }, 0, 2);
}
diff --git a/GlobalTerminalService/GTServer5.cs b/GlobalTerminalService/GTServer5.cs
index 81d90e9d..1f2a9194 100644
--- a/GlobalTerminalService/GTServer5.cs
+++ b/GlobalTerminalService/GTServer5.cs
@@ -82,7 +82,7 @@ namespace PkmnFoundations.GlobalTerminalService
byte[] musicalData = new byte[0x230];
Array.Copy(data, 0x140, musicalData, 0, 0x230);
MusicalRecord5 record = new MusicalRecord5(pid, 0, musicalData);
- long serial = DataAbstract.Instance.MusicalUpload5(record);
+ ulong serial = DataAbstract.Instance.MusicalUpload5(record);
if (serial == 0)
{
@@ -149,7 +149,7 @@ namespace PkmnFoundations.GlobalTerminalService
Array.Copy(data, 0x19e8, vldtSignature, 0, sigLength);
// todo: validate signature.
- long serial = DataAbstract.Instance.BattleVideoUpload5(record);
+ ulong serial = DataAbstract.Instance.BattleVideoUpload5(record);
if (serial == 0)
{
@@ -223,7 +223,7 @@ namespace PkmnFoundations.GlobalTerminalService
break;
}
- long serial = BitConverter.ToInt64(data, 0x140);
+ ulong serial = BitConverter.ToUInt64(data, 0x140);
BattleVideoRecord5 record = DataAbstract.Instance.BattleVideoGet5(serial, true);
if (record == null)
{
diff --git a/bvRestorer4/Program.cs b/bvRestorer4/Program.cs
index d72a3739..6d1fea6c 100644
--- a/bvRestorer4/Program.cs
+++ b/bvRestorer4/Program.cs
@@ -63,7 +63,7 @@ namespace bvRestorer4
}
int pid = BitConverter.ToInt32(data, 0x08);
- long serial = BitConverter.ToInt64(data, 0x0c);
+ ulong serial = BitConverter.ToUInt64(data, 0x0c);
byte[] mainData = new byte[0x1d4c];
Array.Copy(data, 0x14, mainData, 0, 0x1d4c);
diff --git a/bvRestorer5/Program.cs b/bvRestorer5/Program.cs
index f6bfbb87..ee4d802d 100644
--- a/bvRestorer5/Program.cs
+++ b/bvRestorer5/Program.cs
@@ -57,7 +57,7 @@ namespace bvRestorer5
}
int pid = BitConverter.ToInt32(data, 0x08);
- long serial = BitConverter.ToInt64(data, 0x0c);
+ ulong serial = BitConverter.ToUInt64(data, 0x0c);
byte[] mainData = new byte[0x18a4];
Array.Copy(data, 0x14, mainData, 0, 0x18a4);
diff --git a/gts/admin/AddBoxes.aspx.cs b/gts/admin/AddBoxes.aspx.cs
index e20740f9..808d5ed4 100644
--- a/gts/admin/AddBoxes.aspx.cs
+++ b/gts/admin/AddBoxes.aspx.cs
@@ -50,7 +50,7 @@ namespace PkmnFoundations.GTS.admin
{
int pid = BitConverter.ToInt32(data, 12 + 556 * x);
BoxLabels4 label = (BoxLabels4)BitConverter.ToInt32(data, 16 + 556 * x);
- long serial = BitConverter.ToInt64(data, 20 + 556 * x);
+ ulong serial = BitConverter.ToUInt64(data, 20 + 556 * x);
if (serial == 0) continue;
byte[] result = new byte[540];
diff --git a/gts/admin/AddDressup.aspx.cs b/gts/admin/AddDressup.aspx.cs
index b9bc96f2..3f814cf4 100644
--- a/gts/admin/AddDressup.aspx.cs
+++ b/gts/admin/AddDressup.aspx.cs
@@ -50,7 +50,7 @@ namespace PkmnFoundations.GTS.test
for (int x = 0; x < results; x++)
{
int pid = BitConverter.ToInt32(data, 12 + 236 * x);
- long serial = BitConverter.ToInt64(data, 16 + 236 * x);
+ ulong serial = BitConverter.ToUInt64(data, 16 + 236 * x);
if (serial == 0) continue;
byte[] result = new byte[224];
diff --git a/gts/admin/AddMusical.aspx.cs b/gts/admin/AddMusical.aspx.cs
index 8b65f373..6713ae22 100644
--- a/gts/admin/AddMusical.aspx.cs
+++ b/gts/admin/AddMusical.aspx.cs
@@ -48,7 +48,7 @@ namespace PkmnFoundations.GTS.admin
for (int x = 0; x < results; x++)
{
int pid = BitConverter.ToInt32(data, 12 + 572 * x);
- long serial = BitConverter.ToInt64(data, 16 + 572 * x);
+ ulong serial = BitConverter.ToUInt64(data, 16 + 572 * x);
if (serial == 0) continue;
byte[] result = new byte[560];
diff --git a/gts/test/VideoId.aspx.cs b/gts/test/VideoId.aspx.cs
index 7738c79c..7e978035 100644
--- a/gts/test/VideoId.aspx.cs
+++ b/gts/test/VideoId.aspx.cs
@@ -17,13 +17,13 @@ namespace PkmnFoundations.GTS.test
protected void btnToSerial_Click(object sender, EventArgs e)
{
- long valueNumeric = Convert.ToInt64(txtBattleVideo.Text.Replace("-", ""));
+ ulong valueNumeric = Convert.ToUInt64(txtBattleVideo.Text.Replace("-", ""));
txtSerial.Text = BattleVideoHeader4.SerialToKey(valueNumeric).ToString();
}
protected void btnToVideo_Click(object sender, EventArgs e)
{
- long valueNumeric = Convert.ToInt64(txtSerial.Text.Replace("-", ""));
+ ulong valueNumeric = Convert.ToUInt64(txtSerial.Text.Replace("-", ""));
txtBattleVideo.Text = BattleVideoHeader4.KeyToSerial(valueNumeric).ToString();
}
}
diff --git a/library/Data/DataAbstract.cs b/library/Data/DataAbstract.cs
index 018430a0..9956d967 100644
--- a/library/Data/DataAbstract.cs
+++ b/library/Data/DataAbstract.cs
@@ -95,27 +95,27 @@ namespace PkmnFoundations.Data
public const int BOX_VERSION_4 = 1;
public const int BATTLEVIDEO_VERSION_4 = 1;
- public abstract long DressupUpload4(DressupRecord4 record);
+ public abstract ulong DressupUpload4(DressupRecord4 record);
public abstract DressupRecord4[] DressupSearch4(ushort species, int count);
- public abstract long BoxUpload4(BoxRecord4 record);
+ public abstract ulong BoxUpload4(BoxRecord4 record);
public abstract BoxRecord4[] BoxSearch4(BoxLabels4 label, int count);
- public abstract long BattleVideoUpload4(BattleVideoRecord4 record);
+ public abstract ulong BattleVideoUpload4(BattleVideoRecord4 record);
public abstract BattleVideoHeader4[] BattleVideoSearch4(ushort species, BattleVideoRankings4 ranking, BattleVideoMetagames4 metagame, byte country, byte region, int count);
- public abstract BattleVideoRecord4 BattleVideoGet4(long serial, bool incrementViews = false);
+ public abstract BattleVideoRecord4 BattleVideoGet4(ulong serial, bool incrementViews = false);
#endregion
#region Global Terminal 5
public const int MUSICAL_VERSION_5 = 1;
public const int BATTLEVIDEO_VERSION_5 = 1;
- public abstract long MusicalUpload5(MusicalRecord5 record);
+ public abstract ulong MusicalUpload5(MusicalRecord5 record);
public abstract MusicalRecord5[] MusicalSearch5(ushort species, int count);
- public abstract long BattleVideoUpload5(BattleVideoRecord5 record);
+ public abstract ulong BattleVideoUpload5(BattleVideoRecord5 record);
public abstract BattleVideoHeader5[] BattleVideoSearch5(ushort species, BattleVideoRankings5 ranking, BattleVideoMetagames5 metagame, byte country, byte region, int count);
- public abstract BattleVideoRecord5 BattleVideoGet5(long serial, bool incrementViews = false);
+ public abstract BattleVideoRecord5 BattleVideoGet5(ulong serial, bool incrementViews = false);
#endregion
}
}
diff --git a/library/Data/DataMysql.cs b/library/Data/DataMysql.cs
index f57568c8..400a1326 100644
--- a/library/Data/DataMysql.cs
+++ b/library/Data/DataMysql.cs
@@ -901,7 +901,7 @@ namespace PkmnFoundations.Data
#endregion
#region Global Terminal 4
- public override long DressupUpload4(DressupRecord4 record)
+ public override ulong DressupUpload4(DressupRecord4 record)
{
if (record.Data.Length != 224) throw new ArgumentException("Dressup data must be 224 bytes.");
using (MySqlConnection db = CreateConnection())
@@ -914,12 +914,12 @@ namespace PkmnFoundations.Data
if (record.SerialNumber == 0)
{
- long serial = (long)tran.ExecuteScalar("INSERT INTO TerminalDressup4 (pid, " +
+ ulong serial = Convert.ToUInt64(tran.ExecuteScalar("INSERT INTO TerminalDressup4 (pid, " +
"Data, md5, TimeAdded, ParseVersion, Species) VALUES (@pid, @data, " +
"unhex(md5(@data)), UTC_TIMESTAMP(), 1, @species); SELECT LAST_INSERT_ID()",
new MySqlParameter("@pid", record.PID),
new MySqlParameter("@data", record.Data),
- new MySqlParameter("@species", record.Species));
+ new MySqlParameter("@species", record.Species)));
tran.Commit();
return serial;
}
@@ -968,10 +968,10 @@ namespace PkmnFoundations.Data
byte[] data = new byte[224];
reader.GetBytes(2, 0, data, 0, 224);
- return new DressupRecord4(reader.GetInt32(0), reader.GetInt64(1), data);
+ return new DressupRecord4(reader.GetInt32(0), reader.GetUInt64(1), data);
}
- public override long BoxUpload4(BoxRecord4 record)
+ public override ulong BoxUpload4(BoxRecord4 record)
{
if (record.Data.Length != 540) throw new ArgumentException("Box data must be 540 bytes.");
using (MySqlConnection db = CreateConnection())
@@ -984,12 +984,12 @@ namespace PkmnFoundations.Data
if (record.SerialNumber == 0)
{
- long serial = (long)tran.ExecuteScalar("INSERT INTO TerminalBoxes4 (pid, " +
+ ulong serial = Convert.ToUInt64(tran.ExecuteScalar("INSERT INTO TerminalBoxes4 (pid, " +
"Data, md5, TimeAdded, ParseVersion, Label) VALUES (@pid, @data, " +
"unhex(md5(@data)), UTC_TIMESTAMP(), 1, @label); SELECT LAST_INSERT_ID()",
new MySqlParameter("@pid", record.PID),
new MySqlParameter("@data", record.Data),
- new MySqlParameter("@label", (int)record.Label));
+ new MySqlParameter("@label", (int)record.Label)));
tran.Commit();
return serial;
}
@@ -1038,10 +1038,10 @@ namespace PkmnFoundations.Data
byte[] data = new byte[540];
reader.GetBytes(3, 0, data, 0, 540);
- return new BoxRecord4(reader.GetInt32(0), (BoxLabels4)reader.GetInt32(1), reader.GetInt64(2), data);
+ return new BoxRecord4(reader.GetInt32(0), (BoxLabels4)reader.GetInt32(1), reader.GetUInt64(2), data);
}
- public override long BattleVideoUpload4(BattleVideoRecord4 record)
+ public override ulong BattleVideoUpload4(BattleVideoRecord4 record)
{
if (record.Data.Length != 7272) throw new ArgumentException();
if (record.Header.Data.Length != 228) throw new ArgumentException();
@@ -1060,7 +1060,7 @@ namespace PkmnFoundations.Data
if (record.SerialNumber == 0)
{
- long key = (long)tran.ExecuteScalar("INSERT INTO TerminalBattleVideos4 " +
+ ulong key = Convert.ToUInt64(tran.ExecuteScalar("INSERT INTO TerminalBattleVideos4 " +
"(pid, Header, Data, md5, TimeAdded, ParseVersion, Streak, TrainerName, " +
"Metagame, Country, Region) " +
"VALUES (@pid, @header, @data, unhex(md5(CONCAT(@header, @data))), " +
@@ -1074,8 +1074,8 @@ namespace PkmnFoundations.Data
new MySqlParameter("@metagame", (byte)record.Header.Metagame),
new MySqlParameter("@country", (byte)record.Header.Country),
new MySqlParameter("@region", (byte)record.Header.Region)
- );
- long serial = BattleVideoHeader4.KeyToSerial((long)key);
+ ));
+ ulong serial = BattleVideoHeader4.KeyToSerial(key);
tran.ExecuteNonQuery("UPDATE TerminalBattleVideos4 SET " +
"SerialNumber = @serial WHERE id = @key",
@@ -1090,7 +1090,7 @@ namespace PkmnFoundations.Data
}
else
{
- ulong key = (ulong)BattleVideoHeader4.SerialToKey(record.SerialNumber);
+ ulong key = BattleVideoHeader4.SerialToKey(record.SerialNumber);
int rows = tran.ExecuteNonQuery("INSERT INTO TerminalBattleVideos4 " +
"(id, pid, SerialNumber, Header, Data, md5, TimeAdded, " +
@@ -1239,10 +1239,10 @@ namespace PkmnFoundations.Data
byte[] data = new byte[228];
reader.GetBytes(2, 0, data, 0, 228);
- return new BattleVideoHeader4(reader.GetInt32(0), reader.GetInt64(1), data);
+ return new BattleVideoHeader4(reader.GetInt32(0), reader.GetUInt64(1), data);
}
- public override BattleVideoRecord4 BattleVideoGet4(long serial, bool incrementViews = false)
+ public override BattleVideoRecord4 BattleVideoGet4(ulong serial, bool incrementViews = false)
{
String update = incrementViews ? "UPDATE TerminalBattleVideos4 " +
"SET Views = Views + 1 WHERE SerialNumber = @serial; "
@@ -1273,7 +1273,7 @@ namespace PkmnFoundations.Data
#endregion
#region Global Terminal 5
- public override long MusicalUpload5(MusicalRecord5 record)
+ public override ulong MusicalUpload5(MusicalRecord5 record)
{
if (record.Data.Length != 560) throw new ArgumentException();
@@ -1290,14 +1290,14 @@ namespace PkmnFoundations.Data
if (record.SerialNumber == 0)
{
- long serial = (long)tran.ExecuteScalar("INSERT INTO TerminalMusicals5 " +
+ ulong serial = Convert.ToUInt64(tran.ExecuteScalar("INSERT INTO TerminalMusicals5 " +
"(pid, Data, md5, TimeAdded, ParseVersion) " +
"VALUES (@pid, @data, unhex(md5(@data)), " +
"UTC_TIMESTAMP(), 1); " +
"SELECT LAST_INSERT_ID()",
new MySqlParameter("@pid", record.PID),
new MySqlParameter("@data", record.Data)
- );
+ ));
// todo: make a proc to insert both musical and party.
InsertMusicalParticipants5(record, serial, tran);
@@ -1327,7 +1327,7 @@ namespace PkmnFoundations.Data
}
}
- private void InsertMusicalParticipants5(MusicalRecord5 record, long SerialNumber, MySqlTransaction tran)
+ private void InsertMusicalParticipants5(MusicalRecord5 record, ulong SerialNumber, MySqlTransaction tran)
{
MySqlCommand cmd = new MySqlCommand("INSERT INTO " +
"TerminalMusicalPokemon5 (musical_id, Slot, Species) VALUES " +
@@ -1377,10 +1377,10 @@ namespace PkmnFoundations.Data
byte[] data = new byte[560];
reader.GetBytes(2, 0, data, 0, 560);
- return new MusicalRecord5(reader.GetInt32(0), reader.GetInt64(1), data);
+ return new MusicalRecord5(reader.GetInt32(0), reader.GetUInt64(1), data);
}
- public override long BattleVideoUpload5(BattleVideoRecord5 record)
+ public override ulong BattleVideoUpload5(BattleVideoRecord5 record)
{
if (record.Data.Length != 6112) throw new ArgumentException();
if (record.Header.Data.Length != 196) throw new ArgumentException();
@@ -1399,7 +1399,7 @@ namespace PkmnFoundations.Data
if (record.SerialNumber == 0)
{
- long key = (long)tran.ExecuteScalar("INSERT INTO TerminalBattleVideos5 " +
+ ulong key = Convert.ToUInt64(tran.ExecuteScalar("INSERT INTO TerminalBattleVideos5 " +
"(pid, Header, Data, md5, TimeAdded, ParseVersion, Streak, TrainerName, " +
"Metagame, Country, Region) " +
"VALUES (@pid, @header, @data, unhex(md5(CONCAT(@header, @data))), " +
@@ -1413,8 +1413,8 @@ namespace PkmnFoundations.Data
new MySqlParameter("@metagame", (byte)record.Header.Metagame),
new MySqlParameter("@country", (byte)record.Header.Country),
new MySqlParameter("@region", (byte)record.Header.Region)
- );
- long serial = BattleVideoHeader4.KeyToSerial((long)key);
+ ));
+ ulong serial = BattleVideoHeader4.KeyToSerial(key);
tran.ExecuteNonQuery("UPDATE TerminalBattleVideos5 SET " +
"SerialNumber = @serial WHERE id = @key",
@@ -1589,10 +1589,10 @@ namespace PkmnFoundations.Data
byte[] data = new byte[196];
reader.GetBytes(2, 0, data, 0, 196);
- return new BattleVideoHeader5(reader.GetInt32(0), reader.GetInt64(1), data);
+ return new BattleVideoHeader5(reader.GetInt32(0), reader.GetUInt64(1), data);
}
- public override BattleVideoRecord5 BattleVideoGet5(long serial, bool incrementViews = false)
+ public override BattleVideoRecord5 BattleVideoGet5(ulong serial, bool incrementViews = false)
{
String update = incrementViews ? "UPDATE TerminalBattleVideos5 " +
"SET Views = Views + 1 WHERE SerialNumber = @serial; "
diff --git a/library/Structures/BattleVideoHeader4.cs b/library/Structures/BattleVideoHeader4.cs
index baf5f13d..9d864d17 100644
--- a/library/Structures/BattleVideoHeader4.cs
+++ b/library/Structures/BattleVideoHeader4.cs
@@ -11,7 +11,7 @@ namespace PkmnFoundations.Structures
{
}
- public BattleVideoHeader4(int pid, long serial_number, byte[] data)
+ public BattleVideoHeader4(int pid, ulong serial_number, byte[] data)
{
if (data.Length != 228) throw new ArgumentException("Battle video header data must be 228 bytes.");
@@ -22,7 +22,7 @@ namespace PkmnFoundations.Structures
// todo: encapsulate these so calculated fields are always correct
public int PID;
- public long SerialNumber;
+ public ulong SerialNumber;
public byte[] Data;
public ushort Streak
@@ -144,7 +144,7 @@ namespace PkmnFoundations.Structures
///
/// Converts a primary key (auto incrementing) into a Battle Video ID.
///
- public static long KeyToSerial(long key)
+ public static ulong KeyToSerial(ulong key)
{
if (key > 899999999999L || key < 0L) throw new ArgumentOutOfRangeException();
@@ -184,7 +184,7 @@ namespace PkmnFoundations.Structures
///
/// Converts Battle Video ID back into a primary key.
///
- public static long SerialToKey(long serial)
+ public static ulong SerialToKey(ulong serial)
{
if (serial > 999999999999L || serial < 100000000000L)
throw new ArgumentOutOfRangeException();
@@ -220,7 +220,7 @@ namespace PkmnFoundations.Structures
return DigitsToLong(serialDigits);
}
- private static byte[] LongToDigits(long value)
+ private static byte[] LongToDigits(ulong value)
{
if (value > 999999999999L || value < 0L) throw new ArgumentException();
byte[] result = new byte[12];
@@ -232,11 +232,11 @@ namespace PkmnFoundations.Structures
return result;
}
- private static long DigitsToLong(byte[] digits)
+ private static ulong DigitsToLong(byte[] digits)
{
if (digits.Length != 12) throw new ArgumentException();
- long result = 0;
- long pow = 1;
+ ulong result = 0;
+ ulong pow = 1;
for (int x = 11; x >= 0; x--)
{
if (digits[x] > 9) throw new ArgumentException();
@@ -248,7 +248,7 @@ namespace PkmnFoundations.Structures
#endregion
- public static String FormatSerial(long serial)
+ public static String FormatSerial(ulong serial)
{
String number = serial.ToString("D12");
String[] split = new String[3];
diff --git a/library/Structures/BattleVideoHeader5.cs b/library/Structures/BattleVideoHeader5.cs
index 6a490c6a..81526759 100644
--- a/library/Structures/BattleVideoHeader5.cs
+++ b/library/Structures/BattleVideoHeader5.cs
@@ -11,7 +11,7 @@ namespace PkmnFoundations.Structures
{
}
- public BattleVideoHeader5(int pid, long serial_number, byte[] data)
+ public BattleVideoHeader5(int pid, ulong serial_number, byte[] data)
{
if (data.Length != 196) throw new ArgumentException("Battle video header data must be 196 bytes.");
@@ -22,7 +22,7 @@ namespace PkmnFoundations.Structures
// todo: encapsulate these so calculated fields are always correct
public int PID;
- public long SerialNumber;
+ public ulong SerialNumber;
public byte[] Data;
public ushort Streak
diff --git a/library/Structures/BattleVideoRecord4.cs b/library/Structures/BattleVideoRecord4.cs
index c904f0bc..91d8c73a 100644
--- a/library/Structures/BattleVideoRecord4.cs
+++ b/library/Structures/BattleVideoRecord4.cs
@@ -11,7 +11,7 @@ namespace PkmnFoundations.Structures
{
}
- public BattleVideoRecord4(int pid, long serial_number, byte[] data)
+ public BattleVideoRecord4(int pid, ulong serial_number, byte[] data)
{
if (data.Length != 7500) throw new ArgumentException("Battle video data must be 7500 bytes.");
@@ -27,7 +27,7 @@ namespace PkmnFoundations.Structures
Data = data_main;
}
- public BattleVideoRecord4(int pid, long serial_number, BattleVideoHeader4 header, byte[] data_main)
+ public BattleVideoRecord4(int pid, ulong serial_number, BattleVideoHeader4 header, byte[] data_main)
{
if (data_main.Length != 7272) throw new ArgumentException("Battle video main data must be 7272 bytes.");
@@ -38,7 +38,7 @@ namespace PkmnFoundations.Structures
}
public int PID;
- public long SerialNumber;
+ public ulong SerialNumber;
public BattleVideoHeader4 Header;
public byte[] Data;
diff --git a/library/Structures/BattleVideoRecord5.cs b/library/Structures/BattleVideoRecord5.cs
index 10926731..301f49a0 100644
--- a/library/Structures/BattleVideoRecord5.cs
+++ b/library/Structures/BattleVideoRecord5.cs
@@ -11,7 +11,7 @@ namespace PkmnFoundations.Structures
{
}
- public BattleVideoRecord5(int pid, long serial_number, byte[] data)
+ public BattleVideoRecord5(int pid, ulong serial_number, byte[] data)
{
if (data.Length != 6308) throw new ArgumentException("Battle video data must be 6308 bytes.");
@@ -27,7 +27,7 @@ namespace PkmnFoundations.Structures
Data = data_main;
}
- public BattleVideoRecord5(int pid, long serial_number, BattleVideoHeader5 header, byte[] data_main)
+ public BattleVideoRecord5(int pid, ulong serial_number, BattleVideoHeader5 header, byte[] data_main)
{
if (data_main.Length != 6112) throw new ArgumentException("Battle video main data must be 6112 bytes.");
@@ -38,7 +38,7 @@ namespace PkmnFoundations.Structures
}
public int PID;
- public long SerialNumber;
+ public ulong SerialNumber;
public BattleVideoHeader5 Header;
public byte[] Data;
diff --git a/library/Structures/BoxRecord4.cs b/library/Structures/BoxRecord4.cs
index 87171fa6..47042b23 100644
--- a/library/Structures/BoxRecord4.cs
+++ b/library/Structures/BoxRecord4.cs
@@ -11,7 +11,7 @@ namespace PkmnFoundations.Structures
{
}
- public BoxRecord4(int pid, BoxLabels4 label, long serial_number, byte[] data)
+ public BoxRecord4(int pid, BoxLabels4 label, ulong serial_number, byte[] data)
{
if (data.Length != 540) throw new ArgumentException("Box data must be 540 bytes.");
@@ -24,7 +24,7 @@ namespace PkmnFoundations.Structures
// todo: encapsulate these so calculated fields are always correct
public int PID;
public BoxLabels4 Label;
- public long SerialNumber;
+ public ulong SerialNumber;
public byte[] Data;
public BoxRecord4 Clone()
diff --git a/library/Structures/DressupRecord4.cs b/library/Structures/DressupRecord4.cs
index 9244f1a2..0ecf56bc 100644
--- a/library/Structures/DressupRecord4.cs
+++ b/library/Structures/DressupRecord4.cs
@@ -11,7 +11,7 @@ namespace PkmnFoundations.Structures
{
}
- public DressupRecord4(int pid, long serial_number, byte[] data)
+ public DressupRecord4(int pid, ulong serial_number, byte[] data)
{
if (data.Length != 224) throw new ArgumentException("Dressup data must be 224 bytes.");
@@ -22,7 +22,7 @@ namespace PkmnFoundations.Structures
// todo: encapsulate these so calculated fields are always correct
public int PID;
- public long SerialNumber;
+ public ulong SerialNumber;
public byte[] Data;
public ushort Species
diff --git a/library/Structures/MusicalRecord5.cs b/library/Structures/MusicalRecord5.cs
index 3cda2b3e..a50e3e0b 100644
--- a/library/Structures/MusicalRecord5.cs
+++ b/library/Structures/MusicalRecord5.cs
@@ -11,7 +11,7 @@ namespace PkmnFoundations.Structures
{
}
- public MusicalRecord5(int pid, long serial_number, byte[] data)
+ public MusicalRecord5(int pid, ulong serial_number, byte[] data)
{
if (data.Length != 560) throw new ArgumentException("Musical data must be 560 bytes.");
@@ -23,7 +23,7 @@ namespace PkmnFoundations.Structures
// todo: encapsulate these so calculated fields are always correct
public int PID;
- public long SerialNumber;
+ public ulong SerialNumber;
private byte[] m_data;
public byte[] Data
diff --git a/library/database.sql b/library/database.sql
index 9ad8877e..b1777a18 100644
--- a/library/database.sql
+++ b/library/database.sql
@@ -7,7 +7,7 @@
#
# Host: 127.0.0.1 (MySQL 5.5.27)
# Database: gts
-# Generation Time: 2014-07-17 15:50:48 +0000
+# Generation Time: 2014-07-22 15:58:36 +0000
# ************************************************************
@@ -215,7 +215,7 @@ CREATE TABLE `FoundationsTypes` (
DROP TABLE IF EXISTS `GtsHistory4`;
CREATE TABLE `GtsHistory4` (
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`Data` blob NOT NULL,
`Species` smallint(5) unsigned NOT NULL,
`Gender` tinyint(3) unsigned NOT NULL,
@@ -230,7 +230,7 @@ CREATE TABLE `GtsHistory4` (
`TimeDeposited` datetime DEFAULT NULL,
`TimeExchanged` datetime DEFAULT NULL,
`pid` int(11) NOT NULL,
- `TrainerName` blob NOT NULL,
+ `TrainerName` binary(16) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
`TrainerOT` smallint(5) unsigned NOT NULL,
`TrainerCountry` tinyint(3) unsigned NOT NULL,
`TrainerRegion` tinyint(3) unsigned NOT NULL,
@@ -255,7 +255,7 @@ CREATE TABLE `GtsHistory4` (
DROP TABLE IF EXISTS `GtsHistory5`;
CREATE TABLE `GtsHistory5` (
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`Data` blob NOT NULL,
`Unknown0` blob NOT NULL,
`Species` smallint(5) unsigned NOT NULL,
@@ -272,7 +272,7 @@ CREATE TABLE `GtsHistory5` (
`TimeExchanged` datetime DEFAULT NULL,
`pid` int(11) NOT NULL,
`TrainerOT` int(11) unsigned NOT NULL,
- `TrainerName` blob NOT NULL,
+ `TrainerName` binary(16) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
`TrainerCountry` tinyint(3) unsigned NOT NULL,
`TrainerRegion` tinyint(3) unsigned NOT NULL,
`TrainerClass` tinyint(3) unsigned NOT NULL,
@@ -298,7 +298,7 @@ CREATE TABLE `GtsHistory5` (
DROP TABLE IF EXISTS `GtsPokemon4`;
CREATE TABLE `GtsPokemon4` (
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`Data` blob NOT NULL,
`Species` smallint(5) unsigned NOT NULL,
`Gender` tinyint(3) unsigned NOT NULL,
@@ -313,7 +313,7 @@ CREATE TABLE `GtsPokemon4` (
`TimeDeposited` datetime DEFAULT NULL,
`TimeExchanged` datetime DEFAULT NULL,
`pid` int(11) NOT NULL,
- `TrainerName` blob NOT NULL,
+ `TrainerName` binary(16) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
`TrainerOT` smallint(5) unsigned NOT NULL,
`TrainerCountry` tinyint(3) unsigned NOT NULL,
`TrainerRegion` tinyint(3) unsigned NOT NULL,
@@ -337,7 +337,7 @@ CREATE TABLE `GtsPokemon4` (
DROP TABLE IF EXISTS `GtsPokemon5`;
CREATE TABLE `GtsPokemon5` (
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`Data` blob NOT NULL,
`Unknown0` blob NOT NULL,
`Species` smallint(5) unsigned NOT NULL,
@@ -354,7 +354,7 @@ CREATE TABLE `GtsPokemon5` (
`TimeExchanged` datetime DEFAULT NULL,
`pid` int(11) NOT NULL,
`TrainerOT` int(11) unsigned NOT NULL,
- `TrainerName` blob NOT NULL,
+ `TrainerName` binary(16) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
`TrainerCountry` tinyint(3) unsigned NOT NULL,
`TrainerRegion` tinyint(3) unsigned NOT NULL,
`TrainerClass` tinyint(3) unsigned NOT NULL,
@@ -379,20 +379,18 @@ CREATE TABLE `GtsPokemon5` (
DROP TABLE IF EXISTS `GtsProfiles4`;
CREATE TABLE `GtsProfiles4` (
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`pid` int(11) NOT NULL,
`Data` blob NOT NULL,
`Version` tinyint(3) unsigned NOT NULL,
`Language` tinyint(3) unsigned NOT NULL,
`Country` tinyint(3) unsigned NOT NULL,
`Region` tinyint(3) unsigned NOT NULL,
- `OT` int(11) unsigned NOT NULL,
- `Name` blob NOT NULL,
- `ParseVersion` int(11) unsigned NOT NULL,
+ `OT` int(10) unsigned NOT NULL,
+ `Name` binary(16) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
+ `ParseVersion` int(10) unsigned NOT NULL,
`TimeAdded` datetime DEFAULT NULL,
`TimeUpdated` datetime DEFAULT NULL,
- PRIMARY KEY (`id`),
- KEY `pid` (`pid`)
+ PRIMARY KEY (`pid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@@ -403,7 +401,6 @@ CREATE TABLE `GtsProfiles4` (
DROP TABLE IF EXISTS `GtsProfiles5`;
CREATE TABLE `GtsProfiles5` (
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`pid` int(11) NOT NULL,
`Data` blob NOT NULL,
`Version` tinyint(3) unsigned NOT NULL,
@@ -411,12 +408,11 @@ CREATE TABLE `GtsProfiles5` (
`Country` tinyint(3) unsigned NOT NULL,
`Region` tinyint(3) unsigned NOT NULL,
`OT` int(11) unsigned NOT NULL,
- `Name` blob NOT NULL,
+ `Name` binary(16) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
`ParseVersion` int(11) unsigned NOT NULL,
`TimeAdded` datetime DEFAULT NULL,
`TimeUpdated` datetime DEFAULT NULL,
- PRIMARY KEY (`id`),
- KEY `pid` (`pid`)
+ PRIMARY KEY (`pid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@@ -461,13 +457,13 @@ DROP TABLE IF EXISTS `TerminalBattleVideos4`;
CREATE TABLE `TerminalBattleVideos4` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`pid` int(11) NOT NULL,
- `SerialNumber` bigint(20) DEFAULT NULL,
+ `SerialNumber` bigint(20) unsigned DEFAULT NULL,
`Header` blob NOT NULL,
`Data` blob NOT NULL,
`md5` binary(16) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
`TimeAdded` datetime NOT NULL,
- `ParseVersion` int(11) NOT NULL,
- `TrainerName` blob NOT NULL,
+ `ParseVersion` int(10) unsigned NOT NULL,
+ `TrainerName` binary(16) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
`Streak` smallint(5) unsigned DEFAULT NULL,
`Metagame` tinyint(3) unsigned NOT NULL,
`Country` tinyint(3) unsigned NOT NULL,
@@ -492,13 +488,13 @@ DROP TABLE IF EXISTS `TerminalBattleVideos5`;
CREATE TABLE `TerminalBattleVideos5` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`pid` int(11) NOT NULL,
- `SerialNumber` bigint(20) DEFAULT NULL,
+ `SerialNumber` bigint(20) unsigned DEFAULT NULL,
`Header` blob NOT NULL,
`Data` blob NOT NULL,
`md5` binary(16) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
`TimeAdded` datetime NOT NULL,
- `ParseVersion` int(11) NOT NULL,
- `TrainerName` blob NOT NULL,
+ `ParseVersion` int(10) unsigned NOT NULL,
+ `TrainerName` binary(16) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
`Streak` smallint(5) unsigned DEFAULT NULL,
`Metagame` tinyint(3) unsigned NOT NULL,
`Country` tinyint(3) unsigned NOT NULL,
@@ -522,7 +518,7 @@ DROP TABLE IF EXISTS `TerminalBoxes4`;
CREATE TABLE `TerminalBoxes4` (
`pid` int(11) NOT NULL,
- `SerialNumber` bigint(20) NOT NULL AUTO_INCREMENT,
+ `SerialNumber` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`Data` blob NOT NULL,
`md5` binary(16) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
`TimeAdded` datetime NOT NULL,
@@ -543,7 +539,7 @@ DROP TABLE IF EXISTS `TerminalDressup4`;
CREATE TABLE `TerminalDressup4` (
`pid` int(11) NOT NULL,
- `SerialNumber` bigint(20) NOT NULL AUTO_INCREMENT,
+ `SerialNumber` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`Data` blob NOT NULL,
`md5` binary(16) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
`TimeAdded` datetime NOT NULL,
@@ -563,7 +559,7 @@ CREATE TABLE `TerminalDressup4` (
DROP TABLE IF EXISTS `TerminalMusicalPokemon5`;
CREATE TABLE `TerminalMusicalPokemon5` (
- `musical_id` bigint(20) NOT NULL,
+ `musical_id` bigint(20) unsigned NOT NULL,
`Slot` tinyint(3) unsigned NOT NULL,
`Species` smallint(6) unsigned NOT NULL,
PRIMARY KEY (`musical_id`,`Slot`),
@@ -580,7 +576,7 @@ DROP TABLE IF EXISTS `TerminalMusicals5`;
CREATE TABLE `TerminalMusicals5` (
`pid` int(11) NOT NULL,
- `SerialNumber` bigint(20) NOT NULL AUTO_INCREMENT,
+ `SerialNumber` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`Data` blob NOT NULL,
`md5` binary(16) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
`TimeAdded` datetime NOT NULL,