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
REIKAI
ygopro
Commits
2d276f9b
Commit
2d276f9b
authored
Feb 09, 2018
by
edo9300
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Updated player name handling
parent
98aa5fe5
Changes
9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
147 additions
and
160 deletions
+147
-160
gframe/client_field.cpp
gframe/client_field.cpp
+2
-2
gframe/drawing.cpp
gframe/drawing.cpp
+4
-19
gframe/duelclient.cpp
gframe/duelclient.cpp
+86
-81
gframe/event_handler.cpp
gframe/event_handler.cpp
+8
-17
gframe/game.cpp
gframe/game.cpp
+20
-9
gframe/game.h
gframe/game.h
+3
-8
gframe/old_replay_mode.cpp
gframe/old_replay_mode.cpp
+8
-8
gframe/replay_mode.cpp
gframe/replay_mode.cpp
+11
-11
gframe/single_mode.cpp
gframe/single_mode.cpp
+5
-5
No files found.
gframe/client_field.cpp
View file @
2d276f9b
...
...
@@ -656,8 +656,8 @@ void ClientField::ReplaySwap() {
mainGame
->
dInfo
.
isFirst
=
!
mainGame
->
dInfo
.
isFirst
;
std
::
swap
(
mainGame
->
dInfo
.
lp
[
0
],
mainGame
->
dInfo
.
lp
[
1
]);
std
::
swap
(
mainGame
->
dInfo
.
strLP
[
0
],
mainGame
->
dInfo
.
strLP
[
1
]);
std
::
swap
(
mainGame
->
dInfo
.
hostname
,
mainGame
->
dInfo
.
clientname
);
std
::
swap
(
mainGame
->
dInfo
.
hostname
_tag
,
mainGame
->
dInfo
.
clientname_tag
);
std
::
swap
(
mainGame
->
dInfo
.
hostname
[
0
],
mainGame
->
dInfo
.
clientname
[
0
]
);
std
::
swap
(
mainGame
->
dInfo
.
hostname
[
1
],
mainGame
->
dInfo
.
clientname
[
1
]
);
for
(
auto
chit
=
chains
.
begin
();
chit
!=
chains
.
end
();
++
chit
)
{
chit
->
controler
=
1
-
chit
->
controler
;
GetChainLocation
(
chit
->
controler
,
chit
->
location
,
chit
->
sequence
,
&
chit
->
chain_pos
);
...
...
gframe/drawing.cpp
View file @
2d276f9b
...
...
@@ -512,25 +512,10 @@ void Game::DrawMisc() {
recti
p1size
=
mainGame
->
Resize
(
335
,
31
,
629
,
50
);
recti
p2size
=
mainGame
->
Resize
(
986
,
31
,
986
,
50
);
if
(
dInfo
.
isRelay
)
textFont
->
draw
(
dInfo
.
hostname_relay
[
dInfo
.
relay_player
[
0
]],
p1size
,
0xffffffff
,
false
,
false
,
0
);
else
if
(
!
dInfo
.
isTag
||
!
dInfo
.
tag_player
[
0
])
textFont
->
draw
(
dInfo
.
hostname
,
p1size
,
0xffffffff
,
false
,
false
,
0
);
else
textFont
->
draw
(
dInfo
.
hostname_tag
,
p1size
,
0xffffffff
,
false
,
false
,
0
);
if
(
dInfo
.
isRelay
)
{
auto
cld
=
textFont
->
getDimension
(
dInfo
.
clientname_relay
[
dInfo
.
relay_player
[
1
]]);
p2size
.
UpperLeftCorner
.
X
-=
cld
.
Width
;
textFont
->
draw
(
dInfo
.
clientname_relay
[
dInfo
.
relay_player
[
1
]],
p2size
,
0xffffffff
,
false
,
false
,
0
);
}
else
if
(
!
dInfo
.
isTag
||
!
dInfo
.
tag_player
[
1
])
{
auto
cld
=
textFont
->
getDimension
(
dInfo
.
clientname
);
p2size
.
UpperLeftCorner
.
X
-=
cld
.
Width
;
textFont
->
draw
(
dInfo
.
clientname
,
p2size
,
0xffffffff
,
false
,
false
,
0
);
}
else
{
auto
cld
=
textFont
->
getDimension
(
dInfo
.
clientname_tag
);
p2size
.
UpperLeftCorner
.
X
-=
cld
.
Width
;
textFont
->
draw
(
dInfo
.
clientname_tag
,
p2size
,
0xffffffff
,
false
,
false
,
0
);
}
textFont
->
draw
(
dInfo
.
hostname
[
dInfo
.
current_player
[
0
]],
p1size
,
0xffffffff
,
false
,
false
,
0
);
auto
cld
=
textFont
->
getDimension
(
dInfo
.
clientname
[
dInfo
.
current_player
[
1
]]);
p2size
.
UpperLeftCorner
.
X
-=
cld
.
Width
;
textFont
->
draw
(
dInfo
.
clientname
[
dInfo
.
current_player
[
1
]],
p2size
,
0xffffffff
,
false
,
false
,
0
);
driver
->
draw2DRectangle
(
mainGame
->
Resize
(
632
,
10
,
688
,
30
),
0x00000000
,
0x00000000
,
0xffffffff
,
0xffffffff
);
driver
->
draw2DRectangle
(
mainGame
->
Resize
(
632
,
30
,
688
,
50
),
0xffffffff
,
0xffffffff
,
0x00000000
,
0x00000000
);
lpcFont
->
draw
(
dataManager
.
GetNumString
(
dInfo
.
turn
),
mainGame
->
Resize
(
635
,
5
,
685
,
40
),
0x80000000
,
true
,
false
,
0
);
...
...
gframe/duelclient.cpp
View file @
2d276f9b
This diff is collapsed.
Click to expand it.
gframe/event_handler.cpp
View file @
2d276f9b
...
...
@@ -1087,8 +1087,10 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
unsigned
short
msgbuf
[
256
];
if
(
mainGame
->
dInfo
.
isStarted
)
{
if
(
mainGame
->
dInfo
.
player_type
<
7
)
{
if
(
mainGame
->
dInfo
.
isTag
&&
(
mainGame
->
dInfo
.
player_type
%
2
))
mainGame
->
AddChatMsg
((
wchar_t
*
)
input
,
2
);
if
(
mainGame
->
dInfo
.
isRelay
)
mainGame
->
AddChatMsg
((
wchar_t
*
)
input
,
(
mainGame
->
dInfo
.
player_type
%
3
)
*
2
);
else
if
(
mainGame
->
dInfo
.
isTag
)
mainGame
->
AddChatMsg
((
wchar_t
*
)
input
,
(
mainGame
->
dInfo
.
player_type
%
2
)
*
2
);
else
mainGame
->
AddChatMsg
((
wchar_t
*
)
input
,
0
);
}
else
...
...
@@ -1847,21 +1849,10 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
if
(
mplayer
!=
hovered_player
)
{
if
(
mplayer
>=
0
)
{
const
wchar_t
*
player_name
;
if
(
mplayer
==
0
)
{
if
(
mainGame
->
dInfo
.
isRelay
)
player_name
=
mainGame
->
dInfo
.
hostname_relay
[
mainGame
->
dInfo
.
relay_player
[
0
]];
else
if
(
!
mainGame
->
dInfo
.
isTag
||
!
mainGame
->
dInfo
.
tag_player
[
0
])
player_name
=
mainGame
->
dInfo
.
hostname
;
else
player_name
=
mainGame
->
dInfo
.
hostname_tag
;
}
else
{
if
(
mainGame
->
dInfo
.
isRelay
)
player_name
=
mainGame
->
dInfo
.
clientname_relay
[
mainGame
->
dInfo
.
relay_player
[
1
]];
else
if
(
!
mainGame
->
dInfo
.
isTag
||
!
mainGame
->
dInfo
.
tag_player
[
1
])
player_name
=
mainGame
->
dInfo
.
clientname
;
else
player_name
=
mainGame
->
dInfo
.
clientname_tag
;
}
if
(
mplayer
==
0
)
player_name
=
mainGame
->
dInfo
.
hostname
[
mainGame
->
dInfo
.
current_player
[
mplayer
]];
else
player_name
=
mainGame
->
dInfo
.
clientname
[
mainGame
->
dInfo
.
current_player
[
mplayer
]];
std
::
wstring
str
(
player_name
);
const
auto
&
player_desc_hints
=
mainGame
->
dField
.
player_desc_hints
[
mplayer
];
for
(
auto
iter
=
player_desc_hints
.
begin
();
iter
!=
player_desc_hints
.
end
();
++
iter
)
{
...
...
gframe/game.cpp
View file @
2d276f9b
...
...
@@ -1356,23 +1356,34 @@ void Game::AddChatMsg(wchar_t* msg, int player) {
chatTiming
[
0
]
=
1200
;
chatType
[
0
]
=
player
;
switch
(
player
)
{
case
0
:
//from host
chatMsg
[
0
].
append
((
dInfo
.
isRelay
)
?
dInfo
.
hostname_relay
[
0
]
:
dInfo
.
hostname
);
case
0
:
//host 1
PlaySoundEffect
(
"./sound/chatmessage.wav"
);
chatMsg
[
0
].
append
(
dInfo
.
hostname
[
0
]);
chatMsg
[
0
].
append
(
L": "
);
break
;
case
1
:
//client 1
PlaySoundEffect
(
"./sound/chatmessage.wav"
);
chatMsg
[
0
].
append
(
dInfo
.
clientname
[
0
]);
chatMsg
[
0
].
append
(
L": "
);
break
;
case
2
:
//host 2
PlaySoundEffect
(
"./sound/chatmessage.wav"
);
chatMsg
[
0
].
append
(
dInfo
.
hostname
[
1
]);
chatMsg
[
0
].
append
(
L": "
);
break
;
case
1
:
//from client
case
3
:
//client 2
PlaySoundEffect
(
"./sound/chatmessage.wav"
);
chatMsg
[
0
].
append
(
(
dInfo
.
isRelay
)
?
dInfo
.
clientname_relay
[
0
]
:
dInfo
.
clientname
);
chatMsg
[
0
].
append
(
dInfo
.
clientname
[
1
]
);
chatMsg
[
0
].
append
(
L": "
);
break
;
case
2
:
//host tag
case
4
:
//host 3
PlaySoundEffect
(
"./sound/chatmessage.wav"
);
chatMsg
[
0
].
append
(
(
dInfo
.
isRelay
)
?
dInfo
.
hostname_relay
[
1
]
:
dInfo
.
hostname_tag
);
chatMsg
[
0
].
append
(
dInfo
.
hostname
[
2
]
);
chatMsg
[
0
].
append
(
L": "
);
break
;
case
3
:
//client tag
case
5
:
//client 3
PlaySoundEffect
(
"./sound/chatmessage.wav"
);
chatMsg
[
0
].
append
(
(
dInfo
.
isRelay
)
?
dInfo
.
clientname_relay
[
1
]
:
dInfo
.
clientname_tag
);
chatMsg
[
0
].
append
(
dInfo
.
clientname
[
2
]
);
chatMsg
[
0
].
append
(
L": "
);
break
;
case
7
:
//local name
...
...
@@ -1476,7 +1487,7 @@ int Game::LocalPlayer(int player) {
return
dInfo
.
isFirst
?
player
:
1
-
player
;
}
const
wchar_t
*
Game
::
LocalName
(
int
local_player
)
{
return
local_player
==
0
?
dInfo
.
hostname
:
dInfo
.
clientname
;
return
local_player
==
0
?
dInfo
.
hostname
[
0
]
:
dInfo
.
clientname
[
0
]
;
}
void
Game
::
UpdateDuelParam
()
{
uint32
flag
=
0
,
filter
=
0x100
;
...
...
gframe/game.h
View file @
2d276f9b
...
...
@@ -56,20 +56,15 @@ struct DuelInfo {
bool
isSingleMode
;
bool
lua64
;
bool
is_shuffling
;
bool
tag_player
[
2
];
int
relay_player
[
2
];
int
current_player
[
2
];
int
lp
[
2
];
int
startlp
;
int
duel_field
;
int
extraval
;
int
turn
;
short
curMsg
;
wchar_t
hostname
[
20
];
wchar_t
clientname
[
20
];
wchar_t
hostname_tag
[
20
];
wchar_t
clientname_tag
[
20
];
wchar_t
clientname_relay
[
3
][
20
];
wchar_t
hostname_relay
[
3
][
20
];
wchar_t
clientname
[
3
][
20
];
wchar_t
hostname
[
3
][
20
];
wchar_t
strLP
[
2
][
16
];
wchar_t
*
vic_string
;
unsigned
char
player_type
;
...
...
gframe/old_replay_mode.cpp
View file @
2d276f9b
...
...
@@ -20,8 +20,8 @@ namespace ygo {
mainGame
->
dInfo
.
isTag
=
!!
(
rh
.
flag
&
REPLAY_TAG
);
mainGame
->
dInfo
.
isSingleMode
=
!!
(
rh
.
flag
&
REPLAY_SINGLE_MODE
);
mainGame
->
dInfo
.
lua64
=
true
;
mainGame
->
dInfo
.
tag_player
[
0
]
=
false
;
mainGame
->
dInfo
.
tag_player
[
1
]
=
false
;
mainGame
->
dInfo
.
current_player
[
0
]
=
0
;
mainGame
->
dInfo
.
current_player
[
1
]
=
0
;
if
(
mainGame
->
dInfo
.
isSingleMode
)
{
set_script_reader
((
script_reader
)
SingleMode
::
ScriptReader
);
set_card_reader
((
card_reader
)
DataManager
::
CardReader
);
...
...
@@ -106,14 +106,14 @@ namespace ygo {
int
seed
=
rh
.
seed
;
rnd
.
reset
(
seed
);
if
(
mainGame
->
dInfo
.
isTag
)
{
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
hostname
);
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
hostname
_tag
);
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
clientname
_tag
);
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
clientname
);
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
hostname
[
0
]
);
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
hostname
[
1
]
);
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
clientname
[
1
]
);
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
clientname
[
0
]
);
}
else
{
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
hostname
);
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
clientname
);
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
hostname
[
0
]
);
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
clientname
[
0
]
);
}
pduel
=
create_duel
(
rnd
.
rand
());
int
start_lp
=
cur_replay
.
ReadInt32
();
...
...
gframe/replay_mode.cpp
View file @
2d276f9b
...
...
@@ -62,17 +62,17 @@ int ReplayMode::ReplayThread(void* param) {
mainGame
->
dInfo
.
isTag
=
!!
(
rh
.
flag
&
REPLAY_TAG
);
mainGame
->
dInfo
.
isSingleMode
=
!!
(
rh
.
flag
&
REPLAY_SINGLE_MODE
);
mainGame
->
dInfo
.
lua64
=
!!
(
rh
.
flag
&
REPLAY_LUA64
);
mainGame
->
dInfo
.
tag_player
[
0
]
=
false
;
mainGame
->
dInfo
.
tag_player
[
1
]
=
false
;
mainGame
->
dInfo
.
current_player
[
0
]
=
0
;
mainGame
->
dInfo
.
current_player
[
1
]
=
0
;
if
(
mainGame
->
dInfo
.
isTag
)
{
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
hostname
);
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
hostname
_tag
);
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
clientname
_tag
);
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
clientname
);
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
hostname
[
0
]
);
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
hostname
[
1
]
);
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
clientname
[
1
]
);
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
clientname
[
0
]
);
}
else
{
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
hostname
);
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
clientname
);
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
hostname
[
0
]
);
cur_replay
.
ReadName
(
mainGame
->
dInfo
.
clientname
[
0
]
);
}
int
opt
=
cur_replay
.
ReadInt32
();
mainGame
->
dInfo
.
duel_field
=
opt
&
0xff
;
...
...
@@ -157,8 +157,8 @@ void ReplayMode::Restart(bool refresh) {
mainGame
->
dInfo
.
isStarted
=
false
;
mainGame
->
dInfo
.
turn
=
0
;
mainGame
->
dField
.
Clear
();
mainGame
->
dInfo
.
tag_player
[
0
]
=
false
;
mainGame
->
dInfo
.
tag_player
[
1
]
=
false
;
mainGame
->
dInfo
.
current_player
[
0
]
=
0
;
mainGame
->
dInfo
.
current_player
[
1
]
=
0
;
if
(
yrp
&&
!
StartDuel
())
{
EndDuel
();
}
...
...
@@ -263,7 +263,7 @@ bool ReplayMode::ReplayAnalyze(ReplayPacket p) {
pbuf
+=
len
+
1
;
memcpy
(
namebuf
,
begin
,
len
+
1
);
BufferIO
::
DecodeUTF8
(
namebuf
,
wname
);
BufferIO
::
CopyWStr
(
wname
,
mainGame
->
dInfo
.
clientname
,
20
);
BufferIO
::
CopyWStr
(
wname
,
mainGame
->
dInfo
.
clientname
[
0
]
,
20
);
return
true
;
}
case
OLD_REPLAY_MODE
:
...
...
gframe/single_mode.cpp
View file @
2d276f9b
...
...
@@ -53,8 +53,8 @@ int SingleMode::SinglePlayThread(void* param) {
mainGame
->
dInfo
.
startlp
=
start_lp
;
myswprintf
(
mainGame
->
dInfo
.
strLP
[
0
],
L"%d"
,
mainGame
->
dInfo
.
lp
[
0
]);
myswprintf
(
mainGame
->
dInfo
.
strLP
[
1
],
L"%d"
,
mainGame
->
dInfo
.
lp
[
1
]);
BufferIO
::
CopyWStr
(
mainGame
->
ebNickName
->
getText
(),
mainGame
->
dInfo
.
hostname
,
20
);
mainGame
->
dInfo
.
clientname
[
0
]
=
0
;
BufferIO
::
CopyWStr
(
mainGame
->
ebNickName
->
getText
(),
mainGame
->
dInfo
.
hostname
[
0
]
,
20
);
mainGame
->
dInfo
.
clientname
[
0
]
[
0
]
=
0
;
mainGame
->
dInfo
.
turn
=
0
;
char
filename
[
256
];
size_t
slen
=
0
;
...
...
@@ -117,10 +117,10 @@ int SingleMode::SinglePlayThread(void* param) {
new_replay
.
WriteHeader
(
rh
);
replay_stream
.
clear
();
unsigned
short
buffer
[
20
];
BufferIO
::
CopyWStr
(
mainGame
->
dInfo
.
hostname
,
buffer
,
20
);
BufferIO
::
CopyWStr
(
mainGame
->
dInfo
.
hostname
[
0
]
,
buffer
,
20
);
last_replay
.
WriteData
(
buffer
,
40
,
false
);
new_replay
.
WriteData
(
buffer
,
40
,
false
);
BufferIO
::
CopyWStr
(
mainGame
->
dInfo
.
clientname
,
buffer
,
20
);
BufferIO
::
CopyWStr
(
mainGame
->
dInfo
.
clientname
[
0
]
,
buffer
,
20
);
last_replay
.
WriteData
(
buffer
,
40
,
false
);
new_replay
.
WriteData
(
buffer
,
40
,
false
);
last_replay
.
WriteInt32
(
start_lp
,
false
);
...
...
@@ -849,7 +849,7 @@ bool SingleMode::SinglePlayAnalyze(char* msg, unsigned int len) {
pbuf
+=
len
+
1
;
memcpy
(
namebuf
,
begin
,
len
+
1
);
BufferIO
::
DecodeUTF8
(
namebuf
,
wname
);
BufferIO
::
CopyWStr
(
wname
,
mainGame
->
dInfo
.
clientname
,
20
);
BufferIO
::
CopyWStr
(
wname
,
mainGame
->
dInfo
.
clientname
[
0
]
,
20
);
break
;
}
case
MSG_SHOW_HINT
:
{
...
...
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