From 1634ac5fb3bf881729d854f3a18a8282ac9384d3 Mon Sep 17 00:00:00 2001 From: sin365 <353374337@qq.com> Date: Mon, 3 Nov 2025 13:08:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E5=B0=81=E9=9D=A2=E5=9B=BE=EF=BC=8CProtobuff=EF=BC=8C=E9=9A=90?= =?UTF-8?q?=E8=97=8F=E5=85=B3=E9=97=AD=E8=99=9A=E6=8B=9F=E6=8C=89=E9=94=AE?= =?UTF-8?q?=EF=BC=88=E5=85=B3=E9=97=AD=E6=97=B6=E4=B8=8D=E5=AE=8C=E5=96=84?= =?UTF-8?q?=EF=BC=89=EF=BC=8C=E6=B7=BB=E5=8A=A0=E6=B8=B8=E6=88=8F=E5=86=85?= =?UTF-8?q?=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Assets/Script/AppMain/Manager/AppShare.cs | 28 ++ .../Assets/Script/AppMain/Network/NetMsg.cs | 36 +- .../Protobuf/ProtobufAxibugEmuOnline.cs | 458 ++++++++++++++++-- .../Script/AppMain/UI/InGameUI/InGameUI.cs | 2 + .../InGameUI_OpenOrHideScreenJoyStrick.cs | 20 + ...InGameUI_OpenOrHideScreenJoyStrick.cs.meta | 2 + .../InGameUI/InGameUI_UploadGameCoverImg.cs | 22 + .../InGameUI_UploadGameCoverImg.cs.meta | 2 + .../AppMain/UI/OverlayUI/OverlayManager.cs | 6 + .../Protobuf/ProtobufAxibugEmuOnline.cs | 458 ++++++++++++++++-- .../Protobuf/ProtobufAxibugEmuOnline.cs | 458 ++++++++++++++++-- AxibugEmuOnline.Web/wwwroot/xmb/css/style.css | 113 +++++ AxibugEmuOnline.Web/wwwroot/xmb/js/index.js | 166 +++++++ .../out/CS/ProtobufAxibugEmuOnline.cs | 458 ++++++++++++++++-- .../proto/protobuf_AxibugEmuOnline.proto | 18 +- 15 files changed, 2056 insertions(+), 191 deletions(-) create mode 100644 AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_OpenOrHideScreenJoyStrick.cs create mode 100644 AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_OpenOrHideScreenJoyStrick.cs.meta create mode 100644 AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_UploadGameCoverImg.cs create mode 100644 AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_UploadGameCoverImg.cs.meta create mode 100644 AxibugEmuOnline.Web/wwwroot/xmb/css/style.css create mode 100644 AxibugEmuOnline.Web/wwwroot/xmb/js/index.js diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppShare.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppShare.cs index 558a7b43..640001f2 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppShare.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppShare.cs @@ -3,6 +3,7 @@ using AxibugEmuOnline.Client.Common; using AxibugEmuOnline.Client.Event; using AxibugEmuOnline.Client.Network; using AxibugProtobuf; +using System; namespace AxibugEmuOnline.Client.Manager { @@ -11,6 +12,7 @@ namespace AxibugEmuOnline.Client.Manager public AppShare() { NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdGameMark, RecvGameStar); + NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdGamescreenImgUpload, RecvGamescreenImgUpload); } /// @@ -39,5 +41,31 @@ namespace AxibugEmuOnline.Client.Manager Eventer.Instance.PostEvent(EEvent.OnRomStarStateChanged, msg.RomID, msg.IsStar == 1); } + /// + /// 上传封面图 + /// + /// + /// + public void SendUpLoadGameScreenCover(int RomID, byte[] SavImgData) + { + //压缩 + byte[] compressImgData = Helper.CompressByteArray(SavImgData); + + Protobuf_GameScreen_Img_Upload req = new Protobuf_GameScreen_Img_Upload() + { + RomID = RomID, + SavImg = Google.Protobuf.ByteString.CopyFrom(compressImgData), + }; + + App.log.Info($"SendUpLoadGameScreenCover"); + App.log.Info($"上传截图 原数据大小:{SavImgData.Length},压缩后;{compressImgData.Length}"); + + App.network.SendToServer((int)CommandID.CmdGamescreenImgUpload, ProtoBufHelper.Serizlize(req)); + } + + private void RecvGamescreenImgUpload(byte[] obj) + { + OverlayManager.PopTip("登录成功"); + } } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Network/NetMsg.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Network/NetMsg.cs index 234f5863..2a482879 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Network/NetMsg.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Network/NetMsg.cs @@ -136,7 +136,41 @@ namespace AxibugEmuOnline.Client.Network ErrorCode err = ((ErrorCode)ERRCODE); if (err != ErrorCode.ErrorOk) { - OverlayManager.PopTip("错误:" + err.ToString()); + string errMsg = string.Empty; + switch (err) + { + case ErrorCode.ErrorRoomNotFound: + errMsg = "房间不存在"; + break; + case ErrorCode.ErrorRoomSlotAlreadlyHadPlayer: + errMsg = "加入目标位置已经有人"; + break; + case ErrorCode.ErrorRoomCantDoCurrState: + errMsg = "当前房间状态不允许本操作"; + break; + case ErrorCode.ErrorRomDontHadSavedata: + errMsg = "即时存档不存在"; + break; + case ErrorCode.ErrorRomFailSavedata: + errMsg = "处理即时存档失败"; + break; + case ErrorCode.ErrorRomAlreadyHadCoverimg: + errMsg = "该游戏已经有封面图"; + break; + case ErrorCode.ErrorRomAlreadyHadStar: + errMsg = "已经收藏"; + break; + case ErrorCode.ErrorRomDontHadStar: + errMsg = "并没有收藏"; + break; + case ErrorCode.ErrorDefaul: + case ErrorCode.ErrorOk: + default: + errMsg = err.ToString(); + break; + } + OverlayManager.PopTip("错误:"+ errMsg); + App.log.Error("错误:" + errMsg); } List eventList = GetNetEventDicList(cmd); diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Protobuf/ProtobufAxibugEmuOnline.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Protobuf/ProtobufAxibugEmuOnline.cs index c986acf6..cfbdda41 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Protobuf/ProtobufAxibugEmuOnline.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Protobuf/ProtobufAxibugEmuOnline.cs @@ -124,52 +124,56 @@ namespace AxibugProtobuf { "YXcYBiABKAwSEAoIU2VxdWVuY2UYByABKAUihwEKIFByb3RvYnVmX01pbmVf", "VXBMb2FkR2FtZVNhdl9SRVNQEg0KBVJvbUlEGAEgASgFEhIKClNhdkRhdGFJ", "ZHgYAiABKAUSQAoNVXBsb2FkU2V2SW5mbxgDIAEoCzIpLkF4aWJ1Z1Byb3Rv", - "YnVmLlByb3RvYnVmX01pbmVfR2FtZVNhdkluZm8q/wUKCUNvbW1hbmRJRBIO", - "CgpDTURfREVGQVVMEAASDAoIQ01EX1BJTkcQARIMCghDTURfUE9ORxACEg4K", - "CUNNRF9MT0dJThDRDxIYChNDTURfVVNFUl9PTkxJTkVMSVNUELgXEhIKDUNN", - "RF9VU0VSX0pPSU4Q1xcSEwoOQ01EX1VTRVJfTEVBVkUQ2BcSGgoVQ01EX1VT", - "RVJfU1RBVEVfVVBEQVRFENkXEhgKE0NNRF9Nb2RpZnlfTmlja05hbWUQnRgS", - "HAoXQ01EX1VwZGF0ZV9TZWxmVXNlckluZm8QphgSHQoYQ01EX1VwZGF0ZV9P", - "dGhlclVzZXJJbmZvEKgYEhAKC0NNRF9DSEFUTVNHEKEfEhIKDUNNRF9Sb29t", - "X0xpc3QQiScSGQoUQ01EX1Jvb21fTGlzdF9VcGRhdGUQiicSGAoTQ01EX1Jv", - "b21fR2V0X1NjcmVlbhCTJxIUCg9DTURfUm9vbV9DcmVhdGUQ7ScSEgoNQ01E", - "X1Jvb21fSm9pbhDxJxITCg5DTURfUm9vbV9MZWF2ZRDyJxIiCh1DTURfUm9v", - "bV9NeVJvb21fU3RhdGVfQ2hhbmdlZBD2JxIhChxDTURfUm9vbV9DaGFuZ2VQ", - "bGF5ZXJXaXRoSm95EIooEhYKEUNNRF9Sb29tX1dhaXRTdGVwENEoEicKIkNN", - "RF9Sb29tX0hvc3RQbGF5ZXJfVXBkYXRlU3RhdGVSYXcQ1CgSGgoVQ01EX1Jv", - "b21fUGxheWVyX1JlYWR5ENgoEiAKG0NNRF9Sb29tX1NpbmdlbF9QbGF5ZXJJ", - "bnB1dBD6LhIdChhDTURfUk9PTV9TWU5fUGxheWVySW5wdXQQ/y4SDwoKQ01E", - "X1NjcmVlbhDZNhIfChpDTURfR0FNRVNBVl9HZXRHYW1lU2F2TGlzdBDBPhIb", - "ChZDTURfR0FNRVNBVl9EZWxHYW1lU2F2EMU+Eh4KGUNNRF9HQU1FU0FWX1Vw", - "bG9hZEdhbWVTYXYQyj4SEgoNQ01EX0dBTUVfTUFSSxD1TiqOAgoJRXJyb3JD", - "b2RlEhAKDEVSUk9SX0RFRkFVTBAAEgwKCEVSUk9SX09LEAESGAoURVJST1Jf", - "Uk9PTV9OT1RfRk9VTkQQChInCiNFUlJPUl9ST09NX1NMT1RfQUxSRUFETFlf", - "SEFEX1BMQVlFUhALEiEKHUVSUk9SX1JPT01fQ0FOVF9ET19DVVJSX1NUQVRF", - "EDISHwobRVJST1JfUk9NX0RPTlRfSEFEX1NBVkVEQVRBEFASGwoXRVJST1Jf", - "Uk9NX0ZBSUxfU0FWRURBVEEQURIfChpFUlJPUl9ST01fQUxSRUFEWV9IQURf", - "U1RBUhCTAxIcChdFUlJPUl9ST01fRE9OVF9IQURfU1RBUhCUAypACglMb2dp", - "blR5cGUSDQoJVXNlRGV2aWNlEAASDgoKVXNlQWNjb3VudBABEhQKEFVzZUhh", - "b1l1ZUFjY291bnQQAiqlAQoKRGV2aWNlVHlwZRIWChJEZXZpY2VUeXBlX0Rl", - "ZmF1bHQQABIGCgJQQxABEgsKB0FuZHJvaWQQAhIHCgNJT1MQAxIHCgNQU1YQ", - "BBIHCgNQUzMQBRIHCgNQUzQQBhILCgdYQk9YMzYwEAcSCwoHWEJPWE9ORRAI", - "EggKBFdpaVUQCRIPCgtOaW50ZW5kbzNEUxAKEhEKDUFuZHJvaWRDYXJBcHAQ", - "CyqTAgoLR2FtZVBhZFR5cGUSDAoIS2V5Ym9hcmQQABIRCg1HbG9iYWxHYW1l", - "UGFkEAESDgoKVG91Y2hQYW5lbBACEg4KCkRTM0NvbnRyb2wQAxIOCgpEUzRD", - "b250cm9sEAQSDgoKRFM1Q29udHJvbBAFEhQKEFN3aXRjaFByb0NvbnRyb2wQ", - "BhIQCgxTd2l0Y2hKb3lDb24QBxISCg5YQk9YMzYwQ29udHJvbBAIEhIKDlhC", - "T1hPTkVDb250cm9sEAkSEQoNUFNWaXRhQ29udHJvbBAKEhIKDldpaVVQYWRD", - "b250cm9sEAsSFAoQV2lpUmVtb3RlQ29udHJvbBAMEhYKEk5pbnRlbmRvM0RT", - "Q29udHJvbBANKoMCCg9Sb21QbGF0Zm9ybVR5cGUSCwoHSW52YWxpZBAAEgcK", - "A05lcxABEhEKDU1hc3Rlcl9TeXN0ZW0QAhINCglHYW1lX0dlYXIQAxIMCghH", - "YW1lX0JveRAEEhIKDkdhbWVfQm95X0NvbG9yEAUSEQoNQ29sZWNvX1Zpc2lv", - "bhAGEgsKB1NDXzMwMDAQBxILCgdTR18xMDAwEAgSCgoGTkVPR0VPEBQSBwoD", - "SUdTEBUSCAoEQ1BTMRAWEggKBENQUzIQFxIOCgpBcmNhZGVfT0xEEB4SDwoL", - "V29uZGVyX1N3YW4QKBIVChFXb25kZXJfU3dhbl9Db2xvchApEggKA0FsbBDn", - "BypwCg1Sb29tR2FtZVN0YXRlEhIKDk5vbmVfR2FtZVN0YXRlEAASDAoIT25s", - "eUhvc3QQARIRCg1XYWl0UmF3VXBkYXRlEAISDQoJV2FpdFJlYWR5EAMSCQoF", - "UGF1c2UQBBIQCgxJbk9ubGluZUdhbWUQBSpOChFMb2dpblJlc3VsdFN0YXR1", - "cxIhCh1Mb2dpblJlc3VsdFN0YXR1c19CYXNlRGVmYXVsdBAAEgYKAk9LEAES", - "DgoKQWNjb3VudEVychACQgJIAWIGcHJvdG8z")); + "YnVmLlByb3RvYnVmX01pbmVfR2FtZVNhdkluZm8iPwoeUHJvdG9idWZfR2Ft", + "ZVNjcmVlbl9JbWdfVXBsb2FkEg0KBVJvbUlEGAEgASgFEg4KBlNhdkltZxgC", + "IAEoDCIlCiNQcm90b2J1Zl9HYW1lU2NyZWVuX0ltZ19VcGxvYWRfUkVTUCqf", + "BgoJQ29tbWFuZElEEg4KCkNNRF9ERUZBVUwQABIMCghDTURfUElORxABEgwK", + "CENNRF9QT05HEAISDgoJQ01EX0xPR0lOENEPEhgKE0NNRF9VU0VSX09OTElO", + "RUxJU1QQuBcSEgoNQ01EX1VTRVJfSk9JThDXFxITCg5DTURfVVNFUl9MRUFW", + "RRDYFxIaChVDTURfVVNFUl9TVEFURV9VUERBVEUQ2RcSGAoTQ01EX01vZGlm", + "eV9OaWNrTmFtZRCdGBIcChdDTURfVXBkYXRlX1NlbGZVc2VySW5mbxCmGBId", + "ChhDTURfVXBkYXRlX090aGVyVXNlckluZm8QqBgSEAoLQ01EX0NIQVRNU0cQ", + "oR8SEgoNQ01EX1Jvb21fTGlzdBCJJxIZChRDTURfUm9vbV9MaXN0X1VwZGF0", + "ZRCKJxIYChNDTURfUm9vbV9HZXRfU2NyZWVuEJMnEhQKD0NNRF9Sb29tX0Ny", + "ZWF0ZRDtJxISCg1DTURfUm9vbV9Kb2luEPEnEhMKDkNNRF9Sb29tX0xlYXZl", + "EPInEiIKHUNNRF9Sb29tX015Um9vbV9TdGF0ZV9DaGFuZ2VkEPYnEiEKHENN", + "RF9Sb29tX0NoYW5nZVBsYXllcldpdGhKb3kQiigSFgoRQ01EX1Jvb21fV2Fp", + "dFN0ZXAQ0SgSJwoiQ01EX1Jvb21fSG9zdFBsYXllcl9VcGRhdGVTdGF0ZVJh", + "dxDUKBIaChVDTURfUm9vbV9QbGF5ZXJfUmVhZHkQ2CgSIAobQ01EX1Jvb21f", + "U2luZ2VsX1BsYXllcklucHV0EPouEh0KGENNRF9ST09NX1NZTl9QbGF5ZXJJ", + "bnB1dBD/LhIPCgpDTURfU2NyZWVuENk2Eh8KGkNNRF9HQU1FU0FWX0dldEdh", + "bWVTYXZMaXN0EME+EhsKFkNNRF9HQU1FU0FWX0RlbEdhbWVTYXYQxT4SHgoZ", + "Q01EX0dBTUVTQVZfVXBsb2FkR2FtZVNhdhDKPhIeChlDTURfR0FNRVNDUkVF", + "Tl9JTUdfVXBsb2FkEKlGEhIKDUNNRF9HQU1FX01BUksQ9U4qsgIKCUVycm9y", + "Q29kZRIQCgxFUlJPUl9ERUZBVUwQABIMCghFUlJPUl9PSxABEhgKFEVSUk9S", + "X1JPT01fTk9UX0ZPVU5EEAoSJwojRVJST1JfUk9PTV9TTE9UX0FMUkVBRExZ", + "X0hBRF9QTEFZRVIQCxIhCh1FUlJPUl9ST09NX0NBTlRfRE9fQ1VSUl9TVEFU", + "RRAyEh8KG0VSUk9SX1JPTV9ET05UX0hBRF9TQVZFREFUQRBQEhsKF0VSUk9S", + "X1JPTV9GQUlMX1NBVkVEQVRBEFESIgoeRVJST1JfUk9NX0FMUkVBRFlfSEFE", + "X0NPVkVSSU1HEFoSHwoaRVJST1JfUk9NX0FMUkVBRFlfSEFEX1NUQVIQkwMS", + "HAoXRVJST1JfUk9NX0RPTlRfSEFEX1NUQVIQlAMqQAoJTG9naW5UeXBlEg0K", + "CVVzZURldmljZRAAEg4KClVzZUFjY291bnQQARIUChBVc2VIYW9ZdWVBY2Nv", + "dW50EAIqpQEKCkRldmljZVR5cGUSFgoSRGV2aWNlVHlwZV9EZWZhdWx0EAAS", + "BgoCUEMQARILCgdBbmRyb2lkEAISBwoDSU9TEAMSBwoDUFNWEAQSBwoDUFMz", + "EAUSBwoDUFM0EAYSCwoHWEJPWDM2MBAHEgsKB1hCT1hPTkUQCBIICgRXaWlV", + "EAkSDwoLTmludGVuZG8zRFMQChIRCg1BbmRyb2lkQ2FyQXBwEAsqkwIKC0dh", + "bWVQYWRUeXBlEgwKCEtleWJvYXJkEAASEQoNR2xvYmFsR2FtZVBhZBABEg4K", + "ClRvdWNoUGFuZWwQAhIOCgpEUzNDb250cm9sEAMSDgoKRFM0Q29udHJvbBAE", + "Eg4KCkRTNUNvbnRyb2wQBRIUChBTd2l0Y2hQcm9Db250cm9sEAYSEAoMU3dp", + "dGNoSm95Q29uEAcSEgoOWEJPWDM2MENvbnRyb2wQCBISCg5YQk9YT05FQ29u", + "dHJvbBAJEhEKDVBTVml0YUNvbnRyb2wQChISCg5XaWlVUGFkQ29udHJvbBAL", + "EhQKEFdpaVJlbW90ZUNvbnRyb2wQDBIWChJOaW50ZW5kbzNEU0NvbnRyb2wQ", + "DSqDAgoPUm9tUGxhdGZvcm1UeXBlEgsKB0ludmFsaWQQABIHCgNOZXMQARIR", + "Cg1NYXN0ZXJfU3lzdGVtEAISDQoJR2FtZV9HZWFyEAMSDAoIR2FtZV9Cb3kQ", + "BBISCg5HYW1lX0JveV9Db2xvchAFEhEKDUNvbGVjb19WaXNpb24QBhILCgdT", + "Q18zMDAwEAcSCwoHU0dfMTAwMBAIEgoKBk5FT0dFTxAUEgcKA0lHUxAVEggK", + "BENQUzEQFhIICgRDUFMyEBcSDgoKQXJjYWRlX09MRBAeEg8KC1dvbmRlcl9T", + "d2FuECgSFQoRV29uZGVyX1N3YW5fQ29sb3IQKRIICgNBbGwQ5wcqcAoNUm9v", + "bUdhbWVTdGF0ZRISCg5Ob25lX0dhbWVTdGF0ZRAAEgwKCE9ubHlIb3N0EAES", + "EQoNV2FpdFJhd1VwZGF0ZRACEg0KCVdhaXRSZWFkeRADEgkKBVBhdXNlEAQS", + "EAoMSW5PbmxpbmVHYW1lEAUqTgoRTG9naW5SZXN1bHRTdGF0dXMSIQodTG9n", + "aW5SZXN1bHRTdGF0dXNfQmFzZURlZmF1bHQQABIGCgJPSxABEg4KCkFjY291", + "bnRFcnIQAkICSAFiBnByb3RvMw==")); 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.GamePadType), typeof(global::AxibugProtobuf.RomPlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] { @@ -222,7 +226,9 @@ namespace AxibugProtobuf { new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav), global::AxibugProtobuf.Protobuf_Mine_DelGameSav.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav.Parser, new[]{ "RomID", "SavDataIdx", "Name", "Note", "SavImg", "StateRaw", "Sequence" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx", "UploadSevInfo" }, null, null, null, null) + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx", "UploadSevInfo" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_GameScreen_Img_Upload), global::AxibugProtobuf.Protobuf_GameScreen_Img_Upload.Parser, new[]{ "RomID", "SavImg" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_GameScreen_Img_Upload_RESP), global::AxibugProtobuf.Protobuf_GameScreen_Img_Upload_RESP.Parser, null, null, null, null, null) })); } #endregion @@ -365,6 +371,10 @@ namespace AxibugProtobuf { /// [pbr::OriginalName("CMD_GAMESAV_UploadGameSav")] CmdGamesavUploadGameSav = 8010, /// + ///玩家上传即时存档 上行 | 下行 对应 Protobuf_GameScreen_Img_Upload | Protobuf_GameScreen_Img_Upload_RESP + /// + [pbr::OriginalName("CMD_GAMESCREEN_IMG_Upload")] CmdGamescreenImgUpload = 9001, + /// ///获取即时存档列表 上行 | 下行 对应 Protobuf_Game_Mark | Protobuf_Game_Mark_RESP /// [pbr::OriginalName("CMD_GAME_MARK")] CmdGameMark = 10101, @@ -400,6 +410,10 @@ namespace AxibugProtobuf { /// [pbr::OriginalName("ERROR_ROM_FAIL_SAVEDATA")] ErrorRomFailSavedata = 81, /// + ///该游戏已经有封面图 + /// + [pbr::OriginalName("ERROR_ROM_ALREADY_HAD_COVERIMG")] ErrorRomAlreadyHadCoverimg = 90, + /// ///已经收藏 /// [pbr::OriginalName("ERROR_ROM_ALREADY_HAD_STAR")] ErrorRomAlreadyHadStar = 403, @@ -11871,6 +11885,356 @@ namespace AxibugProtobuf { } + public sealed partial class Protobuf_GameScreen_Img_Upload : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Protobuf_GameScreen_Img_Upload()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[50]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload(Protobuf_GameScreen_Img_Upload other) : this() { + romID_ = other.romID_; + savImg_ = other.savImg_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload Clone() { + return new Protobuf_GameScreen_Img_Upload(this); + } + + /// Field number for the "RomID" field. + public const int RomIDFieldNumber = 1; + private int romID_; + /// + ///RomID + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int RomID { + get { return romID_; } + set { + romID_ = value; + } + } + + /// Field number for the "SavImg" field. + public const int SavImgFieldNumber = 2; + private pb::ByteString savImg_ = pb::ByteString.Empty; + /// + ///截图模拟器 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public pb::ByteString SavImg { + get { return savImg_; } + set { + savImg_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as Protobuf_GameScreen_Img_Upload); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(Protobuf_GameScreen_Img_Upload other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (RomID != other.RomID) return false; + if (SavImg != other.SavImg) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + if (RomID != 0) hash ^= RomID.GetHashCode(); + if (SavImg.Length != 0) hash ^= SavImg.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (RomID != 0) { + output.WriteRawTag(8); + output.WriteInt32(RomID); + } + if (SavImg.Length != 0) { + output.WriteRawTag(18); + output.WriteBytes(SavImg); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (RomID != 0) { + output.WriteRawTag(8); + output.WriteInt32(RomID); + } + if (SavImg.Length != 0) { + output.WriteRawTag(18); + output.WriteBytes(SavImg); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + if (RomID != 0) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(RomID); + } + if (SavImg.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeBytesSize(SavImg); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(Protobuf_GameScreen_Img_Upload other) { + if (other == null) { + return; + } + if (other.RomID != 0) { + RomID = other.RomID; + } + if (other.SavImg.Length != 0) { + SavImg = other.SavImg; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + RomID = input.ReadInt32(); + break; + } + case 18: { + SavImg = input.ReadBytes(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + RomID = input.ReadInt32(); + break; + } + case 18: { + SavImg = input.ReadBytes(); + break; + } + } + } + } + #endif + + } + + public sealed partial class Protobuf_GameScreen_Img_Upload_RESP : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Protobuf_GameScreen_Img_Upload_RESP()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[51]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload_RESP() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload_RESP(Protobuf_GameScreen_Img_Upload_RESP other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload_RESP Clone() { + return new Protobuf_GameScreen_Img_Upload_RESP(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as Protobuf_GameScreen_Img_Upload_RESP); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(Protobuf_GameScreen_Img_Upload_RESP other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(Protobuf_GameScreen_Img_Upload_RESP other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + #endregion } diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI.cs index b1daa708..8a871df0 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI.cs @@ -35,6 +35,8 @@ namespace AxibugEmuOnline.Client menus.Add(new InGameUI_SaveStateQuick(this)); menus.Add(new InGameUI_LoadStateQuick(this)); menus.Add(new InGameUI_SaveStateMenu(this)); + menus.Add(new InGameUI_OpenOrHideScreenJoyStrick(this)); + menus.Add(new InGameUI_UploadGameCoverImg(this)); menus.Add(new InGameUI_QuitGame(this)); base.Awake(); diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_OpenOrHideScreenJoyStrick.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_OpenOrHideScreenJoyStrick.cs new file mode 100644 index 00000000..0c66ecbb --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_OpenOrHideScreenJoyStrick.cs @@ -0,0 +1,20 @@ +using AxibugEmuOnline.Client.ClientCore; + +namespace AxibugEmuOnline.Client +{ + public class InGameUI_OpenOrHideScreenJoyStrick : ExecuteMenu + { + private InGameUI m_gameUI; + public override string Name => "开关虚拟按键"; + + public InGameUI_OpenOrHideScreenJoyStrick(InGameUI gameUI) + { + m_gameUI = gameUI; + } + + public override void OnExcute(OptionUI optionUI, ref bool cancelHide) + { + OverlayManager.HideOrShwoGUIButton(); + } + } +} diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_OpenOrHideScreenJoyStrick.cs.meta b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_OpenOrHideScreenJoyStrick.cs.meta new file mode 100644 index 00000000..e6fc906c --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_OpenOrHideScreenJoyStrick.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c62f9a8f22ed2384b8cfe8d64322d20c \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_UploadGameCoverImg.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_UploadGameCoverImg.cs new file mode 100644 index 00000000..d7ca550b --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_UploadGameCoverImg.cs @@ -0,0 +1,22 @@ +using AxibugEmuOnline.Client.ClientCore; + +namespace AxibugEmuOnline.Client +{ + public class InGameUI_UploadGameCoverImg : ExecuteMenu + { + private InGameUI m_gameUI; + public override string Name => "上传封面图"; + + public InGameUI_UploadGameCoverImg(InGameUI gameUI) + { + m_gameUI = gameUI; + } + + public override void OnExcute(OptionUI optionUI, ref bool cancelHide) + { + var tex = m_gameUI.Core.OutputPixel; + var screenData = tex.ToJPG(m_gameUI.Core.DrawCanvas.transform.localScale); + App.share.SendUpLoadGameScreenCover(m_gameUI.RomFile.ID, screenData); + } + } +} diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_UploadGameCoverImg.cs.meta b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_UploadGameCoverImg.cs.meta new file mode 100644 index 00000000..16bfe066 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_UploadGameCoverImg.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c7d8a8a329692c74181f6834be6a4ac1 \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/OverlayUI/OverlayManager.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/OverlayUI/OverlayManager.cs index 44404edc..10071b72 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/OverlayUI/OverlayManager.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/OverlayUI/OverlayManager.cs @@ -25,6 +25,12 @@ namespace AxibugEmuOnline.Client m_screenGamepad.gameObject.SetActive(App.bUseGUIButton); } + public static void HideOrShwoGUIButton() + { + App.bUseGUIButton = !App.bUseGUIButton; + s_ins.m_screenGamepad.gameObject.SetActive(App.bUseGUIButton); + } + public static void Input(Action callback, string placeHolder, string defaultText) { #if UNITY_PSP2 && !UNITY_EDITOR diff --git a/AxibugEmuOnline.Server/Protobuf/ProtobufAxibugEmuOnline.cs b/AxibugEmuOnline.Server/Protobuf/ProtobufAxibugEmuOnline.cs index c986acf6..cfbdda41 100644 --- a/AxibugEmuOnline.Server/Protobuf/ProtobufAxibugEmuOnline.cs +++ b/AxibugEmuOnline.Server/Protobuf/ProtobufAxibugEmuOnline.cs @@ -124,52 +124,56 @@ namespace AxibugProtobuf { "YXcYBiABKAwSEAoIU2VxdWVuY2UYByABKAUihwEKIFByb3RvYnVmX01pbmVf", "VXBMb2FkR2FtZVNhdl9SRVNQEg0KBVJvbUlEGAEgASgFEhIKClNhdkRhdGFJ", "ZHgYAiABKAUSQAoNVXBsb2FkU2V2SW5mbxgDIAEoCzIpLkF4aWJ1Z1Byb3Rv", - "YnVmLlByb3RvYnVmX01pbmVfR2FtZVNhdkluZm8q/wUKCUNvbW1hbmRJRBIO", - "CgpDTURfREVGQVVMEAASDAoIQ01EX1BJTkcQARIMCghDTURfUE9ORxACEg4K", - "CUNNRF9MT0dJThDRDxIYChNDTURfVVNFUl9PTkxJTkVMSVNUELgXEhIKDUNN", - "RF9VU0VSX0pPSU4Q1xcSEwoOQ01EX1VTRVJfTEVBVkUQ2BcSGgoVQ01EX1VT", - "RVJfU1RBVEVfVVBEQVRFENkXEhgKE0NNRF9Nb2RpZnlfTmlja05hbWUQnRgS", - "HAoXQ01EX1VwZGF0ZV9TZWxmVXNlckluZm8QphgSHQoYQ01EX1VwZGF0ZV9P", - "dGhlclVzZXJJbmZvEKgYEhAKC0NNRF9DSEFUTVNHEKEfEhIKDUNNRF9Sb29t", - "X0xpc3QQiScSGQoUQ01EX1Jvb21fTGlzdF9VcGRhdGUQiicSGAoTQ01EX1Jv", - "b21fR2V0X1NjcmVlbhCTJxIUCg9DTURfUm9vbV9DcmVhdGUQ7ScSEgoNQ01E", - "X1Jvb21fSm9pbhDxJxITCg5DTURfUm9vbV9MZWF2ZRDyJxIiCh1DTURfUm9v", - "bV9NeVJvb21fU3RhdGVfQ2hhbmdlZBD2JxIhChxDTURfUm9vbV9DaGFuZ2VQ", - "bGF5ZXJXaXRoSm95EIooEhYKEUNNRF9Sb29tX1dhaXRTdGVwENEoEicKIkNN", - "RF9Sb29tX0hvc3RQbGF5ZXJfVXBkYXRlU3RhdGVSYXcQ1CgSGgoVQ01EX1Jv", - "b21fUGxheWVyX1JlYWR5ENgoEiAKG0NNRF9Sb29tX1NpbmdlbF9QbGF5ZXJJ", - "bnB1dBD6LhIdChhDTURfUk9PTV9TWU5fUGxheWVySW5wdXQQ/y4SDwoKQ01E", - "X1NjcmVlbhDZNhIfChpDTURfR0FNRVNBVl9HZXRHYW1lU2F2TGlzdBDBPhIb", - "ChZDTURfR0FNRVNBVl9EZWxHYW1lU2F2EMU+Eh4KGUNNRF9HQU1FU0FWX1Vw", - "bG9hZEdhbWVTYXYQyj4SEgoNQ01EX0dBTUVfTUFSSxD1TiqOAgoJRXJyb3JD", - "b2RlEhAKDEVSUk9SX0RFRkFVTBAAEgwKCEVSUk9SX09LEAESGAoURVJST1Jf", - "Uk9PTV9OT1RfRk9VTkQQChInCiNFUlJPUl9ST09NX1NMT1RfQUxSRUFETFlf", - "SEFEX1BMQVlFUhALEiEKHUVSUk9SX1JPT01fQ0FOVF9ET19DVVJSX1NUQVRF", - "EDISHwobRVJST1JfUk9NX0RPTlRfSEFEX1NBVkVEQVRBEFASGwoXRVJST1Jf", - "Uk9NX0ZBSUxfU0FWRURBVEEQURIfChpFUlJPUl9ST01fQUxSRUFEWV9IQURf", - "U1RBUhCTAxIcChdFUlJPUl9ST01fRE9OVF9IQURfU1RBUhCUAypACglMb2dp", - "blR5cGUSDQoJVXNlRGV2aWNlEAASDgoKVXNlQWNjb3VudBABEhQKEFVzZUhh", - "b1l1ZUFjY291bnQQAiqlAQoKRGV2aWNlVHlwZRIWChJEZXZpY2VUeXBlX0Rl", - "ZmF1bHQQABIGCgJQQxABEgsKB0FuZHJvaWQQAhIHCgNJT1MQAxIHCgNQU1YQ", - "BBIHCgNQUzMQBRIHCgNQUzQQBhILCgdYQk9YMzYwEAcSCwoHWEJPWE9ORRAI", - "EggKBFdpaVUQCRIPCgtOaW50ZW5kbzNEUxAKEhEKDUFuZHJvaWRDYXJBcHAQ", - "CyqTAgoLR2FtZVBhZFR5cGUSDAoIS2V5Ym9hcmQQABIRCg1HbG9iYWxHYW1l", - "UGFkEAESDgoKVG91Y2hQYW5lbBACEg4KCkRTM0NvbnRyb2wQAxIOCgpEUzRD", - "b250cm9sEAQSDgoKRFM1Q29udHJvbBAFEhQKEFN3aXRjaFByb0NvbnRyb2wQ", - "BhIQCgxTd2l0Y2hKb3lDb24QBxISCg5YQk9YMzYwQ29udHJvbBAIEhIKDlhC", - "T1hPTkVDb250cm9sEAkSEQoNUFNWaXRhQ29udHJvbBAKEhIKDldpaVVQYWRD", - "b250cm9sEAsSFAoQV2lpUmVtb3RlQ29udHJvbBAMEhYKEk5pbnRlbmRvM0RT", - "Q29udHJvbBANKoMCCg9Sb21QbGF0Zm9ybVR5cGUSCwoHSW52YWxpZBAAEgcK", - "A05lcxABEhEKDU1hc3Rlcl9TeXN0ZW0QAhINCglHYW1lX0dlYXIQAxIMCghH", - "YW1lX0JveRAEEhIKDkdhbWVfQm95X0NvbG9yEAUSEQoNQ29sZWNvX1Zpc2lv", - "bhAGEgsKB1NDXzMwMDAQBxILCgdTR18xMDAwEAgSCgoGTkVPR0VPEBQSBwoD", - "SUdTEBUSCAoEQ1BTMRAWEggKBENQUzIQFxIOCgpBcmNhZGVfT0xEEB4SDwoL", - "V29uZGVyX1N3YW4QKBIVChFXb25kZXJfU3dhbl9Db2xvchApEggKA0FsbBDn", - "BypwCg1Sb29tR2FtZVN0YXRlEhIKDk5vbmVfR2FtZVN0YXRlEAASDAoIT25s", - "eUhvc3QQARIRCg1XYWl0UmF3VXBkYXRlEAISDQoJV2FpdFJlYWR5EAMSCQoF", - "UGF1c2UQBBIQCgxJbk9ubGluZUdhbWUQBSpOChFMb2dpblJlc3VsdFN0YXR1", - "cxIhCh1Mb2dpblJlc3VsdFN0YXR1c19CYXNlRGVmYXVsdBAAEgYKAk9LEAES", - "DgoKQWNjb3VudEVychACQgJIAWIGcHJvdG8z")); + "YnVmLlByb3RvYnVmX01pbmVfR2FtZVNhdkluZm8iPwoeUHJvdG9idWZfR2Ft", + "ZVNjcmVlbl9JbWdfVXBsb2FkEg0KBVJvbUlEGAEgASgFEg4KBlNhdkltZxgC", + "IAEoDCIlCiNQcm90b2J1Zl9HYW1lU2NyZWVuX0ltZ19VcGxvYWRfUkVTUCqf", + "BgoJQ29tbWFuZElEEg4KCkNNRF9ERUZBVUwQABIMCghDTURfUElORxABEgwK", + "CENNRF9QT05HEAISDgoJQ01EX0xPR0lOENEPEhgKE0NNRF9VU0VSX09OTElO", + "RUxJU1QQuBcSEgoNQ01EX1VTRVJfSk9JThDXFxITCg5DTURfVVNFUl9MRUFW", + "RRDYFxIaChVDTURfVVNFUl9TVEFURV9VUERBVEUQ2RcSGAoTQ01EX01vZGlm", + "eV9OaWNrTmFtZRCdGBIcChdDTURfVXBkYXRlX1NlbGZVc2VySW5mbxCmGBId", + "ChhDTURfVXBkYXRlX090aGVyVXNlckluZm8QqBgSEAoLQ01EX0NIQVRNU0cQ", + "oR8SEgoNQ01EX1Jvb21fTGlzdBCJJxIZChRDTURfUm9vbV9MaXN0X1VwZGF0", + "ZRCKJxIYChNDTURfUm9vbV9HZXRfU2NyZWVuEJMnEhQKD0NNRF9Sb29tX0Ny", + "ZWF0ZRDtJxISCg1DTURfUm9vbV9Kb2luEPEnEhMKDkNNRF9Sb29tX0xlYXZl", + "EPInEiIKHUNNRF9Sb29tX015Um9vbV9TdGF0ZV9DaGFuZ2VkEPYnEiEKHENN", + "RF9Sb29tX0NoYW5nZVBsYXllcldpdGhKb3kQiigSFgoRQ01EX1Jvb21fV2Fp", + "dFN0ZXAQ0SgSJwoiQ01EX1Jvb21fSG9zdFBsYXllcl9VcGRhdGVTdGF0ZVJh", + "dxDUKBIaChVDTURfUm9vbV9QbGF5ZXJfUmVhZHkQ2CgSIAobQ01EX1Jvb21f", + "U2luZ2VsX1BsYXllcklucHV0EPouEh0KGENNRF9ST09NX1NZTl9QbGF5ZXJJ", + "bnB1dBD/LhIPCgpDTURfU2NyZWVuENk2Eh8KGkNNRF9HQU1FU0FWX0dldEdh", + "bWVTYXZMaXN0EME+EhsKFkNNRF9HQU1FU0FWX0RlbEdhbWVTYXYQxT4SHgoZ", + "Q01EX0dBTUVTQVZfVXBsb2FkR2FtZVNhdhDKPhIeChlDTURfR0FNRVNDUkVF", + "Tl9JTUdfVXBsb2FkEKlGEhIKDUNNRF9HQU1FX01BUksQ9U4qsgIKCUVycm9y", + "Q29kZRIQCgxFUlJPUl9ERUZBVUwQABIMCghFUlJPUl9PSxABEhgKFEVSUk9S", + "X1JPT01fTk9UX0ZPVU5EEAoSJwojRVJST1JfUk9PTV9TTE9UX0FMUkVBRExZ", + "X0hBRF9QTEFZRVIQCxIhCh1FUlJPUl9ST09NX0NBTlRfRE9fQ1VSUl9TVEFU", + "RRAyEh8KG0VSUk9SX1JPTV9ET05UX0hBRF9TQVZFREFUQRBQEhsKF0VSUk9S", + "X1JPTV9GQUlMX1NBVkVEQVRBEFESIgoeRVJST1JfUk9NX0FMUkVBRFlfSEFE", + "X0NPVkVSSU1HEFoSHwoaRVJST1JfUk9NX0FMUkVBRFlfSEFEX1NUQVIQkwMS", + "HAoXRVJST1JfUk9NX0RPTlRfSEFEX1NUQVIQlAMqQAoJTG9naW5UeXBlEg0K", + "CVVzZURldmljZRAAEg4KClVzZUFjY291bnQQARIUChBVc2VIYW9ZdWVBY2Nv", + "dW50EAIqpQEKCkRldmljZVR5cGUSFgoSRGV2aWNlVHlwZV9EZWZhdWx0EAAS", + "BgoCUEMQARILCgdBbmRyb2lkEAISBwoDSU9TEAMSBwoDUFNWEAQSBwoDUFMz", + "EAUSBwoDUFM0EAYSCwoHWEJPWDM2MBAHEgsKB1hCT1hPTkUQCBIICgRXaWlV", + "EAkSDwoLTmludGVuZG8zRFMQChIRCg1BbmRyb2lkQ2FyQXBwEAsqkwIKC0dh", + "bWVQYWRUeXBlEgwKCEtleWJvYXJkEAASEQoNR2xvYmFsR2FtZVBhZBABEg4K", + "ClRvdWNoUGFuZWwQAhIOCgpEUzNDb250cm9sEAMSDgoKRFM0Q29udHJvbBAE", + "Eg4KCkRTNUNvbnRyb2wQBRIUChBTd2l0Y2hQcm9Db250cm9sEAYSEAoMU3dp", + "dGNoSm95Q29uEAcSEgoOWEJPWDM2MENvbnRyb2wQCBISCg5YQk9YT05FQ29u", + "dHJvbBAJEhEKDVBTVml0YUNvbnRyb2wQChISCg5XaWlVUGFkQ29udHJvbBAL", + "EhQKEFdpaVJlbW90ZUNvbnRyb2wQDBIWChJOaW50ZW5kbzNEU0NvbnRyb2wQ", + "DSqDAgoPUm9tUGxhdGZvcm1UeXBlEgsKB0ludmFsaWQQABIHCgNOZXMQARIR", + "Cg1NYXN0ZXJfU3lzdGVtEAISDQoJR2FtZV9HZWFyEAMSDAoIR2FtZV9Cb3kQ", + "BBISCg5HYW1lX0JveV9Db2xvchAFEhEKDUNvbGVjb19WaXNpb24QBhILCgdT", + "Q18zMDAwEAcSCwoHU0dfMTAwMBAIEgoKBk5FT0dFTxAUEgcKA0lHUxAVEggK", + "BENQUzEQFhIICgRDUFMyEBcSDgoKQXJjYWRlX09MRBAeEg8KC1dvbmRlcl9T", + "d2FuECgSFQoRV29uZGVyX1N3YW5fQ29sb3IQKRIICgNBbGwQ5wcqcAoNUm9v", + "bUdhbWVTdGF0ZRISCg5Ob25lX0dhbWVTdGF0ZRAAEgwKCE9ubHlIb3N0EAES", + "EQoNV2FpdFJhd1VwZGF0ZRACEg0KCVdhaXRSZWFkeRADEgkKBVBhdXNlEAQS", + "EAoMSW5PbmxpbmVHYW1lEAUqTgoRTG9naW5SZXN1bHRTdGF0dXMSIQodTG9n", + "aW5SZXN1bHRTdGF0dXNfQmFzZURlZmF1bHQQABIGCgJPSxABEg4KCkFjY291", + "bnRFcnIQAkICSAFiBnByb3RvMw==")); 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.GamePadType), typeof(global::AxibugProtobuf.RomPlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] { @@ -222,7 +226,9 @@ namespace AxibugProtobuf { new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav), global::AxibugProtobuf.Protobuf_Mine_DelGameSav.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav.Parser, new[]{ "RomID", "SavDataIdx", "Name", "Note", "SavImg", "StateRaw", "Sequence" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx", "UploadSevInfo" }, null, null, null, null) + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx", "UploadSevInfo" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_GameScreen_Img_Upload), global::AxibugProtobuf.Protobuf_GameScreen_Img_Upload.Parser, new[]{ "RomID", "SavImg" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_GameScreen_Img_Upload_RESP), global::AxibugProtobuf.Protobuf_GameScreen_Img_Upload_RESP.Parser, null, null, null, null, null) })); } #endregion @@ -365,6 +371,10 @@ namespace AxibugProtobuf { /// [pbr::OriginalName("CMD_GAMESAV_UploadGameSav")] CmdGamesavUploadGameSav = 8010, /// + ///玩家上传即时存档 上行 | 下行 对应 Protobuf_GameScreen_Img_Upload | Protobuf_GameScreen_Img_Upload_RESP + /// + [pbr::OriginalName("CMD_GAMESCREEN_IMG_Upload")] CmdGamescreenImgUpload = 9001, + /// ///获取即时存档列表 上行 | 下行 对应 Protobuf_Game_Mark | Protobuf_Game_Mark_RESP /// [pbr::OriginalName("CMD_GAME_MARK")] CmdGameMark = 10101, @@ -400,6 +410,10 @@ namespace AxibugProtobuf { /// [pbr::OriginalName("ERROR_ROM_FAIL_SAVEDATA")] ErrorRomFailSavedata = 81, /// + ///该游戏已经有封面图 + /// + [pbr::OriginalName("ERROR_ROM_ALREADY_HAD_COVERIMG")] ErrorRomAlreadyHadCoverimg = 90, + /// ///已经收藏 /// [pbr::OriginalName("ERROR_ROM_ALREADY_HAD_STAR")] ErrorRomAlreadyHadStar = 403, @@ -11871,6 +11885,356 @@ namespace AxibugProtobuf { } + public sealed partial class Protobuf_GameScreen_Img_Upload : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Protobuf_GameScreen_Img_Upload()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[50]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload(Protobuf_GameScreen_Img_Upload other) : this() { + romID_ = other.romID_; + savImg_ = other.savImg_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload Clone() { + return new Protobuf_GameScreen_Img_Upload(this); + } + + /// Field number for the "RomID" field. + public const int RomIDFieldNumber = 1; + private int romID_; + /// + ///RomID + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int RomID { + get { return romID_; } + set { + romID_ = value; + } + } + + /// Field number for the "SavImg" field. + public const int SavImgFieldNumber = 2; + private pb::ByteString savImg_ = pb::ByteString.Empty; + /// + ///截图模拟器 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public pb::ByteString SavImg { + get { return savImg_; } + set { + savImg_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as Protobuf_GameScreen_Img_Upload); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(Protobuf_GameScreen_Img_Upload other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (RomID != other.RomID) return false; + if (SavImg != other.SavImg) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + if (RomID != 0) hash ^= RomID.GetHashCode(); + if (SavImg.Length != 0) hash ^= SavImg.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (RomID != 0) { + output.WriteRawTag(8); + output.WriteInt32(RomID); + } + if (SavImg.Length != 0) { + output.WriteRawTag(18); + output.WriteBytes(SavImg); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (RomID != 0) { + output.WriteRawTag(8); + output.WriteInt32(RomID); + } + if (SavImg.Length != 0) { + output.WriteRawTag(18); + output.WriteBytes(SavImg); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + if (RomID != 0) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(RomID); + } + if (SavImg.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeBytesSize(SavImg); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(Protobuf_GameScreen_Img_Upload other) { + if (other == null) { + return; + } + if (other.RomID != 0) { + RomID = other.RomID; + } + if (other.SavImg.Length != 0) { + SavImg = other.SavImg; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + RomID = input.ReadInt32(); + break; + } + case 18: { + SavImg = input.ReadBytes(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + RomID = input.ReadInt32(); + break; + } + case 18: { + SavImg = input.ReadBytes(); + break; + } + } + } + } + #endif + + } + + public sealed partial class Protobuf_GameScreen_Img_Upload_RESP : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Protobuf_GameScreen_Img_Upload_RESP()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[51]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload_RESP() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload_RESP(Protobuf_GameScreen_Img_Upload_RESP other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload_RESP Clone() { + return new Protobuf_GameScreen_Img_Upload_RESP(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as Protobuf_GameScreen_Img_Upload_RESP); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(Protobuf_GameScreen_Img_Upload_RESP other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(Protobuf_GameScreen_Img_Upload_RESP other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + #endregion } diff --git a/AxibugEmuOnline.Web/Protobuf/ProtobufAxibugEmuOnline.cs b/AxibugEmuOnline.Web/Protobuf/ProtobufAxibugEmuOnline.cs index c986acf6..cfbdda41 100644 --- a/AxibugEmuOnline.Web/Protobuf/ProtobufAxibugEmuOnline.cs +++ b/AxibugEmuOnline.Web/Protobuf/ProtobufAxibugEmuOnline.cs @@ -124,52 +124,56 @@ namespace AxibugProtobuf { "YXcYBiABKAwSEAoIU2VxdWVuY2UYByABKAUihwEKIFByb3RvYnVmX01pbmVf", "VXBMb2FkR2FtZVNhdl9SRVNQEg0KBVJvbUlEGAEgASgFEhIKClNhdkRhdGFJ", "ZHgYAiABKAUSQAoNVXBsb2FkU2V2SW5mbxgDIAEoCzIpLkF4aWJ1Z1Byb3Rv", - "YnVmLlByb3RvYnVmX01pbmVfR2FtZVNhdkluZm8q/wUKCUNvbW1hbmRJRBIO", - "CgpDTURfREVGQVVMEAASDAoIQ01EX1BJTkcQARIMCghDTURfUE9ORxACEg4K", - "CUNNRF9MT0dJThDRDxIYChNDTURfVVNFUl9PTkxJTkVMSVNUELgXEhIKDUNN", - "RF9VU0VSX0pPSU4Q1xcSEwoOQ01EX1VTRVJfTEVBVkUQ2BcSGgoVQ01EX1VT", - "RVJfU1RBVEVfVVBEQVRFENkXEhgKE0NNRF9Nb2RpZnlfTmlja05hbWUQnRgS", - "HAoXQ01EX1VwZGF0ZV9TZWxmVXNlckluZm8QphgSHQoYQ01EX1VwZGF0ZV9P", - "dGhlclVzZXJJbmZvEKgYEhAKC0NNRF9DSEFUTVNHEKEfEhIKDUNNRF9Sb29t", - "X0xpc3QQiScSGQoUQ01EX1Jvb21fTGlzdF9VcGRhdGUQiicSGAoTQ01EX1Jv", - "b21fR2V0X1NjcmVlbhCTJxIUCg9DTURfUm9vbV9DcmVhdGUQ7ScSEgoNQ01E", - "X1Jvb21fSm9pbhDxJxITCg5DTURfUm9vbV9MZWF2ZRDyJxIiCh1DTURfUm9v", - "bV9NeVJvb21fU3RhdGVfQ2hhbmdlZBD2JxIhChxDTURfUm9vbV9DaGFuZ2VQ", - "bGF5ZXJXaXRoSm95EIooEhYKEUNNRF9Sb29tX1dhaXRTdGVwENEoEicKIkNN", - "RF9Sb29tX0hvc3RQbGF5ZXJfVXBkYXRlU3RhdGVSYXcQ1CgSGgoVQ01EX1Jv", - "b21fUGxheWVyX1JlYWR5ENgoEiAKG0NNRF9Sb29tX1NpbmdlbF9QbGF5ZXJJ", - "bnB1dBD6LhIdChhDTURfUk9PTV9TWU5fUGxheWVySW5wdXQQ/y4SDwoKQ01E", - "X1NjcmVlbhDZNhIfChpDTURfR0FNRVNBVl9HZXRHYW1lU2F2TGlzdBDBPhIb", - "ChZDTURfR0FNRVNBVl9EZWxHYW1lU2F2EMU+Eh4KGUNNRF9HQU1FU0FWX1Vw", - "bG9hZEdhbWVTYXYQyj4SEgoNQ01EX0dBTUVfTUFSSxD1TiqOAgoJRXJyb3JD", - "b2RlEhAKDEVSUk9SX0RFRkFVTBAAEgwKCEVSUk9SX09LEAESGAoURVJST1Jf", - "Uk9PTV9OT1RfRk9VTkQQChInCiNFUlJPUl9ST09NX1NMT1RfQUxSRUFETFlf", - "SEFEX1BMQVlFUhALEiEKHUVSUk9SX1JPT01fQ0FOVF9ET19DVVJSX1NUQVRF", - "EDISHwobRVJST1JfUk9NX0RPTlRfSEFEX1NBVkVEQVRBEFASGwoXRVJST1Jf", - "Uk9NX0ZBSUxfU0FWRURBVEEQURIfChpFUlJPUl9ST01fQUxSRUFEWV9IQURf", - "U1RBUhCTAxIcChdFUlJPUl9ST01fRE9OVF9IQURfU1RBUhCUAypACglMb2dp", - "blR5cGUSDQoJVXNlRGV2aWNlEAASDgoKVXNlQWNjb3VudBABEhQKEFVzZUhh", - "b1l1ZUFjY291bnQQAiqlAQoKRGV2aWNlVHlwZRIWChJEZXZpY2VUeXBlX0Rl", - "ZmF1bHQQABIGCgJQQxABEgsKB0FuZHJvaWQQAhIHCgNJT1MQAxIHCgNQU1YQ", - "BBIHCgNQUzMQBRIHCgNQUzQQBhILCgdYQk9YMzYwEAcSCwoHWEJPWE9ORRAI", - "EggKBFdpaVUQCRIPCgtOaW50ZW5kbzNEUxAKEhEKDUFuZHJvaWRDYXJBcHAQ", - "CyqTAgoLR2FtZVBhZFR5cGUSDAoIS2V5Ym9hcmQQABIRCg1HbG9iYWxHYW1l", - "UGFkEAESDgoKVG91Y2hQYW5lbBACEg4KCkRTM0NvbnRyb2wQAxIOCgpEUzRD", - "b250cm9sEAQSDgoKRFM1Q29udHJvbBAFEhQKEFN3aXRjaFByb0NvbnRyb2wQ", - "BhIQCgxTd2l0Y2hKb3lDb24QBxISCg5YQk9YMzYwQ29udHJvbBAIEhIKDlhC", - "T1hPTkVDb250cm9sEAkSEQoNUFNWaXRhQ29udHJvbBAKEhIKDldpaVVQYWRD", - "b250cm9sEAsSFAoQV2lpUmVtb3RlQ29udHJvbBAMEhYKEk5pbnRlbmRvM0RT", - "Q29udHJvbBANKoMCCg9Sb21QbGF0Zm9ybVR5cGUSCwoHSW52YWxpZBAAEgcK", - "A05lcxABEhEKDU1hc3Rlcl9TeXN0ZW0QAhINCglHYW1lX0dlYXIQAxIMCghH", - "YW1lX0JveRAEEhIKDkdhbWVfQm95X0NvbG9yEAUSEQoNQ29sZWNvX1Zpc2lv", - "bhAGEgsKB1NDXzMwMDAQBxILCgdTR18xMDAwEAgSCgoGTkVPR0VPEBQSBwoD", - "SUdTEBUSCAoEQ1BTMRAWEggKBENQUzIQFxIOCgpBcmNhZGVfT0xEEB4SDwoL", - "V29uZGVyX1N3YW4QKBIVChFXb25kZXJfU3dhbl9Db2xvchApEggKA0FsbBDn", - "BypwCg1Sb29tR2FtZVN0YXRlEhIKDk5vbmVfR2FtZVN0YXRlEAASDAoIT25s", - "eUhvc3QQARIRCg1XYWl0UmF3VXBkYXRlEAISDQoJV2FpdFJlYWR5EAMSCQoF", - "UGF1c2UQBBIQCgxJbk9ubGluZUdhbWUQBSpOChFMb2dpblJlc3VsdFN0YXR1", - "cxIhCh1Mb2dpblJlc3VsdFN0YXR1c19CYXNlRGVmYXVsdBAAEgYKAk9LEAES", - "DgoKQWNjb3VudEVychACQgJIAWIGcHJvdG8z")); + "YnVmLlByb3RvYnVmX01pbmVfR2FtZVNhdkluZm8iPwoeUHJvdG9idWZfR2Ft", + "ZVNjcmVlbl9JbWdfVXBsb2FkEg0KBVJvbUlEGAEgASgFEg4KBlNhdkltZxgC", + "IAEoDCIlCiNQcm90b2J1Zl9HYW1lU2NyZWVuX0ltZ19VcGxvYWRfUkVTUCqf", + "BgoJQ29tbWFuZElEEg4KCkNNRF9ERUZBVUwQABIMCghDTURfUElORxABEgwK", + "CENNRF9QT05HEAISDgoJQ01EX0xPR0lOENEPEhgKE0NNRF9VU0VSX09OTElO", + "RUxJU1QQuBcSEgoNQ01EX1VTRVJfSk9JThDXFxITCg5DTURfVVNFUl9MRUFW", + "RRDYFxIaChVDTURfVVNFUl9TVEFURV9VUERBVEUQ2RcSGAoTQ01EX01vZGlm", + "eV9OaWNrTmFtZRCdGBIcChdDTURfVXBkYXRlX1NlbGZVc2VySW5mbxCmGBId", + "ChhDTURfVXBkYXRlX090aGVyVXNlckluZm8QqBgSEAoLQ01EX0NIQVRNU0cQ", + "oR8SEgoNQ01EX1Jvb21fTGlzdBCJJxIZChRDTURfUm9vbV9MaXN0X1VwZGF0", + "ZRCKJxIYChNDTURfUm9vbV9HZXRfU2NyZWVuEJMnEhQKD0NNRF9Sb29tX0Ny", + "ZWF0ZRDtJxISCg1DTURfUm9vbV9Kb2luEPEnEhMKDkNNRF9Sb29tX0xlYXZl", + "EPInEiIKHUNNRF9Sb29tX015Um9vbV9TdGF0ZV9DaGFuZ2VkEPYnEiEKHENN", + "RF9Sb29tX0NoYW5nZVBsYXllcldpdGhKb3kQiigSFgoRQ01EX1Jvb21fV2Fp", + "dFN0ZXAQ0SgSJwoiQ01EX1Jvb21fSG9zdFBsYXllcl9VcGRhdGVTdGF0ZVJh", + "dxDUKBIaChVDTURfUm9vbV9QbGF5ZXJfUmVhZHkQ2CgSIAobQ01EX1Jvb21f", + "U2luZ2VsX1BsYXllcklucHV0EPouEh0KGENNRF9ST09NX1NZTl9QbGF5ZXJJ", + "bnB1dBD/LhIPCgpDTURfU2NyZWVuENk2Eh8KGkNNRF9HQU1FU0FWX0dldEdh", + "bWVTYXZMaXN0EME+EhsKFkNNRF9HQU1FU0FWX0RlbEdhbWVTYXYQxT4SHgoZ", + "Q01EX0dBTUVTQVZfVXBsb2FkR2FtZVNhdhDKPhIeChlDTURfR0FNRVNDUkVF", + "Tl9JTUdfVXBsb2FkEKlGEhIKDUNNRF9HQU1FX01BUksQ9U4qsgIKCUVycm9y", + "Q29kZRIQCgxFUlJPUl9ERUZBVUwQABIMCghFUlJPUl9PSxABEhgKFEVSUk9S", + "X1JPT01fTk9UX0ZPVU5EEAoSJwojRVJST1JfUk9PTV9TTE9UX0FMUkVBRExZ", + "X0hBRF9QTEFZRVIQCxIhCh1FUlJPUl9ST09NX0NBTlRfRE9fQ1VSUl9TVEFU", + "RRAyEh8KG0VSUk9SX1JPTV9ET05UX0hBRF9TQVZFREFUQRBQEhsKF0VSUk9S", + "X1JPTV9GQUlMX1NBVkVEQVRBEFESIgoeRVJST1JfUk9NX0FMUkVBRFlfSEFE", + "X0NPVkVSSU1HEFoSHwoaRVJST1JfUk9NX0FMUkVBRFlfSEFEX1NUQVIQkwMS", + "HAoXRVJST1JfUk9NX0RPTlRfSEFEX1NUQVIQlAMqQAoJTG9naW5UeXBlEg0K", + "CVVzZURldmljZRAAEg4KClVzZUFjY291bnQQARIUChBVc2VIYW9ZdWVBY2Nv", + "dW50EAIqpQEKCkRldmljZVR5cGUSFgoSRGV2aWNlVHlwZV9EZWZhdWx0EAAS", + "BgoCUEMQARILCgdBbmRyb2lkEAISBwoDSU9TEAMSBwoDUFNWEAQSBwoDUFMz", + "EAUSBwoDUFM0EAYSCwoHWEJPWDM2MBAHEgsKB1hCT1hPTkUQCBIICgRXaWlV", + "EAkSDwoLTmludGVuZG8zRFMQChIRCg1BbmRyb2lkQ2FyQXBwEAsqkwIKC0dh", + "bWVQYWRUeXBlEgwKCEtleWJvYXJkEAASEQoNR2xvYmFsR2FtZVBhZBABEg4K", + "ClRvdWNoUGFuZWwQAhIOCgpEUzNDb250cm9sEAMSDgoKRFM0Q29udHJvbBAE", + "Eg4KCkRTNUNvbnRyb2wQBRIUChBTd2l0Y2hQcm9Db250cm9sEAYSEAoMU3dp", + "dGNoSm95Q29uEAcSEgoOWEJPWDM2MENvbnRyb2wQCBISCg5YQk9YT05FQ29u", + "dHJvbBAJEhEKDVBTVml0YUNvbnRyb2wQChISCg5XaWlVUGFkQ29udHJvbBAL", + "EhQKEFdpaVJlbW90ZUNvbnRyb2wQDBIWChJOaW50ZW5kbzNEU0NvbnRyb2wQ", + "DSqDAgoPUm9tUGxhdGZvcm1UeXBlEgsKB0ludmFsaWQQABIHCgNOZXMQARIR", + "Cg1NYXN0ZXJfU3lzdGVtEAISDQoJR2FtZV9HZWFyEAMSDAoIR2FtZV9Cb3kQ", + "BBISCg5HYW1lX0JveV9Db2xvchAFEhEKDUNvbGVjb19WaXNpb24QBhILCgdT", + "Q18zMDAwEAcSCwoHU0dfMTAwMBAIEgoKBk5FT0dFTxAUEgcKA0lHUxAVEggK", + "BENQUzEQFhIICgRDUFMyEBcSDgoKQXJjYWRlX09MRBAeEg8KC1dvbmRlcl9T", + "d2FuECgSFQoRV29uZGVyX1N3YW5fQ29sb3IQKRIICgNBbGwQ5wcqcAoNUm9v", + "bUdhbWVTdGF0ZRISCg5Ob25lX0dhbWVTdGF0ZRAAEgwKCE9ubHlIb3N0EAES", + "EQoNV2FpdFJhd1VwZGF0ZRACEg0KCVdhaXRSZWFkeRADEgkKBVBhdXNlEAQS", + "EAoMSW5PbmxpbmVHYW1lEAUqTgoRTG9naW5SZXN1bHRTdGF0dXMSIQodTG9n", + "aW5SZXN1bHRTdGF0dXNfQmFzZURlZmF1bHQQABIGCgJPSxABEg4KCkFjY291", + "bnRFcnIQAkICSAFiBnByb3RvMw==")); 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.GamePadType), typeof(global::AxibugProtobuf.RomPlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] { @@ -222,7 +226,9 @@ namespace AxibugProtobuf { new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav), global::AxibugProtobuf.Protobuf_Mine_DelGameSav.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav.Parser, new[]{ "RomID", "SavDataIdx", "Name", "Note", "SavImg", "StateRaw", "Sequence" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx", "UploadSevInfo" }, null, null, null, null) + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx", "UploadSevInfo" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_GameScreen_Img_Upload), global::AxibugProtobuf.Protobuf_GameScreen_Img_Upload.Parser, new[]{ "RomID", "SavImg" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_GameScreen_Img_Upload_RESP), global::AxibugProtobuf.Protobuf_GameScreen_Img_Upload_RESP.Parser, null, null, null, null, null) })); } #endregion @@ -365,6 +371,10 @@ namespace AxibugProtobuf { /// [pbr::OriginalName("CMD_GAMESAV_UploadGameSav")] CmdGamesavUploadGameSav = 8010, /// + ///玩家上传即时存档 上行 | 下行 对应 Protobuf_GameScreen_Img_Upload | Protobuf_GameScreen_Img_Upload_RESP + /// + [pbr::OriginalName("CMD_GAMESCREEN_IMG_Upload")] CmdGamescreenImgUpload = 9001, + /// ///获取即时存档列表 上行 | 下行 对应 Protobuf_Game_Mark | Protobuf_Game_Mark_RESP /// [pbr::OriginalName("CMD_GAME_MARK")] CmdGameMark = 10101, @@ -400,6 +410,10 @@ namespace AxibugProtobuf { /// [pbr::OriginalName("ERROR_ROM_FAIL_SAVEDATA")] ErrorRomFailSavedata = 81, /// + ///该游戏已经有封面图 + /// + [pbr::OriginalName("ERROR_ROM_ALREADY_HAD_COVERIMG")] ErrorRomAlreadyHadCoverimg = 90, + /// ///已经收藏 /// [pbr::OriginalName("ERROR_ROM_ALREADY_HAD_STAR")] ErrorRomAlreadyHadStar = 403, @@ -11871,6 +11885,356 @@ namespace AxibugProtobuf { } + public sealed partial class Protobuf_GameScreen_Img_Upload : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Protobuf_GameScreen_Img_Upload()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[50]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload(Protobuf_GameScreen_Img_Upload other) : this() { + romID_ = other.romID_; + savImg_ = other.savImg_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload Clone() { + return new Protobuf_GameScreen_Img_Upload(this); + } + + /// Field number for the "RomID" field. + public const int RomIDFieldNumber = 1; + private int romID_; + /// + ///RomID + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int RomID { + get { return romID_; } + set { + romID_ = value; + } + } + + /// Field number for the "SavImg" field. + public const int SavImgFieldNumber = 2; + private pb::ByteString savImg_ = pb::ByteString.Empty; + /// + ///截图模拟器 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public pb::ByteString SavImg { + get { return savImg_; } + set { + savImg_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as Protobuf_GameScreen_Img_Upload); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(Protobuf_GameScreen_Img_Upload other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (RomID != other.RomID) return false; + if (SavImg != other.SavImg) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + if (RomID != 0) hash ^= RomID.GetHashCode(); + if (SavImg.Length != 0) hash ^= SavImg.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (RomID != 0) { + output.WriteRawTag(8); + output.WriteInt32(RomID); + } + if (SavImg.Length != 0) { + output.WriteRawTag(18); + output.WriteBytes(SavImg); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (RomID != 0) { + output.WriteRawTag(8); + output.WriteInt32(RomID); + } + if (SavImg.Length != 0) { + output.WriteRawTag(18); + output.WriteBytes(SavImg); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + if (RomID != 0) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(RomID); + } + if (SavImg.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeBytesSize(SavImg); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(Protobuf_GameScreen_Img_Upload other) { + if (other == null) { + return; + } + if (other.RomID != 0) { + RomID = other.RomID; + } + if (other.SavImg.Length != 0) { + SavImg = other.SavImg; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + RomID = input.ReadInt32(); + break; + } + case 18: { + SavImg = input.ReadBytes(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + RomID = input.ReadInt32(); + break; + } + case 18: { + SavImg = input.ReadBytes(); + break; + } + } + } + } + #endif + + } + + public sealed partial class Protobuf_GameScreen_Img_Upload_RESP : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Protobuf_GameScreen_Img_Upload_RESP()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[51]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload_RESP() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload_RESP(Protobuf_GameScreen_Img_Upload_RESP other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload_RESP Clone() { + return new Protobuf_GameScreen_Img_Upload_RESP(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as Protobuf_GameScreen_Img_Upload_RESP); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(Protobuf_GameScreen_Img_Upload_RESP other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(Protobuf_GameScreen_Img_Upload_RESP other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + #endregion } diff --git a/AxibugEmuOnline.Web/wwwroot/xmb/css/style.css b/AxibugEmuOnline.Web/wwwroot/xmb/css/style.css new file mode 100644 index 00000000..7273ea37 --- /dev/null +++ b/AxibugEmuOnline.Web/wwwroot/xmb/css/style.css @@ -0,0 +1,113 @@ +body { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + margin: 0; + overflow: hidden; +} + +#container { + position: absolute; + width: 100vmax; + height: 100vmax; + left: 50%; + top: 50%; + background: linear-gradient(to bottom, purple, #00d); + transform: translate3d(-50%, -40%, 0); +} + +canvas { + display: block; +} +* { + margin: 0; + padding: 0; + box-sizing: border-box; + vertical-align: middle; +} + +body { + /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#1d80d6+0,05306d+34,05306d+70,1d80d6+100 */ +background: #1d80d6; /* Old browsers */ +background: -moz-linear-gradient(-45deg, #1d80d6 0%, #05306d 34%, #05306d 70%, #1d80d6 100%); /* FF3.6-15 */ +background: -webkit-linear-gradient(-45deg, #1d80d6 0%,#05306d 34%,#05306d 70%,#1d80d6 100%); /* Chrome10-25,Safari5.1-6 */ +background: linear-gradient(135deg, #1d80d6 0%,#05306d 34%,#05306d 70%,#1d80d6 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ +filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1d80d6', endColorstr='#1d80d6',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */ + width: 100vw; + height: 100vh; + display: flex; + align-items: center; + justify-content: center; + overflow: hidden; +} + +.loader { + margin: auto; + width: 103px; + height: 100px; +} + +.oneline { + width: 200px; + height: 50px; +} + +.icon, +.icon svg { + width: 50px; + height: 50px; + display: inline-block; +} + +.loader:not(.oneline) .icon:nth-child(odd) { + margin-right: 3px; +} + +.icon:nth-child(1) { + animation-delay: 0; +} + +.icon:nth-child(2) { + animation-delay: 0.05s; +} + +.icon:nth-child(3) { + animation-delay: 0.1s; +} + +.icon:nth-child(4) { + animation-delay: 0.15s; +} + +.icon { + transform: rotate(-90deg) scale(0); +} + +.animate { + animation: psicon 2s cubic-bezier(.75,0,1,1); + /* If we want, we can add infinite iterations here, but then lose the randomisation of the symbols */ +} + +@keyframes psicon { + 0% { + transform: rotate(-90deg) scale(0); + animation-timing-function: cubic-bezier(0,0,.25,1); + } + 40%, 60% { + transform: rotate(0deg) scale(1); + } + 100% { + transform: rotate(90deg) scale(0); + } +} + +button { + display: block; + position: absolute; + left: 1em; + top: 1em; + padding: .5em; + font-size: 1em; +} diff --git a/AxibugEmuOnline.Web/wwwroot/xmb/js/index.js b/AxibugEmuOnline.Web/wwwroot/xmb/js/index.js new file mode 100644 index 00000000..51a29c06 --- /dev/null +++ b/AxibugEmuOnline.Web/wwwroot/xmb/js/index.js @@ -0,0 +1,166 @@ +/* + * RetroArch Menu Shader Pipeline Ribbon + * Port for THREE.js + * https://github.com/libretro/RetroArch + */ + +let scene, camera, renderer, ribbon + +const container = document.querySelector('#container') + +const init = () => { + + scene = new THREE.Scene() + camera = new THREE.PerspectiveCamera( 75, 1, 0.1, 10000 ) + camera.position.z = 2 + + renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true }) + container.appendChild( renderer.domElement ) + + ribbon = new THREE.Mesh( + new THREE.PlaneGeometry( 1, 1, 128, 128 ), + new THREE.ShaderMaterial({ + uniforms: { + time: { value: 1.0 }, + }, + vertexShader: ` + varying vec3 vEC; + uniform float time; + + float iqhash(float n) { + return fract(sin(n) * 43758.5453); + } + + float noise(vec3 x) { + vec3 p = floor(x); + vec3 f = fract(x); + f = f * f * (3.0 - 2.0 * f); + float n = p.x + p.y * 57.0 + 113.0 * p.z; + return mix(mix(mix(iqhash(n), iqhash(n + 1.0), f.x), + mix(iqhash(n + 57.0), iqhash(n + 58.0), f.x), f.y), + mix(mix(iqhash(n + 113.0), iqhash(n + 114.0), f.x), + mix(iqhash(n + 170.0), iqhash(n + 171.0), f.x), f.y), f.z); + } + + float xmb_noise2(vec3 x) { + return cos(x.z * 4.0) * cos(x.z + time / 10.0 + x.x); + } + + void main() { + vec4 pos = projectionMatrix * modelViewMatrix * vec4(position, 1.0); + vec3 v = vec3(pos.x, 0.0, pos.y); + vec3 v2 = v; + vec3 v3 = v; + + v.y = xmb_noise2(v2) / 8.0; + + v3.x -= time / 5.0; + v3.x /= 4.0; + + v3.z -= time / 10.0; + v3.y -= time / 100.0; + + v.z -= noise(v3 * 7.0) / 15.0; + v.y -= noise(v3 * 7.0) / 15.0 + cos(v.x * 2.0 - time / 2.0) / 5.0 - 0.3; + + vEC = v; + gl_Position = vec4(v, 1.0); + } + `, + fragmentShader: ` + uniform float time; + varying vec3 vEC; + + void main() + { + const vec3 up = vec3(0.0, 0.0, 1.0); + vec3 x = dFdx(vEC); + vec3 y = dFdy(vEC); + vec3 normal = normalize(cross(x, y)); + float c = 1.0 - dot(normal, up); + c = (1.0 - cos(c * c)) / 3.0; + gl_FragColor = vec4(1.0, 1.0, 1.0, c * 1.5); + } + `, + extensions: { + derivatives: true, + fragDepth: false, + drawBuffers: false, + shaderTextureLOD: false + }, + side: THREE.DoubleSide, + transparent: true, + depthTest: false, + }) + ) + + scene.add( ribbon ) + + resize() + window.addEventListener( 'resize', resize ) + +} + + +const resize = () => { + + const { offsetWidth, offsetHeight } = container + + renderer.setSize( offsetWidth, offsetHeight ) + renderer.setPixelRatio( devicePixelRatio ) + + camera.aspect = offsetWidth / offsetHeight + camera.updateProjectionMatrix() + + ribbon.scale.set( camera.aspect * 1.55, 0.75, 1 ) + +} + +const animate = () => { + + ribbon.material.uniforms.time.value += 0.01 + + renderer.render( scene, camera ) + requestAnimationFrame( () => animate() ) + +} + +init() +animate() +// Inspired by the loader on the PS4 which randomises the symbols that appear +var iconList = ['triangle','square','cross','circle'], + icons = document.getElementsByClassName('icon'), + ready = 0, + i,j; + +function changeIcon(icon, iconParent) { + var randomIcon = '#ps_' + iconList[Math.floor(Math.random() * iconList.length)], + iconNum = parseInt(icon.id.substr(3)); + + if (ready < iconNum) { // We make sure every icon is done animating in the right order + ready = iconNum; + } + + iconParent.classList.remove('animate'); + icon.setAttribute('xlink:href', randomIcon); + + if (ready === 4) { // If all symbols are changed, start the animation anew + setTimeout(function(){ + for (j = 0 ; j < icons.length ; j++) { + icons[j].classList.add('animate'); + } + ready = 0; + }, 0); + } +} + +for (i = 0 ; i < icons.length ; i++) { // Loop through all the icons + icons[i].addEventListener('animationend', function(e) { + changeIcon(e.target.querySelector('.svg-icon'), e.target); + }); +} + +// Toggler, quick and easy +document.querySelector('button').addEventListener('click', function(){ + document.querySelector('.loader').classList.toggle('oneline'); +}); \ No newline at end of file diff --git a/ProtobufCore/out/CS/ProtobufAxibugEmuOnline.cs b/ProtobufCore/out/CS/ProtobufAxibugEmuOnline.cs index c986acf6..cfbdda41 100644 --- a/ProtobufCore/out/CS/ProtobufAxibugEmuOnline.cs +++ b/ProtobufCore/out/CS/ProtobufAxibugEmuOnline.cs @@ -124,52 +124,56 @@ namespace AxibugProtobuf { "YXcYBiABKAwSEAoIU2VxdWVuY2UYByABKAUihwEKIFByb3RvYnVmX01pbmVf", "VXBMb2FkR2FtZVNhdl9SRVNQEg0KBVJvbUlEGAEgASgFEhIKClNhdkRhdGFJ", "ZHgYAiABKAUSQAoNVXBsb2FkU2V2SW5mbxgDIAEoCzIpLkF4aWJ1Z1Byb3Rv", - "YnVmLlByb3RvYnVmX01pbmVfR2FtZVNhdkluZm8q/wUKCUNvbW1hbmRJRBIO", - "CgpDTURfREVGQVVMEAASDAoIQ01EX1BJTkcQARIMCghDTURfUE9ORxACEg4K", - "CUNNRF9MT0dJThDRDxIYChNDTURfVVNFUl9PTkxJTkVMSVNUELgXEhIKDUNN", - "RF9VU0VSX0pPSU4Q1xcSEwoOQ01EX1VTRVJfTEVBVkUQ2BcSGgoVQ01EX1VT", - "RVJfU1RBVEVfVVBEQVRFENkXEhgKE0NNRF9Nb2RpZnlfTmlja05hbWUQnRgS", - "HAoXQ01EX1VwZGF0ZV9TZWxmVXNlckluZm8QphgSHQoYQ01EX1VwZGF0ZV9P", - "dGhlclVzZXJJbmZvEKgYEhAKC0NNRF9DSEFUTVNHEKEfEhIKDUNNRF9Sb29t", - "X0xpc3QQiScSGQoUQ01EX1Jvb21fTGlzdF9VcGRhdGUQiicSGAoTQ01EX1Jv", - "b21fR2V0X1NjcmVlbhCTJxIUCg9DTURfUm9vbV9DcmVhdGUQ7ScSEgoNQ01E", - "X1Jvb21fSm9pbhDxJxITCg5DTURfUm9vbV9MZWF2ZRDyJxIiCh1DTURfUm9v", - "bV9NeVJvb21fU3RhdGVfQ2hhbmdlZBD2JxIhChxDTURfUm9vbV9DaGFuZ2VQ", - "bGF5ZXJXaXRoSm95EIooEhYKEUNNRF9Sb29tX1dhaXRTdGVwENEoEicKIkNN", - "RF9Sb29tX0hvc3RQbGF5ZXJfVXBkYXRlU3RhdGVSYXcQ1CgSGgoVQ01EX1Jv", - "b21fUGxheWVyX1JlYWR5ENgoEiAKG0NNRF9Sb29tX1NpbmdlbF9QbGF5ZXJJ", - "bnB1dBD6LhIdChhDTURfUk9PTV9TWU5fUGxheWVySW5wdXQQ/y4SDwoKQ01E", - "X1NjcmVlbhDZNhIfChpDTURfR0FNRVNBVl9HZXRHYW1lU2F2TGlzdBDBPhIb", - "ChZDTURfR0FNRVNBVl9EZWxHYW1lU2F2EMU+Eh4KGUNNRF9HQU1FU0FWX1Vw", - "bG9hZEdhbWVTYXYQyj4SEgoNQ01EX0dBTUVfTUFSSxD1TiqOAgoJRXJyb3JD", - "b2RlEhAKDEVSUk9SX0RFRkFVTBAAEgwKCEVSUk9SX09LEAESGAoURVJST1Jf", - "Uk9PTV9OT1RfRk9VTkQQChInCiNFUlJPUl9ST09NX1NMT1RfQUxSRUFETFlf", - "SEFEX1BMQVlFUhALEiEKHUVSUk9SX1JPT01fQ0FOVF9ET19DVVJSX1NUQVRF", - "EDISHwobRVJST1JfUk9NX0RPTlRfSEFEX1NBVkVEQVRBEFASGwoXRVJST1Jf", - "Uk9NX0ZBSUxfU0FWRURBVEEQURIfChpFUlJPUl9ST01fQUxSRUFEWV9IQURf", - "U1RBUhCTAxIcChdFUlJPUl9ST01fRE9OVF9IQURfU1RBUhCUAypACglMb2dp", - "blR5cGUSDQoJVXNlRGV2aWNlEAASDgoKVXNlQWNjb3VudBABEhQKEFVzZUhh", - "b1l1ZUFjY291bnQQAiqlAQoKRGV2aWNlVHlwZRIWChJEZXZpY2VUeXBlX0Rl", - "ZmF1bHQQABIGCgJQQxABEgsKB0FuZHJvaWQQAhIHCgNJT1MQAxIHCgNQU1YQ", - "BBIHCgNQUzMQBRIHCgNQUzQQBhILCgdYQk9YMzYwEAcSCwoHWEJPWE9ORRAI", - "EggKBFdpaVUQCRIPCgtOaW50ZW5kbzNEUxAKEhEKDUFuZHJvaWRDYXJBcHAQ", - "CyqTAgoLR2FtZVBhZFR5cGUSDAoIS2V5Ym9hcmQQABIRCg1HbG9iYWxHYW1l", - "UGFkEAESDgoKVG91Y2hQYW5lbBACEg4KCkRTM0NvbnRyb2wQAxIOCgpEUzRD", - "b250cm9sEAQSDgoKRFM1Q29udHJvbBAFEhQKEFN3aXRjaFByb0NvbnRyb2wQ", - "BhIQCgxTd2l0Y2hKb3lDb24QBxISCg5YQk9YMzYwQ29udHJvbBAIEhIKDlhC", - "T1hPTkVDb250cm9sEAkSEQoNUFNWaXRhQ29udHJvbBAKEhIKDldpaVVQYWRD", - "b250cm9sEAsSFAoQV2lpUmVtb3RlQ29udHJvbBAMEhYKEk5pbnRlbmRvM0RT", - "Q29udHJvbBANKoMCCg9Sb21QbGF0Zm9ybVR5cGUSCwoHSW52YWxpZBAAEgcK", - "A05lcxABEhEKDU1hc3Rlcl9TeXN0ZW0QAhINCglHYW1lX0dlYXIQAxIMCghH", - "YW1lX0JveRAEEhIKDkdhbWVfQm95X0NvbG9yEAUSEQoNQ29sZWNvX1Zpc2lv", - "bhAGEgsKB1NDXzMwMDAQBxILCgdTR18xMDAwEAgSCgoGTkVPR0VPEBQSBwoD", - "SUdTEBUSCAoEQ1BTMRAWEggKBENQUzIQFxIOCgpBcmNhZGVfT0xEEB4SDwoL", - "V29uZGVyX1N3YW4QKBIVChFXb25kZXJfU3dhbl9Db2xvchApEggKA0FsbBDn", - "BypwCg1Sb29tR2FtZVN0YXRlEhIKDk5vbmVfR2FtZVN0YXRlEAASDAoIT25s", - "eUhvc3QQARIRCg1XYWl0UmF3VXBkYXRlEAISDQoJV2FpdFJlYWR5EAMSCQoF", - "UGF1c2UQBBIQCgxJbk9ubGluZUdhbWUQBSpOChFMb2dpblJlc3VsdFN0YXR1", - "cxIhCh1Mb2dpblJlc3VsdFN0YXR1c19CYXNlRGVmYXVsdBAAEgYKAk9LEAES", - "DgoKQWNjb3VudEVychACQgJIAWIGcHJvdG8z")); + "YnVmLlByb3RvYnVmX01pbmVfR2FtZVNhdkluZm8iPwoeUHJvdG9idWZfR2Ft", + "ZVNjcmVlbl9JbWdfVXBsb2FkEg0KBVJvbUlEGAEgASgFEg4KBlNhdkltZxgC", + "IAEoDCIlCiNQcm90b2J1Zl9HYW1lU2NyZWVuX0ltZ19VcGxvYWRfUkVTUCqf", + "BgoJQ29tbWFuZElEEg4KCkNNRF9ERUZBVUwQABIMCghDTURfUElORxABEgwK", + "CENNRF9QT05HEAISDgoJQ01EX0xPR0lOENEPEhgKE0NNRF9VU0VSX09OTElO", + "RUxJU1QQuBcSEgoNQ01EX1VTRVJfSk9JThDXFxITCg5DTURfVVNFUl9MRUFW", + "RRDYFxIaChVDTURfVVNFUl9TVEFURV9VUERBVEUQ2RcSGAoTQ01EX01vZGlm", + "eV9OaWNrTmFtZRCdGBIcChdDTURfVXBkYXRlX1NlbGZVc2VySW5mbxCmGBId", + "ChhDTURfVXBkYXRlX090aGVyVXNlckluZm8QqBgSEAoLQ01EX0NIQVRNU0cQ", + "oR8SEgoNQ01EX1Jvb21fTGlzdBCJJxIZChRDTURfUm9vbV9MaXN0X1VwZGF0", + "ZRCKJxIYChNDTURfUm9vbV9HZXRfU2NyZWVuEJMnEhQKD0NNRF9Sb29tX0Ny", + "ZWF0ZRDtJxISCg1DTURfUm9vbV9Kb2luEPEnEhMKDkNNRF9Sb29tX0xlYXZl", + "EPInEiIKHUNNRF9Sb29tX015Um9vbV9TdGF0ZV9DaGFuZ2VkEPYnEiEKHENN", + "RF9Sb29tX0NoYW5nZVBsYXllcldpdGhKb3kQiigSFgoRQ01EX1Jvb21fV2Fp", + "dFN0ZXAQ0SgSJwoiQ01EX1Jvb21fSG9zdFBsYXllcl9VcGRhdGVTdGF0ZVJh", + "dxDUKBIaChVDTURfUm9vbV9QbGF5ZXJfUmVhZHkQ2CgSIAobQ01EX1Jvb21f", + "U2luZ2VsX1BsYXllcklucHV0EPouEh0KGENNRF9ST09NX1NZTl9QbGF5ZXJJ", + "bnB1dBD/LhIPCgpDTURfU2NyZWVuENk2Eh8KGkNNRF9HQU1FU0FWX0dldEdh", + "bWVTYXZMaXN0EME+EhsKFkNNRF9HQU1FU0FWX0RlbEdhbWVTYXYQxT4SHgoZ", + "Q01EX0dBTUVTQVZfVXBsb2FkR2FtZVNhdhDKPhIeChlDTURfR0FNRVNDUkVF", + "Tl9JTUdfVXBsb2FkEKlGEhIKDUNNRF9HQU1FX01BUksQ9U4qsgIKCUVycm9y", + "Q29kZRIQCgxFUlJPUl9ERUZBVUwQABIMCghFUlJPUl9PSxABEhgKFEVSUk9S", + "X1JPT01fTk9UX0ZPVU5EEAoSJwojRVJST1JfUk9PTV9TTE9UX0FMUkVBRExZ", + "X0hBRF9QTEFZRVIQCxIhCh1FUlJPUl9ST09NX0NBTlRfRE9fQ1VSUl9TVEFU", + "RRAyEh8KG0VSUk9SX1JPTV9ET05UX0hBRF9TQVZFREFUQRBQEhsKF0VSUk9S", + "X1JPTV9GQUlMX1NBVkVEQVRBEFESIgoeRVJST1JfUk9NX0FMUkVBRFlfSEFE", + "X0NPVkVSSU1HEFoSHwoaRVJST1JfUk9NX0FMUkVBRFlfSEFEX1NUQVIQkwMS", + "HAoXRVJST1JfUk9NX0RPTlRfSEFEX1NUQVIQlAMqQAoJTG9naW5UeXBlEg0K", + "CVVzZURldmljZRAAEg4KClVzZUFjY291bnQQARIUChBVc2VIYW9ZdWVBY2Nv", + "dW50EAIqpQEKCkRldmljZVR5cGUSFgoSRGV2aWNlVHlwZV9EZWZhdWx0EAAS", + "BgoCUEMQARILCgdBbmRyb2lkEAISBwoDSU9TEAMSBwoDUFNWEAQSBwoDUFMz", + "EAUSBwoDUFM0EAYSCwoHWEJPWDM2MBAHEgsKB1hCT1hPTkUQCBIICgRXaWlV", + "EAkSDwoLTmludGVuZG8zRFMQChIRCg1BbmRyb2lkQ2FyQXBwEAsqkwIKC0dh", + "bWVQYWRUeXBlEgwKCEtleWJvYXJkEAASEQoNR2xvYmFsR2FtZVBhZBABEg4K", + "ClRvdWNoUGFuZWwQAhIOCgpEUzNDb250cm9sEAMSDgoKRFM0Q29udHJvbBAE", + "Eg4KCkRTNUNvbnRyb2wQBRIUChBTd2l0Y2hQcm9Db250cm9sEAYSEAoMU3dp", + "dGNoSm95Q29uEAcSEgoOWEJPWDM2MENvbnRyb2wQCBISCg5YQk9YT05FQ29u", + "dHJvbBAJEhEKDVBTVml0YUNvbnRyb2wQChISCg5XaWlVUGFkQ29udHJvbBAL", + "EhQKEFdpaVJlbW90ZUNvbnRyb2wQDBIWChJOaW50ZW5kbzNEU0NvbnRyb2wQ", + "DSqDAgoPUm9tUGxhdGZvcm1UeXBlEgsKB0ludmFsaWQQABIHCgNOZXMQARIR", + "Cg1NYXN0ZXJfU3lzdGVtEAISDQoJR2FtZV9HZWFyEAMSDAoIR2FtZV9Cb3kQ", + "BBISCg5HYW1lX0JveV9Db2xvchAFEhEKDUNvbGVjb19WaXNpb24QBhILCgdT", + "Q18zMDAwEAcSCwoHU0dfMTAwMBAIEgoKBk5FT0dFTxAUEgcKA0lHUxAVEggK", + "BENQUzEQFhIICgRDUFMyEBcSDgoKQXJjYWRlX09MRBAeEg8KC1dvbmRlcl9T", + "d2FuECgSFQoRV29uZGVyX1N3YW5fQ29sb3IQKRIICgNBbGwQ5wcqcAoNUm9v", + "bUdhbWVTdGF0ZRISCg5Ob25lX0dhbWVTdGF0ZRAAEgwKCE9ubHlIb3N0EAES", + "EQoNV2FpdFJhd1VwZGF0ZRACEg0KCVdhaXRSZWFkeRADEgkKBVBhdXNlEAQS", + "EAoMSW5PbmxpbmVHYW1lEAUqTgoRTG9naW5SZXN1bHRTdGF0dXMSIQodTG9n", + "aW5SZXN1bHRTdGF0dXNfQmFzZURlZmF1bHQQABIGCgJPSxABEg4KCkFjY291", + "bnRFcnIQAkICSAFiBnByb3RvMw==")); 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.GamePadType), typeof(global::AxibugProtobuf.RomPlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] { @@ -222,7 +226,9 @@ namespace AxibugProtobuf { new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav), global::AxibugProtobuf.Protobuf_Mine_DelGameSav.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav.Parser, new[]{ "RomID", "SavDataIdx", "Name", "Note", "SavImg", "StateRaw", "Sequence" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx", "UploadSevInfo" }, null, null, null, null) + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx", "UploadSevInfo" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_GameScreen_Img_Upload), global::AxibugProtobuf.Protobuf_GameScreen_Img_Upload.Parser, new[]{ "RomID", "SavImg" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_GameScreen_Img_Upload_RESP), global::AxibugProtobuf.Protobuf_GameScreen_Img_Upload_RESP.Parser, null, null, null, null, null) })); } #endregion @@ -365,6 +371,10 @@ namespace AxibugProtobuf { /// [pbr::OriginalName("CMD_GAMESAV_UploadGameSav")] CmdGamesavUploadGameSav = 8010, /// + ///玩家上传即时存档 上行 | 下行 对应 Protobuf_GameScreen_Img_Upload | Protobuf_GameScreen_Img_Upload_RESP + /// + [pbr::OriginalName("CMD_GAMESCREEN_IMG_Upload")] CmdGamescreenImgUpload = 9001, + /// ///获取即时存档列表 上行 | 下行 对应 Protobuf_Game_Mark | Protobuf_Game_Mark_RESP /// [pbr::OriginalName("CMD_GAME_MARK")] CmdGameMark = 10101, @@ -400,6 +410,10 @@ namespace AxibugProtobuf { /// [pbr::OriginalName("ERROR_ROM_FAIL_SAVEDATA")] ErrorRomFailSavedata = 81, /// + ///该游戏已经有封面图 + /// + [pbr::OriginalName("ERROR_ROM_ALREADY_HAD_COVERIMG")] ErrorRomAlreadyHadCoverimg = 90, + /// ///已经收藏 /// [pbr::OriginalName("ERROR_ROM_ALREADY_HAD_STAR")] ErrorRomAlreadyHadStar = 403, @@ -11871,6 +11885,356 @@ namespace AxibugProtobuf { } + public sealed partial class Protobuf_GameScreen_Img_Upload : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Protobuf_GameScreen_Img_Upload()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[50]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload(Protobuf_GameScreen_Img_Upload other) : this() { + romID_ = other.romID_; + savImg_ = other.savImg_; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload Clone() { + return new Protobuf_GameScreen_Img_Upload(this); + } + + /// Field number for the "RomID" field. + public const int RomIDFieldNumber = 1; + private int romID_; + /// + ///RomID + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int RomID { + get { return romID_; } + set { + romID_ = value; + } + } + + /// Field number for the "SavImg" field. + public const int SavImgFieldNumber = 2; + private pb::ByteString savImg_ = pb::ByteString.Empty; + /// + ///截图模拟器 + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public pb::ByteString SavImg { + get { return savImg_; } + set { + savImg_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as Protobuf_GameScreen_Img_Upload); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(Protobuf_GameScreen_Img_Upload other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (RomID != other.RomID) return false; + if (SavImg != other.SavImg) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + if (RomID != 0) hash ^= RomID.GetHashCode(); + if (SavImg.Length != 0) hash ^= SavImg.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (RomID != 0) { + output.WriteRawTag(8); + output.WriteInt32(RomID); + } + if (SavImg.Length != 0) { + output.WriteRawTag(18); + output.WriteBytes(SavImg); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (RomID != 0) { + output.WriteRawTag(8); + output.WriteInt32(RomID); + } + if (SavImg.Length != 0) { + output.WriteRawTag(18); + output.WriteBytes(SavImg); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + if (RomID != 0) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(RomID); + } + if (SavImg.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeBytesSize(SavImg); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(Protobuf_GameScreen_Img_Upload other) { + if (other == null) { + return; + } + if (other.RomID != 0) { + RomID = other.RomID; + } + if (other.SavImg.Length != 0) { + SavImg = other.SavImg; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + RomID = input.ReadInt32(); + break; + } + case 18: { + SavImg = input.ReadBytes(); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + RomID = input.ReadInt32(); + break; + } + case 18: { + SavImg = input.ReadBytes(); + break; + } + } + } + } + #endif + + } + + public sealed partial class Protobuf_GameScreen_Img_Upload_RESP : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Protobuf_GameScreen_Img_Upload_RESP()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public static pbr::MessageDescriptor Descriptor { + get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[51]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload_RESP() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload_RESP(Protobuf_GameScreen_Img_Upload_RESP other) : this() { + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public Protobuf_GameScreen_Img_Upload_RESP Clone() { + return new Protobuf_GameScreen_Img_Upload_RESP(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override bool Equals(object other) { + return Equals(other as Protobuf_GameScreen_Img_Upload_RESP); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public bool Equals(Protobuf_GameScreen_Img_Upload_RESP other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override int GetHashCode() { + int hash = 1; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int CalculateSize() { + int size = 0; + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(Protobuf_GameScreen_Img_Upload_RESP other) { + if (other == null) { + return; + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + } + } + } + #endif + + } + #endregion } diff --git a/ProtobufCore/proto/protobuf_AxibugEmuOnline.proto b/ProtobufCore/proto/protobuf_AxibugEmuOnline.proto index 45a4b8db..73f9dd5a 100644 --- a/ProtobufCore/proto/protobuf_AxibugEmuOnline.proto +++ b/ProtobufCore/proto/protobuf_AxibugEmuOnline.proto @@ -71,6 +71,8 @@ enum CommandID CMD_GAMESAV_DelGameSav = 8005;//玩家删除即时存档 上行 | 下行 对应 Protobuf_Mine_DelGameSavList | Protobuf_Mine_DelGameSavList_RESP CMD_GAMESAV_UploadGameSav = 8010;//玩家上传即时存档 上行 | 下行 对应 Protobuf_Mine_UpLoadGameSavList | Protobuf_Mine_UpLoadGameSavList_RESP + CMD_GAMESCREEN_IMG_Upload = 9001;//玩家上传即时存档 上行 | 下行 对应 Protobuf_GameScreen_Img_Upload | Protobuf_GameScreen_Img_Upload_RESP + CMD_GAME_MARK = 10101; //获取即时存档列表 上行 | 下行 对应 Protobuf_Game_Mark | Protobuf_Game_Mark_RESP } @@ -87,9 +89,10 @@ enum ErrorCode ERROR_ROM_DONT_HAD_SAVEDATA = 80;//即时存档不存在 ERROR_ROM_FAIL_SAVEDATA = 81;//即时存档不存在 + ERROR_ROM_ALREADY_HAD_COVERIMG =90;//该游戏已经有封面图 + ERROR_ROM_ALREADY_HAD_STAR =403;//已经收藏 ERROR_ROM_DONT_HAD_STAR =404;//并没有收藏 - } enum LoginType @@ -515,4 +518,15 @@ message Protobuf_Mine_UpLoadGameSav_RESP int32 RomID = 1;//RomID int32 SavDataIdx = 2;//即时存档下标(其中第0个是自动存档位置) Protobuf_Mine_GameSavInfo UploadSevInfo = 3;//上传成功的存档详情 -} \ No newline at end of file +} + + +message Protobuf_GameScreen_Img_Upload +{ + int32 RomID = 1;//RomID + bytes SavImg = 2;//截图模拟器 +} + +message Protobuf_GameScreen_Img_Upload_RESP +{ +}