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
Commits
bfe46388
Commit
bfe46388
authored
Jun 05, 2018
by
mercury233
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'fh' into resize
parents
0557a952
6afb4850
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
50 additions
and
30 deletions
+50
-30
gframe/client_field.cpp
gframe/client_field.cpp
+10
-14
gframe/drawing.cpp
gframe/drawing.cpp
+1
-2
gframe/duelclient.cpp
gframe/duelclient.cpp
+11
-6
gframe/event_handler.cpp
gframe/event_handler.cpp
+1
-1
gframe/game.cpp
gframe/game.cpp
+4
-1
gframe/replay_mode.cpp
gframe/replay_mode.cpp
+1
-0
gframe/single_duel.cpp
gframe/single_duel.cpp
+9
-2
gframe/single_mode.cpp
gframe/single_mode.cpp
+1
-0
gframe/tag_duel.cpp
gframe/tag_duel.cpp
+8
-2
ocgcore
ocgcore
+1
-1
script
script
+1
-1
strings.conf
strings.conf
+2
-0
No files found.
gframe/client_field.cpp
View file @
bfe46388
...
...
@@ -303,7 +303,6 @@ void ClientField::UpdateCard(int controler, int location, int sequence, char* da
}
void
ClientField
::
UpdateFieldCard
(
int
controler
,
int
location
,
char
*
data
)
{
std
::
vector
<
ClientCard
*>*
lst
=
0
;
std
::
vector
<
ClientCard
*>::
iterator
cit
;
switch
(
location
)
{
case
LOCATION_DECK
:
lst
=
&
deck
[
controler
];
...
...
@@ -330,7 +329,7 @@ void ClientField::UpdateFieldCard(int controler, int location, char* data) {
if
(
!
lst
)
return
;
int
len
;
for
(
cit
=
lst
->
begin
();
cit
!=
lst
->
end
();
++
cit
)
{
for
(
auto
cit
=
lst
->
begin
();
cit
!=
lst
->
end
();
++
cit
)
{
len
=
BufferIO
::
ReadInt32
(
data
);
if
(
len
>
8
)
(
*
cit
)
->
UpdateInfo
(
data
);
...
...
@@ -338,20 +337,19 @@ void ClientField::UpdateFieldCard(int controler, int location, char* data) {
}
}
void
ClientField
::
ClearCommandFlag
()
{
std
::
vector
<
ClientCard
*>::
iterator
cit
;
for
(
cit
=
activatable_cards
.
begin
();
cit
!=
activatable_cards
.
end
();
++
cit
)
for
(
auto
cit
=
activatable_cards
.
begin
();
cit
!=
activatable_cards
.
end
();
++
cit
)
(
*
cit
)
->
cmdFlag
=
0
;
for
(
cit
=
summonable_cards
.
begin
();
cit
!=
summonable_cards
.
end
();
++
cit
)
for
(
auto
cit
=
summonable_cards
.
begin
();
cit
!=
summonable_cards
.
end
();
++
cit
)
(
*
cit
)
->
cmdFlag
=
0
;
for
(
cit
=
spsummonable_cards
.
begin
();
cit
!=
spsummonable_cards
.
end
();
++
cit
)
for
(
auto
cit
=
spsummonable_cards
.
begin
();
cit
!=
spsummonable_cards
.
end
();
++
cit
)
(
*
cit
)
->
cmdFlag
=
0
;
for
(
cit
=
msetable_cards
.
begin
();
cit
!=
msetable_cards
.
end
();
++
cit
)
for
(
auto
cit
=
msetable_cards
.
begin
();
cit
!=
msetable_cards
.
end
();
++
cit
)
(
*
cit
)
->
cmdFlag
=
0
;
for
(
cit
=
ssetable_cards
.
begin
();
cit
!=
ssetable_cards
.
end
();
++
cit
)
for
(
auto
cit
=
ssetable_cards
.
begin
();
cit
!=
ssetable_cards
.
end
();
++
cit
)
(
*
cit
)
->
cmdFlag
=
0
;
for
(
cit
=
reposable_cards
.
begin
();
cit
!=
reposable_cards
.
end
();
++
cit
)
for
(
auto
cit
=
reposable_cards
.
begin
();
cit
!=
reposable_cards
.
end
();
++
cit
)
(
*
cit
)
->
cmdFlag
=
0
;
for
(
cit
=
attackable_cards
.
begin
();
cit
!=
attackable_cards
.
end
();
++
cit
)
for
(
auto
cit
=
attackable_cards
.
begin
();
cit
!=
attackable_cards
.
end
();
++
cit
)
(
*
cit
)
->
cmdFlag
=
0
;
conti_cards
.
clear
();
deck_act
=
false
;
...
...
@@ -363,15 +361,13 @@ void ClientField::ClearCommandFlag() {
conti_act
=
false
;
}
void
ClientField
::
ClearSelect
()
{
std
::
vector
<
ClientCard
*>::
iterator
cit
;
for
(
cit
=
selectable_cards
.
begin
();
cit
!=
selectable_cards
.
end
();
++
cit
)
{
for
(
auto
cit
=
selectable_cards
.
begin
();
cit
!=
selectable_cards
.
end
();
++
cit
)
{
(
*
cit
)
->
is_selectable
=
false
;
(
*
cit
)
->
is_selected
=
false
;
}
}
void
ClientField
::
ClearChainSelect
()
{
std
::
vector
<
ClientCard
*>::
iterator
cit
;
for
(
cit
=
activatable_cards
.
begin
();
cit
!=
activatable_cards
.
end
();
++
cit
)
{
for
(
auto
cit
=
activatable_cards
.
begin
();
cit
!=
activatable_cards
.
end
();
++
cit
)
{
(
*
cit
)
->
cmdFlag
=
0
;
(
*
cit
)
->
chain_code
=
0
;
(
*
cit
)
->
is_selectable
=
false
;
...
...
gframe/drawing.cpp
View file @
bfe46388
...
...
@@ -660,8 +660,7 @@ void Game::DrawStatus(ClientCard* pcard, int x1, int y1, int x2, int y2) {
}
void
Game
::
DrawGUI
()
{
if
(
imageLoading
.
size
())
{
std
::
map
<
irr
::
gui
::
CGUIImageButton
*
,
int
>::
iterator
mit
;
for
(
mit
=
imageLoading
.
begin
();
mit
!=
imageLoading
.
end
();
++
mit
)
for
(
auto
mit
=
imageLoading
.
begin
();
mit
!=
imageLoading
.
end
();
++
mit
)
mit
->
first
->
setImage
(
imageManager
.
GetTexture
(
mit
->
second
));
imageLoading
.
clear
();
}
...
...
gframe/duelclient.cpp
View file @
bfe46388
...
...
@@ -2206,8 +2206,13 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
return
true
;
}
case
MSG_SHUFFLE_SET_CARD
:
{
std
::
vector
<
ClientCard
*>::
iterator
cit
;
std
::
vector
<
ClientCard
*>*
lst
=
0
;
int
loc
=
BufferIO
::
ReadInt8
(
pbuf
);
int
count
=
BufferIO
::
ReadInt8
(
pbuf
);
if
(
loc
==
LOCATION_MZONE
)
lst
=
mainGame
->
dField
.
mzone
;
else
lst
=
mainGame
->
dField
.
szone
;
ClientCard
*
mc
[
5
];
ClientCard
*
swp
;
int
c
,
l
,
s
,
ps
;
...
...
@@ -2216,7 +2221,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
l
=
BufferIO
::
ReadInt8
(
pbuf
);
s
=
BufferIO
::
ReadInt8
(
pbuf
);
BufferIO
::
ReadInt8
(
pbuf
);
mc
[
i
]
=
mainGame
->
dField
.
mzone
[
c
][
s
];
mc
[
i
]
=
lst
[
c
][
s
];
mc
[
i
]
->
SetCode
(
0
);
if
(
!
mainGame
->
dInfo
.
isReplay
||
!
mainGame
->
dInfo
.
isReplaySkiping
)
{
mc
[
i
]
->
dPos
=
irr
::
core
::
vector3df
((
3.95
f
-
mc
[
i
]
->
curPos
.
X
)
/
10
,
0
,
0.05
f
);
...
...
@@ -2234,9 +2239,9 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
BufferIO
::
ReadInt8
(
pbuf
);
ps
=
mc
[
i
]
->
sequence
;
if
(
l
>
0
)
{
swp
=
mainGame
->
dField
.
mzone
[
c
][
s
];
mainGame
->
dField
.
mzone
[
c
][
ps
]
=
swp
;
mainGame
->
dField
.
mzone
[
c
][
s
]
=
mc
[
i
];
swp
=
lst
[
c
][
s
];
lst
[
c
][
ps
]
=
swp
;
lst
[
c
][
s
]
=
mc
[
i
];
mc
[
i
]
->
sequence
=
s
;
swp
->
sequence
=
ps
;
}
...
...
@@ -2245,7 +2250,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
soundManager
.
PlaySoundEffect
(
SOUND_SHUFFLE
);
for
(
int
i
=
0
;
i
<
count
;
++
i
)
{
mainGame
->
dField
.
MoveCard
(
mc
[
i
],
10
);
for
(
cit
=
mc
[
i
]
->
overlayed
.
begin
();
cit
!=
mc
[
i
]
->
overlayed
.
end
();
++
cit
)
for
(
auto
cit
=
mc
[
i
]
->
overlayed
.
begin
();
cit
!=
mc
[
i
]
->
overlayed
.
end
();
++
cit
)
mainGame
->
dField
.
MoveCard
(
*
cit
,
10
);
}
mainGame
->
WaitFrameSignal
(
11
);
...
...
gframe/event_handler.cpp
View file @
bfe46388
...
...
@@ -1538,7 +1538,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
str
.
append
(
formatBuffer
);
}
}
for
(
std
::
map
<
int
,
int
>::
iterator
ctit
=
mcard
->
counters
.
begin
();
ctit
!=
mcard
->
counters
.
end
();
++
ctit
)
{
for
(
auto
ctit
=
mcard
->
counters
.
begin
();
ctit
!=
mcard
->
counters
.
end
();
++
ctit
)
{
myswprintf
(
formatBuffer
,
L"
\n
[%ls]: %d"
,
dataManager
.
GetCounterName
(
ctit
->
first
),
ctit
->
second
);
str
.
append
(
formatBuffer
);
}
...
...
gframe/game.cpp
View file @
bfe46388
...
...
@@ -20,7 +20,7 @@
#include <io.h>
#endif
const
unsigned
short
PRO_VERSION
=
0x134
3
;
const
unsigned
short
PRO_VERSION
=
0x134
4
;
namespace
ygo
{
...
...
@@ -1469,6 +1469,9 @@ void Game::CloseDuelWindow() {
wReplaySave
->
setVisible
(
false
);
stHintMsg
->
setVisible
(
false
);
btnSideOK
->
setVisible
(
false
);
btnSideShuffle
->
setVisible
(
false
);
btnSideSort
->
setVisible
(
false
);
btnSideReload
->
setVisible
(
false
);
btnLeaveGame
->
setVisible
(
false
);
btnSpectatorSwap
->
setVisible
(
false
);
btnChainIgnore
->
setVisible
(
false
);
...
...
gframe/replay_mode.cpp
View file @
bfe46388
...
...
@@ -497,6 +497,7 @@ bool ReplayMode::ReplayAnalyze(char* msg, unsigned int len) {
break
;
}
case
MSG_SHUFFLE_SET_CARD
:
{
pbuf
++
;
count
=
BufferIO
::
ReadInt8
(
pbuf
);
pbuf
+=
count
*
8
;
DuelClient
::
ClientAnalyze
(
offset
,
pbuf
-
offset
);
...
...
gframe/single_duel.cpp
View file @
bfe46388
...
...
@@ -874,14 +874,21 @@ int SingleDuel::Analyze(char* msgbuffer, unsigned int len) {
break
;
}
case
MSG_SHUFFLE_SET_CARD
:
{
int
loc
=
BufferIO
::
ReadInt8
(
pbuf
);
count
=
BufferIO
::
ReadInt8
(
pbuf
);
pbuf
+=
count
*
8
;
NetServer
::
SendBufferToPlayer
(
players
[
0
],
STOC_GAME_MSG
,
offset
,
pbuf
-
offset
);
NetServer
::
ReSendToPlayer
(
players
[
1
]);
for
(
auto
oit
=
observers
.
begin
();
oit
!=
observers
.
end
();
++
oit
)
NetServer
::
ReSendToPlayer
(
*
oit
);
RefreshMzone
(
0
,
0x181fff
,
0
);
RefreshMzone
(
1
,
0x181fff
,
0
);
if
(
loc
==
LOCATION_MZONE
)
{
RefreshMzone
(
0
,
0x181fff
,
0
);
RefreshMzone
(
1
,
0x181fff
,
0
);
}
else
{
RefreshSzone
(
0
,
0x181fff
,
0
);
RefreshSzone
(
1
,
0x181fff
,
0
);
}
break
;
}
case
MSG_NEW_TURN
:
{
...
...
gframe/single_mode.cpp
View file @
bfe46388
...
...
@@ -415,6 +415,7 @@ bool SingleMode::SinglePlayAnalyze(char* msg, unsigned int len) {
break
;
}
case
MSG_SHUFFLE_SET_CARD
:
{
pbuf
++
;
count
=
BufferIO
::
ReadInt8
(
pbuf
);
pbuf
+=
count
*
8
;
DuelClient
::
ClientAnalyze
(
offset
,
pbuf
-
offset
);
...
...
gframe/tag_duel.cpp
View file @
bfe46388
...
...
@@ -832,6 +832,7 @@ int TagDuel::Analyze(char* msgbuffer, unsigned int len) {
break
;
}
case
MSG_SHUFFLE_SET_CARD
:
{
int
loc
=
BufferIO
::
ReadInt8
(
pbuf
);
count
=
BufferIO
::
ReadInt8
(
pbuf
);
pbuf
+=
count
*
8
;
NetServer
::
SendBufferToPlayer
(
players
[
0
],
STOC_GAME_MSG
,
offset
,
pbuf
-
offset
);
...
...
@@ -840,8 +841,13 @@ int TagDuel::Analyze(char* msgbuffer, unsigned int len) {
NetServer
::
ReSendToPlayer
(
players
[
3
]);
for
(
auto
oit
=
observers
.
begin
();
oit
!=
observers
.
end
();
++
oit
)
NetServer
::
ReSendToPlayer
(
*
oit
);
RefreshMzone
(
0
,
0x181fff
,
0
);
RefreshMzone
(
1
,
0x181fff
,
0
);
if
(
loc
==
LOCATION_MZONE
)
{
RefreshMzone
(
0
,
0x181fff
,
0
);
RefreshMzone
(
1
,
0x181fff
,
0
);
}
else
{
RefreshSzone
(
0
,
0x181fff
,
0
);
RefreshSzone
(
1
,
0x181fff
,
0
);
}
break
;
}
case
MSG_NEW_TURN
:
{
...
...
ocgcore
@
7da0970a
Subproject commit
36152ff19b37d8f411c1f301cc9ed9b0a7e93285
Subproject commit
7da0970abec7155fe7de65e86e905a971c56db79
script
@
a7ac3690
Subproject commit
11a3cf932ef0ba3e2dccaa4442db5d98ecc89163
Subproject commit
a7ac36907a08e612671914681a808af971290bc9
strings.conf
View file @
bfe46388
...
...
@@ -468,6 +468,8 @@
!
victory
0
x1a
「魂之接力」效果胜利
!
victory
0
x1b
「鬼计惰天使」效果胜利
!
victory
0
x1c
「幻煌龙的天涡」效果胜利
!
victory
0
x1d
「方程式运动员胜利团队」效果胜利
!
victory
0
x1e
「飞行象」效果胜利
!
victory
0
x20
由于「%
ls
」的效果获得比赛胜利
#counters
!
counter
0
x1
魔力指示物
...
...
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