mirror of
https://github.com/mm201/pkmn-classic-framework.git
synced 2026-03-22 01:44:20 -05:00
72 lines
2.0 KiB
C#
72 lines
2.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
using PkmnFoundations.Structures;
|
|
using PkmnFoundations.Data;
|
|
using PkmnFoundations.Web;
|
|
|
|
namespace PkmnFoundations.GTS.admin
|
|
{
|
|
public partial class AddBoxes : System.Web.UI.Page
|
|
{
|
|
protected void Page_Init(object sender, EventArgs e)
|
|
{
|
|
litMessage.Text = "";
|
|
}
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
protected void btnSend_Click(object sender, EventArgs e)
|
|
{
|
|
byte[] data = fuBox.FileBytes;
|
|
if (data.Length < 0xf8)
|
|
{
|
|
Fail(); return;
|
|
}
|
|
|
|
Common.CryptMessage(data);
|
|
if (data[0x04] != 0x09 ||
|
|
data[0x05] != 0x52 ||
|
|
data[0x06] != 0x00 ||
|
|
data[0x07] != 0x00)
|
|
{
|
|
Fail(); return;
|
|
}
|
|
|
|
int results = BitConverter.ToInt32(data, 0x08);
|
|
if (data.Length != 12 + 556 * results)
|
|
{
|
|
Fail(); return;
|
|
}
|
|
|
|
int added = 0;
|
|
|
|
for (int x = 0; x < results; x++)
|
|
{
|
|
int pid = BitConverter.ToInt32(data, 12 + 556 * x);
|
|
BoxLabels4 label = (BoxLabels4)BitConverter.ToInt32(data, 16 + 556 * x);
|
|
ulong serial = BitConverter.ToUInt64(data, 20 + 556 * x);
|
|
if (serial == 0) continue;
|
|
|
|
byte[] result = new byte[540];
|
|
Array.Copy(data, 28 + 556 * x, result, 0, 540);
|
|
|
|
BoxRecord4 record = new BoxRecord4(pid, label, serial, result);
|
|
if (Database.Instance.BoxUpload4(record) != 0) added++;
|
|
}
|
|
|
|
litMessage.Text = "Added " + added.ToString() + " boxes to the database.";
|
|
}
|
|
|
|
private void Fail()
|
|
{
|
|
litMessage.Text = "There was an error with the data.";
|
|
}
|
|
}
|
|
} |