Keeps the repo root clean - only README.md visible on landing page. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
56 lines
2.1 KiB
C#
56 lines
2.1 KiB
C#
bool stopSending = false;
|
|
var outProperties = Out.GetType().GetProperties();
|
|
var unknownPacketIds = new List<short>();
|
|
for (short i = 3070 ; i <= 4000; i++) {
|
|
try {
|
|
Header header = null;
|
|
bool isMapped = Messages.TryGetHeaderByValue(Destination.Server, Client, i, out header);
|
|
if (isMapped) {
|
|
string headerName = null;
|
|
foreach (var prop in outProperties) {
|
|
try {
|
|
if (prop.PropertyType.Name.Contains("Header")) {
|
|
var outHeader = prop.GetValue(Out);
|
|
if (outHeader != null) {
|
|
var flashProp = outHeader.GetType().GetProperty("Flash");
|
|
if (flashProp != null) {
|
|
var flash = flashProp.GetValue(outHeader);
|
|
if (flash != null) {
|
|
var valueProp = flash.GetType().GetProperty("Value");
|
|
if (valueProp != null) {
|
|
var value = valueProp.GetValue(flash);
|
|
if (value != null && value.ToString() == i.ToString()) {
|
|
headerName = prop.Name;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} catch { }
|
|
}
|
|
if (headerName == null) {
|
|
unknownPacketIds.Add(i);
|
|
}
|
|
}
|
|
} catch { }
|
|
}
|
|
foreach (var i in unknownPacketIds) {
|
|
try {
|
|
var customHeader = new Header(Destination.Server, i);
|
|
var packet = new Packet(customHeader, Client);
|
|
Send(packet);
|
|
Log($"Sent packet with ID: {i} as Unknown");
|
|
} catch (Exception ex) {
|
|
Log($"Error sending packet {i}: {ex.Message}");
|
|
}
|
|
try {
|
|
Delay(500);
|
|
} catch (Exception ex) {
|
|
if (ex.Message.Contains("canceled")) {
|
|
break;
|
|
}
|
|
}
|
|
}
|