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
d3dcc211
Commit
d3dcc211
authored
Mar 25, 2017
by
edo9300
Committed by
VanillaSalt
Mar 25, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added TYPE_LINK (#1946)
parent
da904359
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
97 additions
and
50 deletions
+97
-50
gframe/client_card.cpp
gframe/client_card.cpp
+14
-6
gframe/client_card.h
gframe/client_card.h
+1
-0
gframe/data_manager.cpp
gframe/data_manager.cpp
+1
-1
gframe/deck_con.cpp
gframe/deck_con.cpp
+16
-1
gframe/deck_manager.cpp
gframe/deck_manager.cpp
+2
-2
gframe/drawing.cpp
gframe/drawing.cpp
+17
-11
gframe/event_handler.cpp
gframe/event_handler.cpp
+14
-6
gframe/game.cpp
gframe/game.cpp
+20
-12
gframe/game.h
gframe/game.h
+1
-0
gframe/replay_mode.cpp
gframe/replay_mode.cpp
+2
-2
gframe/replay_mode.h
gframe/replay_mode.h
+2
-2
gframe/single_duel.h
gframe/single_duel.h
+2
-2
gframe/single_mode.cpp
gframe/single_mode.cpp
+1
-1
gframe/single_mode.h
gframe/single_mode.h
+2
-2
gframe/tag_duel.h
gframe/tag_duel.h
+2
-2
No files found.
gframe/client_card.cpp
View file @
d3dcc211
...
@@ -35,6 +35,7 @@ ClientCard::ClientCard() {
...
@@ -35,6 +35,7 @@ ClientCard::ClientCard() {
base_defense
=
0
;
base_defense
=
0
;
lscale
=
0
;
lscale
=
0
;
rscale
=
0
;
rscale
=
0
;
link
=
0
;
cHint
=
0
;
cHint
=
0
;
chValue
=
0
;
chValue
=
0
;
atkstring
[
0
]
=
0
;
atkstring
[
0
]
=
0
;
...
@@ -87,6 +88,13 @@ void ClientCard::UpdateInfo(char* buf) {
...
@@ -87,6 +88,13 @@ void ClientCard::UpdateInfo(char* buf) {
myswprintf
(
lvstring
,
L"R%d"
,
rank
);
myswprintf
(
lvstring
,
L"R%d"
,
rank
);
}
}
}
}
if
(
flag
&
QUERY_LINK
)
{
pdata
=
BufferIO
::
ReadInt32
(
buf
);
if
(
link
!=
(
unsigned
int
)
pdata
)
{
link
=
pdata
;
myswprintf
(
lvstring
,
L"L%d"
,
link
);
}
}
if
(
flag
&
QUERY_ATTRIBUTE
)
if
(
flag
&
QUERY_ATTRIBUTE
)
attribute
=
BufferIO
::
ReadInt32
(
buf
);
attribute
=
BufferIO
::
ReadInt32
(
buf
);
if
(
flag
&
QUERY_RACE
)
if
(
flag
&
QUERY_RACE
)
...
@@ -197,8 +205,8 @@ bool ClientCard::deck_sort_lv(code_pointer p1, code_pointer p2) {
...
@@ -197,8 +205,8 @@ bool ClientCard::deck_sort_lv(code_pointer p1, code_pointer p2) {
if
((
p1
->
second
.
type
&
0x7
)
!=
(
p2
->
second
.
type
&
0x7
))
if
((
p1
->
second
.
type
&
0x7
)
!=
(
p2
->
second
.
type
&
0x7
))
return
(
p1
->
second
.
type
&
0x7
)
<
(
p2
->
second
.
type
&
0x7
);
return
(
p1
->
second
.
type
&
0x7
)
<
(
p2
->
second
.
type
&
0x7
);
if
((
p1
->
second
.
type
&
0x7
)
==
1
)
{
if
((
p1
->
second
.
type
&
0x7
)
==
1
)
{
int
type1
=
(
p1
->
second
.
type
&
0x
8020c0
)
?
(
p1
->
second
.
type
&
0x
8020c1
)
:
(
p1
->
second
.
type
&
0x31
);
int
type1
=
(
p1
->
second
.
type
&
0x
48020c0
)
?
(
p1
->
second
.
type
&
0x4
8020c1
)
:
(
p1
->
second
.
type
&
0x31
);
int
type2
=
(
p2
->
second
.
type
&
0x
8020c0
)
?
(
p2
->
second
.
type
&
0x
8020c1
)
:
(
p2
->
second
.
type
&
0x31
);
int
type2
=
(
p2
->
second
.
type
&
0x
48020c0
)
?
(
p2
->
second
.
type
&
0x4
8020c1
)
:
(
p2
->
second
.
type
&
0x31
);
if
(
type1
!=
type2
)
if
(
type1
!=
type2
)
return
type1
<
type2
;
return
type1
<
type2
;
if
(
p1
->
second
.
level
!=
p2
->
second
.
level
)
if
(
p1
->
second
.
level
!=
p2
->
second
.
level
)
...
@@ -223,8 +231,8 @@ bool ClientCard::deck_sort_atk(code_pointer p1, code_pointer p2) {
...
@@ -223,8 +231,8 @@ bool ClientCard::deck_sort_atk(code_pointer p1, code_pointer p2) {
return
p1
->
second
.
defense
>
p2
->
second
.
defense
;
return
p1
->
second
.
defense
>
p2
->
second
.
defense
;
if
(
p1
->
second
.
level
!=
p2
->
second
.
level
)
if
(
p1
->
second
.
level
!=
p2
->
second
.
level
)
return
p1
->
second
.
level
>
p2
->
second
.
level
;
return
p1
->
second
.
level
>
p2
->
second
.
level
;
int
type1
=
(
p1
->
second
.
type
&
0x
8020c0
)
?
(
p1
->
second
.
type
&
0x
8020c1
)
:
(
p1
->
second
.
type
&
0x31
);
int
type1
=
(
p1
->
second
.
type
&
0x
48020c0
)
?
(
p1
->
second
.
type
&
0x4
8020c1
)
:
(
p1
->
second
.
type
&
0x31
);
int
type2
=
(
p2
->
second
.
type
&
0x
8020c0
)
?
(
p2
->
second
.
type
&
0x
8020c1
)
:
(
p2
->
second
.
type
&
0x31
);
int
type2
=
(
p2
->
second
.
type
&
0x
48020c0
)
?
(
p2
->
second
.
type
&
0x4
8020c1
)
:
(
p2
->
second
.
type
&
0x31
);
if
(
type1
!=
type2
)
if
(
type1
!=
type2
)
return
type1
<
type2
;
return
type1
<
type2
;
return
p1
->
first
<
p2
->
first
;
return
p1
->
first
<
p2
->
first
;
...
@@ -243,8 +251,8 @@ bool ClientCard::deck_sort_def(code_pointer p1, code_pointer p2) {
...
@@ -243,8 +251,8 @@ bool ClientCard::deck_sort_def(code_pointer p1, code_pointer p2) {
return
p1
->
second
.
attack
>
p2
->
second
.
attack
;
return
p1
->
second
.
attack
>
p2
->
second
.
attack
;
if
(
p1
->
second
.
level
!=
p2
->
second
.
level
)
if
(
p1
->
second
.
level
!=
p2
->
second
.
level
)
return
p1
->
second
.
level
>
p2
->
second
.
level
;
return
p1
->
second
.
level
>
p2
->
second
.
level
;
int
type1
=
(
p1
->
second
.
type
&
0x
8020c0
)
?
(
p1
->
second
.
type
&
0x
8020c1
)
:
(
p1
->
second
.
type
&
0x31
);
int
type1
=
(
p1
->
second
.
type
&
0x
48020c0
)
?
(
p1
->
second
.
type
&
0x4
8020c1
)
:
(
p1
->
second
.
type
&
0x31
);
int
type2
=
(
p2
->
second
.
type
&
0x
8020c0
)
?
(
p2
->
second
.
type
&
0x
8020c1
)
:
(
p2
->
second
.
type
&
0x31
);
int
type2
=
(
p2
->
second
.
type
&
0x
48020c0
)
?
(
p2
->
second
.
type
&
0x4
8020c1
)
:
(
p2
->
second
.
type
&
0x31
);
if
(
type1
!=
type2
)
if
(
type1
!=
type2
)
return
type1
<
type2
;
return
type1
<
type2
;
return
p1
->
first
<
p2
->
first
;
return
p1
->
first
<
p2
->
first
;
...
...
gframe/client_card.h
View file @
d3dcc211
...
@@ -77,6 +77,7 @@ public:
...
@@ -77,6 +77,7 @@ public:
s32
base_defense
;
s32
base_defense
;
u32
lscale
;
u32
lscale
;
u32
rscale
;
u32
rscale
;
u32
link
;
u32
reason
;
u32
reason
;
u32
select_seq
;
u32
select_seq
;
u8
owner
;
u8
owner
;
...
...
gframe/data_manager.cpp
View file @
d3dcc211
...
@@ -267,7 +267,7 @@ const wchar_t* DataManager::FormatType(int type) {
...
@@ -267,7 +267,7 @@ const wchar_t* DataManager::FormatType(int type) {
wchar_t
*
p
=
tpBuffer
;
wchar_t
*
p
=
tpBuffer
;
unsigned
filter
=
1
;
unsigned
filter
=
1
;
int
i
=
1050
;
int
i
=
1050
;
for
(;
filter
!=
0x
4
000000
;
filter
<<=
1
,
++
i
)
{
for
(;
filter
!=
0x
8
000000
;
filter
<<=
1
,
++
i
)
{
if
(
type
&
filter
)
{
if
(
type
&
filter
)
{
BufferIO
::
CopyWStrRef
(
GetSysString
(
i
),
p
,
16
);
BufferIO
::
CopyWStrRef
(
GetSysString
(
i
),
p
,
16
);
*
p
=
L'|'
;
*
p
=
L'|'
;
...
...
gframe/deck_con.cpp
View file @
d3dcc211
...
@@ -319,6 +319,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
...
@@ -319,6 +319,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
mainGame
->
cbCardType2
->
addItem
(
dataManager
.
GetSysString
(
1063
),
TYPE_MONSTER
+
TYPE_SYNCHRO
);
mainGame
->
cbCardType2
->
addItem
(
dataManager
.
GetSysString
(
1063
),
TYPE_MONSTER
+
TYPE_SYNCHRO
);
mainGame
->
cbCardType2
->
addItem
(
dataManager
.
GetSysString
(
1073
),
TYPE_MONSTER
+
TYPE_XYZ
);
mainGame
->
cbCardType2
->
addItem
(
dataManager
.
GetSysString
(
1073
),
TYPE_MONSTER
+
TYPE_XYZ
);
mainGame
->
cbCardType2
->
addItem
(
dataManager
.
GetSysString
(
1074
),
TYPE_MONSTER
+
TYPE_PENDULUM
);
mainGame
->
cbCardType2
->
addItem
(
dataManager
.
GetSysString
(
1074
),
TYPE_MONSTER
+
TYPE_PENDULUM
);
mainGame
->
cbCardType2
->
addItem
(
dataManager
.
GetSysString
(
1076
),
TYPE_MONSTER
+
TYPE_LINK
);
mainGame
->
cbCardType2
->
addItem
(
dataManager
.
GetSysString
(
1075
),
TYPE_MONSTER
+
TYPE_SPSUMMON
);
mainGame
->
cbCardType2
->
addItem
(
dataManager
.
GetSysString
(
1075
),
TYPE_MONSTER
+
TYPE_SPSUMMON
);
myswprintf
(
normaltuner
,
L"%ls|%ls"
,
dataManager
.
GetSysString
(
1054
),
dataManager
.
GetSysString
(
1062
));
myswprintf
(
normaltuner
,
L"%ls|%ls"
,
dataManager
.
GetSysString
(
1054
),
dataManager
.
GetSysString
(
1062
));
mainGame
->
cbCardType2
->
addItem
(
normaltuner
,
TYPE_MONSTER
+
TYPE_NORMAL
+
TYPE_TUNER
);
mainGame
->
cbCardType2
->
addItem
(
normaltuner
,
TYPE_MONSTER
+
TYPE_NORMAL
+
TYPE_TUNER
);
...
@@ -375,6 +376,19 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
...
@@ -375,6 +376,19 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
mainGame
->
env
->
setFocus
(
0
);
mainGame
->
env
->
setFocus
(
0
);
break
;
break
;
}
}
case
COMBOBOX_SECONDTYPE
:
{
if
(
mainGame
->
cbCardType
->
getSelected
()
==
1
)
{
if
(
mainGame
->
cbCardType2
->
getSelected
()
==
8
)
{
mainGame
->
ebDefense
->
setEnabled
(
false
);
mainGame
->
ebDefense
->
setText
(
L""
);
}
else
{
mainGame
->
ebDefense
->
setEnabled
(
true
);
}
}
break
;
}
}
}
}
}
default:
break
;
default:
break
;
...
@@ -810,7 +824,8 @@ void DeckBuilder::FilterCards() {
...
@@ -810,7 +824,8 @@ void DeckBuilder::FilterCards() {
if
(
filter_deftype
)
{
if
(
filter_deftype
)
{
if
((
filter_deftype
==
1
&&
data
.
defense
!=
filter_def
)
||
(
filter_deftype
==
2
&&
data
.
defense
<
filter_def
)
if
((
filter_deftype
==
1
&&
data
.
defense
!=
filter_def
)
||
(
filter_deftype
==
2
&&
data
.
defense
<
filter_def
)
||
(
filter_deftype
==
3
&&
data
.
defense
<=
filter_def
)
||
(
filter_deftype
==
4
&&
(
data
.
defense
>
filter_def
||
data
.
defense
<
0
))
||
(
filter_deftype
==
3
&&
data
.
defense
<=
filter_def
)
||
(
filter_deftype
==
4
&&
(
data
.
defense
>
filter_def
||
data
.
defense
<
0
))
||
(
filter_deftype
==
5
&&
(
data
.
defense
>=
filter_def
||
data
.
defense
<
0
))
||
(
filter_deftype
==
6
&&
data
.
defense
!=
-
2
))
||
(
filter_deftype
==
5
&&
(
data
.
defense
>=
filter_def
||
data
.
defense
<
0
))
||
(
filter_deftype
==
6
&&
data
.
defense
!=
-
2
)
||
(
data
.
type
&
TYPE_LINK
))
continue
;
continue
;
}
}
if
(
filter_lvtype
)
{
if
(
filter_lvtype
)
{
...
...
gframe/deck_manager.cpp
View file @
d3dcc211
...
@@ -84,7 +84,7 @@ int DeckManager::CheckLFList(Deck& deck, int lfhash, bool allow_ocg, bool allow_
...
@@ -84,7 +84,7 @@ int DeckManager::CheckLFList(Deck& deck, int lfhash, bool allow_ocg, bool allow_
code_pointer
cit
=
deck
.
main
[
i
];
code_pointer
cit
=
deck
.
main
[
i
];
if
((
!
allow_ocg
&&
(
cit
->
second
.
ot
==
0x1
))
||
(
!
allow_tcg
&&
(
cit
->
second
.
ot
==
0x2
)))
if
((
!
allow_ocg
&&
(
cit
->
second
.
ot
==
0x1
))
||
(
!
allow_tcg
&&
(
cit
->
second
.
ot
==
0x2
)))
return
cit
->
first
;
return
cit
->
first
;
if
(
cit
->
second
.
type
&
(
TYPE_FUSION
|
TYPE_SYNCHRO
|
TYPE_XYZ
|
TYPE_TOKEN
))
if
(
cit
->
second
.
type
&
(
TYPE_FUSION
|
TYPE_SYNCHRO
|
TYPE_XYZ
|
TYPE_TOKEN
|
TYPE_LINK
))
return
1
;
return
1
;
int
code
=
cit
->
second
.
alias
?
cit
->
second
.
alias
:
cit
->
first
;
int
code
=
cit
->
second
.
alias
?
cit
->
second
.
alias
:
cit
->
first
;
ccount
[
code
]
++
;
ccount
[
code
]
++
;
...
@@ -127,7 +127,7 @@ void DeckManager::LoadDeck(Deck& deck, int* dbuf, int mainc, int sidec) {
...
@@ -127,7 +127,7 @@ void DeckManager::LoadDeck(Deck& deck, int* dbuf, int mainc, int sidec) {
continue
;
continue
;
if
(
cd
.
type
&
TYPE_TOKEN
)
if
(
cd
.
type
&
TYPE_TOKEN
)
continue
;
continue
;
else
if
(
cd
.
type
&
0x802040
&&
deck
.
extra
.
size
()
<
15
)
{
else
if
(
cd
.
type
&
0x
4
802040
&&
deck
.
extra
.
size
()
<
15
)
{
deck
.
extra
.
push_back
(
dataManager
.
GetCodePointer
(
code
));
//verified by GetData()
deck
.
extra
.
push_back
(
dataManager
.
GetCodePointer
(
code
));
//verified by GetData()
}
else
if
(
deck
.
main
.
size
()
<
60
)
{
}
else
if
(
deck
.
main
.
size
()
<
60
)
{
deck
.
main
.
push_back
(
dataManager
.
GetCodePointer
(
code
));
deck
.
main
.
push_back
(
dataManager
.
GetCodePointer
(
code
));
...
...
gframe/drawing.cpp
View file @
d3dcc211
...
@@ -487,19 +487,25 @@ void Game::DrawMisc() {
...
@@ -487,19 +487,25 @@ void Game::DrawMisc() {
}
}
}
}
void
Game
::
DrawStatus
(
ClientCard
*
pcard
,
int
x1
,
int
y1
,
int
x2
,
int
y2
)
{
void
Game
::
DrawStatus
(
ClientCard
*
pcard
,
int
x1
,
int
y1
,
int
x2
,
int
y2
)
{
adFont
->
draw
(
L"/"
,
recti
(
x1
-
4
,
y1
,
x1
+
4
,
y1
+
20
),
0xff000000
,
true
,
false
,
0
);
if
(
pcard
->
type
&
TYPE_LINK
)
{
adFont
->
draw
(
L"/"
,
recti
(
x1
-
3
,
y1
+
1
,
x1
+
5
,
y1
+
21
),
0xffffffff
,
true
,
false
,
0
);
adFont
->
draw
(
pcard
->
atkstring
,
recti
(
x1
-
4
,
y1
,
x1
+
4
,
y1
+
20
),
0xff000000
,
true
,
false
,
0
);
int
w
=
adFont
->
getDimension
(
pcard
->
atkstring
).
Width
;
adFont
->
draw
(
pcard
->
atkstring
,
recti
(
x1
-
3
,
y1
+
1
,
x1
+
5
,
y1
+
21
),
0xffffffff
,
true
,
false
,
0
);
adFont
->
draw
(
pcard
->
atkstring
,
recti
(
x1
-
5
-
w
,
y1
,
x1
-
5
,
y1
+
20
),
0xff000000
,
false
,
false
,
0
);
}
adFont
->
draw
(
pcard
->
atkstring
,
recti
(
x1
-
4
-
w
,
y1
+
1
,
x1
-
4
,
y1
+
21
),
else
{
pcard
->
attack
>
pcard
->
base_attack
?
0xffffff00
:
pcard
->
attack
<
pcard
->
base_attack
?
0xffff2090
:
0xffffffff
,
false
,
false
,
0
);
adFont
->
draw
(
L"/"
,
recti
(
x1
-
4
,
y1
,
x1
+
4
,
y1
+
20
),
0xff000000
,
true
,
false
,
0
);
w
=
adFont
->
getDimension
(
pcard
->
defstring
).
Width
;
adFont
->
draw
(
L"/"
,
recti
(
x1
-
3
,
y1
+
1
,
x1
+
5
,
y1
+
21
),
0xffffffff
,
true
,
false
,
0
);
adFont
->
draw
(
pcard
->
defstring
,
recti
(
x1
+
4
,
y1
,
x1
+
4
+
w
,
y1
+
20
),
0xff000000
,
false
,
false
,
0
);
int
w
=
adFont
->
getDimension
(
pcard
->
atkstring
).
Width
;
adFont
->
draw
(
pcard
->
defstring
,
recti
(
x1
+
5
,
y1
+
1
,
x1
+
5
+
w
,
y1
+
21
),
adFont
->
draw
(
pcard
->
atkstring
,
recti
(
x1
-
5
-
w
,
y1
,
x1
-
5
,
y1
+
20
),
0xff000000
,
false
,
false
,
0
);
pcard
->
defense
>
pcard
->
base_defense
?
0xffffff00
:
pcard
->
defense
<
pcard
->
base_defense
?
0xffff2090
:
0xffffffff
,
false
,
false
,
0
);
adFont
->
draw
(
pcard
->
atkstring
,
recti
(
x1
-
4
-
w
,
y1
+
1
,
x1
-
4
,
y1
+
21
),
pcard
->
attack
>
pcard
->
base_attack
?
0xffffff00
:
pcard
->
attack
<
pcard
->
base_attack
?
0xffff2090
:
0xffffffff
,
false
,
false
,
0
);
w
=
adFont
->
getDimension
(
pcard
->
defstring
).
Width
;
adFont
->
draw
(
pcard
->
defstring
,
recti
(
x1
+
4
,
y1
,
x1
+
4
+
w
,
y1
+
20
),
0xff000000
,
false
,
false
,
0
);
adFont
->
draw
(
pcard
->
defstring
,
recti
(
x1
+
5
,
y1
+
1
,
x1
+
5
+
w
,
y1
+
21
),
pcard
->
defense
>
pcard
->
base_defense
?
0xffffff00
:
pcard
->
defense
<
pcard
->
base_defense
?
0xffff2090
:
0xffffffff
,
false
,
false
,
0
);
}
adFont
->
draw
(
pcard
->
lvstring
,
recti
(
x2
,
y2
,
x2
+
2
,
y2
+
20
),
0xff000000
,
false
,
false
,
0
);
adFont
->
draw
(
pcard
->
lvstring
,
recti
(
x2
,
y2
,
x2
+
2
,
y2
+
20
),
0xff000000
,
false
,
false
,
0
);
adFont
->
draw
(
pcard
->
lvstring
,
recti
(
x2
+
1
,
y2
,
x2
+
3
,
y2
+
21
),
adFont
->
draw
(
pcard
->
lvstring
,
recti
(
x2
+
1
,
y2
,
x2
+
3
,
y2
+
21
),
(
pcard
->
type
&
TYPE_XYZ
)
?
0xffff80ff
:
(
pcard
->
type
&
TYPE_TUNER
)
?
0xffffff00
:
0xffffffff
,
false
,
false
,
0
);
(
pcard
->
type
&
TYPE_XYZ
)
?
0xffff80ff
:
(
pcard
->
type
&
TYPE_TUNER
)
?
0xffffff00
:
(
pcard
->
type
&
TYPE_LINK
)
?
0xff99ffff
:
0xffffffff
,
false
,
false
,
0
);
}
}
void
Game
::
DrawGUI
()
{
void
Game
::
DrawGUI
()
{
if
(
imageLoading
.
size
())
{
if
(
imageLoading
.
size
())
{
...
...
gframe/event_handler.cpp
View file @
d3dcc211
...
@@ -1747,12 +1747,20 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -1747,12 +1747,20 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
myswprintf
(
formatBuffer
,
L"
\n
(%ls)"
,
dataManager
.
GetName
(
mcard
->
alias
));
myswprintf
(
formatBuffer
,
L"
\n
(%ls)"
,
dataManager
.
GetName
(
mcard
->
alias
));
str
.
append
(
formatBuffer
);
str
.
append
(
formatBuffer
);
}
}
myswprintf
(
formatBuffer
,
L"
\n
%ls/%ls"
,
mcard
->
atkstring
,
mcard
->
defstring
);
if
(
mcard
->
type
&
TYPE_LINK
)
{
str
.
append
(
formatBuffer
);
myswprintf
(
formatBuffer
,
L"
\n
%ls/Link %d"
,
mcard
->
atkstring
,
mcard
->
link
);
int
form
=
0x2605
;
str
.
append
(
formatBuffer
);
if
(
mcard
->
rank
)
++
form
;
myswprintf
(
formatBuffer
,
L"
\n
%ls/%ls"
,
dataManager
.
FormatRace
(
mcard
->
race
),
dataManager
.
FormatAttribute
(
mcard
->
attribute
));
myswprintf
(
formatBuffer
,
L"
\n
%c%d %ls/%ls"
,
form
,
(
mcard
->
level
?
mcard
->
level
:
mcard
->
rank
),
dataManager
.
FormatRace
(
mcard
->
race
),
dataManager
.
FormatAttribute
(
mcard
->
attribute
));
str
.
append
(
formatBuffer
);
str
.
append
(
formatBuffer
);
}
else
{
myswprintf
(
formatBuffer
,
L"
\n
%ls/%ls"
,
mcard
->
atkstring
,
mcard
->
defstring
);
str
.
append
(
formatBuffer
);
int
form
=
0x2605
;
if
(
mcard
->
rank
)
++
form
;
myswprintf
(
formatBuffer
,
L"
\n
%c%d %ls/%ls"
,
form
,
(
mcard
->
level
?
mcard
->
level
:
mcard
->
rank
),
dataManager
.
FormatRace
(
mcard
->
race
),
dataManager
.
FormatAttribute
(
mcard
->
attribute
));
str
.
append
(
formatBuffer
);
}
if
(
mcard
->
location
==
LOCATION_HAND
&&
(
mcard
->
type
&
TYPE_PENDULUM
))
{
if
(
mcard
->
location
==
LOCATION_HAND
&&
(
mcard
->
type
&
TYPE_PENDULUM
))
{
myswprintf
(
formatBuffer
,
L"
\n
%d/%d"
,
mcard
->
lscale
,
mcard
->
rscale
);
myswprintf
(
formatBuffer
,
L"
\n
%d/%d"
,
mcard
->
lscale
,
mcard
->
rscale
);
str
.
append
(
formatBuffer
);
str
.
append
(
formatBuffer
);
...
...
gframe/game.cpp
View file @
d3dcc211
...
@@ -440,7 +440,7 @@ bool Game::Initialize() {
...
@@ -440,7 +440,7 @@ bool Game::Initialize() {
cbCardType
->
addItem
(
dataManager
.
GetSysString
(
1312
));
cbCardType
->
addItem
(
dataManager
.
GetSysString
(
1312
));
cbCardType
->
addItem
(
dataManager
.
GetSysString
(
1313
));
cbCardType
->
addItem
(
dataManager
.
GetSysString
(
1313
));
cbCardType
->
addItem
(
dataManager
.
GetSysString
(
1314
));
cbCardType
->
addItem
(
dataManager
.
GetSysString
(
1314
));
cbCardType2
=
env
->
addComboBox
(
rect
<
s32
>
(
125
,
25
/
6
,
200
,
20
+
25
/
6
),
wFilter
,
-
1
);
cbCardType2
=
env
->
addComboBox
(
rect
<
s32
>
(
125
,
25
/
6
,
200
,
20
+
25
/
6
),
wFilter
,
COMBOBOX_SECONDTYPE
);
cbCardType2
->
setMaxSelectionRows
(
10
);
cbCardType2
->
setMaxSelectionRows
(
10
);
cbCardType2
->
addItem
(
dataManager
.
GetSysString
(
1310
),
0
);
cbCardType2
->
addItem
(
dataManager
.
GetSysString
(
1310
),
0
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1315
),
rect
<
s32
>
(
205
,
2
+
25
/
6
,
280
,
22
+
25
/
6
),
false
,
false
,
wFilter
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1315
),
rect
<
s32
>
(
205
,
2
+
25
/
6
,
280
,
22
+
25
/
6
),
false
,
false
,
wFilter
);
...
@@ -1027,17 +1027,25 @@ void Game::ShowCardInfo(int code) {
...
@@ -1027,17 +1027,25 @@ void Game::ShowCardInfo(int code) {
stInfo
->
setText
(
formatBuffer
);
stInfo
->
setText
(
formatBuffer
);
int
form
=
0x2605
;
int
form
=
0x2605
;
if
(
cd
.
type
&
TYPE_XYZ
)
++
form
;
if
(
cd
.
type
&
TYPE_XYZ
)
++
form
;
myswprintf
(
formatBuffer
,
L"[%c%d] "
,
form
,
cd
.
level
);
if
(
cd
.
type
&
TYPE_LINK
)
{
wchar_t
adBuffer
[
16
];
if
(
cd
.
attack
<
0
)
if
(
cd
.
attack
<
0
&&
cd
.
defense
<
0
)
myswprintf
(
formatBuffer
,
L"?/Link %d"
,
cd
.
level
);
myswprintf
(
adBuffer
,
L"?/?"
);
else
else
if
(
cd
.
attack
<
0
)
myswprintf
(
formatBuffer
,
L"%d/Link %d"
,
cd
.
attack
,
cd
.
level
);
myswprintf
(
adBuffer
,
L"?/%d"
,
cd
.
defense
);
}
else
if
(
cd
.
defense
<
0
)
else
{
myswprintf
(
adBuffer
,
L"%d/?"
,
cd
.
attack
);
myswprintf
(
formatBuffer
,
L"[%c%d] "
,
form
,
cd
.
level
);
else
wchar_t
adBuffer
[
16
];
myswprintf
(
adBuffer
,
L"%d/%d"
,
cd
.
attack
,
cd
.
defense
);
if
(
cd
.
attack
<
0
&&
cd
.
defense
<
0
)
wcscat
(
formatBuffer
,
adBuffer
);
myswprintf
(
adBuffer
,
L"?/?"
);
else
if
(
cd
.
attack
<
0
)
myswprintf
(
adBuffer
,
L"?/%d"
,
cd
.
defense
);
else
if
(
cd
.
defense
<
0
)
myswprintf
(
adBuffer
,
L"%d/?"
,
cd
.
attack
);
else
myswprintf
(
adBuffer
,
L"%d/%d"
,
cd
.
attack
,
cd
.
defense
);
wcscat
(
formatBuffer
,
adBuffer
);
}
if
(
cd
.
type
&
TYPE_PENDULUM
)
{
if
(
cd
.
type
&
TYPE_PENDULUM
)
{
wchar_t
scaleBuffer
[
16
];
wchar_t
scaleBuffer
[
16
];
myswprintf
(
scaleBuffer
,
L" %d/%d"
,
cd
.
lscale
,
cd
.
rscale
);
myswprintf
(
scaleBuffer
,
L" %d/%d"
,
cd
.
lscale
,
cd
.
rscale
);
...
...
gframe/game.h
View file @
d3dcc211
...
@@ -524,6 +524,7 @@ extern Game* mainGame;
...
@@ -524,6 +524,7 @@ extern Game* mainGame;
#define SCROLL_FILTER 314
#define SCROLL_FILTER 314
#define EDITBOX_KEYWORD 315
#define EDITBOX_KEYWORD 315
#define BUTTON_CLEAR_FILTER 316
#define BUTTON_CLEAR_FILTER 316
#define COMBOBOX_SECONDTYPE 317
#define BUTTON_REPLAY_START 320
#define BUTTON_REPLAY_START 320
#define BUTTON_REPLAY_PAUSE 321
#define BUTTON_REPLAY_PAUSE 321
#define BUTTON_REPLAY_STEP 322
#define BUTTON_REPLAY_STEP 322
...
...
gframe/replay_mode.cpp
View file @
d3dcc211
...
@@ -811,7 +811,7 @@ bool ReplayMode::ReplayAnalyze(char* msg, unsigned int len) {
...
@@ -811,7 +811,7 @@ bool ReplayMode::ReplayAnalyze(char* msg, unsigned int len) {
return
true
;
return
true
;
}
}
void
ReplayMode
::
ReplayRefresh
(
int
flag
)
{
void
ReplayMode
::
ReplayRefresh
(
int
flag
)
{
unsigned
char
queryBuffer
[
0x
2
000
];
unsigned
char
queryBuffer
[
0x
4
000
];
/*int len = */
query_field_card
(
pduel
,
0
,
LOCATION_MZONE
,
flag
,
queryBuffer
,
0
);
/*int len = */
query_field_card
(
pduel
,
0
,
LOCATION_MZONE
,
flag
,
queryBuffer
,
0
);
mainGame
->
dField
.
UpdateFieldCard
(
mainGame
->
LocalPlayer
(
0
),
LOCATION_MZONE
,
(
char
*
)
queryBuffer
);
mainGame
->
dField
.
UpdateFieldCard
(
mainGame
->
LocalPlayer
(
0
),
LOCATION_MZONE
,
(
char
*
)
queryBuffer
);
/*len = */
query_field_card
(
pduel
,
1
,
LOCATION_MZONE
,
flag
,
queryBuffer
,
0
);
/*len = */
query_field_card
(
pduel
,
1
,
LOCATION_MZONE
,
flag
,
queryBuffer
,
0
);
...
@@ -846,7 +846,7 @@ void ReplayMode::ReplayRefreshExtra(int player, int flag) {
...
@@ -846,7 +846,7 @@ void ReplayMode::ReplayRefreshExtra(int player, int flag) {
mainGame
->
dField
.
UpdateFieldCard
(
mainGame
->
LocalPlayer
(
player
),
LOCATION_EXTRA
,
(
char
*
)
queryBuffer
);
mainGame
->
dField
.
UpdateFieldCard
(
mainGame
->
LocalPlayer
(
player
),
LOCATION_EXTRA
,
(
char
*
)
queryBuffer
);
}
}
void
ReplayMode
::
ReplayRefreshSingle
(
int
player
,
int
location
,
int
sequence
,
int
flag
)
{
void
ReplayMode
::
ReplayRefreshSingle
(
int
player
,
int
location
,
int
sequence
,
int
flag
)
{
unsigned
char
queryBuffer
[
0x
2
000
];
unsigned
char
queryBuffer
[
0x
4
000
];
/*int len = */
query_card
(
pduel
,
player
,
location
,
sequence
,
flag
,
queryBuffer
,
0
);
/*int len = */
query_card
(
pduel
,
player
,
location
,
sequence
,
flag
,
queryBuffer
,
0
);
mainGame
->
dField
.
UpdateCard
(
mainGame
->
LocalPlayer
(
player
),
location
,
sequence
,
(
char
*
)
queryBuffer
);
mainGame
->
dField
.
UpdateCard
(
mainGame
->
LocalPlayer
(
player
),
location
,
sequence
,
(
char
*
)
queryBuffer
);
}
}
...
...
gframe/replay_mode.h
View file @
d3dcc211
...
@@ -37,12 +37,12 @@ public:
...
@@ -37,12 +37,12 @@ public:
static
void
Undo
();
static
void
Undo
();
static
bool
ReplayAnalyze
(
char
*
msg
,
unsigned
int
len
);
static
bool
ReplayAnalyze
(
char
*
msg
,
unsigned
int
len
);
static
void
ReplayRefresh
(
int
flag
=
0x
7
81fff
);
static
void
ReplayRefresh
(
int
flag
=
0x
f
81fff
);
static
void
ReplayRefreshHand
(
int
player
,
int
flag
=
0x781fff
);
static
void
ReplayRefreshHand
(
int
player
,
int
flag
=
0x781fff
);
static
void
ReplayRefreshGrave
(
int
player
,
int
flag
=
0x181fff
);
static
void
ReplayRefreshGrave
(
int
player
,
int
flag
=
0x181fff
);
static
void
ReplayRefreshDeck
(
int
player
,
int
flag
=
0x181fff
);
static
void
ReplayRefreshDeck
(
int
player
,
int
flag
=
0x181fff
);
static
void
ReplayRefreshExtra
(
int
player
,
int
flag
=
0x181fff
);
static
void
ReplayRefreshExtra
(
int
player
,
int
flag
=
0x181fff
);
static
void
ReplayRefreshSingle
(
int
player
,
int
location
,
int
sequence
,
int
flag
=
0x
7
81fff
);
static
void
ReplayRefreshSingle
(
int
player
,
int
location
,
int
sequence
,
int
flag
=
0x
f
81fff
);
static
int
MessageHandler
(
long
fduel
,
int
type
);
static
int
MessageHandler
(
long
fduel
,
int
type
);
};
};
...
...
gframe/single_duel.h
View file @
d3dcc211
...
@@ -31,12 +31,12 @@ public:
...
@@ -31,12 +31,12 @@ public:
void
DuelEndProc
();
void
DuelEndProc
();
void
WaitforResponse
(
int
playerid
);
void
WaitforResponse
(
int
playerid
);
void
RefreshMzone
(
int
player
,
int
flag
=
0x81fff
,
int
use_cache
=
1
);
void
RefreshMzone
(
int
player
,
int
flag
=
0x8
8
1fff
,
int
use_cache
=
1
);
void
RefreshSzone
(
int
player
,
int
flag
=
0x681fff
,
int
use_cache
=
1
);
void
RefreshSzone
(
int
player
,
int
flag
=
0x681fff
,
int
use_cache
=
1
);
void
RefreshHand
(
int
player
,
int
flag
=
0x781fff
,
int
use_cache
=
1
);
void
RefreshHand
(
int
player
,
int
flag
=
0x781fff
,
int
use_cache
=
1
);
void
RefreshGrave
(
int
player
,
int
flag
=
0x81fff
,
int
use_cache
=
1
);
void
RefreshGrave
(
int
player
,
int
flag
=
0x81fff
,
int
use_cache
=
1
);
void
RefreshExtra
(
int
player
,
int
flag
=
0x81fff
,
int
use_cache
=
1
);
void
RefreshExtra
(
int
player
,
int
flag
=
0x81fff
,
int
use_cache
=
1
);
void
RefreshSingle
(
int
player
,
int
location
,
int
sequence
,
int
flag
=
0x
7
81fff
);
void
RefreshSingle
(
int
player
,
int
location
,
int
sequence
,
int
flag
=
0x
f
81fff
);
static
int
MessageHandler
(
long
fduel
,
int
type
);
static
int
MessageHandler
(
long
fduel
,
int
type
);
static
void
SingleTimer
(
evutil_socket_t
fd
,
short
events
,
void
*
arg
);
static
void
SingleTimer
(
evutil_socket_t
fd
,
short
events
,
void
*
arg
);
...
...
gframe/single_mode.cpp
View file @
d3dcc211
...
@@ -770,7 +770,7 @@ void SingleMode::SinglePlayRefreshSingle(int player, int location, int sequence,
...
@@ -770,7 +770,7 @@ void SingleMode::SinglePlayRefreshSingle(int player, int location, int sequence,
}
}
void
SingleMode
::
SinglePlayReload
()
{
void
SingleMode
::
SinglePlayReload
()
{
unsigned
char
queryBuffer
[
0x2000
];
unsigned
char
queryBuffer
[
0x2000
];
unsigned
int
flag
=
0x
7
fdfff
;
unsigned
int
flag
=
0x
f
fdfff
;
/*int len = */
query_field_card
(
pduel
,
0
,
LOCATION_MZONE
,
flag
,
queryBuffer
,
0
);
/*int len = */
query_field_card
(
pduel
,
0
,
LOCATION_MZONE
,
flag
,
queryBuffer
,
0
);
mainGame
->
dField
.
UpdateFieldCard
(
mainGame
->
LocalPlayer
(
0
),
LOCATION_MZONE
,
(
char
*
)
queryBuffer
);
mainGame
->
dField
.
UpdateFieldCard
(
mainGame
->
LocalPlayer
(
0
),
LOCATION_MZONE
,
(
char
*
)
queryBuffer
);
/*len = */
query_field_card
(
pduel
,
1
,
LOCATION_MZONE
,
flag
,
queryBuffer
,
0
);
/*len = */
query_field_card
(
pduel
,
1
,
LOCATION_MZONE
,
flag
,
queryBuffer
,
0
);
...
...
gframe/single_mode.h
View file @
d3dcc211
...
@@ -21,12 +21,12 @@ public:
...
@@ -21,12 +21,12 @@ public:
static
int
SinglePlayThread
(
void
*
param
);
static
int
SinglePlayThread
(
void
*
param
);
static
bool
SinglePlayAnalyze
(
char
*
msg
,
unsigned
int
len
);
static
bool
SinglePlayAnalyze
(
char
*
msg
,
unsigned
int
len
);
static
void
SinglePlayRefresh
(
int
flag
=
0x
7
81fff
);
static
void
SinglePlayRefresh
(
int
flag
=
0x
f
81fff
);
static
void
SinglePlayRefreshHand
(
int
player
,
int
flag
=
0x781fff
);
static
void
SinglePlayRefreshHand
(
int
player
,
int
flag
=
0x781fff
);
static
void
SinglePlayRefreshGrave
(
int
player
,
int
flag
=
0x181fff
);
static
void
SinglePlayRefreshGrave
(
int
player
,
int
flag
=
0x181fff
);
static
void
SinglePlayRefreshDeck
(
int
player
,
int
flag
=
0x181fff
);
static
void
SinglePlayRefreshDeck
(
int
player
,
int
flag
=
0x181fff
);
static
void
SinglePlayRefreshExtra
(
int
player
,
int
flag
=
0x181fff
);
static
void
SinglePlayRefreshExtra
(
int
player
,
int
flag
=
0x181fff
);
static
void
SinglePlayRefreshSingle
(
int
player
,
int
location
,
int
sequence
,
int
flag
=
0x
7
81fff
);
static
void
SinglePlayRefreshSingle
(
int
player
,
int
location
,
int
sequence
,
int
flag
=
0x
f
81fff
);
static
void
SinglePlayReload
();
static
void
SinglePlayReload
();
static
byte
*
ScriptReader
(
const
char
*
script_name
,
int
*
slen
);
static
byte
*
ScriptReader
(
const
char
*
script_name
,
int
*
slen
);
...
...
gframe/tag_duel.h
View file @
d3dcc211
...
@@ -31,12 +31,12 @@ public:
...
@@ -31,12 +31,12 @@ public:
void
DuelEndProc
();
void
DuelEndProc
();
void
WaitforResponse
(
int
playerid
);
void
WaitforResponse
(
int
playerid
);
void
RefreshMzone
(
int
player
,
int
flag
=
0x81fff
,
int
use_cache
=
1
);
void
RefreshMzone
(
int
player
,
int
flag
=
0x8
8
1fff
,
int
use_cache
=
1
);
void
RefreshSzone
(
int
player
,
int
flag
=
0x681fff
,
int
use_cache
=
1
);
void
RefreshSzone
(
int
player
,
int
flag
=
0x681fff
,
int
use_cache
=
1
);
void
RefreshHand
(
int
player
,
int
flag
=
0x781fff
,
int
use_cache
=
1
);
void
RefreshHand
(
int
player
,
int
flag
=
0x781fff
,
int
use_cache
=
1
);
void
RefreshGrave
(
int
player
,
int
flag
=
0x81fff
,
int
use_cache
=
1
);
void
RefreshGrave
(
int
player
,
int
flag
=
0x81fff
,
int
use_cache
=
1
);
void
RefreshExtra
(
int
player
,
int
flag
=
0x81fff
,
int
use_cache
=
1
);
void
RefreshExtra
(
int
player
,
int
flag
=
0x81fff
,
int
use_cache
=
1
);
void
RefreshSingle
(
int
player
,
int
location
,
int
sequence
,
int
flag
=
0x
7
81fff
);
void
RefreshSingle
(
int
player
,
int
location
,
int
sequence
,
int
flag
=
0x
f
81fff
);
static
int
MessageHandler
(
long
fduel
,
int
type
);
static
int
MessageHandler
(
long
fduel
,
int
type
);
static
void
TagTimer
(
evutil_socket_t
fd
,
short
events
,
void
*
arg
);
static
void
TagTimer
(
evutil_socket_t
fd
,
short
events
,
void
*
arg
);
...
...
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