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
nanahira
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) {
duel_mode
->
ToObserver
(
dp
);
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_NOTREADY
:
{
if
(
!
duel_mode
||
duel_mode
->
pduel
)
...
...
@@ -444,6 +452,7 @@ void NetServer::HandleCTOSPacket(DuelPlayer* dp, unsigned char* data, int len) {
duel_mode
->
PlayerReady
(
dp
,
(
CTOS_HS_NOTREADY
-
pktType
)
!=
0
);
break
;
}
#endif
case
CTOS_HS_KICK
:
{
if
(
!
duel_mode
||
duel_mode
->
pduel
)
return
;
...
...
gframe/premake5.lua
View file @
35a24f1e
...
...
@@ -39,9 +39,6 @@ end
if
SERVER_PRO2_SUPPORT
then
defines
{
"SERVER_PRO2_SUPPORT"
}
end
if
SERVER_TAG_SURRENDER_CONFIRM
then
defines
{
"SERVER_TAG_SURRENDER_CONFIRM"
}
end
else
project
"ygopro"
kind
"WindowedApp"
...
...
gframe/replay.cpp
View file @
35a24f1e
...
...
@@ -145,6 +145,7 @@ void Replay::SaveReplay(const wchar_t* name) {
std
::
fwrite
(
comp_data
,
comp_size
,
1
,
rfp
);
std
::
fclose
(
rfp
);
}
#ifndef YGOPRO_SERVER_MODE
bool
Replay
::
OpenReplay
(
const
wchar_t
*
name
)
{
FILE
*
rfp
=
mywfopen
(
name
,
"rb"
);
if
(
!
rfp
)
{
...
...
@@ -260,6 +261,7 @@ void Replay::Rewind() {
data_position
=
0
;
can_read
=
true
;
}
#endif // YGOPRO_SERVER_MODE
void
Replay
::
Reset
()
{
is_recording
=
false
;
is_replaying
=
false
;
...
...
@@ -273,6 +275,7 @@ void Replay::Reset() {
decks
.
clear
();
script_name
.
clear
();
}
#ifndef YGOPRO_SERVER_MODE
void
Replay
::
SkipInfo
(){
if
(
data_position
==
0
)
data_position
+=
info_offset
;
...
...
@@ -330,5 +333,6 @@ bool Replay::ReadInfo() {
}
return
true
;
}
#endif // YGOPRO_SERVER_MODE
}
gframe/replay.h
View file @
35a24f1e
...
...
@@ -86,6 +86,9 @@ public:
return
deck_index
;
}
}
#ifdef YGOPRO_SERVER_MODE
void
Reset
();
#else
bool
OpenReplay
(
const
wchar_t
*
name
);
bool
ReadNextResponse
(
unsigned
char
resp
[]);
bool
ReadName
(
wchar_t
*
data
);
...
...
@@ -102,6 +105,7 @@ public:
void
Reset
();
void
SkipInfo
();
bool
IsReplaying
()
const
;
#endif // YGOPRO_SERVER_MODE
FILE
*
fp
{
nullptr
};
#ifdef _WIN32
...
...
@@ -119,7 +123,9 @@ public:
std
::
string
script_name
;
// 2 bytes, script name (max: 256 bytes)
private:
#ifndef YGOPRO_SERVER_MODE
bool
ReadInfo
();
#endif
unsigned
char
*
replay_data
;
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) {
#endif
valid
=
false
;
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
;
scem
.
msg
=
ERRMSG_DECKERROR
;
scem
.
code
=
0
;
...
...
@@ -416,6 +423,9 @@ void SingleDuel::UpdateDeck(DuelPlayer* dp, unsigned char* pdata, int len) {
}
if
(
duel_count
==
0
)
{
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
{
if
(
DeckManager
::
LoadSide
(
pdeck
[
dp
->
type
],
deckbuf
.
list
,
deckbuf
.
mainc
,
deckbuf
.
sidec
))
{
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) {
#endif
valid
=
false
;
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
;
scem
.
msg
=
ERRMSG_DECKERROR
;
scem
.
code
=
0
;
...
...
@@ -401,6 +406,9 @@ void TagDuel::UpdateDeck(DuelPlayer* dp, unsigned char* pdata, int len) {
return
;
}
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
)
{
if
(
dp
!=
host_player
)
...
...
@@ -728,7 +736,7 @@ void TagDuel::Surrender(DuelPlayer* dp) {
if
(
dp
->
type
>
3
||
!
pduel
)
return
;
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
])
return
;
static
const
uint32_t
teammatemap
[]
=
{
1
,
0
,
3
,
2
};
...
...
premake5.lua
View file @
35a24f1e
...
...
@@ -29,9 +29,12 @@ IRRKLANG_PRO_BUILD_IKPMP3 = false
SERVER_MODE
=
true
SERVER_ZIP_SUPPORT
=
false
SERVER_PRO2_SUPPORT
=
false
<<<<<<<
HEAD
SERVER_PRO3_SUPPORT
=
false
SERVER_TAG_SURRENDER_CONFIRM
=
false
USE_IRRKLANG
=
false
=======
>>>>>>>
398
bb2bd44567c62089ea2ebba9b1effce34da3b
-- Read settings from command line or environment variables
...
...
@@ -97,17 +100,26 @@ newoption { trigger = "mac-intel", category = "YGOPro", description = "Compile f
newoption
{
trigger
=
"server-mode"
,
category
=
"YGOPro - server"
,
description
=
""
}
newoption
{
trigger
=
"server-zip-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-tag-surrender-confirm"
,
category
=
"YGOPro - server"
,
description
=
""
}
=======
>>>>>>>
398
bb2bd44567c62089ea2ebba9b1effce34da3b
boolOptions
=
{
"compat-mycard"
,
"no-lua-safe"
,
<<<<<<<
HEAD
"message-debug"
,
"no-side-check"
,
"enable-debug-func"
,
"log-lua-memory-size"
,
"log-in-chat"
,
=======
"no-side-check"
,
"server-tag-surrender-confirm"
,
"server-receive-ready"
,
>>>>>>>
398
bb2bd44567c62089ea2ebba9b1effce34da3b
}
for
_
,
boolOption
in
ipairs
(
boolOptions
)
do
...
...
@@ -170,9 +182,6 @@ if GetParam("server-pro3-support") then
SERVER_ZIP_SUPPORT
=
true
SERVER_TAG_SURRENDER_CONFIRM
=
true
end
if
GetParam
(
"server-tag-surrender-confirm"
)
then
SERVER_TAG_SURRENDER_CONFIRM
=
true
end
if
GetParam
(
"build-lua"
)
then
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