Files
Ananta-ps/pkg/protocol/gameswitch.go
T

230 lines
7.4 KiB
Go

package protocol
// GameSwitchEntry represents a single switch configuration entry.
type GameSwitchEntry struct {
Name string
Value bool
}
// GameSwitchCatalog contains all 203 UX.GameSwitch flags.
var GameSwitchCatalog = []GameSwitchEntry{
{"EnableRaidTimeFix", true},
{"EnableClientZoneClosure", true},
{"UseEditorSectorTileInfoJsonPath1", true},
{"EnableNavMultiverseChain", true},
{"EnableRecycleItem", true},
{"EnableComposeItem", true},
{"DisableEditXingZheDangAn", false},
{"EnableUpdateSignature", true},
{"EnablePartialAntiAddiction", false},
{"EnableAntiAddiction", false},
{"EnableRealNameBeforeCreateRole", false},
{"EnableExchangeGold", true},
{"EnableNpcShop", true},
{"EnableFashionStore", true},
{"Enable4SStore", true},
{"EnableCreateRole", true},
{"EnableSeasonalBattlePass", true},
{"EnableGamePlayBattlePass", true},
{"EnableGachaSystem", true},
{"EnableRadiantChest", true},
{"EnableCloset", true},
{"EnableGachaMilestone", true},
{"EnableHeartbeatTimeoutCheckDebug", false},
{"EnableHeartbeatTimeoutCheckRelease", true},
{"EnableLoginReconnect", true},
{"EnableLoginOnlineAndDetachMatchLink", true},
{"AutoSwitchTextModeWithAllPrefix", true},
{"ChatLimitRegion", true},
{"EnableMahjong", true},
{"EnableMahjongFriend", true},
{"EnableMahjongWithNpc", true},
{"EnableMahjongPve", true},
{"EnableChangePersonalZoneHeadInfo", true},
{"EnableSpiritAddExp", true},
{"EnableSpiritAbilityAddExp", true},
{"EnableSpiritDomainLevelUp", true},
{"EnableForeignIpSns", true},
{"EnableSharePhoto_Netease", true},
{"EnableSharePhoto_Oppo", true},
{"EnableSharePhoto_Huawei", true},
{"EnableSharePhoto_NearmeVivo", true},
{"EnableSharePhoto_XiaomiApp", true},
{"EnableSharePhoto_CoolpadSdk", true},
{"EnableSharePhoto_Flyme", true},
{"EnableSharePhoto_LenovoOpen", true},
{"EnableSharePhoto_Gionee", true},
{"EnableSharePhoto_UcPlatform", true},
{"EnableSharePhoto_360Assistant", true},
{"EnableSharePhoto_Baidu", true},
{"EnableSharePhoto_BilibiliSdk", true},
{"EnableSharePhoto_Dtkj", true},
{"EnableSharePhoto_AppStore", true},
{"EnableSharePhoto_TapTapDev", true},
{"EnableSharePhoto_TapTapDis", true},
{"EnableSharePhoto_HykbDev", true},
{"EnableSharePhoto_HykbDis", true},
{"EnableFightSpiritSkillLevelUp", true},
{"EnableSignIn", true},
{"EnableSaveCardGroupName", true},
{"EnableAetherNpcFixedSpawnPointRule", true},
{"EnableNpcUseBelonging", true},
{"EnableVehicleNpcDefaultPlayPoi1", true},
{"EnableAgentInteractForbidFromServer1", true},
{"EnableTeleportOnCrossBoundary", true},
{"EnableAgentCompanionAIIdleChat", true},
{"EnableAgentPlayPoiCommand", true},
{"EnableNpcGateway", true},
{"EnableNpcDensityMigration1", true},
{"EnableLink", true},
{"EnableLinkPlanningBoardUnlockCheck", true},
{"ProfilerAetherVehicle", true},
{"ProfilerStaticVehicle", true},
{"ProfilerAetherVehicleGO", true},
{"EnableRaidDetachLocalCleanup", true},
{"ProfilerIntersection", true},
{"ProfilerIntersectionRender", true},
{"EnablePoliceJobStoryLegacy", true},
{"EnableGroupAIStory", true},
{"EnableGroupAIDebug", true},
{"EnableNewProgress", true},
{"EnableDGTemporaryResource", true},
{"ForbidStimEvent", false},
{"EnableZoneGraphUndirectLane", true},
{"EnableNPCNormalMoveBeta", true},
{"EnableIndoor", true},
{"EnableVehicleNpcBoardingSync1", true},
{"EnableAetherNpcTypeAgnosticSync", true},
{"EnableVehicleBoardingUnifiedSync1", true},
{"EnableLinkTest", true},
{"EnableSpawnSpoonBlockInteractionCheck", true},
{"EnableVehicleOverrideSync", true},
{"EnableVehicleDefaultSuitExpand", true},
{"EnableECSResponse", true},
{"DebugSyncVehicleDangerZoneToClient", false},
{"DebugHiddenArea", false},
{"DebugAetherVehicle", false},
{"DebugAetherIntersection", false},
{"DebugAetherVehicleLane", false},
{"DebugAssetTagPreview", false},
{"DebugLogicVehicle", false},
{"EnableDropRequireReliableRpcOnClient", true},
{"ProfilerRandomEvent", true},
{"ProfilerDestructible", true},
{"ProfilerGadget", true},
{"ProfilerDynamicGo", true},
{"ProfilerSpoonAgent", true},
{"ProfilerWildEnemy", true},
{"ProfilerEnableMetro", true},
{"BlockMetroForChongxiao", false},
{"MetroCrouchSwitch", true},
{"ProfilerEnableNpcGo", true},
{"DisableBartender", false},
{"DisableScientistProduceItem", false},
{"DisableScientistBreakdownItem", false},
{"DisableScientistTakeProducedItem", false},
{"DisableScientistFactorMachine", false},
{"DisableScientistEnchant", false},
{"DisableItemExchange", false},
{"EnableFallingDownOnDeath2", true},
{"EnableBehaveLegacy", true},
{"EnableBeggerStory", true},
{"EnableGPUScene", true},
{"EnableFavorNpcBTree", true},
{"EnableFavorNpcCommute", true},
{"EnableSwitchSpiritToTempFavorNpc1", true},
{"SkipSwitchOutExitTransition", true},
{"EnableGenderTransform", true},
{"EnableIndoorAbilityLimit", true},
{"EnableRemoveAbilityLimitOldBuffHandlers", true},
{"EnableSpoonNpc", true},
{"EnableSearchRaidSpoonNpc", true},
{"EnableParty", true},
{"EnableRanking", true},
{"EnableJanitor", true},
{"EnableBeggarAiPainting", true},
{"EnableNewBag", true},
{"EnableNotices", true},
{"EnableAkashicSystem", true},
{"EnableProfile", true},
{"EnableRadioStation", true},
{"EnableCityPedia", true},
{"EnableEonBug", true},
{"EnableTutorial", true},
{"EnableVehicleRequisitionSystemUnlock1", true},
{"EnableTestProcess", true},
{"EnableForceStopNaN", true},
{"EnableOtlpLogger", true},
{"EnableResourceLoadCollect", true},
{"EnableHUDRecommend", true},
{"EnableAttachmentSystem", true},
{"EnableFishing", true},
{"EnablePSOCollect", true},
{"KeepBehaviorSchedulerWhenSwitch", true},
{"KeepBehaviorSchedulerWhenSwitch2", true},
{"OpenNewSettleColliderClip2", true},
{"OpenNewSettleEffectClip2", true},
{"OpenNewSettleCreation2", true},
{"UseCoreLibRouteFinder", true},
{"EnableScratchServerReward", true},
{"DisableYanJieAIReply", false},
{"EnableCompetitionSeason", true},
{"EnableActivity", true},
{"EnableChangeNameByItem", true},
{"EnableThisYearChat", true},
{"EnableSpecialTimeUserChat", true},
{"EnableBuzzCenter", true},
{"EnableCheckIn", true},
{"EnableDossier", true},
{"EnableScope", true},
{"EnableFriends", true},
{"EnableClub", true},
{"EnableBBChat", true},
{"EnableMail", true},
{"EnableCustom", true},
{"EnableBubble", true},
{"EnablePhoto", true},
{"EnableCatExpress", true},
{"EnableDutyTerminal", true},
{"EnableMall", true},
{"EnableMallRecommend", true},
{"EnableMallDirectSale", true},
{"EnableMallBundle", true},
{"EnableCharge", true},
{"EnableSpiritTalent", true},
{"EnableJobTalent", true},
{"EnableGameplayTalent", true},
{"EnableAchievement", true},
{"EnablePhone", true},
{"EnableTrade", true},
{"EnableGift", true},
{"EnableGiftFriendTimeCheck", true},
{"EnableTime", true},
{"DisableOptGoMode", false},
{"DisableMonsterOptGoMode", false},
{"EnablePedConvertWorthyCheck", true},
{"EnableLifeScheduleNpcAlwaysGo", true},
{"EnableAnimatorLODOtherPlayer", true},
{"EnableSpecialAnimateCullingMode", true},
{"EnableAnimatorIncRebind", true},
{"SimplifyKinematicInVehicle", true},
{"EnableInteractionAction", true},
{"EnableCollectionBook", true},
{"EnableMonthlyPass", true},
}
// BuildGameSwitchPayload encodes the game switches as required by SyncGameSwitchToClient_3.
// Format:
// [Int7 count]
// for each: [UxString key] [TypeTagBool (0x02)] [Bool (1 byte)]
func BuildGameSwitchPayload() []byte {
w := NewUxWriter()
w.Int7(len(GameSwitchCatalog))
for _, entry := range GameSwitchCatalog {
w.UxString(entry.Name)
w.U8(2) // TypeTagBool
w.Bool(entry.Value)
}
return w.Bytes()
}