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
3b5886bf
Commit
3b5886bf
authored
Sep 15, 2016
by
mercury233
Browse files
Options
Browse Files
Download
Plain Diff
Merge
https://github.com/Fluorohydride/ygopro
into server
parents
731cb247
64f6ff07
Changes
18
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
488 additions
and
102 deletions
+488
-102
gframe/client_field.cpp
gframe/client_field.cpp
+33
-7
gframe/client_field.h
gframe/client_field.h
+5
-1
gframe/deck_con.cpp
gframe/deck_con.cpp
+31
-27
gframe/drawing.cpp
gframe/drawing.cpp
+7
-1
gframe/duelclient.cpp
gframe/duelclient.cpp
+34
-10
gframe/event_handler.cpp
gframe/event_handler.cpp
+319
-28
gframe/game.cpp
gframe/game.cpp
+19
-12
gframe/game.h
gframe/game.h
+12
-2
gframe/materials.cpp
gframe/materials.cpp
+5
-0
gframe/materials.h
gframe/materials.h
+1
-1
gframe/replay_mode.cpp
gframe/replay_mode.cpp
+1
-1
gframe/single_duel.cpp
gframe/single_duel.cpp
+1
-1
gframe/single_mode.cpp
gframe/single_mode.cpp
+1
-1
gframe/tag_duel.cpp
gframe/tag_duel.cpp
+1
-1
ocgcore
ocgcore
+1
-1
script
script
+1
-1
strings.conf
strings.conf
+13
-5
system.conf
system.conf
+3
-2
No files found.
gframe/client_field.cpp
View file @
3b5886bf
...
@@ -20,6 +20,7 @@ ClientField::ClientField() {
...
@@ -20,6 +20,7 @@ ClientField::ClientField() {
extra_act
=
false
;
extra_act
=
false
;
pzone_act
[
0
]
=
false
;
pzone_act
[
0
]
=
false
;
pzone_act
[
1
]
=
false
;
pzone_act
[
1
]
=
false
;
conti_act
=
false
;
deck_reversed
=
false
;
deck_reversed
=
false
;
for
(
int
p
=
0
;
p
<
2
;
++
p
)
{
for
(
int
p
=
0
;
p
<
2
;
++
p
)
{
for
(
int
i
=
0
;
i
<
5
;
++
i
)
for
(
int
i
=
0
;
i
<
5
;
++
i
)
...
@@ -76,6 +77,7 @@ void ClientField::Clear() {
...
@@ -76,6 +77,7 @@ void ClientField::Clear() {
extra_act
=
false
;
extra_act
=
false
;
pzone_act
[
0
]
=
false
;
pzone_act
[
0
]
=
false
;
pzone_act
[
1
]
=
false
;
pzone_act
[
1
]
=
false
;
conti_act
=
false
;
deck_reversed
=
false
;
deck_reversed
=
false
;
}
}
void
ClientField
::
Initial
(
int
player
,
int
deckc
,
int
extrac
)
{
void
ClientField
::
Initial
(
int
player
,
int
deckc
,
int
extrac
)
{
...
@@ -335,6 +337,7 @@ void ClientField::ClearCommandFlag() {
...
@@ -335,6 +337,7 @@ void ClientField::ClearCommandFlag() {
remove_act
=
false
;
remove_act
=
false
;
pzone_act
[
0
]
=
false
;
pzone_act
[
0
]
=
false
;
pzone_act
[
1
]
=
false
;
pzone_act
[
1
]
=
false
;
conti_act
=
false
;
}
}
void
ClientField
::
ClearSelect
()
{
void
ClientField
::
ClearSelect
()
{
std
::
vector
<
ClientCard
*>::
iterator
cit
;
std
::
vector
<
ClientCard
*>::
iterator
cit
;
...
@@ -356,6 +359,7 @@ void ClientField::ClearChainSelect() {
...
@@ -356,6 +359,7 @@ void ClientField::ClearChainSelect() {
grave_act
=
false
;
grave_act
=
false
;
remove_act
=
false
;
remove_act
=
false
;
extra_act
=
false
;
extra_act
=
false
;
conti_act
=
false
;
}
}
// needs to be synchronized with EGET_SCROLL_BAR_CHANGED
// needs to be synchronized with EGET_SCROLL_BAR_CHANGED
void
ClientField
::
ShowSelectCard
(
bool
buttonok
,
bool
chain
)
{
void
ClientField
::
ShowSelectCard
(
bool
buttonok
,
bool
chain
)
{
...
@@ -397,11 +401,18 @@ void ClientField::ShowSelectCard(bool buttonok, bool chain) {
...
@@ -397,11 +401,18 @@ void ClientField::ShowSelectCard(bool buttonok, bool chain) {
if
(
selectable_cards
[
i
]
->
overlayTarget
->
controler
)
if
(
selectable_cards
[
i
]
->
overlayTarget
->
controler
)
mainGame
->
stCardPos
[
i
]
->
setBackgroundColor
(
0xffd0d0d0
);
mainGame
->
stCardPos
[
i
]
->
setBackgroundColor
(
0xffd0d0d0
);
else
mainGame
->
stCardPos
[
i
]
->
setBackgroundColor
(
0xffffffff
);
else
mainGame
->
stCardPos
[
i
]
->
setBackgroundColor
(
0xffffffff
);
}
else
if
(
selectable_cards
[
i
]
->
location
==
LOCATION_EXTRA
||
selectable_cards
[
i
]
->
location
==
LOCATION_REMOVED
)
{
if
(
selectable_cards
[
i
]
->
position
&
POS_FACEDOWN
)
mainGame
->
stCardPos
[
i
]
->
setOverrideColor
(
0xff0000ff
);
if
(
selectable_cards
[
i
]
->
controler
)
mainGame
->
stCardPos
[
i
]
->
setBackgroundColor
(
0xffd0d0d0
);
else
mainGame
->
stCardPos
[
i
]
->
setBackgroundColor
(
0xffffffff
);
}
else
{
}
else
{
if
((
selectable_cards
[
i
]
->
controler
)
if
(
selectable_cards
[
i
]
->
controler
)
||
((
selectable_cards
[
i
]
->
location
&
(
LOCATION_EXTRA
+
LOCATION_REMOVED
))
&&
(
selectable_cards
[
i
]
->
position
&
POS_FACEDOWN
)))
mainGame
->
stCardPos
[
i
]
->
setBackgroundColor
(
0xffd0d0d0
);
mainGame
->
stCardPos
[
i
]
->
setBackgroundColor
(
0xffd0d0d0
);
else
mainGame
->
stCardPos
[
i
]
->
setBackgroundColor
(
0xffffffff
);
else
mainGame
->
stCardPos
[
i
]
->
setBackgroundColor
(
0xffffffff
);
}
}
}
else
{
}
else
{
if
(
sort_list
[
i
])
{
if
(
sort_list
[
i
])
{
...
@@ -519,12 +530,20 @@ void ClientField::ShowLocationCard() {
...
@@ -519,12 +530,20 @@ void ClientField::ShowLocationCard() {
mainGame
->
stDisplayPos
[
i
]
->
setOverrideColor
(
0xff0000ff
);
mainGame
->
stDisplayPos
[
i
]
->
setOverrideColor
(
0xff0000ff
);
if
(
display_cards
[
i
]
->
overlayTarget
->
controler
)
if
(
display_cards
[
i
]
->
overlayTarget
->
controler
)
mainGame
->
stDisplayPos
[
i
]
->
setBackgroundColor
(
0xffd0d0d0
);
mainGame
->
stDisplayPos
[
i
]
->
setBackgroundColor
(
0xffd0d0d0
);
else
mainGame
->
stDisplayPos
[
i
]
->
setBackgroundColor
(
0xffffffff
);
else
mainGame
->
stDisplayPos
[
i
]
->
setBackgroundColor
(
0xffffffff
);
}
else
if
(
display_cards
[
i
]
->
location
==
LOCATION_EXTRA
||
display_cards
[
i
]
->
location
==
LOCATION_REMOVED
)
{
if
(
display_cards
[
i
]
->
position
&
POS_FACEDOWN
)
mainGame
->
stCardPos
[
i
]
->
setOverrideColor
(
0xff0000ff
);
if
(
display_cards
[
i
]
->
controler
)
mainGame
->
stCardPos
[
i
]
->
setBackgroundColor
(
0xffd0d0d0
);
else
mainGame
->
stCardPos
[
i
]
->
setBackgroundColor
(
0xffffffff
);
}
else
{
}
else
{
if
((
display_cards
[
i
]
->
controler
)
if
(
display_cards
[
i
]
->
controler
)
||
((
display_cards
[
i
]
->
location
&
(
LOCATION_EXTRA
+
LOCATION_REMOVED
))
&&
(
display_cards
[
i
]
->
position
&
POS_FACEDOWN
)))
mainGame
->
stDisplayPos
[
i
]
->
setBackgroundColor
(
0xffd0d0d0
);
mainGame
->
stDisplayPos
[
i
]
->
setBackgroundColor
(
0xffd0d0d0
);
else
mainGame
->
stDisplayPos
[
i
]
->
setBackgroundColor
(
0xffffffff
);
else
mainGame
->
stDisplayPos
[
i
]
->
setBackgroundColor
(
0xffffffff
);
}
}
mainGame
->
stDisplayPos
[
i
]
->
setVisible
(
true
);
mainGame
->
stDisplayPos
[
i
]
->
setVisible
(
true
);
mainGame
->
stDisplayPos
[
i
]
->
setRelativePosition
(
rect
<
s32
>
(
startpos
+
i
*
125
,
30
,
startpos
+
120
+
i
*
125
,
50
));
mainGame
->
stDisplayPos
[
i
]
->
setRelativePosition
(
rect
<
s32
>
(
startpos
+
i
*
125
,
30
,
startpos
+
120
+
i
*
125
,
50
));
...
@@ -1112,6 +1131,7 @@ bool ClientField::ShowSelectSum(bool panelmode) {
...
@@ -1112,6 +1131,7 @@ bool ClientField::ShowSelectSum(bool panelmode) {
if
(
CheckSelectSum
())
{
if
(
CheckSelectSum
())
{
if
(
selectsum_cards
.
size
()
==
0
||
selectable_cards
.
size
()
==
0
)
{
if
(
selectsum_cards
.
size
()
==
0
||
selectable_cards
.
size
()
==
0
)
{
SetResponseSelectedCards
();
SetResponseSelectedCards
();
ShowCancelOrFinishButton
(
0
);
if
(
mainGame
->
wCardSelect
->
isVisible
())
if
(
mainGame
->
wCardSelect
->
isVisible
())
mainGame
->
HideElement
(
mainGame
->
wCardSelect
,
true
);
mainGame
->
HideElement
(
mainGame
->
wCardSelect
,
true
);
else
{
else
{
...
@@ -1132,6 +1152,7 @@ bool ClientField::ShowSelectSum(bool panelmode) {
...
@@ -1132,6 +1152,7 @@ bool ClientField::ShowSelectSum(bool panelmode) {
if
(
CheckSelectSum
())
{
if
(
CheckSelectSum
())
{
if
(
selectsum_cards
.
size
()
==
0
||
selectable_cards
.
size
()
==
0
)
{
if
(
selectsum_cards
.
size
()
==
0
||
selectable_cards
.
size
()
==
0
)
{
SetResponseSelectedCards
();
SetResponseSelectedCards
();
ShowCancelOrFinishButton
(
0
);
DuelClient
::
SendResponse
();
DuelClient
::
SendResponse
();
return
true
;
return
true
;
}
else
{
}
else
{
...
@@ -1146,6 +1167,11 @@ bool ClientField::ShowSelectSum(bool panelmode) {
...
@@ -1146,6 +1167,11 @@ bool ClientField::ShowSelectSum(bool panelmode) {
}
else
}
else
select_ready
=
false
;
select_ready
=
false
;
}
}
if
(
select_ready
)
{
ShowCancelOrFinishButton
(
1
);
}
else
{
ShowCancelOrFinishButton
(
0
);
}
return
false
;
return
false
;
}
}
bool
ClientField
::
CheckSelectSum
()
{
bool
ClientField
::
CheckSelectSum
()
{
...
...
gframe/client_field.h
View file @
3b5886bf
...
@@ -39,6 +39,8 @@ public:
...
@@ -39,6 +39,8 @@ public:
std::vector<ClientCard*> attackable_cards;
std::vector<ClientCard*> attackable_cards;
std::vector<ClientCard*> conti_cards;
std::vector<ClientCard*> conti_cards;
std::vector<int> activatable_descs;
std::vector<int> activatable_descs;
std::set<int> reset_descs;
std::set<int> conti_descs;
std::vector<int> select_options;
std::vector<int> select_options;
std::vector<ChainInfo> chains;
std::vector<ChainInfo> chains;
int extra_p_count[2];
int extra_p_count[2];
...
@@ -72,6 +74,7 @@ public:
...
@@ -72,6 +74,7 @@ public:
bool deck_act;
bool deck_act;
bool extra_act;
bool extra_act;
bool pzone_act[2];
bool pzone_act[2];
bool conti_act;
bool chain_forced;
bool chain_forced;
ChainInfo current_chain;
ChainInfo current_chain;
bool last_chain;
bool last_chain;
...
@@ -126,6 +129,7 @@ public:
...
@@ -126,6 +129,7 @@ public:
void GetHoverField(int x, int y);
void GetHoverField(int x, int y);
void ShowMenu(int flag, int x, int y);
void ShowMenu(int flag, int x, int y);
void UpdateChainButtons();
void UpdateChainButtons();
void ShowCancelOrFinishButton(int buttonOp);
void SetResponseSelectedCards() const;
void SetResponseSelectedCards() const;
};
};
...
...
gframe/deck_con.cpp
View file @
3b5886bf
...
@@ -39,6 +39,25 @@ static int parse_filter(const wchar_t* pstr, unsigned int* type) {
...
@@ -39,6 +39,25 @@ static int parse_filter(const wchar_t* pstr, unsigned int* type) {
*
type
=
0
;
*
type
=
0
;
return
0
;
return
0
;
}
}
static
bool
check_set_code
(
const
CardDataC
&
data
,
int
set_code
)
{
unsigned
long
long
sc
=
data
.
setcode
;
if
(
data
.
alias
)
{
auto
aptr
=
dataManager
.
_datas
.
find
(
data
.
alias
);
if
(
aptr
!=
dataManager
.
_datas
.
end
())
sc
=
aptr
->
second
.
setcode
;
}
bool
res
=
false
;
int
settype
=
set_code
&
0xfff
;
int
setsubtype
=
set_code
&
0xf000
;
while
(
sc
)
{
if
((
sc
&
0xfff
)
==
settype
&&
(
sc
&
0xf000
&
setsubtype
)
==
setsubtype
)
res
=
true
;
sc
=
sc
>>
16
;
}
return
res
;
}
bool
DeckBuilder
::
OnEvent
(
const
irr
::
SEvent
&
event
)
{
bool
DeckBuilder
::
OnEvent
(
const
irr
::
SEvent
&
event
)
{
switch
(
event
.
EventType
)
{
switch
(
event
.
EventType
)
{
case
irr
:
:
EET_GUI_EVENT
:
{
case
irr
:
:
EET_GUI_EVENT
:
{
...
@@ -193,8 +212,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
...
@@ -193,8 +212,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
deckManager
.
current_deck
.
main
.
clear
();
deckManager
.
current_deck
.
main
.
clear
();
deckManager
.
current_deck
.
extra
.
clear
();
deckManager
.
current_deck
.
extra
.
clear
();
deckManager
.
current_deck
.
side
.
clear
();
deckManager
.
current_deck
.
side
.
clear
();
}
}
else
if
(
is_deleting
)
{
else
if
(
is_deleting
)
{
int
sel
=
mainGame
->
cbDBDecks
->
getSelected
();
int
sel
=
mainGame
->
cbDBDecks
->
getSelected
();
if
(
deckManager
.
DeleteDeck
(
deckManager
.
current_deck
,
mainGame
->
cbDBDecks
->
getItem
(
sel
)))
{
if
(
deckManager
.
DeleteDeck
(
deckManager
.
current_deck
,
mainGame
->
cbDBDecks
->
getItem
(
sel
)))
{
mainGame
->
cbDBDecks
->
removeItem
(
sel
);
mainGame
->
cbDBDecks
->
removeItem
(
sel
);
...
@@ -359,7 +377,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
...
@@ -359,7 +377,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
case
irr
:
:
EET_MOUSE_INPUT_EVENT
:
{
case
irr
:
:
EET_MOUSE_INPUT_EVENT
:
{
switch
(
event
.
MouseInput
.
Event
)
{
switch
(
event
.
MouseInput
.
Event
)
{
case
irr
:
:
EMIE_LMOUSE_PRESSED_DOWN
:
{
case
irr
:
:
EMIE_LMOUSE_PRESSED_DOWN
:
{
position2d
<
s32
>
mouse_pos
=
position2d
<
s32
>
(
event
.
MouseInput
.
X
,
event
.
MouseInput
.
Y
);
irr
::
core
::
position2di
mouse_pos
(
event
.
MouseInput
.
X
,
event
.
MouseInput
.
Y
);
irr
::
gui
::
IGUIElement
*
root
=
mainGame
->
env
->
getRootGUIElement
();
irr
::
gui
::
IGUIElement
*
root
=
mainGame
->
env
->
getRootGUIElement
();
if
(
root
->
getElementFromPoint
(
mouse_pos
)
!=
root
)
if
(
root
->
getElementFromPoint
(
mouse_pos
)
!=
root
)
break
;
break
;
...
@@ -603,14 +621,12 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
...
@@ -603,14 +621,12 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
deckManager
.
current_deck
.
main
.
push_back
(
draging_pointer
);
deckManager
.
current_deck
.
main
.
push_back
(
draging_pointer
);
else
if
(
deckManager
.
current_deck
.
side
.
size
()
<
15
)
else
if
(
deckManager
.
current_deck
.
side
.
size
()
<
15
)
deckManager
.
current_deck
.
side
.
push_back
(
draging_pointer
);
deckManager
.
current_deck
.
side
.
push_back
(
draging_pointer
);
}
}
else
if
(
hovered_pos
==
2
)
{
else
if
(
hovered_pos
==
2
)
{
if
(
deckManager
.
current_deck
.
extra
.
size
()
<
15
)
if
(
deckManager
.
current_deck
.
extra
.
size
()
<
15
)
deckManager
.
current_deck
.
extra
.
push_back
(
draging_pointer
);
deckManager
.
current_deck
.
extra
.
push_back
(
draging_pointer
);
else
if
(
deckManager
.
current_deck
.
side
.
size
()
<
15
)
else
if
(
deckManager
.
current_deck
.
side
.
size
()
<
15
)
deckManager
.
current_deck
.
side
.
push_back
(
draging_pointer
);
deckManager
.
current_deck
.
side
.
push_back
(
draging_pointer
);
}
}
else
if
(
hovered_pos
==
3
)
{
else
if
(
hovered_pos
==
3
)
{
if
(
deckManager
.
current_deck
.
side
.
size
()
<
15
)
if
(
deckManager
.
current_deck
.
side
.
size
()
<
15
)
deckManager
.
current_deck
.
side
.
push_back
(
draging_pointer
);
deckManager
.
current_deck
.
side
.
push_back
(
draging_pointer
);
else
{
else
{
...
@@ -619,8 +635,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
...
@@ -619,8 +635,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
else
if
(
!
(
draging_pointer
->
second
.
type
&
0x802040
)
&&
deckManager
.
current_deck
.
main
.
size
()
<
60
)
else
if
(
!
(
draging_pointer
->
second
.
type
&
0x802040
)
&&
deckManager
.
current_deck
.
main
.
size
()
<
60
)
deckManager
.
current_deck
.
main
.
push_back
(
draging_pointer
);
deckManager
.
current_deck
.
main
.
push_back
(
draging_pointer
);
}
}
}
}
else
{
else
{
if
((
draging_pointer
->
second
.
type
&
0x802040
)
&&
deckManager
.
current_deck
.
extra
.
size
()
<
15
)
if
((
draging_pointer
->
second
.
type
&
0x802040
)
&&
deckManager
.
current_deck
.
extra
.
size
()
<
15
)
deckManager
.
current_deck
.
extra
.
push_back
(
draging_pointer
);
deckManager
.
current_deck
.
extra
.
push_back
(
draging_pointer
);
else
if
(
!
(
draging_pointer
->
second
.
type
&
0x802040
)
&&
deckManager
.
current_deck
.
main
.
size
()
<
60
)
else
if
(
!
(
draging_pointer
->
second
.
type
&
0x802040
)
&&
deckManager
.
current_deck
.
main
.
size
()
<
60
)
...
@@ -633,7 +648,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
...
@@ -633,7 +648,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
case
irr
:
:
EMIE_MOUSE_MOVED
:
{
case
irr
:
:
EMIE_MOUSE_MOVED
:
{
int
x
=
event
.
MouseInput
.
X
;
int
x
=
event
.
MouseInput
.
X
;
int
y
=
event
.
MouseInput
.
Y
;
int
y
=
event
.
MouseInput
.
Y
;
position2d
<
s32
>
mouse_pos
=
position2d
<
s32
>
(
x
,
y
);
irr
::
core
::
position2di
mouse_pos
(
x
,
y
);
irr
::
gui
::
IGUIElement
*
root
=
mainGame
->
env
->
getRootGUIElement
();
irr
::
gui
::
IGUIElement
*
root
=
mainGame
->
env
->
getRootGUIElement
();
if
(
root
->
getElementFromPoint
(
mouse_pos
)
!=
root
)
if
(
root
->
getElementFromPoint
(
mouse_pos
)
!=
root
)
break
;
break
;
...
@@ -837,26 +852,15 @@ void DeckBuilder::FilterCards() {
...
@@ -837,26 +852,15 @@ void DeckBuilder::FilterCards() {
if
(
wcsstr
(
text
.
name
,
&
pstr
[
1
])
==
0
)
if
(
wcsstr
(
text
.
name
,
&
pstr
[
1
])
==
0
)
continue
;
continue
;
}
else
if
(
pstr
[
0
]
==
L'@'
&&
set_code
)
{
}
else
if
(
pstr
[
0
]
==
L'@'
&&
set_code
)
{
unsigned
long
long
sc
=
data
.
setcode
;
if
(
!
check_set_code
(
data
,
set_code
))
continue
;
if
(
data
.
alias
)
{
auto
aptr
=
dataManager
.
_datas
.
find
(
data
.
alias
);
if
(
aptr
!=
dataManager
.
_datas
.
end
())
sc
=
aptr
->
second
.
setcode
;
}
bool
res
=
false
;
int
settype
=
set_code
&
0xfff
;
int
setsubtype
=
set_code
&
0xf000
;
while
(
sc
)
{
if
((
sc
&
0xfff
)
==
settype
&&
(
sc
&
0xf000
&
setsubtype
)
==
setsubtype
)
res
=
true
;
sc
=
sc
>>
16
;
}
if
(
!
res
)
continue
;
}
else
{
}
else
{
if
(
wcsstr
(
text
.
name
,
pstr
)
==
0
&&
wcsstr
(
text
.
text
,
pstr
)
==
0
)
if
(
wcsstr
(
text
.
name
,
pstr
)
==
0
&&
wcsstr
(
text
.
text
,
pstr
)
==
0
)
{
set_code
=
dataManager
.
GetSetCode
(
&
pstr
[
0
]);
if
(
!
set_code
||
!
check_set_code
(
data
,
set_code
))
continue
;
continue
;
}
}
}
}
}
results
.
push_back
(
ptr
);
results
.
push_back
(
ptr
);
}
}
myswprintf
(
result_string
,
L"%d"
,
results
.
size
());
myswprintf
(
result_string
,
L"%d"
,
results
.
size
());
...
...
gframe/drawing.cpp
View file @
3b5886bf
...
@@ -159,7 +159,7 @@ void Game::DrawBackGround() {
...
@@ -159,7 +159,7 @@ void Game::DrawBackGround() {
}
}
}
}
//current sel
//current sel
if
(
dField
.
hovered_location
!=
0
&&
dField
.
hovered_location
!=
2
)
{
if
(
dField
.
hovered_location
!=
0
&&
dField
.
hovered_location
!=
2
&&
dField
.
hovered_location
!=
POSITION_HINT
)
{
int
index
=
0
;
int
index
=
0
;
if
(
dField
.
hovered_controler
==
0
)
{
if
(
dField
.
hovered_controler
==
0
)
{
if
(
dField
.
hovered_location
==
LOCATION_DECK
)
index
=
0
;
if
(
dField
.
hovered_location
==
LOCATION_DECK
)
index
=
0
;
...
@@ -321,6 +321,12 @@ void Game::DrawMisc() {
...
@@ -321,6 +321,12 @@ void Game::DrawMisc() {
driver
->
setTransform
(
irr
::
video
::
ETS_WORLD
,
im
);
driver
->
setTransform
(
irr
::
video
::
ETS_WORLD
,
im
);
driver
->
drawVertexPrimitiveList
(
matManager
.
vActivate
,
4
,
matManager
.
iRectangle
,
2
);
driver
->
drawVertexPrimitiveList
(
matManager
.
vActivate
,
4
,
matManager
.
iRectangle
,
2
);
}
}
if
(
dField
.
conti_act
)
{
im
.
setTranslation
(
vector3df
(
matManager
.
vFields
[
136
].
Pos
.
X
-
(
matManager
.
vFields
[
136
].
Pos
.
X
-
matManager
.
vFields
[
137
].
Pos
.
X
)
/
2
,
matManager
.
vFields
[
136
].
Pos
.
Y
-
(
matManager
.
vFields
[
136
].
Pos
.
Y
-
matManager
.
vFields
[
138
].
Pos
.
Y
)
/
2
,
0.03
f
));
driver
->
setTransform
(
irr
::
video
::
ETS_WORLD
,
im
);
driver
->
drawVertexPrimitiveList
(
matManager
.
vActivate
,
4
,
matManager
.
iRectangle
,
2
);
}
if
(
dField
.
chains
.
size
()
>
1
)
{
if
(
dField
.
chains
.
size
()
>
1
)
{
for
(
size_t
i
=
0
;
i
<
dField
.
chains
.
size
();
++
i
)
{
for
(
size_t
i
=
0
;
i
<
dField
.
chains
.
size
();
++
i
)
{
if
(
dField
.
chains
[
i
].
solved
)
if
(
dField
.
chains
[
i
].
solved
)
...
...
gframe/duelclient.cpp
View file @
3b5886bf
...
@@ -288,6 +288,7 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
...
@@ -288,6 +288,7 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
mainGame
->
btnChainIgnore
->
setVisible
(
false
);
mainGame
->
btnChainIgnore
->
setVisible
(
false
);
mainGame
->
btnChainAlways
->
setVisible
(
false
);
mainGame
->
btnChainAlways
->
setVisible
(
false
);
mainGame
->
btnChainWhenAvail
->
setVisible
(
false
);
mainGame
->
btnChainWhenAvail
->
setVisible
(
false
);
mainGame
->
btnCancelOrFinish
->
setVisible
(
false
);
mainGame
->
deckBuilder
.
result_string
[
0
]
=
L'0'
;
mainGame
->
deckBuilder
.
result_string
[
0
]
=
L'0'
;
mainGame
->
deckBuilder
.
result_string
[
1
]
=
0
;
mainGame
->
deckBuilder
.
result_string
[
1
]
=
0
;
mainGame
->
deckBuilder
.
results
.
clear
();
mainGame
->
deckBuilder
.
results
.
clear
();
...
@@ -400,11 +401,10 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
...
@@ -400,11 +401,10 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
mainGame
->
btnHostPrepKick
[
1
]
->
setVisible
(
false
);
mainGame
->
btnHostPrepKick
[
1
]
->
setVisible
(
false
);
}
}
mainGame
->
chkHostPrepReady
[
0
]
->
setEnabled
(
false
);
mainGame
->
chkHostPrepReady
[
0
]
->
setEnabled
(
false
);
mainGame
->
chkHostPrepReady
[
0
]
->
setChecked
(
false
);
mainGame
->
chkHostPrepReady
[
1
]
->
setEnabled
(
false
);
mainGame
->
chkHostPrepReady
[
1
]
->
setEnabled
(
false
);
mainGame
->
chkHostPrepReady
[
1
]
->
setChecked
(
false
);
if
(
selftype
<
2
)
{
if
(
selftype
<
2
)
{
mainGame
->
chkHostPrepReady
[
selftype
]
->
setEnabled
(
true
);
mainGame
->
chkHostPrepReady
[
selftype
]
->
setEnabled
(
true
);
mainGame
->
chkHostPrepReady
[
selftype
]
->
setChecked
(
false
);
mainGame
->
btnHostPrepDuelist
->
setEnabled
(
false
);
mainGame
->
btnHostPrepDuelist
->
setEnabled
(
false
);
mainGame
->
btnHostPrepOB
->
setEnabled
(
true
);
mainGame
->
btnHostPrepOB
->
setEnabled
(
true
);
}
else
{
}
else
{
...
@@ -511,6 +511,7 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
...
@@ -511,6 +511,7 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
mainGame
->
btnChainIgnore
->
setVisible
(
false
);
mainGame
->
btnChainIgnore
->
setVisible
(
false
);
mainGame
->
btnChainAlways
->
setVisible
(
false
);
mainGame
->
btnChainAlways
->
setVisible
(
false
);
mainGame
->
btnChainWhenAvail
->
setVisible
(
false
);
mainGame
->
btnChainWhenAvail
->
setVisible
(
false
);
mainGame
->
btnCancelOrFinish
->
setVisible
(
false
);
mainGame
->
stMessage
->
setText
(
dataManager
.
GetSysString
(
1500
));
mainGame
->
stMessage
->
setText
(
dataManager
.
GetSysString
(
1500
));
mainGame
->
PopupElement
(
mainGame
->
wMessage
);
mainGame
->
PopupElement
(
mainGame
->
wMessage
);
mainGame
->
gMutex
.
Unlock
();
mainGame
->
gMutex
.
Unlock
();
...
@@ -540,6 +541,7 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
...
@@ -540,6 +541,7 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
mainGame
->
btnChainIgnore
->
setVisible
(
false
);
mainGame
->
btnChainIgnore
->
setVisible
(
false
);
mainGame
->
btnChainAlways
->
setVisible
(
false
);
mainGame
->
btnChainAlways
->
setVisible
(
false
);
mainGame
->
btnChainWhenAvail
->
setVisible
(
false
);
mainGame
->
btnChainWhenAvail
->
setVisible
(
false
);
mainGame
->
btnCancelOrFinish
->
setVisible
(
false
);
time_t
nowtime
=
time
(
NULL
);
time_t
nowtime
=
time
(
NULL
);
struct
tm
*
localedtime
=
localtime
(
&
nowtime
);
struct
tm
*
localedtime
=
localtime
(
&
nowtime
);
char
timebuf
[
40
];
char
timebuf
[
40
];
...
@@ -1180,6 +1182,11 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
...
@@ -1180,6 +1182,11 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
mainGame
->
stHintMsg
->
setText
(
textBuffer
);
mainGame
->
stHintMsg
->
setText
(
textBuffer
);
mainGame
->
stHintMsg
->
setVisible
(
true
);
mainGame
->
stHintMsg
->
setVisible
(
true
);
}
}
if
(
mainGame
->
dField
.
select_cancelable
)
{
mainGame
->
dField
.
ShowCancelOrFinishButton
(
1
);
}
else
{
mainGame
->
dField
.
ShowCancelOrFinishButton
(
0
);
}
return
false
;
return
false
;
}
}
case
MSG_SELECT_CHAIN
:
{
case
MSG_SELECT_CHAIN
:
{
...
@@ -1192,11 +1199,15 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
...
@@ -1192,11 +1199,15 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
int
code
,
c
,
l
,
s
,
ss
,
desc
;
int
code
,
c
,
l
,
s
,
ss
,
desc
;
ClientCard
*
pcard
;
ClientCard
*
pcard
;
bool
panelmode
=
false
;
bool
panelmode
=
false
;
bool
conti_exist
=
false
;
mainGame
->
dField
.
chain_forced
=
(
forced
!=
0
);
mainGame
->
dField
.
chain_forced
=
(
forced
!=
0
);
mainGame
->
dField
.
activatable_cards
.
clear
();
mainGame
->
dField
.
activatable_cards
.
clear
();
mainGame
->
dField
.
activatable_descs
.
clear
();
mainGame
->
dField
.
activatable_descs
.
clear
();
mainGame
->
dField
.
conti_cards
.
clear
();
mainGame
->
dField
.
conti_cards
.
clear
();
mainGame
->
dField
.
reset_descs
.
clear
();
mainGame
->
dField
.
conti_descs
.
clear
();
for
(
int
i
=
0
;
i
<
count
;
++
i
)
{
for
(
int
i
=
0
;
i
<
count
;
++
i
)
{
int
flag
=
BufferIO
::
ReadInt8
(
pbuf
);
code
=
BufferIO
::
ReadInt32
(
pbuf
);
code
=
BufferIO
::
ReadInt32
(
pbuf
);
c
=
mainGame
->
LocalPlayer
(
BufferIO
::
ReadInt8
(
pbuf
));
c
=
mainGame
->
LocalPlayer
(
BufferIO
::
ReadInt8
(
pbuf
));
l
=
BufferIO
::
ReadInt8
(
pbuf
);
l
=
BufferIO
::
ReadInt8
(
pbuf
);
...
@@ -1207,14 +1218,21 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
...
@@ -1207,14 +1218,21 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
mainGame
->
dField
.
activatable_cards
.
push_back
(
pcard
);
mainGame
->
dField
.
activatable_cards
.
push_back
(
pcard
);
mainGame
->
dField
.
activatable_descs
.
push_back
(
desc
);
mainGame
->
dField
.
activatable_descs
.
push_back
(
desc
);
pcard
->
is_selected
=
false
;
pcard
->
is_selected
=
false
;
if
(
code
>=
1000000000
)
{
if
(
flag
==
0x1
)
{
pcard
->
is_conti
=
true
;
pcard
->
is_conti
=
true
;
pcard
->
chain_code
=
code
%
1000000000
;
pcard
->
chain_code
=
code
;
mainGame
->
dField
.
conti_cards
.
push_back
(
pcard
);
mainGame
->
dField
.
conti_cards
.
push_back
(
pcard
);
mainGame
->
dField
.
remove_act
=
true
;
mainGame
->
dField
.
conti_act
=
true
;
mainGame
->
dField
.
conti_descs
.
insert
(
desc
);
conti_exist
=
true
;
}
else
{
}
else
{
pcard
->
chain_code
=
code
;
pcard
->
chain_code
=
code
;
pcard
->
is_selectable
=
true
;
pcard
->
is_selectable
=
true
;
if
(
flag
==
0x2
)
{
pcard
->
cmdFlag
|=
COMMAND_RESET
;
mainGame
->
dField
.
reset_descs
.
insert
(
desc
);
}
else
pcard
->
cmdFlag
|=
COMMAND_ACTIVATE
;
pcard
->
cmdFlag
|=
COMMAND_ACTIVATE
;
if
(
l
==
LOCATION_GRAVE
)
if
(
l
==
LOCATION_GRAVE
)
mainGame
->
dField
.
grave_act
=
true
;
mainGame
->
dField
.
grave_act
=
true
;
...
@@ -1242,7 +1260,10 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
...
@@ -1242,7 +1260,10 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
return
true
;
return
true
;
}
}
mainGame
->
gMutex
.
Lock
();
mainGame
->
gMutex
.
Lock
();
if
(
!
conti_exist
)
mainGame
->
stHintMsg
->
setText
(
dataManager
.
GetSysString
(
550
));
mainGame
->
stHintMsg
->
setText
(
dataManager
.
GetSysString
(
550
));
else
mainGame
->
stHintMsg
->
setText
(
dataManager
.
GetSysString
(
556
));
mainGame
->
stHintMsg
->
setVisible
(
true
);
mainGame
->
stHintMsg
->
setVisible
(
true
);
if
(
panelmode
)
{
if
(
panelmode
)
{
mainGame
->
dField
.
list_command
=
COMMAND_ACTIVATE
;
mainGame
->
dField
.
list_command
=
COMMAND_ACTIVATE
;
...
@@ -1401,6 +1422,9 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
...
@@ -1401,6 +1422,9 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
mainGame
->
gMutex
.
Lock
();
mainGame
->
gMutex
.
Lock
();
mainGame
->
stHintMsg
->
setText
(
textBuffer
);
mainGame
->
stHintMsg
->
setText
(
textBuffer
);
mainGame
->
stHintMsg
->
setVisible
(
true
);
mainGame
->
stHintMsg
->
setVisible
(
true
);
if
(
mainGame
->
dField
.
select_cancelable
)
{
mainGame
->
dField
.
ShowCancelOrFinishButton
(
1
);
}
mainGame
->
gMutex
.
Unlock
();
mainGame
->
gMutex
.
Unlock
();
return
false
;
return
false
;
}
}
...
@@ -1855,16 +1879,16 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
...
@@ -1855,16 +1879,16 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
mainGame
->
btnLeaveGame
->
setVisible
(
true
);
mainGame
->
btnLeaveGame
->
setVisible
(
true
);
}
}
if
(
!
mainGame
->
dInfo
.
isReplay
&&
mainGame
->
dInfo
.
player_type
<
7
)
{
if
(
!
mainGame
->
dInfo
.
isReplay
&&
mainGame
->
dInfo
.
player_type
<
7
)
{
if
(
!
mainGame
->
chkHideChainButton
->
isChecked
()
)
{
if
(
mainGame
->
gameConf
.
control_mode
==
0
)
{
mainGame
->
btnChainIgnore
->
setVisible
(
true
);
mainGame
->
btnChainIgnore
->
setVisible
(
true
);
mainGame
->
btnChainAlways
->
setVisible
(
true
);
mainGame
->
btnChainAlways
->
setVisible
(
true
);
mainGame
->
btnChainWhenAvail
->
setVisible
(
true
);
mainGame
->
btnChainWhenAvail
->
setVisible
(
true
);
mainGame
->
dField
.
UpdateChainButtons
();
mainGame
->
dField
.
UpdateChainButtons
();
}
}
else
{
else
{
mainGame
->
btnChainIgnore
->
setVisible
(
false
);
mainGame
->
btnChainIgnore
->
setVisible
(
false
);
mainGame
->
btnChainAlways
->
setVisible
(
false
);
mainGame
->
btnChainAlways
->
setVisible
(
false
);
mainGame
->
btnChainWhenAvail
->
setVisible
(
false
);
mainGame
->
btnChainWhenAvail
->
setVisible
(
false
);
mainGame
->
btnCancelOrFinish
->
setVisible
(
false
);
}
}
}
}
if
(
mainGame
->
dInfo
.
isTag
&&
mainGame
->
dInfo
.
turn
!=
1
)
{
if
(
mainGame
->
dInfo
.
isTag
&&
mainGame
->
dInfo
.
turn
!=
1
)
{
...
...
gframe/event_handler.cpp
View file @
3b5886bf
This diff is collapsed.
Click to expand it.
gframe/game.cpp
View file @
3b5886bf
...
@@ -15,7 +15,7 @@
...
@@ -15,7 +15,7 @@
#include <unistd.h>
#include <unistd.h>
#endif
#endif
const
unsigned
short
PRO_VERSION
=
0x133
A
;
const
unsigned
short
PRO_VERSION
=
0x133
B
;
namespace
ygo
{
namespace
ygo
{
...
@@ -289,8 +289,8 @@ bool Game::Initialize() {
...
@@ -289,8 +289,8 @@ bool Game::Initialize() {
chkIgnore2->setChecked(gameConf.chkIgnore2 != 0);
chkIgnore2->setChecked(gameConf.chkIgnore2 != 0);
chkHideSetname = env->addCheckBox(false, rect<s32>(20, 260, 280, 285), tabSystem, -1, dataManager.GetSysString(1354));
chkHideSetname = env->addCheckBox(false, rect<s32>(20, 260, 280, 285), tabSystem, -1, dataManager.GetSysString(1354));
chkHideSetname->setChecked(gameConf.chkHideSetname != 0);
chkHideSetname->setChecked(gameConf.chkHideSetname != 0);
chkHide
Chain
Button = env->addCheckBox(false, rect<s32>(20, 290, 280, 315), tabSystem, -1, dataManager.GetSysString(1355));
chkHide
Hint
Button = env->addCheckBox(false, rect<s32>(20, 290, 280, 315), tabSystem, -1, dataManager.GetSysString(1355));
chkHide
ChainButton->setChecked(gameConf.chkHideChain
Button != 0);
chkHide
HintButton->setChecked(gameConf.chkHideHint
Button != 0);
//
//
wHand = env->addWindow(rect<s32>(500, 450, 825, 605), false, L"");
wHand = env->addWindow(rect<s32>(500, 450, 825, 605), false, L"");
wHand->getCloseButton()->setVisible(false);
wHand->getCloseButton()->setVisible(false);
...
@@ -415,10 +415,6 @@ bool Game::Initialize() {
...
@@ -415,10 +415,6 @@ bool Game::Initialize() {
stHintMsg->setBackgroundColor(0xc0ffffff);
stHintMsg->setBackgroundColor(0xc0ffffff);
stHintMsg->setTextAlignment(irr::gui::EGUIA_CENTER, irr::gui::EGUIA_CENTER);
stHintMsg->setTextAlignment(irr::gui::EGUIA_CENTER, irr::gui::EGUIA_CENTER);
stHintMsg->setVisible(false);
stHintMsg->setVisible(false);
stTip = env->addStaticText(L"", rect<s32>(0, 0, 150, 150), false, true, 0, -1, true);
stTip->setBackgroundColor(0xc0ffffff);
stTip->setTextAlignment(irr::gui::EGUIA_CENTER, irr::gui::EGUIA_CENTER);
stTip->setVisible(false);
//cmd menu
//cmd menu
wCmdMenu = env->addWindow(rect<s32>(10, 10, 110, 179), false, L"");
wCmdMenu = env->addWindow(rect<s32>(10, 10, 110, 179), false, L"");
wCmdMenu->setDrawTitlebar(false);
wCmdMenu->setDrawTitlebar(false);
...
@@ -432,6 +428,8 @@ bool Game::Initialize() {
...
@@ -432,6 +428,8 @@ bool Game::Initialize() {
btnRepos = env->addButton(rect<s32>(1, 106, 99, 126), wCmdMenu, BUTTON_CMD_REPOS, dataManager.GetSysString(1154));
btnRepos = env->addButton(rect<s32>(1, 106, 99, 126), wCmdMenu, BUTTON_CMD_REPOS, dataManager.GetSysString(1154));
btnAttack = env->addButton(rect<s32>(1, 127, 99, 147), wCmdMenu, BUTTON_CMD_ATTACK, dataManager.GetSysString(1157));
btnAttack = env->addButton(rect<s32>(1, 127, 99, 147), wCmdMenu, BUTTON_CMD_ATTACK, dataManager.GetSysString(1157));
btnShowList = env->addButton(rect<s32>(1, 148, 99, 168), wCmdMenu, BUTTON_CMD_SHOWLIST, dataManager.GetSysString(1158));
btnShowList = env->addButton(rect<s32>(1, 148, 99, 168), wCmdMenu, BUTTON_CMD_SHOWLIST, dataManager.GetSysString(1158));
btnOperation = env->addButton(rect<s32>(1, 169, 99, 189), wCmdMenu, BUTTON_CMD_ACTIVATE, dataManager.GetSysString(1161));
btnReset = env->addButton(rect<s32>(1, 190, 99, 210), wCmdMenu, BUTTON_CMD_RESET, dataManager.GetSysString(1162));
//deck edit
//deck edit
wDeckEdit = env->addStaticText(L"", rect<s32>(309, 5, 605, 130), true, false, 0, -1, true);
wDeckEdit = env->addStaticText(L"", rect<s32>(309, 5, 605, 130), true, false, 0, -1, true);
wDeckEdit->setVisible(false);
wDeckEdit->setVisible(false);
...
@@ -587,9 +585,17 @@ bool Game::Initialize() {
...
@@ -587,9 +585,17 @@ bool Game::Initialize() {
btnChainIgnore->setVisible(false);
btnChainIgnore->setVisible(false);
btnChainAlways->setVisible(false);
btnChainAlways->setVisible(false);
btnChainWhenAvail->setVisible(false);
btnChainWhenAvail->setVisible(false);
//cancel or finish
btnCancelOrFinish = env->addButton(rect<s32>(205, 230, 295, 265), 0, BUTTON_CANCEL_OR_FINISH, dataManager.GetSysString(1295));
btnCancelOrFinish->setVisible(false);
//leave/surrender/exit
//leave/surrender/exit
btnLeaveGame = env->addButton(rect<s32>(205, 5, 295, 80), 0, BUTTON_LEAVE_GAME, L"");
btnLeaveGame = env->addButton(rect<s32>(205, 5, 295, 80), 0, BUTTON_LEAVE_GAME, L"");
btnLeaveGame->setVisible(false);
btnLeaveGame->setVisible(false);
//tip
stTip = env->addStaticText(L"", rect<s32>(0, 0, 150, 150), false, true, 0, -1, true);
stTip->setBackgroundColor(0xc0ffffff);
stTip->setTextAlignment(irr::gui::EGUIA_CENTER, irr::gui::EGUIA_CENTER);
stTip->setVisible(false);
device->setEventReceiver(&menuHandler);
device->setEventReceiver(&menuHandler);
LoadConfig();
LoadConfig();
env->getSkin()->setFont(guiFont);
env->getSkin()->setFont(guiFont);
...
@@ -911,7 +917,7 @@ void Game::LoadConfig() {
...
@@ -911,7 +917,7 @@ void Game::LoadConfig() {
gameConf.chkIgnore1 = 0;
gameConf.chkIgnore1 = 0;
gameConf.chkIgnore2 = 0;
gameConf.chkIgnore2 = 0;
gameConf.chkHideSetname = 0;
gameConf.chkHideSetname = 0;
gameConf.chkHide
Chain
Button = 0;
gameConf.chkHide
Hint
Button = 0;
gameConf.control_mode = 0;
gameConf.control_mode = 0;
gameConf.draw_field_spell = 1;
gameConf.draw_field_spell = 1;
gameConf.separate_clear_button = 1;
gameConf.separate_clear_button = 1;
...
@@ -961,8 +967,8 @@ void Game::LoadConfig() {
...
@@ -961,8 +967,8 @@ void Game::LoadConfig() {
gameConf.chkIgnore2 = atoi(valbuf);
gameConf.chkIgnore2 = atoi(valbuf);
} else if(!strcmp(strbuf, "hide_setname")) {
} else if(!strcmp(strbuf, "hide_setname")) {
gameConf.chkHideSetname = atoi(valbuf);
gameConf.chkHideSetname = atoi(valbuf);
} else if(!strcmp(strbuf, "hide_
chain
_button")) {
} else if(!strcmp(strbuf, "hide_
hint
_button")) {
gameConf.chkHide
Chain
Button = atoi(valbuf);
gameConf.chkHide
Hint
Button = atoi(valbuf);
} else if(!strcmp(strbuf, "control_mode")) {
} else if(!strcmp(strbuf, "control_mode")) {
gameConf.control_mode = atoi(valbuf);
gameConf.control_mode = atoi(valbuf);
} else if(!strcmp(strbuf, "draw_field_spell")) {
} else if(!strcmp(strbuf, "draw_field_spell")) {
...
@@ -1017,8 +1023,8 @@ void Game::SaveConfig() {
...
@@ -1017,8 +1023,8 @@ void Game::SaveConfig() {
fprintf(fp, "mute_opponent = %d\n", ((mainGame->chkIgnore1->isChecked()) ? 1 : 0));
fprintf(fp, "mute_opponent = %d\n", ((mainGame->chkIgnore1->isChecked()) ? 1 : 0));
fprintf(fp, "mute_spectators = %d\n", ((mainGame->chkIgnore2->isChecked()) ? 1 : 0));
fprintf(fp, "mute_spectators = %d\n", ((mainGame->chkIgnore2->isChecked()) ? 1 : 0));
fprintf(fp, "hide_setname = %d\n", ((mainGame->chkHideSetname->isChecked()) ? 1 : 0));
fprintf(fp, "hide_setname = %d\n", ((mainGame->chkHideSetname->isChecked()) ? 1 : 0));
fprintf(fp, "hide_
chain_button = %d\n", ((mainGame->chkHideChain
Button->isChecked()) ? 1 : 0));
fprintf(fp, "hide_
hint_button = %d\n", ((mainGame->chkHideHint
Button->isChecked()) ? 1 : 0));
fprintf(fp, "#control_mode = 0: Key A/S/D/R
. control_mode = 1: MouseLeft/MouseRight/NULL/F9
\n");
fprintf(fp, "#control_mode = 0: Key A/S/D/R
Chain Buttons. control_mode = 1: MouseLeft/MouseRight/NULL/F9 Without Chain Buttons
\n");
fprintf(fp, "control_mode = %d\n", gameConf.control_mode);
fprintf(fp, "control_mode = %d\n", gameConf.control_mode);
fprintf(fp, "draw_field_spell = %d\n", gameConf.draw_field_spell);
fprintf(fp, "draw_field_spell = %d\n", gameConf.draw_field_spell);
fprintf(fp, "separate_clear_button = %d\n", gameConf.separate_clear_button);
fprintf(fp, "separate_clear_button = %d\n", gameConf.separate_clear_button);
...
@@ -1172,6 +1178,7 @@ void Game::CloseDuelWindow() {
...
@@ -1172,6 +1178,7 @@ void Game::CloseDuelWindow() {
btnChainIgnore->setVisible(false);
btnChainIgnore->setVisible(false);
btnChainAlways->setVisible(false);
btnChainAlways->setVisible(false);
btnChainWhenAvail->setVisible(false);
btnChainWhenAvail->setVisible(false);
btnCancelOrFinish->setVisible(false);
wChat->setVisible(false);
wChat->setVisible(false);
lstLog->clear();
lstLog->clear();
logParam.clear();
logParam.clear();
...
...
gframe/game.h
View file @
3b5886bf
...
@@ -32,7 +32,7 @@ struct Config {
...
@@ -32,7 +32,7 @@ struct Config {
int
chkIgnore1
;
int
chkIgnore1
;
int
chkIgnore2
;
int
chkIgnore2
;
int
chkHideSetname
;
int
chkHideSetname
;
int
chkHide
Chain
Button
;
int
chkHide
Hint
Button
;
int
control_mode
;
int
control_mode
;
int
draw_field_spell
;
int
draw_field_spell
;
int
separate_clear_button
;
int
separate_clear_button
;
...
@@ -198,7 +198,7 @@ public:
...
@@ -198,7 +198,7 @@ public:
irr::gui::IGUICheckBox* chkAutoChain;
irr::gui::IGUICheckBox* chkAutoChain;
irr::gui::IGUICheckBox* chkWaitChain;
irr::gui::IGUICheckBox* chkWaitChain;
irr::gui::IGUICheckBox* chkHideSetname;
irr::gui::IGUICheckBox* chkHideSetname;
irr::gui::IGUICheckBox* chkHide
Chain
Button;
irr::gui::IGUICheckBox* chkHide
Hint
Button;
irr::gui::IGUIListBox* lstLog;
irr::gui::IGUIListBox* lstLog;
irr::gui::IGUIButton* btnClearLog;
irr::gui::IGUIButton* btnClearLog;
irr::gui::IGUIButton* btnSaveLog;
irr::gui::IGUIButton* btnSaveLog;
...
@@ -330,6 +330,8 @@ public:
...
@@ -330,6 +330,8 @@ public:
irr::gui::IGUIButton* btnRepos;
irr::gui::IGUIButton* btnRepos;
irr::gui::IGUIButton* btnAttack;
irr::gui::IGUIButton* btnAttack;
irr::gui::IGUIButton* btnShowList;
irr::gui::IGUIButton* btnShowList;
irr::gui::IGUIButton* btnOperation;
irr::gui::IGUIButton* btnReset;
irr::gui::IGUIButton* btnShuffle;
irr::gui::IGUIButton* btnShuffle;
//chat window
//chat window
irr::gui::IGUIWindow* wChat;
irr::gui::IGUIWindow* wChat;
...
@@ -398,6 +400,8 @@ public:
...
@@ -398,6 +400,8 @@ public:
irr::gui::IGUIButton* btnChainIgnore;
irr::gui::IGUIButton* btnChainIgnore;
irr::gui::IGUIButton* btnChainAlways;
irr::gui::IGUIButton* btnChainAlways;
irr::gui::IGUIButton* btnChainWhenAvail;
irr::gui::IGUIButton* btnChainWhenAvail;
//cancel or finish
irr::gui::IGUIButton* btnCancelOrFinish;
*/
*/
};
};
...
@@ -427,6 +431,10 @@ extern unsigned char draw_count;
...
@@ -427,6 +431,10 @@ extern unsigned char draw_count;
#define COMMAND_REPOS 0x0020
#define COMMAND_REPOS 0x0020
#define COMMAND_ATTACK 0x0040
#define COMMAND_ATTACK 0x0040
#define COMMAND_LIST 0x0080
#define COMMAND_LIST 0x0080
#define COMMAND_OPERATION 0x0100
#define COMMAND_RESET 0x0200
#define POSITION_HINT 0x8000
#define BUTTON_LAN_MODE 100
#define BUTTON_LAN_MODE 100
#define BUTTON_SINGLE_MODE 101
#define BUTTON_SINGLE_MODE 101
...
@@ -482,6 +490,7 @@ extern unsigned char draw_count;
...
@@ -482,6 +490,7 @@ extern unsigned char draw_count;
#define BUTTON_CMD_ATTACK 246
#define BUTTON_CMD_ATTACK 246
#define BUTTON_CMD_SHOWLIST 247
#define BUTTON_CMD_SHOWLIST 247
#define BUTTON_CMD_SHUFFLE 248
#define BUTTON_CMD_SHUFFLE 248
#define BUTTON_CMD_RESET 249
#define BUTTON_ANNUMBER_OK 250
#define BUTTON_ANNUMBER_OK 250
#define BUTTON_ANCARD_OK 251
#define BUTTON_ANCARD_OK 251
#define EDITBOX_ANCARD 252
#define EDITBOX_ANCARD 252
...
@@ -495,6 +504,7 @@ extern unsigned char draw_count;
...
@@ -495,6 +504,7 @@ extern unsigned char draw_count;
#define BUTTON_CHAIN_IGNORE 264
#define BUTTON_CHAIN_IGNORE 264
#define BUTTON_CHAIN_ALWAYS 265
#define BUTTON_CHAIN_ALWAYS 265
#define BUTTON_CHAIN_WHENAVAIL 266
#define BUTTON_CHAIN_WHENAVAIL 266
#define BUTTON_CANCEL_OR_FINISH 267
#define BUTTON_CLEAR_LOG 270
#define BUTTON_CLEAR_LOG 270
#define LISTBOX_LOG 271
#define LISTBOX_LOG 271
#define SCROLL_CARDTEXT 280
#define SCROLL_CARDTEXT 280
...
...
gframe/materials.cpp
View file @
3b5886bf
...
@@ -356,6 +356,11 @@ Materials::Materials() {
...
@@ -356,6 +356,11 @@ Materials::Materials() {
vFields
[
133
]
=
S3DVertex
(
vector3df
(
0.2
f
,
-
1.4
f
,
0.0
f
),
vector3df
(
0
,
0
,
1
),
SColor
(
255
,
255
,
255
,
255
),
vector2df
(
0
,
0
));
vFields
[
133
]
=
S3DVertex
(
vector3df
(
0.2
f
,
-
1.4
f
,
0.0
f
),
vector3df
(
0
,
0
,
1
),
SColor
(
255
,
255
,
255
,
255
),
vector2df
(
0
,
0
));
vFields
[
134
]
=
S3DVertex
(
vector3df
(
1.0
f
,
-
2.6
f
,
0.0
f
),
vector3df
(
0
,
0
,
1
),
SColor
(
255
,
255
,
255
,
255
),
vector2df
(
0
,
0
));
vFields
[
134
]
=
S3DVertex
(
vector3df
(
1.0
f
,
-
2.6
f
,
0.0
f
),
vector3df
(
0
,
0
,
1
),
SColor
(
255
,
255
,
255
,
255
),
vector2df
(
0
,
0
));
vFields
[
135
]
=
S3DVertex
(
vector3df
(
0.2
f
,
-
2.6
f
,
0.0
f
),
vector3df
(
0
,
0
,
1
),
SColor
(
255
,
255
,
255
,
255
),
vector2df
(
0
,
0
));
vFields
[
135
]
=
S3DVertex
(
vector3df
(
0.2
f
,
-
2.6
f
,
0.0
f
),
vector3df
(
0
,
0
,
1
),
SColor
(
255
,
255
,
255
,
255
),
vector2df
(
0
,
0
));
//conti_act
vFields
[
136
]
=
S3DVertex
(
vector3df
(
-
0.8
f
,
0.1
f
,
0.0
f
),
vector3df
(
0
,
0
,
1
),
SColor
(
255
,
255
,
255
,
255
),
vector2df
(
0
,
0
));
vFields
[
137
]
=
S3DVertex
(
vector3df
(
0.0
f
,
0.1
f
,
0.0
f
),
vector3df
(
0
,
0
,
1
),
SColor
(
255
,
255
,
255
,
255
),
vector2df
(
0
,
0
));
vFields
[
138
]
=
S3DVertex
(
vector3df
(
-
0.8
f
,
1.3
f
,
0.0
f
),
vector3df
(
0
,
0
,
1
),
SColor
(
255
,
255
,
255
,
255
),
vector2df
(
0
,
0
));
vFields
[
139
]
=
S3DVertex
(
vector3df
(
0.0
f
,
1.3
f
,
0.0
f
),
vector3df
(
0
,
0
,
1
),
SColor
(
255
,
255
,
255
,
255
),
vector2df
(
0
,
0
));
for
(
int
i
=
0
;
i
<
40
;
++
i
)
for
(
int
i
=
0
;
i
<
40
;
++
i
)
...
...
gframe/materials.h
View file @
3b5886bf
...
@@ -20,7 +20,7 @@ public:
...
@@ -20,7 +20,7 @@ public:
S3DVertex
vFieldSpell1
[
4
];
S3DVertex
vFieldSpell1
[
4
];
S3DVertex
vFieldSpell2
[
4
];
S3DVertex
vFieldSpell2
[
4
];
S3DVertex
vBackLine
[
76
];
S3DVertex
vBackLine
[
76
];
S3DVertex
vFields
[
1
36
];
S3DVertex
vFields
[
1
40
];
S3DVertex
vArrow
[
40
];
S3DVertex
vArrow
[
40
];
SColor
c2d
[
4
];
SColor
c2d
[
4
];
u16
iRectangle
[
6
];
u16
iRectangle
[
6
];
...
...
gframe/replay_mode.cpp
View file @
3b5886bf
...
@@ -396,7 +396,7 @@ bool ReplayMode::ReplayAnalyze(char* msg, unsigned int len) {
...
@@ -396,7 +396,7 @@ bool ReplayMode::ReplayAnalyze(char* msg, unsigned int len) {
case
MSG_SELECT_CHAIN
:
{
case
MSG_SELECT_CHAIN
:
{
player
=
BufferIO
::
ReadInt8
(
pbuf
);
player
=
BufferIO
::
ReadInt8
(
pbuf
);
count
=
BufferIO
::
ReadInt8
(
pbuf
);
count
=
BufferIO
::
ReadInt8
(
pbuf
);
pbuf
+=
10
+
count
*
1
2
;
pbuf
+=
10
+
count
*
1
3
;
return
ReadReplayResponse
();
return
ReadReplayResponse
();
}
}
case
MSG_SELECT_PLACE
:
case
MSG_SELECT_PLACE
:
...
...
gframe/single_duel.cpp
View file @
3b5886bf
...
@@ -746,7 +746,7 @@ int SingleDuel::Analyze(char* msgbuffer, unsigned int len) {
...
@@ -746,7 +746,7 @@ int SingleDuel::Analyze(char* msgbuffer, unsigned int len) {
case
MSG_SELECT_CHAIN
:
{
case
MSG_SELECT_CHAIN
:
{
player
=
BufferIO
::
ReadInt8
(
pbuf
);
player
=
BufferIO
::
ReadInt8
(
pbuf
);
count
=
BufferIO
::
ReadInt8
(
pbuf
);
count
=
BufferIO
::
ReadInt8
(
pbuf
);
pbuf
+=
10
+
count
*
1
2
;
pbuf
+=
10
+
count
*
1
3
;
WaitforResponse
(
player
);
WaitforResponse
(
player
);
NetServer
::
SendBufferToPlayer
(
players
[
player
],
STOC_GAME_MSG
,
offset
,
pbuf
-
offset
);
NetServer
::
SendBufferToPlayer
(
players
[
player
],
STOC_GAME_MSG
,
offset
,
pbuf
-
offset
);
return
1
;
return
1
;
...
...
gframe/single_mode.cpp
View file @
3b5886bf
...
@@ -215,7 +215,7 @@ bool SingleMode::SinglePlayAnalyze(char* msg, unsigned int len) {
...
@@ -215,7 +215,7 @@ bool SingleMode::SinglePlayAnalyze(char* msg, unsigned int len) {
case
MSG_SELECT_CHAIN
:
{
case
MSG_SELECT_CHAIN
:
{
player
=
BufferIO
::
ReadInt8
(
pbuf
);
player
=
BufferIO
::
ReadInt8
(
pbuf
);
count
=
BufferIO
::
ReadInt8
(
pbuf
);
count
=
BufferIO
::
ReadInt8
(
pbuf
);
pbuf
+=
10
+
count
*
1
2
;
pbuf
+=
10
+
count
*
1
3
;
if
(
!
DuelClient
::
ClientAnalyze
(
offset
,
pbuf
-
offset
))
{
if
(
!
DuelClient
::
ClientAnalyze
(
offset
,
pbuf
-
offset
))
{
mainGame
->
singleSignal
.
Reset
();
mainGame
->
singleSignal
.
Reset
();
mainGame
->
singleSignal
.
Wait
();
mainGame
->
singleSignal
.
Wait
();
...
...
gframe/tag_duel.cpp
View file @
3b5886bf
...
@@ -683,7 +683,7 @@ int TagDuel::Analyze(char* msgbuffer, unsigned int len) {
...
@@ -683,7 +683,7 @@ int TagDuel::Analyze(char* msgbuffer, unsigned int len) {
case
MSG_SELECT_CHAIN
:
{
case
MSG_SELECT_CHAIN
:
{
player
=
BufferIO
::
ReadInt8
(
pbuf
);
player
=
BufferIO
::
ReadInt8
(
pbuf
);
count
=
BufferIO
::
ReadInt8
(
pbuf
);
count
=
BufferIO
::
ReadInt8
(
pbuf
);
pbuf
+=
10
+
count
*
1
2
;
pbuf
+=
10
+
count
*
1
3
;
WaitforResponse
(
player
);
WaitforResponse
(
player
);
NetServer
::
SendBufferToPlayer
(
cur_player
[
player
],
STOC_GAME_MSG
,
offset
,
pbuf
-
offset
);
NetServer
::
SendBufferToPlayer
(
cur_player
[
player
],
STOC_GAME_MSG
,
offset
,
pbuf
-
offset
);
return
1
;
return
1
;
...
...
ocgcore
@
886141f3
Subproject commit
bdfe3d7c4db18f1b66f0cab7874108411571bff2
Subproject commit
886141f3960660a10d1ecd99ccbc745b61a16b51
script
@
e84f810c
Subproject commit
4a077c3c17def513f17d8a48d4d475714c2cc0ba
Subproject commit
e84f810cf02abd04f093303c59aa773adb172b08
strings.conf
View file @
3b5886bf
...
@@ -102,6 +102,7 @@
...
@@ -102,6 +102,7 @@
!
system
553
请选择骰子的结果
!
system
553
请选择骰子的结果
!
system
554
请选择一个种类
!
system
554
请选择一个种类
!
system
555
请选择一个选项
!
system
555
请选择一个选项
!
system
556
请选择要发动/处理的效果
!
system
560
请选择
!
system
560
请选择
!
system
561
请选择表示形式
!
system
561
请选择表示形式
!
system
562
请选择要宣言的属性
!
system
562
请选择要宣言的属性
...
@@ -110,6 +111,7 @@
...
@@ -110,6 +111,7 @@
!
system
565
请选择一个数字
!
system
565
请选择一个数字
!
system
566
请选择要发动效果的卡
!
system
566
请选择要发动效果的卡
!
system
567
请宣言一个等级
!
system
567
请宣言一个等级
!
system
568
请选择要处理效果的卡
!
system
1000
卡组
!
system
1000
卡组
!
system
1001
手卡
!
system
1001
手卡
!
system
1002
怪兽区
!
system
1002
怪兽区
...
@@ -222,6 +224,8 @@
...
@@ -222,6 +224,8 @@
!
system
1158
查看列表
!
system
1158
查看列表
!
system
1159
当魔法卡放置
!
system
1159
当魔法卡放置
!
system
1160
在灵摆区域发动
!
system
1160
在灵摆区域发动
!
system
1161
效果处理
!
system
1162
效果重置
#menu
#menu
!
system
1200
联机模式
!
system
1200
联机模式
!
system
1201
残局模式
!
system
1201
残局模式
...
@@ -282,6 +286,8 @@
...
@@ -282,6 +286,8 @@
!
system
1292
忽略时点
!
system
1292
忽略时点
!
system
1293
显示时点
!
system
1293
显示时点
!
system
1294
可用时点
!
system
1294
可用时点
!
system
1295
取消操作
!
system
1296
完成选择
!
system
1300
禁限卡表:
!
system
1300
禁限卡表:
!
system
1301
卡组列表:
!
system
1301
卡组列表:
!
system
1302
保存
!
system
1302
保存
...
@@ -334,7 +340,7 @@
...
@@ -334,7 +340,7 @@
!
system
1352
主要信息:
!
system
1352
主要信息:
!
system
1353
播放起始于回合:
!
system
1353
播放起始于回合:
!
system
1354
不显示卡片系列
!
system
1354
不显示卡片系列
!
system
1355
不显示
询问连锁
按钮
!
system
1355
不显示
提示
按钮
!
system
1360
上一步
!
system
1360
上一步
!
system
1370
星数↑
!
system
1370
星数↑
!
system
1371
攻击↑
!
system
1371
攻击↑
...
@@ -386,6 +392,8 @@
...
@@ -386,6 +392,8 @@
!
system
1622
[%
ls
]错过时点
!
system
1622
[%
ls
]错过时点
!
system
1623
投掷硬币结果:
!
system
1623
投掷硬币结果:
!
system
1624
投掷骰子结果:
!
system
1624
投掷骰子结果:
#tips
!
system
1700
可以用鼠标右键%
ls
#victory reason
#victory reason
!
victory
0
x0
投降
!
victory
0
x0
投降
!
victory
0
x1
LP
变成
0
!
victory
0
x1
LP
变成
0
...
@@ -460,7 +468,7 @@
...
@@ -460,7 +468,7 @@
!
counter
0
x34
指示物(
BOX
)
!
counter
0
x34
指示物(
BOX
)
!
counter
0
x35
音响指示物
!
counter
0
x35
音响指示物
!
counter
0
x36
娱乐法师指示物
!
counter
0
x36
娱乐法师指示物
!
counter
0
x37
大怪
兽指示物
!
counter
0
x37
坏
兽指示物
!
counter
0
x1038
方界指示物
!
counter
0
x1038
方界指示物
!
counter
0
x1039
咕咚指示物
!
counter
0
x1039
咕咚指示物
!
counter
0
x40
指示物(
No
.
51
怪腕之必杀摔角手)
!
counter
0
x40
指示物(
No
.
51
怪腕之必杀摔角手)
...
@@ -733,9 +741,9 @@
...
@@ -733,9 +741,9 @@
!
setname
0
x10cf
混沌战士 カオス・ソルジャー
!
setname
0
x10cf
混沌战士 カオス・ソルジャー
!
setname
0
xd0
威风妖怪 マジェスペクター
!
setname
0
xd0
威风妖怪 マジェスペクター
!
setname
0
xd1
灰篮 グレイドル
!
setname
0
xd1
灰篮 グレイドル
!
setname
0
xd2
星
兹
Kozmo
!
setname
0
xd2
星
际仙踪
Kozmo
!
setname
0
xd3
大怪兽
Kaiju
!
setname
0
xd3
坏兽 壊獣
!
setname
0
xd4
古生物 버제스토마
!
setname
0
xd4
伯吉斯异兽 バージェストマ
!
setname
0
xd5
但丁 ダンテ
!
setname
0
xd5
但丁 ダンテ
!
setname
0
xd6
破坏剑 破壊剣
!
setname
0
xd6
破坏剑 破壊剣
!
setname
0
xd7
巴斯达·布雷达 バスター・ブレイダー
!
setname
0
xd7
巴斯达·布雷达 バスター・ブレイダー
...
...
system.conf
View file @
3b5886bf
...
@@ -18,7 +18,8 @@ waitchain = 0
...
@@ -18,7 +18,8 @@ waitchain = 0
mute_opponent
=
0
mute_opponent
=
0
mute_spectators
=
0
mute_spectators
=
0
hide_setname
=
0
hide_setname
=
0
hide_
chain_button
=
0
hide_
hint_button
=
1
#control_mode = 0: Key A/S/D/R
. control_mode = 1: MouseLeft/MouseRight/NULL/F9
#control_mode = 0: Key A/S/D/R
Chain Buttons. control_mode = 1: MouseLeft/MouseRight/NULL/F9 Without Chain Buttons
control_mode
=
0
control_mode
=
0
draw_field_spell
=
1
draw_field_spell
=
1
separate_clear_button
=
1
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