fix: sync current handlers, repair relic data and restore visible launcher consoles

This commit is contained in:
CAtlas0784 committed 2026-10-16 22:19:52 +07:00
1 parent 163d4433e6
commit 74f3c4411b
46 files changed
+4599 -1402

No files matched your search

+75 -19
View File
@@ -93771,15 +93771,18 @@ func (x *GetChallengeGroupStatisticsCsReq) GetGroupId() uint32 {
// CmdID: 1708
type GetChallengeGroupStatisticsScRsp struct {
state protoimpl.MessageState `protogen:"open.v1"`
GroupId uint32 `protobuf:"varint,5,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
Retcode uint32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
MEGBIPBAFBP *BBBIAPEHABA `protobuf:"bytes,1461,opt,name=MEGBIPBAFBP,proto3" json:"MEGBIPBAFBP,omitempty"`
ChallengeBoss *ChallengeBossStatistics `protobuf:"bytes,1,opt,name=challenge_boss,json=challengeBoss,proto3" json:"challenge_boss,omitempty"`
ChallengeStory *ChallengeStoryStatistics `protobuf:"bytes,3,opt,name=challenge_story,json=challengeStory,proto3" json:"challenge_story,omitempty"`
ChallengeDefault *ChallengeStatistics `protobuf:"bytes,11,opt,name=challenge_default,json=challengeDefault,proto3" json:"challenge_default,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
state protoimpl.MessageState `protogen:"open.v1"`
GroupId uint32 `protobuf:"varint,5,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
Retcode uint32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
MEGBIPBAFBP *BBBIAPEHABA `protobuf:"bytes,1461,opt,name=MEGBIPBAFBP,proto3" json:"MEGBIPBAFBP,omitempty"`
// Types that are valid to be assigned to EDKOHAAMONH:
//
// *GetChallengeGroupStatisticsScRsp_ChallengeBoss
// *GetChallengeGroupStatisticsScRsp_ChallengeStory
// *GetChallengeGroupStatisticsScRsp_ChallengeDefault
EDKOHAAMONH isGetChallengeGroupStatisticsScRsp_EDKOHAAMONH `protobuf_oneof:"EDKOHAAMONH"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetChallengeGroupStatisticsScRsp) Reset() {
@@ -93833,27 +93836,65 @@ func (x *GetChallengeGroupStatisticsScRsp) GetMEGBIPBAFBP() *BBBIAPEHABA {
return nil
}
func (x *GetChallengeGroupStatisticsScRsp) GetEDKOHAAMONH() isGetChallengeGroupStatisticsScRsp_EDKOHAAMONH {
if x != nil {
return x.EDKOHAAMONH
}
return nil
}
func (x *GetChallengeGroupStatisticsScRsp) GetChallengeBoss() *ChallengeBossStatistics {
if x != nil {
return x.ChallengeBoss
if x, ok := x.EDKOHAAMONH.(*GetChallengeGroupStatisticsScRsp_ChallengeBoss); ok {
return x.ChallengeBoss
}
}
return nil
}
func (x *GetChallengeGroupStatisticsScRsp) GetChallengeStory() *ChallengeStoryStatistics {
if x != nil {
return x.ChallengeStory
if x, ok := x.EDKOHAAMONH.(*GetChallengeGroupStatisticsScRsp_ChallengeStory); ok {
return x.ChallengeStory
}
}
return nil
}
func (x *GetChallengeGroupStatisticsScRsp) GetChallengeDefault() *ChallengeStatistics {
if x != nil {
return x.ChallengeDefault
if x, ok := x.EDKOHAAMONH.(*GetChallengeGroupStatisticsScRsp_ChallengeDefault); ok {
return x.ChallengeDefault
}
}
return nil
}
type isGetChallengeGroupStatisticsScRsp_EDKOHAAMONH interface {
isGetChallengeGroupStatisticsScRsp_EDKOHAAMONH()
}
type GetChallengeGroupStatisticsScRsp_ChallengeBoss struct {
ChallengeBoss *ChallengeBossStatistics `protobuf:"bytes,1,opt,name=challenge_boss,json=challengeBoss,proto3,oneof"`
}
type GetChallengeGroupStatisticsScRsp_ChallengeStory struct {
ChallengeStory *ChallengeStoryStatistics `protobuf:"bytes,3,opt,name=challenge_story,json=challengeStory,proto3,oneof"`
}
type GetChallengeGroupStatisticsScRsp_ChallengeDefault struct {
ChallengeDefault *ChallengeStatistics `protobuf:"bytes,11,opt,name=challenge_default,json=challengeDefault,proto3,oneof"`
}
func (*GetChallengeGroupStatisticsScRsp_ChallengeBoss) isGetChallengeGroupStatisticsScRsp_EDKOHAAMONH() {
}
func (*GetChallengeGroupStatisticsScRsp_ChallengeStory) isGetChallengeGroupStatisticsScRsp_EDKOHAAMONH() {
}
func (*GetChallengeGroupStatisticsScRsp_ChallengeDefault) isGetChallengeGroupStatisticsScRsp_EDKOHAAMONH() {
}
type ChallengeBossSingleNodeInfo struct {
state protoimpl.MessageState `protogen:"open.v1"`
MaxScore uint32 `protobuf:"varint,4,opt,name=max_score,json=maxScore,proto3" json:"max_score,omitempty"`
@@ -208294,6 +208335,7 @@ func (x *ReplaceLineupCsReq) GetLineupSlotList() []*LineupSlotData {
type ReplaceLineupScRsp struct {
state protoimpl.MessageState `protogen:"open.v1"`
Retcode uint32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
OMDLCGEMBLA uint32 `protobuf:"varint,14,opt,name=OMDLCGEMBLA,proto3" json:"OMDLCGEMBLA,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
@@ -208335,6 +208377,13 @@ func (x *ReplaceLineupScRsp) GetRetcode() uint32 {
return 0
}
func (x *ReplaceLineupScRsp) GetOMDLCGEMBLA() uint32 {
if x != nil {
return x.OMDLCGEMBLA
}
return 0
}
// CmdID: 723
type ExtraLineupDestroyNotify struct {
state protoimpl.MessageState `protogen:"open.v1"`
@@ -345159,14 +345208,15 @@ const file_protocol_proto_StarRail_proto_rawDesc = "" +
"\vEEJCPNAEKLJ\x18\f \x01(\rR\vEEJCPNAEKLJ\x12\x19\n" +
"\bbuff_two\x18\x0f \x01(\rR\abuffTwo\"=\n" +
" GetChallengeGroupStatisticsCsReq\x12\x19\n" +
"\bgroup_id\x18\x05 \x01(\rR\agroupId\"\xd0\x02\n" +
"\bgroup_id\x18\x05 \x01(\rR\agroupId\"\xe5\x02\n" +
" GetChallengeGroupStatisticsScRsp\x12\x19\n" +
"\bgroup_id\x18\x05 \x01(\rR\agroupId\x12\x18\n" +
"\aretcode\x18\t \x01(\rR\aretcode\x12/\n" +
"\vMEGBIPBAFBP\x18\xb5\v \x01(\v2\f.BBBIAPEHABAR\vMEGBIPBAFBP\x12?\n" +
"\x0echallenge_boss\x18\x01 \x01(\v2\x18.ChallengeBossStatisticsR\rchallengeBoss\x12B\n" +
"\x0fchallenge_story\x18\x03 \x01(\v2\x19.ChallengeStoryStatisticsR\x0echallengeStory\x12A\n" +
"\x11challenge_default\x18\v \x01(\v2\x14.ChallengeStatisticsR\x10challengeDefault\"\x8c\x01\n" +
"\vMEGBIPBAFBP\x18\xb5\v \x01(\v2\f.BBBIAPEHABAR\vMEGBIPBAFBP\x12A\n" +
"\x0echallenge_boss\x18\x01 \x01(\v2\x18.ChallengeBossStatisticsH\x00R\rchallengeBoss\x12D\n" +
"\x0fchallenge_story\x18\x03 \x01(\v2\x19.ChallengeStoryStatisticsH\x00R\x0echallengeStory\x12C\n" +
"\x11challenge_default\x18\v \x01(\v2\x14.ChallengeStatisticsH\x00R\x10challengeDefaultB\r\n" +
"\vEDKOHAAMONH\"\x8c\x01\n" +
"\x1bChallengeBossSingleNodeInfo\x12\x1b\n" +
"\tmax_score\x18\x04 \x01(\rR\bmaxScore\x12 \n" +
"\vMBHCJPONJOM\x18\x05 \x01(\bR\vMBHCJPONJOM\x12\x15\n" +
@@ -353098,9 +353148,10 @@ const file_protocol_proto_StarRail_proto_rawDesc = "" +
"\vleader_slot\x18\r \x01(\rR\n" +
"leaderSlot\x12 \n" +
"\vPLIEODDEEHG\x18\x0e \x01(\bR\vPLIEODDEEHG\x129\n" +
"\x10lineup_slot_list\x18\x0f \x03(\v2\x0f.LineupSlotDataR\x0elineupSlotList\".\n" +
"\x10lineup_slot_list\x18\x0f \x03(\v2\x0f.LineupSlotDataR\x0elineupSlotList\"P\n" +
"\x12ReplaceLineupScRsp\x12\x18\n" +
"\aretcode\x18\b \x01(\rR\aretcode\"X\n" +
"\aretcode\x18\b \x01(\rR\aretcode\x12 \n" +
"\vOMDLCGEMBLA\x18\x0e \x01(\rR\vOMDLCGEMBLA\"X\n" +
"\x18ExtraLineupDestroyNotify\x12<\n" +
"\x11extra_lineup_type\x18\a \x01(\x0e2\x10.ExtraLineupTypeR\x0fextraLineupType\"\xa9\x01\n" +
"&VirtualLineupTrialAvatarChangeScNotify\x12 \n" +
@@ -379094,6 +379145,11 @@ func file_protocol_proto_StarRail_proto_init() {
(*CakeRaceBetCoinPVECsReq_BOEJNBKDJLM)(nil),
(*CakeRaceBetCoinPVECsReq_BCFPLAPCFPL)(nil),
}
file_protocol_proto_StarRail_proto_msgTypes[849].OneofWrappers = []any{
(*GetChallengeGroupStatisticsScRsp_ChallengeBoss)(nil),
(*GetChallengeGroupStatisticsScRsp_ChallengeStory)(nil),
(*GetChallengeGroupStatisticsScRsp_ChallengeDefault)(nil),
}
file_protocol_proto_StarRail_proto_msgTypes[908].OneofWrappers = []any{
(*DOPHNDHILPA_IIHFEDLHOPI)(nil),
(*DOPHNDHILPA_DFNNKENBOEN)(nil),
+6 -3
View File
@@ -13437,9 +13437,11 @@ message GetChallengeGroupStatisticsScRsp {
uint32 group_id = 5;
uint32 retcode = 9;
BBBIAPEHABA MEGBIPBAFBP = 1461;
ChallengeBossStatistics challenge_boss = 1;
ChallengeStoryStatistics challenge_story = 3;
ChallengeStatistics challenge_default = 11;
oneof EDKOHAAMONH {
ChallengeBossStatistics challenge_boss = 1;
ChallengeStoryStatistics challenge_story = 3;
ChallengeStatistics challenge_default = 11;
}
}
message ChallengeBossSingleNodeInfo {
@@ -25147,6 +25149,7 @@ message ReplaceLineupCsReq {
// CmdID: 715
message ReplaceLineupScRsp {
uint32 retcode = 8;
uint32 OMDLCGEMBLA = 14;
}
// CmdID: 723
+184
View File
@@ -0,0 +1,184 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.12
// protoc v7.36.0
// source: protocol/proto/current_handlers.proto
package proto
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
unsafe "unsafe"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// PearlSR 005d2c12db4781071f4b5b68e8f364587886a710:
// protocol/src/protocol.pb.zig, SetChallengeTierceLineup messages.
// These named messages are missing from the original Go schema.
type SetChallengeTierceLineupCsReq struct {
state protoimpl.MessageState `protogen:"open.v1"`
ChallengeId uint32 `protobuf:"varint,4,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
StageInfoList []*LineupTierce `protobuf:"bytes,5,rep,name=stage_info_list,json=stageInfoList,proto3" json:"stage_info_list,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SetChallengeTierceLineupCsReq) Reset() {
*x = SetChallengeTierceLineupCsReq{}
mi := &file_protocol_proto_current_handlers_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SetChallengeTierceLineupCsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetChallengeTierceLineupCsReq) ProtoMessage() {}
func (x *SetChallengeTierceLineupCsReq) ProtoReflect() protoreflect.Message {
mi := &file_protocol_proto_current_handlers_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SetChallengeTierceLineupCsReq.ProtoReflect.Descriptor instead.
func (*SetChallengeTierceLineupCsReq) Descriptor() ([]byte, []int) {
return file_protocol_proto_current_handlers_proto_rawDescGZIP(), []int{0}
}
func (x *SetChallengeTierceLineupCsReq) GetChallengeId() uint32 {
if x != nil {
return x.ChallengeId
}
return 0
}
func (x *SetChallengeTierceLineupCsReq) GetStageInfoList() []*LineupTierce {
if x != nil {
return x.StageInfoList
}
return nil
}
type SetChallengeTierceLineupScRsp struct {
state protoimpl.MessageState `protogen:"open.v1"`
Retcode uint32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SetChallengeTierceLineupScRsp) Reset() {
*x = SetChallengeTierceLineupScRsp{}
mi := &file_protocol_proto_current_handlers_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SetChallengeTierceLineupScRsp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetChallengeTierceLineupScRsp) ProtoMessage() {}
func (x *SetChallengeTierceLineupScRsp) ProtoReflect() protoreflect.Message {
mi := &file_protocol_proto_current_handlers_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SetChallengeTierceLineupScRsp.ProtoReflect.Descriptor instead.
func (*SetChallengeTierceLineupScRsp) Descriptor() ([]byte, []int) {
return file_protocol_proto_current_handlers_proto_rawDescGZIP(), []int{1}
}
func (x *SetChallengeTierceLineupScRsp) GetRetcode() uint32 {
if x != nil {
return x.Retcode
}
return 0
}
var File_protocol_proto_current_handlers_proto protoreflect.FileDescriptor
const file_protocol_proto_current_handlers_proto_rawDesc = "" +
"\n" +
"%protocol/proto/current_handlers.proto\x1a\x1dprotocol/proto/StarRail.proto\"y\n" +
"\x1dSetChallengeTierceLineupCsReq\x12!\n" +
"\fchallenge_id\x18\x04 \x01(\rR\vchallengeId\x125\n" +
"\x0fstage_info_list\x18\x05 \x03(\v2\r.LineupTierceR\rstageInfoList\"9\n" +
"\x1dSetChallengeTierceLineupScRsp\x12\x18\n" +
"\aretcode\x18\x01 \x01(\rR\aretcodeB\x1dZ\x1bgac-hkrpg-go/protocol/protob\x06proto3"
var (
file_protocol_proto_current_handlers_proto_rawDescOnce sync.Once
file_protocol_proto_current_handlers_proto_rawDescData []byte
)
func file_protocol_proto_current_handlers_proto_rawDescGZIP() []byte {
file_protocol_proto_current_handlers_proto_rawDescOnce.Do(func() {
file_protocol_proto_current_handlers_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_protocol_proto_current_handlers_proto_rawDesc), len(file_protocol_proto_current_handlers_proto_rawDesc)))
})
return file_protocol_proto_current_handlers_proto_rawDescData
}
var file_protocol_proto_current_handlers_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_protocol_proto_current_handlers_proto_goTypes = []any{
(*SetChallengeTierceLineupCsReq)(nil), // 0: SetChallengeTierceLineupCsReq
(*SetChallengeTierceLineupScRsp)(nil), // 1: SetChallengeTierceLineupScRsp
(*LineupTierce)(nil), // 2: LineupTierce
}
var file_protocol_proto_current_handlers_proto_depIdxs = []int32{
2, // 0: SetChallengeTierceLineupCsReq.stage_info_list:type_name -> LineupTierce
1, // [1:1] is the sub-list for method output_type
1, // [1:1] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
}
func init() { file_protocol_proto_current_handlers_proto_init() }
func file_protocol_proto_current_handlers_proto_init() {
if File_protocol_proto_current_handlers_proto != nil {
return
}
file_protocol_proto_StarRail_proto_init()
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_protocol_proto_current_handlers_proto_rawDesc), len(file_protocol_proto_current_handlers_proto_rawDesc)),
NumEnums: 0,
NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_protocol_proto_current_handlers_proto_goTypes,
DependencyIndexes: file_protocol_proto_current_handlers_proto_depIdxs,
MessageInfos: file_protocol_proto_current_handlers_proto_msgTypes,
}.Build()
File_protocol_proto_current_handlers_proto = out.File
file_protocol_proto_current_handlers_proto_goTypes = nil
file_protocol_proto_current_handlers_proto_depIdxs = nil
}
+15
View File
@@ -0,0 +1,15 @@
syntax = "proto3";
option go_package = "gac-hkrpg-go/protocol/proto";
import "protocol/proto/StarRail.proto";
// PearlSR 005d2c12db4781071f4b5b68e8f364587886a710:
// protocol/src/protocol.pb.zig, SetChallengeTierceLineup messages.
// These named messages are missing from the original Go schema.
message SetChallengeTierceLineupCsReq {
uint32 challenge_id = 4;
repeated LineupTierce stage_info_list = 5;
}
message SetChallengeTierceLineupScRsp {
uint32 retcode = 1;
}
+7
View File
@@ -0,0 +1,7 @@
package proto
// ClientDownloadDataLuaVersion is the version value used for Lua downloads by
// PearlSR services/misc.zig at source revision
// 005d2c12db4781071f4b5b68e8f364587886a710 (client 4.6.53).
// Do not derive it from the configured client patch number.
const ClientDownloadDataLuaVersion uint32 = 51
File diff suppressed because it is too large. Load diff