forked from sin365/AxibugEmuOnline
Merge branch 'master' of http://git.axibug.com/sin365/AxibugEmuOnline
This commit is contained in:
commit
ace25f4a3f
@ -15,6 +15,10 @@ namespace AxiReplay
|
||||
/// </summary>
|
||||
public int mRemoteFrameIdx { get; private set; }
|
||||
/// <summary>
|
||||
/// 服务器远端当前提前量
|
||||
/// </summary>
|
||||
public int mRemoteForwardCount { get; private set; }
|
||||
/// <summary>
|
||||
/// Remote 2 Client Frame Gap
|
||||
/// </summary>
|
||||
public int mDiffFrameCount => mRemoteFrameIdx - mCurrClientFrameIdx;
|
||||
@ -110,19 +114,27 @@ namespace AxiReplay
|
||||
|
||||
public int GetSkipFrameCount()
|
||||
{
|
||||
var frameGap = mDiffFrameCount;
|
||||
if (frameGap > 10000) return 0;
|
||||
|
||||
int skip = 0;
|
||||
|
||||
if (frameGap <= 2) skip = 0;
|
||||
if (frameGap > 2 && frameGap < 6) skip = 1 + 1;
|
||||
else if (frameGap > 7 && frameGap < 12) skip = 2 + 1;
|
||||
else if (frameGap > 13 && frameGap < 20) skip = 3 + 1;
|
||||
else skip = frameGap - 2;
|
||||
|
||||
|
||||
//本地队列差异高于服务器提前量的值
|
||||
int moreNum = mDiffFrameCount - mRemoteForwardCount;
|
||||
if (mDiffFrameCount > short.MaxValue) skip = 0;
|
||||
else if (moreNum <= 1) skip = 0;
|
||||
else if (moreNum <= 3) skip = 2;
|
||||
else if (moreNum <= 6) skip = 2;
|
||||
else if (moreNum <= 20) skip = moreNum / 2; //20帧以内,平滑跳帧数
|
||||
else skip = moreNum;//完全追上
|
||||
return skip;
|
||||
|
||||
//var frameGap = mDiffFrameCount;
|
||||
//if (frameGap > 10000) return 0;
|
||||
//if (frameGap <= 2) skip = 0;
|
||||
//if (frameGap > 2 && frameGap < 6) skip = 1 + 1;
|
||||
//else if (frameGap > 7 && frameGap < 12) skip = 2 + 1;
|
||||
//else if (frameGap > 13 && frameGap < 20) skip = 3 + 1;
|
||||
//else skip = frameGap - 2;
|
||||
|
||||
|
||||
//return skip;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -25,6 +25,9 @@ namespace AxibugEmuOnline.Client
|
||||
|
||||
private void Start()
|
||||
{
|
||||
//关闭垂直同步
|
||||
QualitySettings.vSyncCount = 0;
|
||||
//设为60帧
|
||||
Application.targetFrameRate = 60;
|
||||
VideoProvider.NesEmu = this;
|
||||
AudioProvider.NesEmu = this;
|
||||
|
@ -66,60 +66,61 @@ namespace AxibugProtobuf {
|
||||
"Zm8iSwoVUHJvdG9idWZfU2NyZW5uX0ZyYW1lEg4KBlJvb21JRBgBIAEoBRIP",
|
||||
"CgdGcmFtZUlEGAIgASgFEhEKCVJhd0JpdG1hcBgDIAEoDCJJCiNQcm90b2J1",
|
||||
"Zl9Sb29tX1NpbmdsZVBsYXllcklucHV0RGF0YRIPCgdGcmFtZUlEGAEgASgN",
|
||||
"EhEKCUlucHV0RGF0YRgCIAEoDSJkCidQcm90b2J1Zl9Sb29tX1N5bl9Sb29t",
|
||||
"RnJhbWVBbGxJbnB1dERhdGESDwoHRnJhbWVJRBgBIAEoDRIRCglJbnB1dERh",
|
||||
"dGEYAiABKAQSFQoNU2VydmVyRnJhbWVJRBgDIAEoDSJVChRQcm90b2J1Zl9S",
|
||||
"b29tX0NyZWF0ZRIRCglHYW1lUm9tSUQYASABKAUSEwoLR2FtZVJvbUhhc2gY",
|
||||
"AiABKAkSFQoNSm9pblBsYXllcklkeBgDIAEoBSJZChlQcm90b2J1Zl9Sb29t",
|
||||
"X0NyZWF0ZV9SRVNQEjwKDFJvb21NaW5pSW5mbxgBIAEoCzImLkF4aWJ1Z1By",
|
||||
"b3RvYnVmLlByb3RvYnVmX1Jvb21fTWluaUluZm8iNwoSUHJvdG9idWZfUm9v",
|
||||
"bV9Kb2luEg4KBlJvb21JRBgBIAEoBRIRCglQbGF5ZXJOdW0YAiABKAUiVwoX",
|
||||
"UHJvdG9idWZfUm9vbV9Kb2luX1JFU1ASPAoMUm9vbU1pbmlJbmZvGAEgASgL",
|
||||
"MiYuQXhpYnVnUHJvdG9idWYuUHJvdG9idWZfUm9vbV9NaW5pSW5mbyIlChNQ",
|
||||
"cm90b2J1Zl9Sb29tX0xlYXZlEg4KBlJvb21JRBgBIAEoBSIqChhQcm90b2J1",
|
||||
"Zl9Sb29tX0xlYXZlX1JFU1ASDgoGUm9vbUlEGAEgASgFImEKIVByb3RvYnVm",
|
||||
"X1Jvb21fTXlSb29tX1N0YXRlX0NoYW5nZRI8CgxSb29tTWluaUluZm8YASAB",
|
||||
"KAsyJi5BeGlidWdQcm90b2J1Zi5Qcm90b2J1Zl9Sb29tX01pbmlJbmZvIkUK",
|
||||
"G1Byb3RvYnVmX1Jvb21fV2FpdFN0ZXBfUkVTUBIQCghXYWl0U3RlcBgBIAEo",
|
||||
"BRIUCgxMb2FkU3RhdGVSYXcYAiABKAwiPwonUHJvdG9idWZfUm9vbV9Ib3N0",
|
||||
"UGxheWVyX1VwZGF0ZVN0YXRlUmF3EhQKDExvYWRTdGF0ZVJhdxgBIAEoDCIu",
|
||||
"CixQcm90b2J1Zl9Sb29tX0hvc3RQbGF5ZXJfVXBkYXRlU3RhdGVSYXdfUkVT",
|
||||
"UCIcChpQcm90b2J1Zl9Sb29tX1BsYXllcl9SZWFkeSIqChhQcm90b2J1Zl9S",
|
||||
"b29tX0dldF9TY3JlZW4SDgoGUm9vbUlEGAEgASgFIlMKHVByb3RvYnVmX1Jv",
|
||||
"b21fR2V0X1NjcmVlbl9SRVNQEg4KBlJvb21JRBgBIAEoBRIPCgdGcmFtZUlE",
|
||||
"GAIgASgFEhEKCVJhd0JpdG1hcBgDIAEoDCJmChJQcm90b2J1Zl9HYW1lX01h",
|
||||
"cmsSDQoFUm9tSUQYASABKAUSDQoFc3RhdGUYAiABKAUSMgoMUGxhdGZvcm1U",
|
||||
"eXBlGAMgASgOMhwuQXhpYnVnUHJvdG9idWYuUGxhdGZvcm1UeXBlIlwKF1By",
|
||||
"b3RvYnVmX0dhbWVfTWFya19SRVNQEg0KBVJvbUlEGAEgASgFEjIKDFBsYXRm",
|
||||
"b3JtVHlwZRgCIAEoDjIcLkF4aWJ1Z1Byb3RvYnVmLlBsYXRmb3JtVHlwZSr+",
|
||||
"BAoJQ29tbWFuZElEEg4KCkNNRF9ERUZBVUwQABIMCghDTURfUElORxABEgwK",
|
||||
"CENNRF9QT05HEAISDgoJQ01EX0xPR0lOENEPEhgKE0NNRF9VU0VSX09OTElO",
|
||||
"RUxJU1QQuBcSEgoNQ01EX1VTRVJfSk9JThDXFxITCg5DTURfVVNFUl9MRUFW",
|
||||
"RRDYFxIaChVDTURfVVNFUl9TVEFURV9VUERBVEUQ2RcSGAoTQ01EX01vZGlm",
|
||||
"eV9OaWNrTmFtZRCdGBIcChdDTURfVXBkYXRlX1NlbGZVc2VySW5mbxCmGBId",
|
||||
"ChhDTURfVXBkYXRlX090aGVyVXNlckluZm8QqBgSEAoLQ01EX0NIQVRNU0cQ",
|
||||
"oR8SEgoNQ01EX1Jvb21fTGlzdBCJJxIZChRDTURfUm9vbV9MaXN0X1VwZGF0",
|
||||
"ZRCKJxIYChNDTURfUm9vbV9HZXRfU2NyZWVuEJMnEhQKD0NNRF9Sb29tX0Ny",
|
||||
"ZWF0ZRDtJxISCg1DTURfUm9vbV9Kb2luEPEnEhMKDkNNRF9Sb29tX0xlYXZl",
|
||||
"EPInEiIKHUNNRF9Sb29tX015Um9vbV9TdGF0ZV9DaGFuZ2VkEPYnEhYKEUNN",
|
||||
"RF9Sb29tX1dhaXRTdGVwENEoEicKIkNNRF9Sb29tX0hvc3RQbGF5ZXJfVXBk",
|
||||
"YXRlU3RhdGVSYXcQ1CgSGgoVQ01EX1Jvb21fUGxheWVyX1JlYWR5ENgoEiAK",
|
||||
"G0NNRF9Sb29tX1NpbmdlbF9QbGF5ZXJJbnB1dBD6LhIdChhDTURfUk9PTV9T",
|
||||
"WU5fUGxheWVySW5wdXQQ/y4SDwoKQ01EX1NjcmVlbhDZNhISCg1DTURfR0FN",
|
||||
"RV9NQVJLEPVOKtABCglFcnJvckNvZGUSEAoMRVJST1JfREVGQVVMEAASDAoI",
|
||||
"RVJST1JfT0sQARIYChRFUlJPUl9ST09NX05PVF9GT1VORBAKEicKI0VSUk9S",
|
||||
"X1JPT01fU0xPVF9BTFJFQURMWV9IQURfUExBWUVSEAsSIQodRVJST1JfUk9P",
|
||||
"TV9DQU5UX0RPX0NVUlJfU1RBVEUQMhIfChpFUlJPUl9ST01fQUxSRUFEWV9I",
|
||||
"QURfU1RBUhCTAxIcChdFUlJPUl9ST01fRE9OVF9IQURfU1RBUhCUAypACglM",
|
||||
"b2dpblR5cGUSDQoJVXNlRGV2aWNlEAASDgoKVXNlQWNjb3VudBABEhQKEFVz",
|
||||
"ZUhhb1l1ZUFjY291bnQQAipLCgpEZXZpY2VUeXBlEhYKEkRldmljZVR5cGVf",
|
||||
"RGVmYXVsdBAAEgYKAlBDEAESCwoHQW5kcm9pZBACEgcKA0lPUxADEgcKA1BT",
|
||||
"VhAEKiAKDFBsYXRmb3JtVHlwZRIHCgNBbGwQABIHCgNOZXMQASpwCg1Sb29t",
|
||||
"R2FtZVN0YXRlEhIKDk5vbmVfR2FtZVN0YXRlEAASDAoIT25seUhvc3QQARIR",
|
||||
"Cg1XYWl0UmF3VXBkYXRlEAISDQoJV2FpdFJlYWR5EAMSCQoFUGF1c2UQBBIQ",
|
||||
"CgxJbk9ubGluZUdhbWUQBSpOChFMb2dpblJlc3VsdFN0YXR1cxIhCh1Mb2dp",
|
||||
"blJlc3VsdFN0YXR1c19CYXNlRGVmYXVsdBAAEgYKAk9LEAESDgoKQWNjb3Vu",
|
||||
"dEVychACQgJIAWIGcHJvdG8z"));
|
||||
"EhEKCUlucHV0RGF0YRgCIAEoDSKAAQonUHJvdG9idWZfUm9vbV9TeW5fUm9v",
|
||||
"bUZyYW1lQWxsSW5wdXREYXRhEg8KB0ZyYW1lSUQYASABKA0SEQoJSW5wdXRE",
|
||||
"YXRhGAIgASgEEhUKDVNlcnZlckZyYW1lSUQYAyABKA0SGgoSU2VydmVyRm9y",
|
||||
"d2FyZENvdW50GAQgASgNIlUKFFByb3RvYnVmX1Jvb21fQ3JlYXRlEhEKCUdh",
|
||||
"bWVSb21JRBgBIAEoBRITCgtHYW1lUm9tSGFzaBgCIAEoCRIVCg1Kb2luUGxh",
|
||||
"eWVySWR4GAMgASgFIlkKGVByb3RvYnVmX1Jvb21fQ3JlYXRlX1JFU1ASPAoM",
|
||||
"Um9vbU1pbmlJbmZvGAEgASgLMiYuQXhpYnVnUHJvdG9idWYuUHJvdG9idWZf",
|
||||
"Um9vbV9NaW5pSW5mbyI3ChJQcm90b2J1Zl9Sb29tX0pvaW4SDgoGUm9vbUlE",
|
||||
"GAEgASgFEhEKCVBsYXllck51bRgCIAEoBSJXChdQcm90b2J1Zl9Sb29tX0pv",
|
||||
"aW5fUkVTUBI8CgxSb29tTWluaUluZm8YASABKAsyJi5BeGlidWdQcm90b2J1",
|
||||
"Zi5Qcm90b2J1Zl9Sb29tX01pbmlJbmZvIiUKE1Byb3RvYnVmX1Jvb21fTGVh",
|
||||
"dmUSDgoGUm9vbUlEGAEgASgFIioKGFByb3RvYnVmX1Jvb21fTGVhdmVfUkVT",
|
||||
"UBIOCgZSb29tSUQYASABKAUiYQohUHJvdG9idWZfUm9vbV9NeVJvb21fU3Rh",
|
||||
"dGVfQ2hhbmdlEjwKDFJvb21NaW5pSW5mbxgBIAEoCzImLkF4aWJ1Z1Byb3Rv",
|
||||
"YnVmLlByb3RvYnVmX1Jvb21fTWluaUluZm8iRQobUHJvdG9idWZfUm9vbV9X",
|
||||
"YWl0U3RlcF9SRVNQEhAKCFdhaXRTdGVwGAEgASgFEhQKDExvYWRTdGF0ZVJh",
|
||||
"dxgCIAEoDCI/CidQcm90b2J1Zl9Sb29tX0hvc3RQbGF5ZXJfVXBkYXRlU3Rh",
|
||||
"dGVSYXcSFAoMTG9hZFN0YXRlUmF3GAEgASgMIi4KLFByb3RvYnVmX1Jvb21f",
|
||||
"SG9zdFBsYXllcl9VcGRhdGVTdGF0ZVJhd19SRVNQIhwKGlByb3RvYnVmX1Jv",
|
||||
"b21fUGxheWVyX1JlYWR5IioKGFByb3RvYnVmX1Jvb21fR2V0X1NjcmVlbhIO",
|
||||
"CgZSb29tSUQYASABKAUiUwodUHJvdG9idWZfUm9vbV9HZXRfU2NyZWVuX1JF",
|
||||
"U1ASDgoGUm9vbUlEGAEgASgFEg8KB0ZyYW1lSUQYAiABKAUSEQoJUmF3Qml0",
|
||||
"bWFwGAMgASgMImYKElByb3RvYnVmX0dhbWVfTWFyaxINCgVSb21JRBgBIAEo",
|
||||
"BRINCgVzdGF0ZRgCIAEoBRIyCgxQbGF0Zm9ybVR5cGUYAyABKA4yHC5BeGli",
|
||||
"dWdQcm90b2J1Zi5QbGF0Zm9ybVR5cGUiXAoXUHJvdG9idWZfR2FtZV9NYXJr",
|
||||
"X1JFU1ASDQoFUm9tSUQYASABKAUSMgoMUGxhdGZvcm1UeXBlGAIgASgOMhwu",
|
||||
"QXhpYnVnUHJvdG9idWYuUGxhdGZvcm1UeXBlKv4ECglDb21tYW5kSUQSDgoK",
|
||||
"Q01EX0RFRkFVTBAAEgwKCENNRF9QSU5HEAESDAoIQ01EX1BPTkcQAhIOCglD",
|
||||
"TURfTE9HSU4Q0Q8SGAoTQ01EX1VTRVJfT05MSU5FTElTVBC4FxISCg1DTURf",
|
||||
"VVNFUl9KT0lOENcXEhMKDkNNRF9VU0VSX0xFQVZFENgXEhoKFUNNRF9VU0VS",
|
||||
"X1NUQVRFX1VQREFURRDZFxIYChNDTURfTW9kaWZ5X05pY2tOYW1lEJ0YEhwK",
|
||||
"F0NNRF9VcGRhdGVfU2VsZlVzZXJJbmZvEKYYEh0KGENNRF9VcGRhdGVfT3Ro",
|
||||
"ZXJVc2VySW5mbxCoGBIQCgtDTURfQ0hBVE1TRxChHxISCg1DTURfUm9vbV9M",
|
||||
"aXN0EIknEhkKFENNRF9Sb29tX0xpc3RfVXBkYXRlEIonEhgKE0NNRF9Sb29t",
|
||||
"X0dldF9TY3JlZW4QkycSFAoPQ01EX1Jvb21fQ3JlYXRlEO0nEhIKDUNNRF9S",
|
||||
"b29tX0pvaW4Q8ScSEwoOQ01EX1Jvb21fTGVhdmUQ8icSIgodQ01EX1Jvb21f",
|
||||
"TXlSb29tX1N0YXRlX0NoYW5nZWQQ9icSFgoRQ01EX1Jvb21fV2FpdFN0ZXAQ",
|
||||
"0SgSJwoiQ01EX1Jvb21fSG9zdFBsYXllcl9VcGRhdGVTdGF0ZVJhdxDUKBIa",
|
||||
"ChVDTURfUm9vbV9QbGF5ZXJfUmVhZHkQ2CgSIAobQ01EX1Jvb21fU2luZ2Vs",
|
||||
"X1BsYXllcklucHV0EPouEh0KGENNRF9ST09NX1NZTl9QbGF5ZXJJbnB1dBD/",
|
||||
"LhIPCgpDTURfU2NyZWVuENk2EhIKDUNNRF9HQU1FX01BUksQ9U4q0AEKCUVy",
|
||||
"cm9yQ29kZRIQCgxFUlJPUl9ERUZBVUwQABIMCghFUlJPUl9PSxABEhgKFEVS",
|
||||
"Uk9SX1JPT01fTk9UX0ZPVU5EEAoSJwojRVJST1JfUk9PTV9TTE9UX0FMUkVB",
|
||||
"RExZX0hBRF9QTEFZRVIQCxIhCh1FUlJPUl9ST09NX0NBTlRfRE9fQ1VSUl9T",
|
||||
"VEFURRAyEh8KGkVSUk9SX1JPTV9BTFJFQURZX0hBRF9TVEFSEJMDEhwKF0VS",
|
||||
"Uk9SX1JPTV9ET05UX0hBRF9TVEFSEJQDKkAKCUxvZ2luVHlwZRINCglVc2VE",
|
||||
"ZXZpY2UQABIOCgpVc2VBY2NvdW50EAESFAoQVXNlSGFvWXVlQWNjb3VudBAC",
|
||||
"KksKCkRldmljZVR5cGUSFgoSRGV2aWNlVHlwZV9EZWZhdWx0EAASBgoCUEMQ",
|
||||
"ARILCgdBbmRyb2lkEAISBwoDSU9TEAMSBwoDUFNWEAQqIAoMUGxhdGZvcm1U",
|
||||
"eXBlEgcKA0FsbBAAEgcKA05lcxABKnAKDVJvb21HYW1lU3RhdGUSEgoOTm9u",
|
||||
"ZV9HYW1lU3RhdGUQABIMCghPbmx5SG9zdBABEhEKDVdhaXRSYXdVcGRhdGUQ",
|
||||
"AhINCglXYWl0UmVhZHkQAxIJCgVQYXVzZRAEEhAKDEluT25saW5lR2FtZRAF",
|
||||
"Kk4KEUxvZ2luUmVzdWx0U3RhdHVzEiEKHUxvZ2luUmVzdWx0U3RhdHVzX0Jh",
|
||||
"c2VEZWZhdWx0EAASBgoCT0sQARIOCgpBY2NvdW50RXJyEAJCAkgBYgZwcm90",
|
||||
"bzM="));
|
||||
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
|
||||
new pbr::FileDescriptor[] { },
|
||||
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::AxibugProtobuf.CommandID), typeof(global::AxibugProtobuf.ErrorCode), typeof(global::AxibugProtobuf.LoginType), typeof(global::AxibugProtobuf.DeviceType), typeof(global::AxibugProtobuf.PlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] {
|
||||
@ -145,7 +146,7 @@ namespace AxibugProtobuf {
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Update_RESP), global::AxibugProtobuf.Protobuf_Room_Update_RESP.Parser, new[]{ "UpdateType", "RoomMiniInfo" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Screnn_Frame), global::AxibugProtobuf.Protobuf_Screnn_Frame.Parser, new[]{ "RoomID", "FrameID", "RawBitmap" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_SinglePlayerInputData), global::AxibugProtobuf.Protobuf_Room_SinglePlayerInputData.Parser, new[]{ "FrameID", "InputData" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Syn_RoomFrameAllInputData), global::AxibugProtobuf.Protobuf_Room_Syn_RoomFrameAllInputData.Parser, new[]{ "FrameID", "InputData", "ServerFrameID" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Syn_RoomFrameAllInputData), global::AxibugProtobuf.Protobuf_Room_Syn_RoomFrameAllInputData.Parser, new[]{ "FrameID", "InputData", "ServerFrameID", "ServerForwardCount" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Create), global::AxibugProtobuf.Protobuf_Room_Create.Parser, new[]{ "GameRomID", "GameRomHash", "JoinPlayerIdx" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Create_RESP), global::AxibugProtobuf.Protobuf_Room_Create_RESP.Parser, new[]{ "RoomMiniInfo" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Join), global::AxibugProtobuf.Protobuf_Room_Join.Parser, new[]{ "RoomID", "PlayerNum" }, null, null, null, null),
|
||||
@ -5492,6 +5493,7 @@ namespace AxibugProtobuf {
|
||||
frameID_ = other.frameID_;
|
||||
inputData_ = other.inputData_;
|
||||
serverFrameID_ = other.serverFrameID_;
|
||||
serverForwardCount_ = other.serverForwardCount_;
|
||||
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
||||
}
|
||||
|
||||
@ -5542,6 +5544,20 @@ namespace AxibugProtobuf {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "ServerForwardCount" field.</summary>
|
||||
public const int ServerForwardCountFieldNumber = 4;
|
||||
private uint serverForwardCount_;
|
||||
/// <summary>
|
||||
///服务器提前量
|
||||
/// </summary>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public uint ServerForwardCount {
|
||||
get { return serverForwardCount_; }
|
||||
set {
|
||||
serverForwardCount_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public override bool Equals(object other) {
|
||||
return Equals(other as Protobuf_Room_Syn_RoomFrameAllInputData);
|
||||
@ -5558,6 +5574,7 @@ namespace AxibugProtobuf {
|
||||
if (FrameID != other.FrameID) return false;
|
||||
if (InputData != other.InputData) return false;
|
||||
if (ServerFrameID != other.ServerFrameID) return false;
|
||||
if (ServerForwardCount != other.ServerForwardCount) return false;
|
||||
return Equals(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
@ -5567,6 +5584,7 @@ namespace AxibugProtobuf {
|
||||
if (FrameID != 0) hash ^= FrameID.GetHashCode();
|
||||
if (InputData != 0UL) hash ^= InputData.GetHashCode();
|
||||
if (ServerFrameID != 0) hash ^= ServerFrameID.GetHashCode();
|
||||
if (ServerForwardCount != 0) hash ^= ServerForwardCount.GetHashCode();
|
||||
if (_unknownFields != null) {
|
||||
hash ^= _unknownFields.GetHashCode();
|
||||
}
|
||||
@ -5595,6 +5613,10 @@ namespace AxibugProtobuf {
|
||||
output.WriteRawTag(24);
|
||||
output.WriteUInt32(ServerFrameID);
|
||||
}
|
||||
if (ServerForwardCount != 0) {
|
||||
output.WriteRawTag(32);
|
||||
output.WriteUInt32(ServerForwardCount);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(output);
|
||||
}
|
||||
@ -5616,6 +5638,10 @@ namespace AxibugProtobuf {
|
||||
output.WriteRawTag(24);
|
||||
output.WriteUInt32(ServerFrameID);
|
||||
}
|
||||
if (ServerForwardCount != 0) {
|
||||
output.WriteRawTag(32);
|
||||
output.WriteUInt32(ServerForwardCount);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(ref output);
|
||||
}
|
||||
@ -5634,6 +5660,9 @@ namespace AxibugProtobuf {
|
||||
if (ServerFrameID != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ServerFrameID);
|
||||
}
|
||||
if (ServerForwardCount != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ServerForwardCount);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
size += _unknownFields.CalculateSize();
|
||||
}
|
||||
@ -5654,6 +5683,9 @@ namespace AxibugProtobuf {
|
||||
if (other.ServerFrameID != 0) {
|
||||
ServerFrameID = other.ServerFrameID;
|
||||
}
|
||||
if (other.ServerForwardCount != 0) {
|
||||
ServerForwardCount = other.ServerForwardCount;
|
||||
}
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
@ -5680,6 +5712,10 @@ namespace AxibugProtobuf {
|
||||
ServerFrameID = input.ReadUInt32();
|
||||
break;
|
||||
}
|
||||
case 32: {
|
||||
ServerForwardCount = input.ReadUInt32();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -5706,6 +5742,10 @@ namespace AxibugProtobuf {
|
||||
ServerFrameID = input.ReadUInt32();
|
||||
break;
|
||||
}
|
||||
case 32: {
|
||||
ServerForwardCount = input.ReadUInt32();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -114,11 +114,19 @@ namespace AxibugEmuOnline.Server.Manager
|
||||
public ClientInfo JoinNewClient(long _uid, Socket _socket)
|
||||
{
|
||||
//也许这个函数需加lock
|
||||
ClientInfo cinfo = GetClientForSocket(_socket);
|
||||
//ClientInfo cinfo = GetClientForSocket(_socket);
|
||||
GetClientByUID(_uid, out ClientInfo cinfo, false);
|
||||
//如果连接还在
|
||||
if (cinfo != null)
|
||||
{
|
||||
cinfo.IsOffline = false;
|
||||
Socket oldsocket = cinfo._socket;
|
||||
cinfo._socket = _socket;
|
||||
|
||||
if (_DictSocketClient.ContainsKey(oldsocket))
|
||||
_DictSocketClient.Remove(oldsocket);
|
||||
|
||||
_DictSocketClient[_socket] = cinfo;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -105,6 +105,8 @@ namespace AxibugEmuOnline.Server
|
||||
}
|
||||
public void RoomLog(long uid, int platform, int RoomID, int RomID, RoomLogType state)
|
||||
{
|
||||
|
||||
return;
|
||||
MySqlConnection conn = Haoyue_SQLPoolManager.DequeueSQLConn("RoomLog");
|
||||
try
|
||||
{
|
||||
@ -352,7 +354,7 @@ namespace AxibugEmuOnline.Server
|
||||
else
|
||||
SendRoomUpdateToAll(room.RoomID, 0);
|
||||
|
||||
RoomLog(_c.UID,1,room.RoomID,room.GameRomID,RoomLogType.Leave);
|
||||
RoomLog(_c.UID, 1, room.RoomID, room.GameRomID, RoomLogType.Leave);
|
||||
}
|
||||
|
||||
public void OnHostPlayerUpdateStateRaw(Socket sk, byte[] reqData)
|
||||
@ -419,8 +421,8 @@ namespace AxibugEmuOnline.Server
|
||||
if (i + 1 == forwaFrame)//最后一帧
|
||||
{
|
||||
//写入操作前、将网络波动堆积,可能造成瞬时多个连续推帧结果(最后一帧除外)立即广播,不等16msTick
|
||||
if (forwaFrame > 1)
|
||||
room.SynInputData();
|
||||
//if (forwaFrame > 1)
|
||||
// room.SynInputData();
|
||||
|
||||
//推帧过程中,最后一帧才写入操作
|
||||
room.SetPlayerInput(_c.RoomState.PlayerIdx, msg.FrameID, temp);
|
||||
@ -592,7 +594,7 @@ namespace AxibugEmuOnline.Server
|
||||
/// <summary>
|
||||
/// 服务器提前帧数
|
||||
/// </summary>
|
||||
public int SrvForwardFrames { get; set; }
|
||||
public uint SrvForwardFrames { get; set; }
|
||||
|
||||
|
||||
bool IsAllReady()
|
||||
@ -759,6 +761,18 @@ namespace AxibugEmuOnline.Server
|
||||
mInputQueue.Clear();
|
||||
mDictPlayerIdx2SendQueue.Clear();
|
||||
|
||||
mCurrServerFrameId = 0;
|
||||
mCurrInputData.all = 1;
|
||||
|
||||
UpdateRoomForwardNum();
|
||||
|
||||
//服务器提前跑帧数
|
||||
for (int i = 0; i < SrvForwardFrames; i++)
|
||||
TakeFrame();
|
||||
}
|
||||
|
||||
public void UpdateRoomForwardNum()
|
||||
{
|
||||
List<ClientInfo> playerlist = GetAllPlayerClientList();
|
||||
double maxNetDelay = 0;
|
||||
for (int i = 0; i < playerlist.Count; i++)
|
||||
@ -766,53 +780,87 @@ namespace AxibugEmuOnline.Server
|
||||
ClientInfo player = playerlist[i];
|
||||
maxNetDelay = Math.Max(maxNetDelay, player.AveNetDelay);
|
||||
}
|
||||
|
||||
mCurrServerFrameId = 0;
|
||||
mCurrInputData.all = 1;
|
||||
|
||||
float MustTaskFrame = 3;
|
||||
|
||||
SrvForwardFrames = (int)((maxNetDelay / 0.016f) + MustTaskFrame);
|
||||
AppSrv.g_Log.Debug($"服务器提前跑帧数:({maxNetDelay} / {0.016f}) + {MustTaskFrame} = {SrvForwardFrames}");
|
||||
|
||||
//服务器提前跑帧数
|
||||
for (int i = 0; i < SrvForwardFrames; i++)
|
||||
TakeFrame();
|
||||
float MustTaskFrame = 1;
|
||||
SrvForwardFrames = (uint)((maxNetDelay / 0.016f) + MustTaskFrame);
|
||||
if (SrvForwardFrames < 2)
|
||||
SrvForwardFrames = 2;
|
||||
AppSrv.g_Log.Debug($"服务器提前跑帧数:Max(2,({maxNetDelay} / {0.016f}) + {MustTaskFrame}) = {SrvForwardFrames}");
|
||||
}
|
||||
|
||||
public void TakeFrame()
|
||||
{
|
||||
mInputQueue.Enqueue((mCurrServerFrameId, mCurrInputData));
|
||||
mCurrServerFrameId++;
|
||||
lock (synInputLock)
|
||||
{
|
||||
mInputQueue.Enqueue((mCurrServerFrameId, mCurrInputData));
|
||||
mCurrServerFrameId++;
|
||||
if (mCurrServerFrameId % 60 == 0)
|
||||
{
|
||||
UpdateRoomForwardNum();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ulong LastTestSend = 0;
|
||||
internal ulong LastTestRecv;
|
||||
|
||||
public List<double> send2time = new List<double>();
|
||||
const int SynLimitOnSec = 63;
|
||||
|
||||
/// <summary>
|
||||
/// 广播数据
|
||||
/// </summary>
|
||||
public void SynInputData()
|
||||
{
|
||||
List<(uint frameId, ServerInputSnapShot inputdata)> temp = null;
|
||||
bool flagInitList = false;
|
||||
lock (synInputLock)
|
||||
{
|
||||
double timeNow = AppSrv.g_Tick.timeNow;
|
||||
while (mInputQueue.Count > 0)
|
||||
{
|
||||
(uint frameId, ServerInputSnapShot inputdata) data = mInputQueue.Dequeue();
|
||||
Protobuf_Room_Syn_RoomFrameAllInputData resp = new Protobuf_Room_Syn_RoomFrameAllInputData()
|
||||
if (send2time.Count >= SynLimitOnSec)
|
||||
{
|
||||
FrameID = data.frameId,
|
||||
InputData = data.inputdata.all,
|
||||
ServerFrameID = mCurrServerFrameId
|
||||
};
|
||||
//if (LastTestSend != data.inputdata.all)
|
||||
//{
|
||||
// LastTestSend = data.inputdata.all;
|
||||
// AppSrv.g_Log.Debug($" {DateTime.Now.ToString("hh:mm:ss.fff")} SynInput=> RoomID->{RoomID} ServerFrameID->{mCurrServerFrameId} SynUIDs=>{string.Join(",", SynUIDs)} ");
|
||||
//}
|
||||
AppSrv.g_ClientMgr.ClientSend(SynUIDs, (int)CommandID.CmdRoomSynPlayerInput, (int)ErrorCode.ErrorOk, ProtoBufHelper.Serizlize(resp));
|
||||
//AppSrv.g_Log.Debug($" {DateTime.Now.ToString("hh:mm:ss.fff")} SynInput=> RoomID->{RoomID} ServerFrameID->{mCurrServerFrameId} SynUIDs=>{string.Join(",", SynUIDs)} ");
|
||||
//AppSrv.g_Log.Info($"{timeNow} - {send2time[0]} =>{timeNow - send2time[0]}");
|
||||
if (timeNow - send2time[0] < 1f) //最早的历史发送还在一秒之内
|
||||
break;
|
||||
else
|
||||
send2time.RemoveAt(0);
|
||||
}
|
||||
|
||||
if (!flagInitList)
|
||||
{
|
||||
flagInitList = true;
|
||||
temp = new List<(uint frameId, ServerInputSnapShot inputdata)>();
|
||||
}
|
||||
temp.Add(mInputQueue.Dequeue());
|
||||
send2time.Add(timeNow);
|
||||
}
|
||||
//while (mInputQueue.Count > 0)
|
||||
//{
|
||||
// temp.Add(mInputQueue.Dequeue());
|
||||
//}
|
||||
}
|
||||
|
||||
if (!flagInitList)
|
||||
return;
|
||||
|
||||
for (int i = 0; i < temp.Count; i++)
|
||||
{
|
||||
(uint frameId, ServerInputSnapShot inputdata) data = temp[i];
|
||||
|
||||
Protobuf_Room_Syn_RoomFrameAllInputData resp = new Protobuf_Room_Syn_RoomFrameAllInputData()
|
||||
{
|
||||
FrameID = data.frameId,
|
||||
InputData = data.inputdata.all,
|
||||
ServerFrameID = mCurrServerFrameId,
|
||||
ServerForwardCount = this.SrvForwardFrames
|
||||
};
|
||||
AppSrv.g_ClientMgr.ClientSend(SynUIDs, (int)CommandID.CmdRoomSynPlayerInput, (int)ErrorCode.ErrorOk, ProtoBufHelper.Serizlize(resp));
|
||||
//if (LastTestSend != data.inputdata.all)
|
||||
//{
|
||||
// LastTestSend = data.inputdata.all;
|
||||
// AppSrv.g_Log.Debug($" {DateTime.Now.ToString("hh:mm:ss.fff")} SynInput=> RoomID->{RoomID} ServerFrameID->{mCurrServerFrameId} SynUIDs=>{string.Join(",", SynUIDs)} ");
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5,6 +5,7 @@ namespace AxibugEmuOnline.Server.Manager
|
||||
public class TickManager
|
||||
{
|
||||
public Stopwatch sw;
|
||||
public double timeNow => sw.Elapsed.TotalSeconds;
|
||||
public enum TickType
|
||||
{
|
||||
Interval_16MS,
|
||||
|
@ -30,6 +30,8 @@ namespace AxibugEmuOnline.Server
|
||||
AppSrv.g_Log.Info($"GameState:{room.GameState}");
|
||||
AppSrv.g_Log.Info($"HostUID:{room.HostUID}");
|
||||
AppSrv.g_Log.Info($"mCurrFrameId:{room.mCurrServerFrameId}");
|
||||
AppSrv.g_Log.Info($"SrvForwardFrames:{room.SrvForwardFrames}");
|
||||
AppSrv.g_Log.Info($"room.send2time.Count:{room.send2time.Count}");
|
||||
AppSrv.g_Log.Info($"input all:{room.mCurrInputData.all}");
|
||||
AppSrv.g_Log.Info($"input p1:{room.mCurrInputData.p1_byte}");
|
||||
AppSrv.g_Log.Info($"input p2:{room.mCurrInputData.p2_byte}");
|
||||
|
@ -4,7 +4,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<History>True|2024-11-28T11:58:55.3995125Z||;True|2024-09-14T16:39:29.4677979+08:00||;True|2024-09-14T16:38:22.2398996+08:00||;True|2024-09-13T13:39:28.9591993+08:00||;True|2024-09-12T17:48:43.1521740+08:00||;True|2024-09-12T17:43:57.0504432+08:00||;True|2024-09-12T17:19:48.6392091+08:00||;True|2024-09-12T13:38:45.0141937+08:00||;False|2024-09-12T13:37:57.6131232+08:00||;True|2024-06-28T16:25:59.3159172+08:00||;True|2024-06-28T15:30:49.8257235+08:00||;</History>
|
||||
<History>True|2024-12-03T17:43:54.7646411Z||;True|2024-12-04T01:22:11.8117030+08:00||;True|2024-12-04T01:20:06.5770785+08:00||;True|2024-12-04T01:16:31.6391421+08:00||;True|2024-12-04T01:12:43.4697251+08:00||;True|2024-12-04T01:07:04.8333668+08:00||;True|2024-12-04T00:59:23.6611648+08:00||;True|2024-12-04T00:27:05.0229247+08:00||;True|2024-12-03T23:50:48.5712706+08:00||;True|2024-12-03T23:47:47.1095592+08:00||;True|2024-12-03T20:24:57.4098592+08:00||;True|2024-12-03T20:16:36.9886489+08:00||;True|2024-12-03T20:15:52.5482738+08:00||;True|2024-12-02T20:10:07.8192795+08:00||;True|2024-11-28T19:58:55.3995125+08:00||;True|2024-09-14T16:39:29.4677979+08:00||;True|2024-09-14T16:38:22.2398996+08:00||;True|2024-09-13T13:39:28.9591993+08:00||;True|2024-09-12T17:48:43.1521740+08:00||;True|2024-09-12T17:43:57.0504432+08:00||;True|2024-09-12T17:19:48.6392091+08:00||;True|2024-09-12T13:38:45.0141937+08:00||;False|2024-09-12T13:37:57.6131232+08:00||;True|2024-06-28T16:25:59.3159172+08:00||;True|2024-06-28T15:30:49.8257235+08:00||;</History>
|
||||
<LastFailureDetails />
|
||||
</PropertyGroup>
|
||||
</Project>
|
@ -66,60 +66,61 @@ namespace AxibugProtobuf {
|
||||
"Zm8iSwoVUHJvdG9idWZfU2NyZW5uX0ZyYW1lEg4KBlJvb21JRBgBIAEoBRIP",
|
||||
"CgdGcmFtZUlEGAIgASgFEhEKCVJhd0JpdG1hcBgDIAEoDCJJCiNQcm90b2J1",
|
||||
"Zl9Sb29tX1NpbmdsZVBsYXllcklucHV0RGF0YRIPCgdGcmFtZUlEGAEgASgN",
|
||||
"EhEKCUlucHV0RGF0YRgCIAEoDSJkCidQcm90b2J1Zl9Sb29tX1N5bl9Sb29t",
|
||||
"RnJhbWVBbGxJbnB1dERhdGESDwoHRnJhbWVJRBgBIAEoDRIRCglJbnB1dERh",
|
||||
"dGEYAiABKAQSFQoNU2VydmVyRnJhbWVJRBgDIAEoDSJVChRQcm90b2J1Zl9S",
|
||||
"b29tX0NyZWF0ZRIRCglHYW1lUm9tSUQYASABKAUSEwoLR2FtZVJvbUhhc2gY",
|
||||
"AiABKAkSFQoNSm9pblBsYXllcklkeBgDIAEoBSJZChlQcm90b2J1Zl9Sb29t",
|
||||
"X0NyZWF0ZV9SRVNQEjwKDFJvb21NaW5pSW5mbxgBIAEoCzImLkF4aWJ1Z1By",
|
||||
"b3RvYnVmLlByb3RvYnVmX1Jvb21fTWluaUluZm8iNwoSUHJvdG9idWZfUm9v",
|
||||
"bV9Kb2luEg4KBlJvb21JRBgBIAEoBRIRCglQbGF5ZXJOdW0YAiABKAUiVwoX",
|
||||
"UHJvdG9idWZfUm9vbV9Kb2luX1JFU1ASPAoMUm9vbU1pbmlJbmZvGAEgASgL",
|
||||
"MiYuQXhpYnVnUHJvdG9idWYuUHJvdG9idWZfUm9vbV9NaW5pSW5mbyIlChNQ",
|
||||
"cm90b2J1Zl9Sb29tX0xlYXZlEg4KBlJvb21JRBgBIAEoBSIqChhQcm90b2J1",
|
||||
"Zl9Sb29tX0xlYXZlX1JFU1ASDgoGUm9vbUlEGAEgASgFImEKIVByb3RvYnVm",
|
||||
"X1Jvb21fTXlSb29tX1N0YXRlX0NoYW5nZRI8CgxSb29tTWluaUluZm8YASAB",
|
||||
"KAsyJi5BeGlidWdQcm90b2J1Zi5Qcm90b2J1Zl9Sb29tX01pbmlJbmZvIkUK",
|
||||
"G1Byb3RvYnVmX1Jvb21fV2FpdFN0ZXBfUkVTUBIQCghXYWl0U3RlcBgBIAEo",
|
||||
"BRIUCgxMb2FkU3RhdGVSYXcYAiABKAwiPwonUHJvdG9idWZfUm9vbV9Ib3N0",
|
||||
"UGxheWVyX1VwZGF0ZVN0YXRlUmF3EhQKDExvYWRTdGF0ZVJhdxgBIAEoDCIu",
|
||||
"CixQcm90b2J1Zl9Sb29tX0hvc3RQbGF5ZXJfVXBkYXRlU3RhdGVSYXdfUkVT",
|
||||
"UCIcChpQcm90b2J1Zl9Sb29tX1BsYXllcl9SZWFkeSIqChhQcm90b2J1Zl9S",
|
||||
"b29tX0dldF9TY3JlZW4SDgoGUm9vbUlEGAEgASgFIlMKHVByb3RvYnVmX1Jv",
|
||||
"b21fR2V0X1NjcmVlbl9SRVNQEg4KBlJvb21JRBgBIAEoBRIPCgdGcmFtZUlE",
|
||||
"GAIgASgFEhEKCVJhd0JpdG1hcBgDIAEoDCJmChJQcm90b2J1Zl9HYW1lX01h",
|
||||
"cmsSDQoFUm9tSUQYASABKAUSDQoFc3RhdGUYAiABKAUSMgoMUGxhdGZvcm1U",
|
||||
"eXBlGAMgASgOMhwuQXhpYnVnUHJvdG9idWYuUGxhdGZvcm1UeXBlIlwKF1By",
|
||||
"b3RvYnVmX0dhbWVfTWFya19SRVNQEg0KBVJvbUlEGAEgASgFEjIKDFBsYXRm",
|
||||
"b3JtVHlwZRgCIAEoDjIcLkF4aWJ1Z1Byb3RvYnVmLlBsYXRmb3JtVHlwZSr+",
|
||||
"BAoJQ29tbWFuZElEEg4KCkNNRF9ERUZBVUwQABIMCghDTURfUElORxABEgwK",
|
||||
"CENNRF9QT05HEAISDgoJQ01EX0xPR0lOENEPEhgKE0NNRF9VU0VSX09OTElO",
|
||||
"RUxJU1QQuBcSEgoNQ01EX1VTRVJfSk9JThDXFxITCg5DTURfVVNFUl9MRUFW",
|
||||
"RRDYFxIaChVDTURfVVNFUl9TVEFURV9VUERBVEUQ2RcSGAoTQ01EX01vZGlm",
|
||||
"eV9OaWNrTmFtZRCdGBIcChdDTURfVXBkYXRlX1NlbGZVc2VySW5mbxCmGBId",
|
||||
"ChhDTURfVXBkYXRlX090aGVyVXNlckluZm8QqBgSEAoLQ01EX0NIQVRNU0cQ",
|
||||
"oR8SEgoNQ01EX1Jvb21fTGlzdBCJJxIZChRDTURfUm9vbV9MaXN0X1VwZGF0",
|
||||
"ZRCKJxIYChNDTURfUm9vbV9HZXRfU2NyZWVuEJMnEhQKD0NNRF9Sb29tX0Ny",
|
||||
"ZWF0ZRDtJxISCg1DTURfUm9vbV9Kb2luEPEnEhMKDkNNRF9Sb29tX0xlYXZl",
|
||||
"EPInEiIKHUNNRF9Sb29tX015Um9vbV9TdGF0ZV9DaGFuZ2VkEPYnEhYKEUNN",
|
||||
"RF9Sb29tX1dhaXRTdGVwENEoEicKIkNNRF9Sb29tX0hvc3RQbGF5ZXJfVXBk",
|
||||
"YXRlU3RhdGVSYXcQ1CgSGgoVQ01EX1Jvb21fUGxheWVyX1JlYWR5ENgoEiAK",
|
||||
"G0NNRF9Sb29tX1NpbmdlbF9QbGF5ZXJJbnB1dBD6LhIdChhDTURfUk9PTV9T",
|
||||
"WU5fUGxheWVySW5wdXQQ/y4SDwoKQ01EX1NjcmVlbhDZNhISCg1DTURfR0FN",
|
||||
"RV9NQVJLEPVOKtABCglFcnJvckNvZGUSEAoMRVJST1JfREVGQVVMEAASDAoI",
|
||||
"RVJST1JfT0sQARIYChRFUlJPUl9ST09NX05PVF9GT1VORBAKEicKI0VSUk9S",
|
||||
"X1JPT01fU0xPVF9BTFJFQURMWV9IQURfUExBWUVSEAsSIQodRVJST1JfUk9P",
|
||||
"TV9DQU5UX0RPX0NVUlJfU1RBVEUQMhIfChpFUlJPUl9ST01fQUxSRUFEWV9I",
|
||||
"QURfU1RBUhCTAxIcChdFUlJPUl9ST01fRE9OVF9IQURfU1RBUhCUAypACglM",
|
||||
"b2dpblR5cGUSDQoJVXNlRGV2aWNlEAASDgoKVXNlQWNjb3VudBABEhQKEFVz",
|
||||
"ZUhhb1l1ZUFjY291bnQQAipLCgpEZXZpY2VUeXBlEhYKEkRldmljZVR5cGVf",
|
||||
"RGVmYXVsdBAAEgYKAlBDEAESCwoHQW5kcm9pZBACEgcKA0lPUxADEgcKA1BT",
|
||||
"VhAEKiAKDFBsYXRmb3JtVHlwZRIHCgNBbGwQABIHCgNOZXMQASpwCg1Sb29t",
|
||||
"R2FtZVN0YXRlEhIKDk5vbmVfR2FtZVN0YXRlEAASDAoIT25seUhvc3QQARIR",
|
||||
"Cg1XYWl0UmF3VXBkYXRlEAISDQoJV2FpdFJlYWR5EAMSCQoFUGF1c2UQBBIQ",
|
||||
"CgxJbk9ubGluZUdhbWUQBSpOChFMb2dpblJlc3VsdFN0YXR1cxIhCh1Mb2dp",
|
||||
"blJlc3VsdFN0YXR1c19CYXNlRGVmYXVsdBAAEgYKAk9LEAESDgoKQWNjb3Vu",
|
||||
"dEVychACQgJIAWIGcHJvdG8z"));
|
||||
"EhEKCUlucHV0RGF0YRgCIAEoDSKAAQonUHJvdG9idWZfUm9vbV9TeW5fUm9v",
|
||||
"bUZyYW1lQWxsSW5wdXREYXRhEg8KB0ZyYW1lSUQYASABKA0SEQoJSW5wdXRE",
|
||||
"YXRhGAIgASgEEhUKDVNlcnZlckZyYW1lSUQYAyABKA0SGgoSU2VydmVyRm9y",
|
||||
"d2FyZENvdW50GAQgASgNIlUKFFByb3RvYnVmX1Jvb21fQ3JlYXRlEhEKCUdh",
|
||||
"bWVSb21JRBgBIAEoBRITCgtHYW1lUm9tSGFzaBgCIAEoCRIVCg1Kb2luUGxh",
|
||||
"eWVySWR4GAMgASgFIlkKGVByb3RvYnVmX1Jvb21fQ3JlYXRlX1JFU1ASPAoM",
|
||||
"Um9vbU1pbmlJbmZvGAEgASgLMiYuQXhpYnVnUHJvdG9idWYuUHJvdG9idWZf",
|
||||
"Um9vbV9NaW5pSW5mbyI3ChJQcm90b2J1Zl9Sb29tX0pvaW4SDgoGUm9vbUlE",
|
||||
"GAEgASgFEhEKCVBsYXllck51bRgCIAEoBSJXChdQcm90b2J1Zl9Sb29tX0pv",
|
||||
"aW5fUkVTUBI8CgxSb29tTWluaUluZm8YASABKAsyJi5BeGlidWdQcm90b2J1",
|
||||
"Zi5Qcm90b2J1Zl9Sb29tX01pbmlJbmZvIiUKE1Byb3RvYnVmX1Jvb21fTGVh",
|
||||
"dmUSDgoGUm9vbUlEGAEgASgFIioKGFByb3RvYnVmX1Jvb21fTGVhdmVfUkVT",
|
||||
"UBIOCgZSb29tSUQYASABKAUiYQohUHJvdG9idWZfUm9vbV9NeVJvb21fU3Rh",
|
||||
"dGVfQ2hhbmdlEjwKDFJvb21NaW5pSW5mbxgBIAEoCzImLkF4aWJ1Z1Byb3Rv",
|
||||
"YnVmLlByb3RvYnVmX1Jvb21fTWluaUluZm8iRQobUHJvdG9idWZfUm9vbV9X",
|
||||
"YWl0U3RlcF9SRVNQEhAKCFdhaXRTdGVwGAEgASgFEhQKDExvYWRTdGF0ZVJh",
|
||||
"dxgCIAEoDCI/CidQcm90b2J1Zl9Sb29tX0hvc3RQbGF5ZXJfVXBkYXRlU3Rh",
|
||||
"dGVSYXcSFAoMTG9hZFN0YXRlUmF3GAEgASgMIi4KLFByb3RvYnVmX1Jvb21f",
|
||||
"SG9zdFBsYXllcl9VcGRhdGVTdGF0ZVJhd19SRVNQIhwKGlByb3RvYnVmX1Jv",
|
||||
"b21fUGxheWVyX1JlYWR5IioKGFByb3RvYnVmX1Jvb21fR2V0X1NjcmVlbhIO",
|
||||
"CgZSb29tSUQYASABKAUiUwodUHJvdG9idWZfUm9vbV9HZXRfU2NyZWVuX1JF",
|
||||
"U1ASDgoGUm9vbUlEGAEgASgFEg8KB0ZyYW1lSUQYAiABKAUSEQoJUmF3Qml0",
|
||||
"bWFwGAMgASgMImYKElByb3RvYnVmX0dhbWVfTWFyaxINCgVSb21JRBgBIAEo",
|
||||
"BRINCgVzdGF0ZRgCIAEoBRIyCgxQbGF0Zm9ybVR5cGUYAyABKA4yHC5BeGli",
|
||||
"dWdQcm90b2J1Zi5QbGF0Zm9ybVR5cGUiXAoXUHJvdG9idWZfR2FtZV9NYXJr",
|
||||
"X1JFU1ASDQoFUm9tSUQYASABKAUSMgoMUGxhdGZvcm1UeXBlGAIgASgOMhwu",
|
||||
"QXhpYnVnUHJvdG9idWYuUGxhdGZvcm1UeXBlKv4ECglDb21tYW5kSUQSDgoK",
|
||||
"Q01EX0RFRkFVTBAAEgwKCENNRF9QSU5HEAESDAoIQ01EX1BPTkcQAhIOCglD",
|
||||
"TURfTE9HSU4Q0Q8SGAoTQ01EX1VTRVJfT05MSU5FTElTVBC4FxISCg1DTURf",
|
||||
"VVNFUl9KT0lOENcXEhMKDkNNRF9VU0VSX0xFQVZFENgXEhoKFUNNRF9VU0VS",
|
||||
"X1NUQVRFX1VQREFURRDZFxIYChNDTURfTW9kaWZ5X05pY2tOYW1lEJ0YEhwK",
|
||||
"F0NNRF9VcGRhdGVfU2VsZlVzZXJJbmZvEKYYEh0KGENNRF9VcGRhdGVfT3Ro",
|
||||
"ZXJVc2VySW5mbxCoGBIQCgtDTURfQ0hBVE1TRxChHxISCg1DTURfUm9vbV9M",
|
||||
"aXN0EIknEhkKFENNRF9Sb29tX0xpc3RfVXBkYXRlEIonEhgKE0NNRF9Sb29t",
|
||||
"X0dldF9TY3JlZW4QkycSFAoPQ01EX1Jvb21fQ3JlYXRlEO0nEhIKDUNNRF9S",
|
||||
"b29tX0pvaW4Q8ScSEwoOQ01EX1Jvb21fTGVhdmUQ8icSIgodQ01EX1Jvb21f",
|
||||
"TXlSb29tX1N0YXRlX0NoYW5nZWQQ9icSFgoRQ01EX1Jvb21fV2FpdFN0ZXAQ",
|
||||
"0SgSJwoiQ01EX1Jvb21fSG9zdFBsYXllcl9VcGRhdGVTdGF0ZVJhdxDUKBIa",
|
||||
"ChVDTURfUm9vbV9QbGF5ZXJfUmVhZHkQ2CgSIAobQ01EX1Jvb21fU2luZ2Vs",
|
||||
"X1BsYXllcklucHV0EPouEh0KGENNRF9ST09NX1NZTl9QbGF5ZXJJbnB1dBD/",
|
||||
"LhIPCgpDTURfU2NyZWVuENk2EhIKDUNNRF9HQU1FX01BUksQ9U4q0AEKCUVy",
|
||||
"cm9yQ29kZRIQCgxFUlJPUl9ERUZBVUwQABIMCghFUlJPUl9PSxABEhgKFEVS",
|
||||
"Uk9SX1JPT01fTk9UX0ZPVU5EEAoSJwojRVJST1JfUk9PTV9TTE9UX0FMUkVB",
|
||||
"RExZX0hBRF9QTEFZRVIQCxIhCh1FUlJPUl9ST09NX0NBTlRfRE9fQ1VSUl9T",
|
||||
"VEFURRAyEh8KGkVSUk9SX1JPTV9BTFJFQURZX0hBRF9TVEFSEJMDEhwKF0VS",
|
||||
"Uk9SX1JPTV9ET05UX0hBRF9TVEFSEJQDKkAKCUxvZ2luVHlwZRINCglVc2VE",
|
||||
"ZXZpY2UQABIOCgpVc2VBY2NvdW50EAESFAoQVXNlSGFvWXVlQWNjb3VudBAC",
|
||||
"KksKCkRldmljZVR5cGUSFgoSRGV2aWNlVHlwZV9EZWZhdWx0EAASBgoCUEMQ",
|
||||
"ARILCgdBbmRyb2lkEAISBwoDSU9TEAMSBwoDUFNWEAQqIAoMUGxhdGZvcm1U",
|
||||
"eXBlEgcKA0FsbBAAEgcKA05lcxABKnAKDVJvb21HYW1lU3RhdGUSEgoOTm9u",
|
||||
"ZV9HYW1lU3RhdGUQABIMCghPbmx5SG9zdBABEhEKDVdhaXRSYXdVcGRhdGUQ",
|
||||
"AhINCglXYWl0UmVhZHkQAxIJCgVQYXVzZRAEEhAKDEluT25saW5lR2FtZRAF",
|
||||
"Kk4KEUxvZ2luUmVzdWx0U3RhdHVzEiEKHUxvZ2luUmVzdWx0U3RhdHVzX0Jh",
|
||||
"c2VEZWZhdWx0EAASBgoCT0sQARIOCgpBY2NvdW50RXJyEAJCAkgBYgZwcm90",
|
||||
"bzM="));
|
||||
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
|
||||
new pbr::FileDescriptor[] { },
|
||||
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::AxibugProtobuf.CommandID), typeof(global::AxibugProtobuf.ErrorCode), typeof(global::AxibugProtobuf.LoginType), typeof(global::AxibugProtobuf.DeviceType), typeof(global::AxibugProtobuf.PlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] {
|
||||
@ -145,7 +146,7 @@ namespace AxibugProtobuf {
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Update_RESP), global::AxibugProtobuf.Protobuf_Room_Update_RESP.Parser, new[]{ "UpdateType", "RoomMiniInfo" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Screnn_Frame), global::AxibugProtobuf.Protobuf_Screnn_Frame.Parser, new[]{ "RoomID", "FrameID", "RawBitmap" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_SinglePlayerInputData), global::AxibugProtobuf.Protobuf_Room_SinglePlayerInputData.Parser, new[]{ "FrameID", "InputData" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Syn_RoomFrameAllInputData), global::AxibugProtobuf.Protobuf_Room_Syn_RoomFrameAllInputData.Parser, new[]{ "FrameID", "InputData", "ServerFrameID" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Syn_RoomFrameAllInputData), global::AxibugProtobuf.Protobuf_Room_Syn_RoomFrameAllInputData.Parser, new[]{ "FrameID", "InputData", "ServerFrameID", "ServerForwardCount" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Create), global::AxibugProtobuf.Protobuf_Room_Create.Parser, new[]{ "GameRomID", "GameRomHash", "JoinPlayerIdx" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Create_RESP), global::AxibugProtobuf.Protobuf_Room_Create_RESP.Parser, new[]{ "RoomMiniInfo" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Join), global::AxibugProtobuf.Protobuf_Room_Join.Parser, new[]{ "RoomID", "PlayerNum" }, null, null, null, null),
|
||||
@ -5492,6 +5493,7 @@ namespace AxibugProtobuf {
|
||||
frameID_ = other.frameID_;
|
||||
inputData_ = other.inputData_;
|
||||
serverFrameID_ = other.serverFrameID_;
|
||||
serverForwardCount_ = other.serverForwardCount_;
|
||||
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
||||
}
|
||||
|
||||
@ -5542,6 +5544,20 @@ namespace AxibugProtobuf {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "ServerForwardCount" field.</summary>
|
||||
public const int ServerForwardCountFieldNumber = 4;
|
||||
private uint serverForwardCount_;
|
||||
/// <summary>
|
||||
///服务器提前量
|
||||
/// </summary>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public uint ServerForwardCount {
|
||||
get { return serverForwardCount_; }
|
||||
set {
|
||||
serverForwardCount_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public override bool Equals(object other) {
|
||||
return Equals(other as Protobuf_Room_Syn_RoomFrameAllInputData);
|
||||
@ -5558,6 +5574,7 @@ namespace AxibugProtobuf {
|
||||
if (FrameID != other.FrameID) return false;
|
||||
if (InputData != other.InputData) return false;
|
||||
if (ServerFrameID != other.ServerFrameID) return false;
|
||||
if (ServerForwardCount != other.ServerForwardCount) return false;
|
||||
return Equals(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
@ -5567,6 +5584,7 @@ namespace AxibugProtobuf {
|
||||
if (FrameID != 0) hash ^= FrameID.GetHashCode();
|
||||
if (InputData != 0UL) hash ^= InputData.GetHashCode();
|
||||
if (ServerFrameID != 0) hash ^= ServerFrameID.GetHashCode();
|
||||
if (ServerForwardCount != 0) hash ^= ServerForwardCount.GetHashCode();
|
||||
if (_unknownFields != null) {
|
||||
hash ^= _unknownFields.GetHashCode();
|
||||
}
|
||||
@ -5595,6 +5613,10 @@ namespace AxibugProtobuf {
|
||||
output.WriteRawTag(24);
|
||||
output.WriteUInt32(ServerFrameID);
|
||||
}
|
||||
if (ServerForwardCount != 0) {
|
||||
output.WriteRawTag(32);
|
||||
output.WriteUInt32(ServerForwardCount);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(output);
|
||||
}
|
||||
@ -5616,6 +5638,10 @@ namespace AxibugProtobuf {
|
||||
output.WriteRawTag(24);
|
||||
output.WriteUInt32(ServerFrameID);
|
||||
}
|
||||
if (ServerForwardCount != 0) {
|
||||
output.WriteRawTag(32);
|
||||
output.WriteUInt32(ServerForwardCount);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(ref output);
|
||||
}
|
||||
@ -5634,6 +5660,9 @@ namespace AxibugProtobuf {
|
||||
if (ServerFrameID != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ServerFrameID);
|
||||
}
|
||||
if (ServerForwardCount != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ServerForwardCount);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
size += _unknownFields.CalculateSize();
|
||||
}
|
||||
@ -5654,6 +5683,9 @@ namespace AxibugProtobuf {
|
||||
if (other.ServerFrameID != 0) {
|
||||
ServerFrameID = other.ServerFrameID;
|
||||
}
|
||||
if (other.ServerForwardCount != 0) {
|
||||
ServerForwardCount = other.ServerForwardCount;
|
||||
}
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
@ -5680,6 +5712,10 @@ namespace AxibugProtobuf {
|
||||
ServerFrameID = input.ReadUInt32();
|
||||
break;
|
||||
}
|
||||
case 32: {
|
||||
ServerForwardCount = input.ReadUInt32();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -5706,6 +5742,10 @@ namespace AxibugProtobuf {
|
||||
ServerFrameID = input.ReadUInt32();
|
||||
break;
|
||||
}
|
||||
case 32: {
|
||||
ServerForwardCount = input.ReadUInt32();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -66,60 +66,61 @@ namespace AxibugProtobuf {
|
||||
"Zm8iSwoVUHJvdG9idWZfU2NyZW5uX0ZyYW1lEg4KBlJvb21JRBgBIAEoBRIP",
|
||||
"CgdGcmFtZUlEGAIgASgFEhEKCVJhd0JpdG1hcBgDIAEoDCJJCiNQcm90b2J1",
|
||||
"Zl9Sb29tX1NpbmdsZVBsYXllcklucHV0RGF0YRIPCgdGcmFtZUlEGAEgASgN",
|
||||
"EhEKCUlucHV0RGF0YRgCIAEoDSJkCidQcm90b2J1Zl9Sb29tX1N5bl9Sb29t",
|
||||
"RnJhbWVBbGxJbnB1dERhdGESDwoHRnJhbWVJRBgBIAEoDRIRCglJbnB1dERh",
|
||||
"dGEYAiABKAQSFQoNU2VydmVyRnJhbWVJRBgDIAEoDSJVChRQcm90b2J1Zl9S",
|
||||
"b29tX0NyZWF0ZRIRCglHYW1lUm9tSUQYASABKAUSEwoLR2FtZVJvbUhhc2gY",
|
||||
"AiABKAkSFQoNSm9pblBsYXllcklkeBgDIAEoBSJZChlQcm90b2J1Zl9Sb29t",
|
||||
"X0NyZWF0ZV9SRVNQEjwKDFJvb21NaW5pSW5mbxgBIAEoCzImLkF4aWJ1Z1By",
|
||||
"b3RvYnVmLlByb3RvYnVmX1Jvb21fTWluaUluZm8iNwoSUHJvdG9idWZfUm9v",
|
||||
"bV9Kb2luEg4KBlJvb21JRBgBIAEoBRIRCglQbGF5ZXJOdW0YAiABKAUiVwoX",
|
||||
"UHJvdG9idWZfUm9vbV9Kb2luX1JFU1ASPAoMUm9vbU1pbmlJbmZvGAEgASgL",
|
||||
"MiYuQXhpYnVnUHJvdG9idWYuUHJvdG9idWZfUm9vbV9NaW5pSW5mbyIlChNQ",
|
||||
"cm90b2J1Zl9Sb29tX0xlYXZlEg4KBlJvb21JRBgBIAEoBSIqChhQcm90b2J1",
|
||||
"Zl9Sb29tX0xlYXZlX1JFU1ASDgoGUm9vbUlEGAEgASgFImEKIVByb3RvYnVm",
|
||||
"X1Jvb21fTXlSb29tX1N0YXRlX0NoYW5nZRI8CgxSb29tTWluaUluZm8YASAB",
|
||||
"KAsyJi5BeGlidWdQcm90b2J1Zi5Qcm90b2J1Zl9Sb29tX01pbmlJbmZvIkUK",
|
||||
"G1Byb3RvYnVmX1Jvb21fV2FpdFN0ZXBfUkVTUBIQCghXYWl0U3RlcBgBIAEo",
|
||||
"BRIUCgxMb2FkU3RhdGVSYXcYAiABKAwiPwonUHJvdG9idWZfUm9vbV9Ib3N0",
|
||||
"UGxheWVyX1VwZGF0ZVN0YXRlUmF3EhQKDExvYWRTdGF0ZVJhdxgBIAEoDCIu",
|
||||
"CixQcm90b2J1Zl9Sb29tX0hvc3RQbGF5ZXJfVXBkYXRlU3RhdGVSYXdfUkVT",
|
||||
"UCIcChpQcm90b2J1Zl9Sb29tX1BsYXllcl9SZWFkeSIqChhQcm90b2J1Zl9S",
|
||||
"b29tX0dldF9TY3JlZW4SDgoGUm9vbUlEGAEgASgFIlMKHVByb3RvYnVmX1Jv",
|
||||
"b21fR2V0X1NjcmVlbl9SRVNQEg4KBlJvb21JRBgBIAEoBRIPCgdGcmFtZUlE",
|
||||
"GAIgASgFEhEKCVJhd0JpdG1hcBgDIAEoDCJmChJQcm90b2J1Zl9HYW1lX01h",
|
||||
"cmsSDQoFUm9tSUQYASABKAUSDQoFc3RhdGUYAiABKAUSMgoMUGxhdGZvcm1U",
|
||||
"eXBlGAMgASgOMhwuQXhpYnVnUHJvdG9idWYuUGxhdGZvcm1UeXBlIlwKF1By",
|
||||
"b3RvYnVmX0dhbWVfTWFya19SRVNQEg0KBVJvbUlEGAEgASgFEjIKDFBsYXRm",
|
||||
"b3JtVHlwZRgCIAEoDjIcLkF4aWJ1Z1Byb3RvYnVmLlBsYXRmb3JtVHlwZSr+",
|
||||
"BAoJQ29tbWFuZElEEg4KCkNNRF9ERUZBVUwQABIMCghDTURfUElORxABEgwK",
|
||||
"CENNRF9QT05HEAISDgoJQ01EX0xPR0lOENEPEhgKE0NNRF9VU0VSX09OTElO",
|
||||
"RUxJU1QQuBcSEgoNQ01EX1VTRVJfSk9JThDXFxITCg5DTURfVVNFUl9MRUFW",
|
||||
"RRDYFxIaChVDTURfVVNFUl9TVEFURV9VUERBVEUQ2RcSGAoTQ01EX01vZGlm",
|
||||
"eV9OaWNrTmFtZRCdGBIcChdDTURfVXBkYXRlX1NlbGZVc2VySW5mbxCmGBId",
|
||||
"ChhDTURfVXBkYXRlX090aGVyVXNlckluZm8QqBgSEAoLQ01EX0NIQVRNU0cQ",
|
||||
"oR8SEgoNQ01EX1Jvb21fTGlzdBCJJxIZChRDTURfUm9vbV9MaXN0X1VwZGF0",
|
||||
"ZRCKJxIYChNDTURfUm9vbV9HZXRfU2NyZWVuEJMnEhQKD0NNRF9Sb29tX0Ny",
|
||||
"ZWF0ZRDtJxISCg1DTURfUm9vbV9Kb2luEPEnEhMKDkNNRF9Sb29tX0xlYXZl",
|
||||
"EPInEiIKHUNNRF9Sb29tX015Um9vbV9TdGF0ZV9DaGFuZ2VkEPYnEhYKEUNN",
|
||||
"RF9Sb29tX1dhaXRTdGVwENEoEicKIkNNRF9Sb29tX0hvc3RQbGF5ZXJfVXBk",
|
||||
"YXRlU3RhdGVSYXcQ1CgSGgoVQ01EX1Jvb21fUGxheWVyX1JlYWR5ENgoEiAK",
|
||||
"G0NNRF9Sb29tX1NpbmdlbF9QbGF5ZXJJbnB1dBD6LhIdChhDTURfUk9PTV9T",
|
||||
"WU5fUGxheWVySW5wdXQQ/y4SDwoKQ01EX1NjcmVlbhDZNhISCg1DTURfR0FN",
|
||||
"RV9NQVJLEPVOKtABCglFcnJvckNvZGUSEAoMRVJST1JfREVGQVVMEAASDAoI",
|
||||
"RVJST1JfT0sQARIYChRFUlJPUl9ST09NX05PVF9GT1VORBAKEicKI0VSUk9S",
|
||||
"X1JPT01fU0xPVF9BTFJFQURMWV9IQURfUExBWUVSEAsSIQodRVJST1JfUk9P",
|
||||
"TV9DQU5UX0RPX0NVUlJfU1RBVEUQMhIfChpFUlJPUl9ST01fQUxSRUFEWV9I",
|
||||
"QURfU1RBUhCTAxIcChdFUlJPUl9ST01fRE9OVF9IQURfU1RBUhCUAypACglM",
|
||||
"b2dpblR5cGUSDQoJVXNlRGV2aWNlEAASDgoKVXNlQWNjb3VudBABEhQKEFVz",
|
||||
"ZUhhb1l1ZUFjY291bnQQAipLCgpEZXZpY2VUeXBlEhYKEkRldmljZVR5cGVf",
|
||||
"RGVmYXVsdBAAEgYKAlBDEAESCwoHQW5kcm9pZBACEgcKA0lPUxADEgcKA1BT",
|
||||
"VhAEKiAKDFBsYXRmb3JtVHlwZRIHCgNBbGwQABIHCgNOZXMQASpwCg1Sb29t",
|
||||
"R2FtZVN0YXRlEhIKDk5vbmVfR2FtZVN0YXRlEAASDAoIT25seUhvc3QQARIR",
|
||||
"Cg1XYWl0UmF3VXBkYXRlEAISDQoJV2FpdFJlYWR5EAMSCQoFUGF1c2UQBBIQ",
|
||||
"CgxJbk9ubGluZUdhbWUQBSpOChFMb2dpblJlc3VsdFN0YXR1cxIhCh1Mb2dp",
|
||||
"blJlc3VsdFN0YXR1c19CYXNlRGVmYXVsdBAAEgYKAk9LEAESDgoKQWNjb3Vu",
|
||||
"dEVychACQgJIAWIGcHJvdG8z"));
|
||||
"EhEKCUlucHV0RGF0YRgCIAEoDSKAAQonUHJvdG9idWZfUm9vbV9TeW5fUm9v",
|
||||
"bUZyYW1lQWxsSW5wdXREYXRhEg8KB0ZyYW1lSUQYASABKA0SEQoJSW5wdXRE",
|
||||
"YXRhGAIgASgEEhUKDVNlcnZlckZyYW1lSUQYAyABKA0SGgoSU2VydmVyRm9y",
|
||||
"d2FyZENvdW50GAQgASgNIlUKFFByb3RvYnVmX1Jvb21fQ3JlYXRlEhEKCUdh",
|
||||
"bWVSb21JRBgBIAEoBRITCgtHYW1lUm9tSGFzaBgCIAEoCRIVCg1Kb2luUGxh",
|
||||
"eWVySWR4GAMgASgFIlkKGVByb3RvYnVmX1Jvb21fQ3JlYXRlX1JFU1ASPAoM",
|
||||
"Um9vbU1pbmlJbmZvGAEgASgLMiYuQXhpYnVnUHJvdG9idWYuUHJvdG9idWZf",
|
||||
"Um9vbV9NaW5pSW5mbyI3ChJQcm90b2J1Zl9Sb29tX0pvaW4SDgoGUm9vbUlE",
|
||||
"GAEgASgFEhEKCVBsYXllck51bRgCIAEoBSJXChdQcm90b2J1Zl9Sb29tX0pv",
|
||||
"aW5fUkVTUBI8CgxSb29tTWluaUluZm8YASABKAsyJi5BeGlidWdQcm90b2J1",
|
||||
"Zi5Qcm90b2J1Zl9Sb29tX01pbmlJbmZvIiUKE1Byb3RvYnVmX1Jvb21fTGVh",
|
||||
"dmUSDgoGUm9vbUlEGAEgASgFIioKGFByb3RvYnVmX1Jvb21fTGVhdmVfUkVT",
|
||||
"UBIOCgZSb29tSUQYASABKAUiYQohUHJvdG9idWZfUm9vbV9NeVJvb21fU3Rh",
|
||||
"dGVfQ2hhbmdlEjwKDFJvb21NaW5pSW5mbxgBIAEoCzImLkF4aWJ1Z1Byb3Rv",
|
||||
"YnVmLlByb3RvYnVmX1Jvb21fTWluaUluZm8iRQobUHJvdG9idWZfUm9vbV9X",
|
||||
"YWl0U3RlcF9SRVNQEhAKCFdhaXRTdGVwGAEgASgFEhQKDExvYWRTdGF0ZVJh",
|
||||
"dxgCIAEoDCI/CidQcm90b2J1Zl9Sb29tX0hvc3RQbGF5ZXJfVXBkYXRlU3Rh",
|
||||
"dGVSYXcSFAoMTG9hZFN0YXRlUmF3GAEgASgMIi4KLFByb3RvYnVmX1Jvb21f",
|
||||
"SG9zdFBsYXllcl9VcGRhdGVTdGF0ZVJhd19SRVNQIhwKGlByb3RvYnVmX1Jv",
|
||||
"b21fUGxheWVyX1JlYWR5IioKGFByb3RvYnVmX1Jvb21fR2V0X1NjcmVlbhIO",
|
||||
"CgZSb29tSUQYASABKAUiUwodUHJvdG9idWZfUm9vbV9HZXRfU2NyZWVuX1JF",
|
||||
"U1ASDgoGUm9vbUlEGAEgASgFEg8KB0ZyYW1lSUQYAiABKAUSEQoJUmF3Qml0",
|
||||
"bWFwGAMgASgMImYKElByb3RvYnVmX0dhbWVfTWFyaxINCgVSb21JRBgBIAEo",
|
||||
"BRINCgVzdGF0ZRgCIAEoBRIyCgxQbGF0Zm9ybVR5cGUYAyABKA4yHC5BeGli",
|
||||
"dWdQcm90b2J1Zi5QbGF0Zm9ybVR5cGUiXAoXUHJvdG9idWZfR2FtZV9NYXJr",
|
||||
"X1JFU1ASDQoFUm9tSUQYASABKAUSMgoMUGxhdGZvcm1UeXBlGAIgASgOMhwu",
|
||||
"QXhpYnVnUHJvdG9idWYuUGxhdGZvcm1UeXBlKv4ECglDb21tYW5kSUQSDgoK",
|
||||
"Q01EX0RFRkFVTBAAEgwKCENNRF9QSU5HEAESDAoIQ01EX1BPTkcQAhIOCglD",
|
||||
"TURfTE9HSU4Q0Q8SGAoTQ01EX1VTRVJfT05MSU5FTElTVBC4FxISCg1DTURf",
|
||||
"VVNFUl9KT0lOENcXEhMKDkNNRF9VU0VSX0xFQVZFENgXEhoKFUNNRF9VU0VS",
|
||||
"X1NUQVRFX1VQREFURRDZFxIYChNDTURfTW9kaWZ5X05pY2tOYW1lEJ0YEhwK",
|
||||
"F0NNRF9VcGRhdGVfU2VsZlVzZXJJbmZvEKYYEh0KGENNRF9VcGRhdGVfT3Ro",
|
||||
"ZXJVc2VySW5mbxCoGBIQCgtDTURfQ0hBVE1TRxChHxISCg1DTURfUm9vbV9M",
|
||||
"aXN0EIknEhkKFENNRF9Sb29tX0xpc3RfVXBkYXRlEIonEhgKE0NNRF9Sb29t",
|
||||
"X0dldF9TY3JlZW4QkycSFAoPQ01EX1Jvb21fQ3JlYXRlEO0nEhIKDUNNRF9S",
|
||||
"b29tX0pvaW4Q8ScSEwoOQ01EX1Jvb21fTGVhdmUQ8icSIgodQ01EX1Jvb21f",
|
||||
"TXlSb29tX1N0YXRlX0NoYW5nZWQQ9icSFgoRQ01EX1Jvb21fV2FpdFN0ZXAQ",
|
||||
"0SgSJwoiQ01EX1Jvb21fSG9zdFBsYXllcl9VcGRhdGVTdGF0ZVJhdxDUKBIa",
|
||||
"ChVDTURfUm9vbV9QbGF5ZXJfUmVhZHkQ2CgSIAobQ01EX1Jvb21fU2luZ2Vs",
|
||||
"X1BsYXllcklucHV0EPouEh0KGENNRF9ST09NX1NZTl9QbGF5ZXJJbnB1dBD/",
|
||||
"LhIPCgpDTURfU2NyZWVuENk2EhIKDUNNRF9HQU1FX01BUksQ9U4q0AEKCUVy",
|
||||
"cm9yQ29kZRIQCgxFUlJPUl9ERUZBVUwQABIMCghFUlJPUl9PSxABEhgKFEVS",
|
||||
"Uk9SX1JPT01fTk9UX0ZPVU5EEAoSJwojRVJST1JfUk9PTV9TTE9UX0FMUkVB",
|
||||
"RExZX0hBRF9QTEFZRVIQCxIhCh1FUlJPUl9ST09NX0NBTlRfRE9fQ1VSUl9T",
|
||||
"VEFURRAyEh8KGkVSUk9SX1JPTV9BTFJFQURZX0hBRF9TVEFSEJMDEhwKF0VS",
|
||||
"Uk9SX1JPTV9ET05UX0hBRF9TVEFSEJQDKkAKCUxvZ2luVHlwZRINCglVc2VE",
|
||||
"ZXZpY2UQABIOCgpVc2VBY2NvdW50EAESFAoQVXNlSGFvWXVlQWNjb3VudBAC",
|
||||
"KksKCkRldmljZVR5cGUSFgoSRGV2aWNlVHlwZV9EZWZhdWx0EAASBgoCUEMQ",
|
||||
"ARILCgdBbmRyb2lkEAISBwoDSU9TEAMSBwoDUFNWEAQqIAoMUGxhdGZvcm1U",
|
||||
"eXBlEgcKA0FsbBAAEgcKA05lcxABKnAKDVJvb21HYW1lU3RhdGUSEgoOTm9u",
|
||||
"ZV9HYW1lU3RhdGUQABIMCghPbmx5SG9zdBABEhEKDVdhaXRSYXdVcGRhdGUQ",
|
||||
"AhINCglXYWl0UmVhZHkQAxIJCgVQYXVzZRAEEhAKDEluT25saW5lR2FtZRAF",
|
||||
"Kk4KEUxvZ2luUmVzdWx0U3RhdHVzEiEKHUxvZ2luUmVzdWx0U3RhdHVzX0Jh",
|
||||
"c2VEZWZhdWx0EAASBgoCT0sQARIOCgpBY2NvdW50RXJyEAJCAkgBYgZwcm90",
|
||||
"bzM="));
|
||||
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
|
||||
new pbr::FileDescriptor[] { },
|
||||
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::AxibugProtobuf.CommandID), typeof(global::AxibugProtobuf.ErrorCode), typeof(global::AxibugProtobuf.LoginType), typeof(global::AxibugProtobuf.DeviceType), typeof(global::AxibugProtobuf.PlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] {
|
||||
@ -145,7 +146,7 @@ namespace AxibugProtobuf {
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Update_RESP), global::AxibugProtobuf.Protobuf_Room_Update_RESP.Parser, new[]{ "UpdateType", "RoomMiniInfo" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Screnn_Frame), global::AxibugProtobuf.Protobuf_Screnn_Frame.Parser, new[]{ "RoomID", "FrameID", "RawBitmap" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_SinglePlayerInputData), global::AxibugProtobuf.Protobuf_Room_SinglePlayerInputData.Parser, new[]{ "FrameID", "InputData" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Syn_RoomFrameAllInputData), global::AxibugProtobuf.Protobuf_Room_Syn_RoomFrameAllInputData.Parser, new[]{ "FrameID", "InputData", "ServerFrameID" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Syn_RoomFrameAllInputData), global::AxibugProtobuf.Protobuf_Room_Syn_RoomFrameAllInputData.Parser, new[]{ "FrameID", "InputData", "ServerFrameID", "ServerForwardCount" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Create), global::AxibugProtobuf.Protobuf_Room_Create.Parser, new[]{ "GameRomID", "GameRomHash", "JoinPlayerIdx" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Create_RESP), global::AxibugProtobuf.Protobuf_Room_Create_RESP.Parser, new[]{ "RoomMiniInfo" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Join), global::AxibugProtobuf.Protobuf_Room_Join.Parser, new[]{ "RoomID", "PlayerNum" }, null, null, null, null),
|
||||
@ -5492,6 +5493,7 @@ namespace AxibugProtobuf {
|
||||
frameID_ = other.frameID_;
|
||||
inputData_ = other.inputData_;
|
||||
serverFrameID_ = other.serverFrameID_;
|
||||
serverForwardCount_ = other.serverForwardCount_;
|
||||
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
||||
}
|
||||
|
||||
@ -5542,6 +5544,20 @@ namespace AxibugProtobuf {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "ServerForwardCount" field.</summary>
|
||||
public const int ServerForwardCountFieldNumber = 4;
|
||||
private uint serverForwardCount_;
|
||||
/// <summary>
|
||||
///服务器提前量
|
||||
/// </summary>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public uint ServerForwardCount {
|
||||
get { return serverForwardCount_; }
|
||||
set {
|
||||
serverForwardCount_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public override bool Equals(object other) {
|
||||
return Equals(other as Protobuf_Room_Syn_RoomFrameAllInputData);
|
||||
@ -5558,6 +5574,7 @@ namespace AxibugProtobuf {
|
||||
if (FrameID != other.FrameID) return false;
|
||||
if (InputData != other.InputData) return false;
|
||||
if (ServerFrameID != other.ServerFrameID) return false;
|
||||
if (ServerForwardCount != other.ServerForwardCount) return false;
|
||||
return Equals(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
@ -5567,6 +5584,7 @@ namespace AxibugProtobuf {
|
||||
if (FrameID != 0) hash ^= FrameID.GetHashCode();
|
||||
if (InputData != 0UL) hash ^= InputData.GetHashCode();
|
||||
if (ServerFrameID != 0) hash ^= ServerFrameID.GetHashCode();
|
||||
if (ServerForwardCount != 0) hash ^= ServerForwardCount.GetHashCode();
|
||||
if (_unknownFields != null) {
|
||||
hash ^= _unknownFields.GetHashCode();
|
||||
}
|
||||
@ -5595,6 +5613,10 @@ namespace AxibugProtobuf {
|
||||
output.WriteRawTag(24);
|
||||
output.WriteUInt32(ServerFrameID);
|
||||
}
|
||||
if (ServerForwardCount != 0) {
|
||||
output.WriteRawTag(32);
|
||||
output.WriteUInt32(ServerForwardCount);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(output);
|
||||
}
|
||||
@ -5616,6 +5638,10 @@ namespace AxibugProtobuf {
|
||||
output.WriteRawTag(24);
|
||||
output.WriteUInt32(ServerFrameID);
|
||||
}
|
||||
if (ServerForwardCount != 0) {
|
||||
output.WriteRawTag(32);
|
||||
output.WriteUInt32(ServerForwardCount);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(ref output);
|
||||
}
|
||||
@ -5634,6 +5660,9 @@ namespace AxibugProtobuf {
|
||||
if (ServerFrameID != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ServerFrameID);
|
||||
}
|
||||
if (ServerForwardCount != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ServerForwardCount);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
size += _unknownFields.CalculateSize();
|
||||
}
|
||||
@ -5654,6 +5683,9 @@ namespace AxibugProtobuf {
|
||||
if (other.ServerFrameID != 0) {
|
||||
ServerFrameID = other.ServerFrameID;
|
||||
}
|
||||
if (other.ServerForwardCount != 0) {
|
||||
ServerForwardCount = other.ServerForwardCount;
|
||||
}
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
@ -5680,6 +5712,10 @@ namespace AxibugProtobuf {
|
||||
ServerFrameID = input.ReadUInt32();
|
||||
break;
|
||||
}
|
||||
case 32: {
|
||||
ServerForwardCount = input.ReadUInt32();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -5706,6 +5742,10 @@ namespace AxibugProtobuf {
|
||||
ServerFrameID = input.ReadUInt32();
|
||||
break;
|
||||
}
|
||||
case 32: {
|
||||
ServerForwardCount = input.ReadUInt32();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -292,6 +292,7 @@ message Protobuf_Room_Syn_RoomFrameAllInputData
|
||||
uint32 FrameID = 1;//帧编号
|
||||
uint64 InputData = 2;//所有玩家操作位运算汇总
|
||||
uint32 ServerFrameID = 3;//服务器帧编号
|
||||
uint32 ServerForwardCount = 4;//服务器提前量
|
||||
}
|
||||
|
||||
message Protobuf_Room_Create
|
||||
|
Loading…
Reference in New Issue
Block a user