Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-proxy
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
ygopro-proxy
Commits
34dafd95
Commit
34dafd95
authored
Oct 05, 2022
by
Chunchi Che
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
handle StocUpdateDeck
parent
03aa9094
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
36 additions
and
0 deletions
+36
-0
DarkNeos/transform.go
DarkNeos/transform.go
+26
-0
util/convert.go
util/convert.go
+10
-0
No files found.
DarkNeos/transform.go
View file @
34dafd95
...
...
@@ -21,6 +21,7 @@ const (
)
const
(
CtosUpdateDeck
=
2
CtosProtoPlayerInfo
=
16
CtosProtoJoinGame
=
18
...
...
@@ -106,6 +107,8 @@ func Transform(src []byte, tranformType int, ctx *util.Context) ([]byte, error)
packet
=
(
*
pCtosPlayerInfo
)(
message
.
GetCtosPlayerInfo
())
.
Pb2Packet
()
case
*
(
ygopropb
.
YgoCtosMsg_CtosJoinGame
)
:
packet
=
(
*
pCtosJoinGame
)(
message
.
GetCtosJoinGame
())
.
Pb2Packet
()
case
*
(
ygopropb
.
YgoCtosMsg_CtosUpdateDeck
)
:
packet
=
(
*
pCtosUpdateDeck
)(
message
.
GetCtosUpdateDeck
())
.
Pb2Packet
()
default
:
return
nil
,
errors
.
New
(
COMPONENT
+
"Unhandled YgoCtosMsg type"
)
}
...
...
@@ -182,6 +185,29 @@ func (pb *pCtosJoinGame) Pb2Packet() YgoPacket {
}
}
type
pCtosUpdateDeck
ygopropb
.
CtosUpdateDeck
// @main: []int32
// @extra: []int32
// @size: []int32
func
(
pb
*
pCtosUpdateDeck
)
Pb2Packet
()
YgoPacket
{
v
:=
make
([]
int32
,
0
)
v
=
append
(
v
,
int32
(
len
(
pb
.
Main
)
+
len
(
pb
.
Extra
)))
v
=
append
(
v
,
int32
(
len
(
pb
.
Side
)))
v
=
append
(
v
,
pb
.
Main
...
)
v
=
append
(
v
,
pb
.
Extra
...
)
v
=
append
(
v
,
pb
.
Side
...
)
exdata
:=
util
.
Int32ArrayToByteArray
(
v
)
return
YgoPacket
{
PacketLen
:
uint16
(
len
(
exdata
))
+
1
,
Proto
:
CtosUpdateDeck
,
Exdata
:
exdata
,
}
}
// +++++ Server To Client +++++
type
server2Client
interface
{
...
...
util/
utf16
.go
→
util/
convert
.go
View file @
34dafd95
...
...
@@ -49,6 +49,16 @@ func Uint16BufToByteBuf(u16_b []uint16) []byte {
return
b
}
func
Int32ArrayToByteArray
(
v
[]
int32
)
[]
byte
{
b
:=
make
([]
byte
,
0
,
len
(
v
)
*
4
)
for
_
,
i
:=
range
v
{
b
=
append
(
b
,
byte
(
i
),
byte
(
i
>>
8
),
byte
(
i
>>
16
),
byte
(
i
>>
24
))
}
return
b
}
func
chunkBytesToUint16s
(
items
[]
byte
)
[]
uint16
{
const
chunkSize
=
2
var
chunks
[]
uint16
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment