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
35a24f1e
Commit
35a24f1e
authored
Jun 27, 2025
by
nanahira
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'patch-remove-ready-server' of ../versions/ygopro-mc into server-develop
parents
91edae35
398bb2bd
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
50 additions
and
7 deletions
+50
-7
gframe/netserver.cpp
gframe/netserver.cpp
+9
-0
gframe/premake5.lua
gframe/premake5.lua
+0
-3
gframe/replay.cpp
gframe/replay.cpp
+4
-0
gframe/replay.h
gframe/replay.h
+6
-0
gframe/single_duel.cpp
gframe/single_duel.cpp
+10
-0
gframe/tag_duel.cpp
gframe/tag_duel.cpp
+9
-1
premake5.lua
premake5.lua
+12
-3
No files found.
gframe/netserver.cpp
View file @
35a24f1e
...
@@ -437,6 +437,14 @@ void NetServer::HandleCTOSPacket(DuelPlayer* dp, unsigned char* data, int len) {
...
@@ -437,6 +437,14 @@ void NetServer::HandleCTOSPacket(DuelPlayer* dp, unsigned char* data, int len) {
duel_mode
->
ToObserver
(
dp
);
duel_mode
->
ToObserver
(
dp
);
break
;
break
;
}
}
#if defined(YGOPRO_SERVER_MODE) && !defined(YGOPRO_SERVER_RECEIVE_READY)
case
CTOS_HS_NOTREADY
:
{
if
(
!
duel_mode
||
duel_mode
->
pduel
)
return
;
duel_mode
->
PlayerReady
(
dp
,
false
);
break
;
}
#else
case
CTOS_HS_READY
:
case
CTOS_HS_READY
:
case
CTOS_HS_NOTREADY
:
{
case
CTOS_HS_NOTREADY
:
{
if
(
!
duel_mode
||
duel_mode
->
pduel
)
if
(
!
duel_mode
||
duel_mode
->
pduel
)
...
@@ -444,6 +452,7 @@ void NetServer::HandleCTOSPacket(DuelPlayer* dp, unsigned char* data, int len) {
...
@@ -444,6 +452,7 @@ void NetServer::HandleCTOSPacket(DuelPlayer* dp, unsigned char* data, int len) {
duel_mode
->
PlayerReady
(
dp
,
(
CTOS_HS_NOTREADY
-
pktType
)
!=
0
);
duel_mode
->
PlayerReady
(
dp
,
(
CTOS_HS_NOTREADY
-
pktType
)
!=
0
);
break
;
break
;
}
}
#endif
case
CTOS_HS_KICK
:
{
case
CTOS_HS_KICK
:
{
if
(
!
duel_mode
||
duel_mode
->
pduel
)
if
(
!
duel_mode
||
duel_mode
->
pduel
)
return
;
return
;
...
...
gframe/premake5.lua
View file @
35a24f1e
...
@@ -39,9 +39,6 @@ end
...
@@ -39,9 +39,6 @@ end
if
SERVER_PRO2_SUPPORT
then
if
SERVER_PRO2_SUPPORT
then
defines
{
"SERVER_PRO2_SUPPORT"
}
defines
{
"SERVER_PRO2_SUPPORT"
}
end
end
if
SERVER_TAG_SURRENDER_CONFIRM
then
defines
{
"SERVER_TAG_SURRENDER_CONFIRM"
}
end
else
else
project
"ygopro"
project
"ygopro"
kind
"WindowedApp"
kind
"WindowedApp"
...
...
gframe/replay.cpp
View file @
35a24f1e
...
@@ -145,6 +145,7 @@ void Replay::SaveReplay(const wchar_t* name) {
...
@@ -145,6 +145,7 @@ void Replay::SaveReplay(const wchar_t* name) {
std
::
fwrite
(
comp_data
,
comp_size
,
1
,
rfp
);
std
::
fwrite
(
comp_data
,
comp_size
,
1
,
rfp
);
std
::
fclose
(
rfp
);
std
::
fclose
(
rfp
);
}
}
#ifndef YGOPRO_SERVER_MODE
bool
Replay
::
OpenReplay
(
const
wchar_t
*
name
)
{
bool
Replay
::
OpenReplay
(
const
wchar_t
*
name
)
{
FILE
*
rfp
=
mywfopen
(
name
,
"rb"
);
FILE
*
rfp
=
mywfopen
(
name
,
"rb"
);
if
(
!
rfp
)
{
if
(
!
rfp
)
{
...
@@ -260,6 +261,7 @@ void Replay::Rewind() {
...
@@ -260,6 +261,7 @@ void Replay::Rewind() {
data_position
=
0
;
data_position
=
0
;
can_read
=
true
;
can_read
=
true
;
}
}
#endif // YGOPRO_SERVER_MODE
void
Replay
::
Reset
()
{
void
Replay
::
Reset
()
{
is_recording
=
false
;
is_recording
=
false
;
is_replaying
=
false
;
is_replaying
=
false
;
...
@@ -273,6 +275,7 @@ void Replay::Reset() {
...
@@ -273,6 +275,7 @@ void Replay::Reset() {
decks
.
clear
();
decks
.
clear
();
script_name
.
clear
();
script_name
.
clear
();
}
}
#ifndef YGOPRO_SERVER_MODE
void
Replay
::
SkipInfo
(){
void
Replay
::
SkipInfo
(){
if
(
data_position
==
0
)
if
(
data_position
==
0
)
data_position
+=
info_offset
;
data_position
+=
info_offset
;
...
@@ -330,5 +333,6 @@ bool Replay::ReadInfo() {
...
@@ -330,5 +333,6 @@ bool Replay::ReadInfo() {
}
}
return
true
;
return
true
;
}
}
#endif // YGOPRO_SERVER_MODE
}
}
gframe/replay.h
View file @
35a24f1e
...
@@ -86,6 +86,9 @@ public:
...
@@ -86,6 +86,9 @@ public:
return
deck_index
;
return
deck_index
;
}
}
}
}
#ifdef YGOPRO_SERVER_MODE
void
Reset
();
#else
bool
OpenReplay
(
const
wchar_t
*
name
);
bool
OpenReplay
(
const
wchar_t
*
name
);
bool
ReadNextResponse
(
unsigned
char
resp
[]);
bool
ReadNextResponse
(
unsigned
char
resp
[]);
bool
ReadName
(
wchar_t
*
data
);
bool
ReadName
(
wchar_t
*
data
);
...
@@ -102,6 +105,7 @@ public:
...
@@ -102,6 +105,7 @@ public:
void
Reset
();
void
Reset
();
void
SkipInfo
();
void
SkipInfo
();
bool
IsReplaying
()
const
;
bool
IsReplaying
()
const
;
#endif // YGOPRO_SERVER_MODE
FILE
*
fp
{
nullptr
};
FILE
*
fp
{
nullptr
};
#ifdef _WIN32
#ifdef _WIN32
...
@@ -119,7 +123,9 @@ public:
...
@@ -119,7 +123,9 @@ public:
std
::
string
script_name
;
// 2 bytes, script name (max: 256 bytes)
std
::
string
script_name
;
// 2 bytes, script name (max: 256 bytes)
private:
private:
#ifndef YGOPRO_SERVER_MODE
bool
ReadInfo
();
bool
ReadInfo
();
#endif
unsigned
char
*
replay_data
;
unsigned
char
*
replay_data
;
size_t
replay_size
{};
size_t
replay_size
{};
...
...
gframe/single_duel.cpp
View file @
35a24f1e
...
@@ -408,6 +408,13 @@ void SingleDuel::UpdateDeck(DuelPlayer* dp, unsigned char* pdata, int len) {
...
@@ -408,6 +408,13 @@ void SingleDuel::UpdateDeck(DuelPlayer* dp, unsigned char* pdata, int len) {
#endif
#endif
valid
=
false
;
valid
=
false
;
if
(
!
valid
)
{
if
(
!
valid
)
{
#if defined(YGOPRO_SERVER_MODE) && !defined(YGOPRO_SERVER_RECEIVE_READY)
if
(
duel_count
==
0
)
{
STOC_HS_PlayerChange
scpc
;
scpc
.
status
=
(
dp
->
type
<<
4
)
|
PLAYERCHANGE_NOTREADY
;
NetServer
::
SendPacketToPlayer
(
dp
,
STOC_HS_PLAYER_CHANGE
,
scpc
);
}
#endif
STOC_ErrorMsg
scem
;
STOC_ErrorMsg
scem
;
scem
.
msg
=
ERRMSG_DECKERROR
;
scem
.
msg
=
ERRMSG_DECKERROR
;
scem
.
code
=
0
;
scem
.
code
=
0
;
...
@@ -416,6 +423,9 @@ void SingleDuel::UpdateDeck(DuelPlayer* dp, unsigned char* pdata, int len) {
...
@@ -416,6 +423,9 @@ void SingleDuel::UpdateDeck(DuelPlayer* dp, unsigned char* pdata, int len) {
}
}
if
(
duel_count
==
0
)
{
if
(
duel_count
==
0
)
{
deck_error
[
dp
->
type
]
=
DeckManager
::
LoadDeck
(
pdeck
[
dp
->
type
],
deckbuf
.
list
,
deckbuf
.
mainc
,
deckbuf
.
sidec
);
deck_error
[
dp
->
type
]
=
DeckManager
::
LoadDeck
(
pdeck
[
dp
->
type
],
deckbuf
.
list
,
deckbuf
.
mainc
,
deckbuf
.
sidec
);
#if defined(YGOPRO_SERVER_MODE) && !defined(YGOPRO_SERVER_RECEIVE_READY)
PlayerReady
(
dp
,
true
);
#endif
}
else
{
}
else
{
if
(
DeckManager
::
LoadSide
(
pdeck
[
dp
->
type
],
deckbuf
.
list
,
deckbuf
.
mainc
,
deckbuf
.
sidec
))
{
if
(
DeckManager
::
LoadSide
(
pdeck
[
dp
->
type
],
deckbuf
.
list
,
deckbuf
.
mainc
,
deckbuf
.
sidec
))
{
ready
[
dp
->
type
]
=
true
;
ready
[
dp
->
type
]
=
true
;
...
...
gframe/tag_duel.cpp
View file @
35a24f1e
...
@@ -394,6 +394,11 @@ void TagDuel::UpdateDeck(DuelPlayer* dp, unsigned char* pdata, int len) {
...
@@ -394,6 +394,11 @@ void TagDuel::UpdateDeck(DuelPlayer* dp, unsigned char* pdata, int len) {
#endif
#endif
valid
=
false
;
valid
=
false
;
if
(
!
valid
)
{
if
(
!
valid
)
{
#if defined(YGOPRO_SERVER_MODE) && !defined(YGOPRO_SERVER_RECEIVE_READY)
STOC_HS_PlayerChange
scpc
;
scpc
.
status
=
(
dp
->
type
<<
4
)
|
PLAYERCHANGE_NOTREADY
;
NetServer
::
SendPacketToPlayer
(
dp
,
STOC_HS_PLAYER_CHANGE
,
scpc
);
#endif
STOC_ErrorMsg
scem
;
STOC_ErrorMsg
scem
;
scem
.
msg
=
ERRMSG_DECKERROR
;
scem
.
msg
=
ERRMSG_DECKERROR
;
scem
.
code
=
0
;
scem
.
code
=
0
;
...
@@ -401,6 +406,9 @@ void TagDuel::UpdateDeck(DuelPlayer* dp, unsigned char* pdata, int len) {
...
@@ -401,6 +406,9 @@ void TagDuel::UpdateDeck(DuelPlayer* dp, unsigned char* pdata, int len) {
return
;
return
;
}
}
deck_error
[
dp
->
type
]
=
DeckManager
::
LoadDeck
(
pdeck
[
dp
->
type
],
deckbuf
.
list
,
deckbuf
.
mainc
,
deckbuf
.
sidec
);
deck_error
[
dp
->
type
]
=
DeckManager
::
LoadDeck
(
pdeck
[
dp
->
type
],
deckbuf
.
list
,
deckbuf
.
mainc
,
deckbuf
.
sidec
);
#if defined(YGOPRO_SERVER_MODE) && !defined(YGOPRO_SERVER_RECEIVE_READY)
PlayerReady
(
dp
,
true
);
#endif
}
}
void
TagDuel
::
StartDuel
(
DuelPlayer
*
dp
)
{
void
TagDuel
::
StartDuel
(
DuelPlayer
*
dp
)
{
if
(
dp
!=
host_player
)
if
(
dp
!=
host_player
)
...
@@ -728,7 +736,7 @@ void TagDuel::Surrender(DuelPlayer* dp) {
...
@@ -728,7 +736,7 @@ void TagDuel::Surrender(DuelPlayer* dp) {
if
(
dp
->
type
>
3
||
!
pduel
)
if
(
dp
->
type
>
3
||
!
pduel
)
return
;
return
;
uint32_t
player
=
dp
->
type
;
uint32_t
player
=
dp
->
type
;
#if !defined(YGOPRO_SERVER_MODE) || defined(SERVER_TAG_SURRENDER_CONFIRM)
#if !defined(YGOPRO_SERVER_MODE) || defined(
YGOPRO_
SERVER_TAG_SURRENDER_CONFIRM)
if
(
surrender
[
player
])
if
(
surrender
[
player
])
return
;
return
;
static
const
uint32_t
teammatemap
[]
=
{
1
,
0
,
3
,
2
};
static
const
uint32_t
teammatemap
[]
=
{
1
,
0
,
3
,
2
};
...
...
premake5.lua
View file @
35a24f1e
...
@@ -29,9 +29,12 @@ IRRKLANG_PRO_BUILD_IKPMP3 = false
...
@@ -29,9 +29,12 @@ IRRKLANG_PRO_BUILD_IKPMP3 = false
SERVER_MODE
=
true
SERVER_MODE
=
true
SERVER_ZIP_SUPPORT
=
false
SERVER_ZIP_SUPPORT
=
false
SERVER_PRO2_SUPPORT
=
false
SERVER_PRO2_SUPPORT
=
false
<<<<<<<
HEAD
SERVER_PRO3_SUPPORT
=
false
SERVER_PRO3_SUPPORT
=
false
SERVER_TAG_SURRENDER_CONFIRM
=
false
SERVER_TAG_SURRENDER_CONFIRM
=
false
USE_IRRKLANG
=
false
USE_IRRKLANG
=
false
=======
>>>>>>>
398
bb2bd44567c62089ea2ebba9b1effce34da3b
-- Read settings from command line or environment variables
-- Read settings from command line or environment variables
...
@@ -97,17 +100,26 @@ newoption { trigger = "mac-intel", category = "YGOPro", description = "Compile f
...
@@ -97,17 +100,26 @@ newoption { trigger = "mac-intel", category = "YGOPro", description = "Compile f
newoption
{
trigger
=
"server-mode"
,
category
=
"YGOPro - server"
,
description
=
""
}
newoption
{
trigger
=
"server-mode"
,
category
=
"YGOPro - server"
,
description
=
""
}
newoption
{
trigger
=
"server-zip-support"
,
category
=
"YGOPro - server"
,
description
=
""
}
newoption
{
trigger
=
"server-zip-support"
,
category
=
"YGOPro - server"
,
description
=
""
}
newoption
{
trigger
=
"server-pro2-support"
,
category
=
"YGOPro - server"
,
description
=
""
}
newoption
{
trigger
=
"server-pro2-support"
,
category
=
"YGOPro - server"
,
description
=
""
}
<<<<<<<
HEAD
newoption
{
trigger
=
"server-pro3-support"
,
category
=
"YGOPro - server"
,
description
=
""
}
newoption
{
trigger
=
"server-pro3-support"
,
category
=
"YGOPro - server"
,
description
=
""
}
newoption
{
trigger
=
"server-tag-surrender-confirm"
,
category
=
"YGOPro - server"
,
description
=
""
}
newoption
{
trigger
=
"server-tag-surrender-confirm"
,
category
=
"YGOPro - server"
,
description
=
""
}
=======
>>>>>>>
398
bb2bd44567c62089ea2ebba9b1effce34da3b
boolOptions
=
{
boolOptions
=
{
"compat-mycard"
,
"compat-mycard"
,
"no-lua-safe"
,
"no-lua-safe"
,
<<<<<<<
HEAD
"message-debug"
,
"message-debug"
,
"no-side-check"
,
"no-side-check"
,
"enable-debug-func"
,
"enable-debug-func"
,
"log-lua-memory-size"
,
"log-lua-memory-size"
,
"log-in-chat"
,
"log-in-chat"
,
=======
"no-side-check"
,
"server-tag-surrender-confirm"
,
"server-receive-ready"
,
>>>>>>>
398
bb2bd44567c62089ea2ebba9b1effce34da3b
}
}
for
_
,
boolOption
in
ipairs
(
boolOptions
)
do
for
_
,
boolOption
in
ipairs
(
boolOptions
)
do
...
@@ -170,9 +182,6 @@ if GetParam("server-pro3-support") then
...
@@ -170,9 +182,6 @@ if GetParam("server-pro3-support") then
SERVER_ZIP_SUPPORT
=
true
SERVER_ZIP_SUPPORT
=
true
SERVER_TAG_SURRENDER_CONFIRM
=
true
SERVER_TAG_SURRENDER_CONFIRM
=
true
end
end
if
GetParam
(
"server-tag-surrender-confirm"
)
then
SERVER_TAG_SURRENDER_CONFIRM
=
true
end
if
GetParam
(
"build-lua"
)
then
if
GetParam
(
"build-lua"
)
then
BUILD_LUA
=
true
BUILD_LUA
=
true
...
...
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