Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro
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
YGOPRO-520DIY
ygopro
Commits
0dbf1e17
Commit
0dbf1e17
authored
Dec 22, 2023
by
salix5
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update refresh extra/removed
parent
650f0ee2
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
26 additions
and
26 deletions
+26
-26
gframe/single_duel.cpp
gframe/single_duel.cpp
+12
-12
gframe/tag_duel.cpp
gframe/tag_duel.cpp
+14
-14
No files found.
gframe/single_duel.cpp
View file @
0dbf1e17
...
...
@@ -2087,9 +2087,10 @@ if(!dp || dp == players[player])
while
(
qlen
<
len
)
{
int
clen
=
BufferIO
::
ReadInt32
(
qbuf
);
qlen
+=
clen
;
if
(
clen
==
4
)
if
(
clen
<=
LEN_HEADER
)
continue
;
if
(
qbuf
[
11
]
&
POS_FACEDOWN
)
auto
position
=
GetPosition
(
qbuf
,
8
);
if
(
position
&
POS_FACEDOWN
)
memset
(
qbuf
,
0
,
clen
-
4
);
qbuf
+=
clen
-
4
;
}
...
...
@@ -2104,28 +2105,27 @@ if(!dp || dp == players[player])
}
#ifdef YGOPRO_SERVER_MODE
void
SingleDuel
::
RefreshRemoved
(
int
player
,
int
flag
,
int
use_cache
,
DuelPlayer
*
dp
)
{
char
query_buffer
[
0x20000
];
char
*
qbuf
=
query_buffer
;
BufferIO
::
WriteInt8
(
qbuf
,
MSG_UPDATE_DATA
);
BufferIO
::
WriteInt8
(
qbuf
,
player
);
BufferIO
::
WriteInt8
(
qbuf
,
LOCATION_REMOVED
);
int
len
=
query_field_card
(
pduel
,
player
,
LOCATION_REMOVED
,
flag
,
(
unsigned
char
*
)
qbuf
,
use_cache
);
std
::
vector
<
unsigned
char
>
query_buffer
;
query_buffer
.
resize
(
SIZE_QUERY_BUFFER
);
auto
qbuf
=
query_buffer
.
data
();
auto
len
=
WriteUpdateData
(
player
,
LOCATION_REMOVED
,
flag
,
qbuf
,
use_cache
);
if
(
!
dp
||
dp
==
players
[
player
])
NetServer
::
SendBufferToPlayer
(
players
[
player
],
STOC_GAME_MSG
,
query_buffer
,
len
+
3
);
NetServer
::
SendBufferToPlayer
(
players
[
player
],
STOC_GAME_MSG
,
query_buffer
.
data
()
,
len
+
3
);
if
(
!
dp
)
NetServer
::
ReSendToPlayer
(
replay_recorder
);
int
qlen
=
0
;
while
(
qlen
<
len
)
{
int
clen
=
BufferIO
::
ReadInt32
(
qbuf
);
qlen
+=
clen
;
if
(
clen
==
4
)
if
(
clen
<=
LEN_HEADER
)
continue
;
if
(
qbuf
[
11
]
&
POS_FACEDOWN
)
auto
position
=
GetPosition
(
qbuf
,
8
);
if
(
position
&
POS_FACEDOWN
)
memset
(
qbuf
,
0
,
clen
-
4
);
qbuf
+=
clen
-
4
;
}
if
(
!
dp
||
dp
==
players
[
1
-
player
])
NetServer
::
SendBufferToPlayer
(
players
[
1
-
player
],
STOC_GAME_MSG
,
query_buffer
,
len
+
3
);
NetServer
::
SendBufferToPlayer
(
players
[
1
-
player
],
STOC_GAME_MSG
,
query_buffer
.
data
()
,
len
+
3
);
if
(
!
dp
)
for
(
auto
pit
=
observers
.
begin
();
pit
!=
observers
.
end
();
++
pit
)
NetServer
::
ReSendToPlayer
(
*
pit
);
...
...
gframe/tag_duel.cpp
View file @
0dbf1e17
...
...
@@ -2201,9 +2201,10 @@ if(!dp || dp == cur_player[player])
while
(
qlen
<
len
)
{
int
clen
=
BufferIO
::
ReadInt32
(
qbuf
);
qlen
+=
clen
;
if
(
clen
==
4
)
if
(
clen
<=
LEN_HEADER
)
continue
;
if
(
qbuf
[
11
]
&
POS_FACEDOWN
)
auto
position
=
GetPosition
(
qbuf
,
8
);
if
(
position
&
POS_FACEDOWN
)
memset
(
qbuf
,
0
,
clen
-
4
);
qbuf
+=
clen
-
4
;
}
...
...
@@ -2220,34 +2221,33 @@ if(!dp || dp == cur_player[player])
}
#ifdef YGOPRO_SERVER_MODE
void
TagDuel
::
RefreshRemoved
(
int
player
,
int
flag
,
int
use_cache
,
DuelPlayer
*
dp
)
{
char
query_buffer
[
0x40000
];
char
*
qbuf
=
query_buffer
;
BufferIO
::
WriteInt8
(
qbuf
,
MSG_UPDATE_DATA
);
BufferIO
::
WriteInt8
(
qbuf
,
player
);
BufferIO
::
WriteInt8
(
qbuf
,
LOCATION_REMOVED
);
int
len
=
query_field_card
(
pduel
,
player
,
LOCATION_REMOVED
,
flag
,
(
unsigned
char
*
)
qbuf
,
use_cache
);
std
::
vector
<
unsigned
char
>
query_buffer
;
query_buffer
.
resize
(
SIZE_QUERY_BUFFER
);
auto
qbuf
=
query_buffer
.
data
();
auto
len
=
WriteUpdateData
(
player
,
LOCATION_REMOVED
,
flag
,
qbuf
,
use_cache
);
int
pid
=
(
player
==
0
)
?
0
:
2
;
if
(
!
dp
||
dp
==
players
[
pid
])
NetServer
::
SendBufferToPlayer
(
players
[
pid
],
STOC_GAME_MSG
,
query_buffer
,
len
+
3
);
NetServer
::
SendBufferToPlayer
(
players
[
pid
],
STOC_GAME_MSG
,
query_buffer
.
data
()
,
len
+
3
);
if
(
!
dp
||
dp
==
players
[
pid
+
1
])
NetServer
::
SendBufferToPlayer
(
players
[
pid
+
1
],
STOC_GAME_MSG
,
query_buffer
,
len
+
3
);
NetServer
::
SendBufferToPlayer
(
players
[
pid
+
1
],
STOC_GAME_MSG
,
query_buffer
.
data
()
,
len
+
3
);
if
(
!
dp
)
NetServer
::
ReSendToPlayer
(
replay_recorder
);
int
qlen
=
0
;
while
(
qlen
<
len
)
{
int
clen
=
BufferIO
::
ReadInt32
(
qbuf
);
qlen
+=
clen
;
if
(
clen
==
4
)
if
(
clen
<=
LEN_HEADER
)
continue
;
if
(
qbuf
[
11
]
&
POS_FACEDOWN
)
auto
position
=
GetPosition
(
qbuf
,
8
);
if
(
position
&
POS_FACEDOWN
)
memset
(
qbuf
,
0
,
clen
-
4
);
qbuf
+=
clen
-
4
;
}
pid
=
2
-
pid
;
if
(
!
dp
||
dp
==
players
[
pid
])
NetServer
::
SendBufferToPlayer
(
players
[
pid
],
STOC_GAME_MSG
,
query_buffer
,
len
+
3
);
NetServer
::
SendBufferToPlayer
(
players
[
pid
],
STOC_GAME_MSG
,
query_buffer
.
data
()
,
len
+
3
);
if
(
!
dp
||
dp
==
players
[
pid
+
1
])
NetServer
::
SendBufferToPlayer
(
players
[
pid
+
1
],
STOC_GAME_MSG
,
query_buffer
,
len
+
3
);
NetServer
::
SendBufferToPlayer
(
players
[
pid
+
1
],
STOC_GAME_MSG
,
query_buffer
.
data
()
,
len
+
3
);
if
(
!
dp
)
for
(
auto
pit
=
observers
.
begin
();
pit
!=
observers
.
end
();
++
pit
)
NetServer
::
ReSendToPlayer
(
*
pit
);
...
...
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