Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-2pick
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
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
MyCard
ygopro-2pick
Commits
638f68b4
Commit
638f68b4
authored
May 16, 2013
by
matteoserva
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #2 from Fluorohydride/master
merge
parents
f489892d
c6a5ebac
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
80 additions
and
28 deletions
+80
-28
gframe/duelclient.cpp
gframe/duelclient.cpp
+9
-3
gframe/event_handler.cpp
gframe/event_handler.cpp
+0
-1
gframe/game.cpp
gframe/game.cpp
+3
-0
gframe/game.h
gframe/game.h
+2
-0
gframe/mysignal.h
gframe/mysignal.h
+37
-0
gframe/replay_mode.cpp
gframe/replay_mode.cpp
+4
-2
gframe/single_mode.cpp
gframe/single_mode.cpp
+4
-3
script/c24082387.lua
script/c24082387.lua
+1
-0
script/c8323633.lua
script/c8323633.lua
+1
-1
script/c83438826.lua
script/c83438826.lua
+12
-17
script/c83746708.lua
script/c83746708.lua
+7
-1
No files found.
gframe/duelclient.cpp
View file @
638f68b4
...
...
@@ -159,7 +159,9 @@ void DuelClient::ClientEvent(bufferevent *bev, short events, void *ctx) {
mainGame
->
btnCreateHost
->
setEnabled
(
true
);
mainGame
->
btnJoinHost
->
setEnabled
(
true
);
mainGame
->
btnJoinCancel
->
setEnabled
(
true
);
mainGame
->
CloseDuelWindow
();
mainGame
->
closeDoneSignal
.
Reset
();
mainGame
->
closeSignal
.
Set
();
mainGame
->
closeDoneSignal
.
Wait
();
mainGame
->
dInfo
.
isStarted
=
false
;
mainGame
->
is_building
=
false
;
mainGame
->
device
->
setEventReceiver
(
&
mainGame
->
menuHandler
);
...
...
@@ -498,7 +500,9 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
mainGame
->
actionSignal
.
Reset
();
mainGame
->
actionSignal
.
Wait
();
mainGame
->
gMutex
.
Lock
();
mainGame
->
CloseDuelWindow
();
mainGame
->
closeDoneSignal
.
Reset
();
mainGame
->
closeSignal
.
Set
();
mainGame
->
closeDoneSignal
.
Wait
();
mainGame
->
dInfo
.
isStarted
=
false
;
mainGame
->
btnCreateHost
->
setEnabled
(
true
);
mainGame
->
btnJoinHost
->
setEnabled
(
true
);
...
...
@@ -708,7 +712,9 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
mainGame
->
actionSignal
.
Reset
();
mainGame
->
actionSignal
.
Wait
();
mainGame
->
gMutex
.
Lock
();
mainGame
->
CloseDuelWindow
();
mainGame
->
closeDoneSignal
.
Reset
();
mainGame
->
closeSignal
.
Set
();
mainGame
->
closeDoneSignal
.
Wait
();
mainGame
->
dInfo
.
isStarted
=
false
;
mainGame
->
btnCreateHost
->
setEnabled
(
true
);
mainGame
->
btnJoinHost
->
setEnabled
(
true
);
...
...
gframe/event_handler.cpp
View file @
638f68b4
...
...
@@ -100,7 +100,6 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
}
if
(
mainGame
->
dInfo
.
player_type
==
7
)
{
DuelClient
::
StopClient
();
mainGame
->
CloseDuelWindow
();
mainGame
->
dInfo
.
isStarted
=
false
;
mainGame
->
device
->
setEventReceiver
(
&
mainGame
->
menuHandler
);
mainGame
->
btnCreateHost
->
setEnabled
(
true
);
...
...
gframe/game.cpp
View file @
638f68b4
...
...
@@ -543,6 +543,8 @@ void Game::MainLoop() {
}
}
driver
->
endScene
();
if
(
closeSignal
.
Wait
(
0
))
CloseDuelWindow
();
fps
++
;
cur_time
=
timer
->
getTime
();
if
(
cur_time
<
fps
*
17
-
20
)
...
...
@@ -907,6 +909,7 @@ void Game::CloseDuelWindow() {
lstHostList
->
clear
();
DuelClient
::
hosts
.
clear
();
ClearTextures
();
closeDoneSignal
.
Set
();
}
int
Game
::
LocalPlayer
(
int
player
)
{
return
dInfo
.
isFirst
?
player
:
1
-
player
;
...
...
gframe/game.h
View file @
638f68b4
...
...
@@ -102,6 +102,8 @@ public:
Signal
actionSignal
;
Signal
replaySignal
;
Signal
singleSignal
;
Signal
closeSignal
;
Signal
closeDoneSignal
;
Config
gameConf
;
DuelInfo
dInfo
;
...
...
gframe/mysignal.h
View file @
638f68b4
...
...
@@ -25,6 +25,11 @@ public:
return
;
WaitForSingleObject
(
_event
,
INFINITE
);
}
bool
Wait
(
long
milli
)
{
if
(
_nowait
)
return
false
;
return
WaitForSingleObject
(
_event
,
milli
+
1
)
!=
WAIT_TIMEOUT
;
}
void
SetNoWait
(
bool
nowait
)
{
_nowait
=
nowait
;
}
...
...
@@ -83,6 +88,38 @@ public:
_state
=
false
;
pthread_mutex_unlock
(
&
_mutex
);
}
bool
Wait
(
long
milliseconds
)
{
if
(
_nowait
||
pthread_mutex_lock
(
&
_mutex
)
!=
0
)
return
false
;
int
rc
=
0
;
struct
timespec
abstime
;
struct
timeval
tv
;
gettimeofday
(
&
tv
,
NULL
);
abstime
.
tv_sec
=
tv
.
tv_sec
+
milliseconds
/
1000
;
abstime
.
tv_nsec
=
tv
.
tv_usec
*
1000
+
(
milliseconds
%
1000
)
*
1000000
;
if
(
abstime
.
tv_nsec
>=
1000000000
)
{
abstime
.
tv_nsec
-=
1000000000
;
abstime
.
tv_sec
++
;
}
while
(
!
_state
)
{
if
((
rc
=
pthread_cond_timedwait
(
&
_cond
,
&
_mutex
,
&
abstime
)))
{
if
(
rc
==
ETIMEDOUT
)
break
;
pthread_mutex_unlock
(
&
_mutex
);
return
false
;
}
}
_state
=
false
;
pthread_mutex_unlock
(
&
_mutex
);
return
rc
==
0
;
}
void
SetNoWait
(
bool
nowait
)
{
_nowait
=
nowait
;
}
...
...
gframe/replay_mode.cpp
View file @
638f68b4
...
...
@@ -166,11 +166,13 @@ int ReplayMode::ReplayThread(void* param) {
mainGame
->
gMutex
.
Lock
();
mainGame
->
dInfo
.
isStarted
=
false
;
mainGame
->
dInfo
.
isReplay
=
false
;
mainGame
->
CloseDuelWindow
();
mainGame
->
ClearTextures
();
mainGame
->
closeDoneSignal
.
Reset
();
mainGame
->
closeSignal
.
Set
();
mainGame
->
closeDoneSignal
.
Wait
();
mainGame
->
ShowElement
(
mainGame
->
wReplay
);
mainGame
->
gMutex
.
Unlock
();
mainGame
->
device
->
setEventReceiver
(
&
mainGame
->
menuHandler
);
mainGame
->
closeSignal
.
Set
();
}
return
0
;
}
...
...
gframe/single_mode.cpp
View file @
638f68b4
...
...
@@ -92,11 +92,12 @@ int SingleMode::SinglePlayThread(void* param) {
mainGame
->
gMutex
.
Lock
();
mainGame
->
dInfo
.
isStarted
=
false
;
mainGame
->
dInfo
.
isSingleMode
=
false
;
mainGame
->
CloseDuelWindow
();
mainGame
->
ClearTextures
();
mainGame
->
closeDoneSignal
.
Reset
();
mainGame
->
closeSignal
.
Set
();
mainGame
->
closeDoneSignal
.
Wait
();
mainGame
->
ShowElement
(
mainGame
->
wSinglePlay
);
mainGame
->
gMutex
.
Unlock
();
mainGame
->
device
->
setEventReceiver
(
&
mainGame
->
menuHandler
);
mainGame
->
gMutex
.
Unlock
();
}
return
0
;
}
...
...
script/c24082387.lua
View file @
638f68b4
...
...
@@ -5,6 +5,7 @@ function c24082387.initial_effect(c)
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_DAMAGE
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetHintTiming
(
0
,
TIMING_END_PHASE
)
e1
:
SetLabel
(
0
)
e1
:
SetCost
(
c24082387
.
cost
)
e1
:
SetTarget
(
c24082387
.
target
)
...
...
script/c8323633.lua
View file @
638f68b4
...
...
@@ -4,7 +4,7 @@ function c8323633.initial_effect(c)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
Set
Target
(
c8323633
.
target
)
e1
:
Set
Operation
(
c8323633
.
target
)
c
:
RegisterEffect
(
e1
)
end
function
c8323633
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
...
...
script/c83438826.lua
View file @
638f68b4
...
...
@@ -76,23 +76,18 @@ end
function
c83438826
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
if
not
c
:
IsRelateToEffect
(
e
)
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsFaceup
()
then
return
end
if
c
:
GetFlagEffect
(
83438826
)
==
0
then
local
eq
=
c
:
GetEquipTarget
()
if
not
c
:
IsRelateToEffect
(
e
)
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsFaceup
()
or
not
eq
:
IsAttackAbove
(
500
)
then
return
end
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_EQUIP
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetValue
(
-
500
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterFlagEffect
(
83438826
,
RESET_EVENT
+
0x1fe0000
,
0
,
0
)
e
:
SetLabelObject
(
e1
)
e
:
SetLabel
(
2
)
else
local
pe
=
e
:
GetLabelObject
()
local
ct
=
e
:
GetLabel
()
e
:
SetLabel
(
ct
+
1
)
pe
:
SetValue
(
ct
*-
500
)
end
eq
:
RegisterEffect
(
e1
)
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
end
function
c83438826
.
eqcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
script/c83746708.lua
View file @
638f68b4
...
...
@@ -41,6 +41,12 @@ function c83746708.operation(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Equip
(
tp
,
e
:
GetHandler
(),
tc
)
end
end
function
c83746708
.
filter
(
c
)
return
c
:
IsType
(
TYPE_SPELL
)
or
c
:
IsType
(
TYPE_TRAP
)
end
function
c83746708
.
value
(
e
,
c
)
return
Duel
.
GetFieldGroupCount
(
e
:
GetHandler
():
GetControler
(),
LOCATION_SZONE
,
0
)
*
500
local
g
=
Duel
.
GetMatchingGroup
(
c83746708
.
filter
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
return
g
:
GetCount
()
*
500
end
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