This repository has been archived on 2026-10-31. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Ananta-ps/pkg/protocol/models/game_switch_codec.go
T

33 lines
1.1 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package models
import (
"encoding/json"
"sync"
)
var _ = json.RawMessage{}
var _ = sync.Mutex{}
//
// 手写字节的 SyncGameSwitchToClient_3(53940944) 载荷。
// 为什么不能用 UxSerializer:payload 是 Dictionary<string, UXObject>,
// value 是多态静态对象(tp 单字节 + payload),UxSerializer 不支持。
// 线格式由 donor 反汇编 UXRPCMethodArgs53940944.Read @ RVA 0x9AB5450 确认,别再改:
// <code>
// [Int7 计数] // Read7BitEncodedInt(),无 0xFF、无终止符
// 计数 × { [UxString key]; [tp:1][payload] } // value 前没有存在标记
// </code>
// tp = 2 是 bool(跳转表 RVA 0x1DAC878,tp∈[2,8]),payload 为 1 字节。
// 203 项 → 约 4.9 KB。
// ⛔⛔ 发送时必须走 Connection.NotifyRawAsync(methodId, byte[]):
// 用 NotifyAsync&lt;T&gt; 且 T = byte[] 会按 UX 缓冲区多写 3 字节(0xFF + varint(len+1)),
// 客户端把 FF 8A 26 当计数 ⇒ 整体错位。
//
type GameSwitchCodec struct {
}
const (
GameSwitchCodec_TypeTagBool byte = 2
)