Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
R
rd-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
苍蓝
rd-ygopro
Commits
3674fa00
Commit
3674fa00
authored
Jun 10, 2021
by
nanahira
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of github.com:Fluorohydride/ygopro
parents
61006d5c
f0efb62f
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
57 additions
and
48 deletions
+57
-48
gframe/drawing.cpp
gframe/drawing.cpp
+5
-2
gframe/duelclient.cpp
gframe/duelclient.cpp
+43
-39
gframe/single_mode.cpp
gframe/single_mode.cpp
+2
-1
strings.conf
strings.conf
+7
-6
No files found.
gframe/drawing.cpp
View file @
3674fa00
...
...
@@ -998,8 +998,11 @@ void Game::DrawSpec() {
}
else
if
(
showcardp
<
showcarddif
)
{
DrawShadowText
(
lpcFont
,
lstr
,
ResizePhaseHint
(
660
,
290
,
960
,
370
,
pos
.
Width
),
Resize
(
-
1
,
-
1
,
0
,
0
),
0xffffffff
);
if
(
dInfo
.
vic_string
&&
(
showcardcode
==
1
||
showcardcode
==
2
))
{
driver
->
draw2DRectangle
(
0xa0000000
,
Resize
(
540
,
320
,
790
,
340
));
DrawShadowText
(
guiFont
,
dInfo
.
vic_string
,
Resize
(
490
,
320
,
840
,
340
),
Resize
(
-
2
,
-
1
,
0
,
0
),
0xffffffff
,
0xff000000
,
true
,
true
,
0
);
int
w
=
guiFont
->
getDimension
(
dInfo
.
vic_string
).
Width
;
if
(
w
<
200
)
w
=
200
;
driver
->
draw2DRectangle
(
0xa0000000
,
ResizeWin
(
640
-
w
/
2
,
320
,
690
+
w
/
2
,
340
));
DrawShadowText
(
guiFont
,
dInfo
.
vic_string
,
ResizeWin
(
640
-
w
/
2
,
320
,
690
+
w
/
2
,
340
),
Resize
(
-
2
,
-
1
,
0
,
0
),
0xffffffff
,
0xff000000
,
true
,
true
,
0
);
}
}
else
if
(
showcardp
<
showcarddif
+
10
)
{
int
alpha
=
((
showcarddif
+
10
-
showcardp
)
*
25
)
<<
24
;
...
...
gframe/duelclient.cpp
View file @
3674fa00
...
...
@@ -2804,6 +2804,12 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
pcard
->
SetCode
(
code
);
pcard
->
counters
.
clear
();
pcard
->
ClearTarget
();
if
(
pcard
->
equipTarget
)
{
pcard
->
equipTarget
->
is_showequip
=
false
;
pcard
->
equipTarget
->
equipped
.
erase
(
pcard
);
pcard
->
equipTarget
=
0
;
}
pcard
->
is_showequip
=
false
;
pcard
->
is_showtarget
=
false
;
pcard
->
is_showchaintarget
=
false
;
ClientCard
*
olcard
=
mainGame
->
dField
.
GetCard
(
cc
,
cl
&
0x7f
,
cs
);
...
...
@@ -4091,47 +4097,45 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
mainGame
->
dField
.
extra_p_count
[
p
]
=
val
;
}
mainGame
->
dField
.
RefreshAllCards
();
val = BufferIO::ReadInt8(pbuf); //chains, always 0 in single mode
if(!mainGame->dInfo.isSingleMode) {
for(int i = 0; i < val; ++i) {
unsigned int code = (unsigned int)BufferIO::ReadInt32(pbuf);
int pcc = mainGame->LocalPlayer(BufferIO::ReadInt8(pbuf));
int pcl = BufferIO::ReadInt8(pbuf);
int pcs = BufferIO::ReadInt8(pbuf);
int subs = BufferIO::ReadInt8(pbuf);
int cc = mainGame->LocalPlayer(BufferIO::ReadInt8(pbuf));
int cl = BufferIO::ReadInt8(pbuf);
int cs = BufferIO::ReadInt8(pbuf);
int desc = BufferIO::ReadInt32(pbuf);
ClientCard* pcard = mainGame->dField.GetCard(pcc, pcl, pcs, subs);
mainGame->dField.current_chain.chain_card = pcard;
mainGame->dField.current_chain.code = code;
mainGame->dField.current_chain.desc = desc;
mainGame->dField.current_chain.controler = cc;
mainGame->dField.current_chain.location = cl;
mainGame->dField.current_chain.sequence = cs;
mainGame->dField.GetChainLocation(cc, cl, cs, &mainGame->dField.current_chain.chain_pos);
mainGame->dField.current_chain.solved = false;
int chc = 0;
for(auto chit = mainGame->dField.chains.begin(); chit != mainGame->dField.chains.end(); ++chit) {
if(cl == 0x10 || cl == 0x20) {
if(chit->controler == cc && chit->location == cl)
chc++;
} else {
if(chit->controler == cc && chit->location == cl && chit->sequence == cs)
chc++;
}
val
=
BufferIO
::
ReadInt8
(
pbuf
);
//chains
for
(
int
i
=
0
;
i
<
val
;
++
i
)
{
unsigned
int
code
=
(
unsigned
int
)
BufferIO
::
ReadInt32
(
pbuf
);
int
pcc
=
mainGame
->
LocalPlayer
(
BufferIO
::
ReadInt8
(
pbuf
));
int
pcl
=
BufferIO
::
ReadInt8
(
pbuf
);
int
pcs
=
BufferIO
::
ReadInt8
(
pbuf
);
int
subs
=
BufferIO
::
ReadInt8
(
pbuf
);
int
cc
=
mainGame
->
LocalPlayer
(
BufferIO
::
ReadInt8
(
pbuf
));
int
cl
=
BufferIO
::
ReadInt8
(
pbuf
);
int
cs
=
BufferIO
::
ReadInt8
(
pbuf
);
int
desc
=
BufferIO
::
ReadInt32
(
pbuf
);
ClientCard
*
pcard
=
mainGame
->
dField
.
GetCard
(
pcc
,
pcl
,
pcs
,
subs
);
mainGame
->
dField
.
current_chain
.
chain_card
=
pcard
;
mainGame
->
dField
.
current_chain
.
code
=
code
;
mainGame
->
dField
.
current_chain
.
desc
=
desc
;
mainGame
->
dField
.
current_chain
.
controler
=
cc
;
mainGame
->
dField
.
current_chain
.
location
=
cl
;
mainGame
->
dField
.
current_chain
.
sequence
=
cs
;
mainGame
->
dField
.
GetChainLocation
(
cc
,
cl
,
cs
,
&
mainGame
->
dField
.
current_chain
.
chain_pos
);
mainGame
->
dField
.
current_chain
.
solved
=
false
;
int
chc
=
0
;
for
(
auto
chit
=
mainGame
->
dField
.
chains
.
begin
();
chit
!=
mainGame
->
dField
.
chains
.
end
();
++
chit
)
{
if
(
cl
==
0x10
||
cl
==
0x20
)
{
if
(
chit
->
controler
==
cc
&&
chit
->
location
==
cl
)
chc
++
;
}
else
{
if
(
chit
->
controler
==
cc
&&
chit
->
location
==
cl
&&
chit
->
sequence
==
cs
)
chc
++
;
}
if(cl == LOCATION_HAND)
mainGame->dField.current_chain.chain_pos.X += 0.35f;
else
mainGame->dField.current_chain.chain_pos.Y += chc * 0.25f;
mainGame->dField.chains.push_back(mainGame->dField.current_chain);
}
if(val) {
myswprintf(event_string, dataManager.GetSysString(1609), dataManager.GetName(mainGame->dField.current_chain.code));
mainGame->dField.last_chain = true;
}
if
(
cl
==
LOCATION_HAND
)
mainGame
->
dField
.
current_chain
.
chain_pos
.
X
+=
0.35
f
;
else
mainGame
->
dField
.
current_chain
.
chain_pos
.
Y
+=
chc
*
0.25
f
;
mainGame
->
dField
.
chains
.
push_back
(
mainGame
->
dField
.
current_chain
);
}
if
(
val
)
{
myswprintf
(
event_string
,
dataManager
.
GetSysString
(
1609
),
dataManager
.
GetName
(
mainGame
->
dField
.
current_chain
.
code
));
mainGame
->
dField
.
last_chain
=
true
;
}
mainGame
->
gMutex
.
unlock
();
break
;
...
...
gframe/single_mode.cpp
View file @
3674fa00
...
...
@@ -737,7 +737,8 @@ bool SingleMode::SinglePlayAnalyze(char* msg, unsigned int len) {
}
pbuf
+=
6
;
}
pbuf
++
;
count
=
BufferIO
::
ReadInt8
(
pbuf
);
pbuf
+=
count
*
15
;
DuelClient
::
ClientAnalyze
(
offset
,
pbuf
-
offset
);
SinglePlayReload
();
mainGame
->
gMutex
.
lock
();
...
...
strings.conf
View file @
3674fa00
...
...
@@ -534,13 +534,13 @@
!
victory
0
x4
失去连接
!
victory
0
x10
「被封印的艾克佐迪亚」特殊胜利
!
victory
0
x11
「终焉的倒计时」特殊胜利
!
victory
0
x12
「毒蛇神
维诺米纳迦」特殊胜利
!
victory
0
x13
「光之创造神
哈拉克提」特殊胜利
!
victory
0
x14
「究极封印神
艾克佐迪奥斯」特殊胜利
!
victory
0
x12
「毒蛇神
维诺米纳迦」特殊胜利
!
victory
0
x13
「光之创造神
哈拉克提」特殊胜利
!
victory
0
x14
「究极封印神
艾克佐迪奥斯」特殊胜利
!
victory
0
x15
「通灵盘」特殊胜利
!
victory
0
x16
「最终一战!」特殊胜利
!
victory
0
x17
「
No
.
88
机关傀儡-命运狮子」特殊胜利
!
victory
0
x18
「混沌
No
.
88
机关傀儡-灾厄狮子」特殊胜利
!
victory
0
x17
「
No
.
88
机关傀儡-命运狮子」特殊胜利
!
victory
0
x18
「混沌
No
.
88
机关傀儡-灾厄狮子」特殊胜利
!
victory
0
x19
「头奖壶
7
」特殊胜利
!
victory
0
x1a
「魂之接力」特殊胜利
!
victory
0
x1b
「鬼计惰天使」特殊胜利
...
...
@@ -549,6 +549,7 @@
!
victory
0
x1e
「飞行象」特殊胜利
!
victory
0
x1f
「守护神 艾克佐迪亚」特殊胜利
!
victory
0
x20
「真艾克佐迪亚」特殊胜利
!
victory
0
x21
「混沌虚数
No
.
1000
梦幻虚光神 原数天灵·原数天地」特殊胜利
!
victory
0
xffff
由于「%
ls
」获得比赛胜利
#counters
!
counter
0
x1
魔力指示物
...
...
@@ -602,7 +603,7 @@
!
counter
0
x31
希望剑指示物
!
counter
0
x32
气球指示物
!
counter
0
x33
妖仙指示物
!
counter
0
x34
指示物(
BOX
)
!
counter
0
x34
指示物(
纸箱拳击手
)
!
counter
0
x35
音响指示物
!
counter
0
x36
娱乐法师指示物
!
counter
0
x37
坏兽指示物
...
...
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