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
98b56b0c
Commit
98b56b0c
authored
Sep 06, 2021
by
mercury233
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
https://github.com/Fluorohydride/ygopro
into server
parents
ba5af7f5
caad336e
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
39 additions
and
28 deletions
+39
-28
cards.cdb
cards.cdb
+0
-0
gframe/client_field.cpp
gframe/client_field.cpp
+2
-1
gframe/client_field.h
gframe/client_field.h
+2
-0
gframe/drawing.cpp
gframe/drawing.cpp
+24
-19
gframe/duelclient.cpp
gframe/duelclient.cpp
+2
-2
gframe/game.cpp
gframe/game.cpp
+2
-2
gframe/menu_handler.cpp
gframe/menu_handler.cpp
+1
-1
gframe/sound_manager.cpp
gframe/sound_manager.cpp
+2
-1
gframe/sound_manager.h
gframe/sound_manager.h
+2
-0
ocgcore
ocgcore
+1
-1
script
script
+1
-1
No files found.
cards.cdb
View file @
98b56b0c
No preview for this file type
gframe/client_field.cpp
View file @
98b56b0c
...
...
@@ -35,6 +35,7 @@ ClientField::ClientField() {
mzone
[
p
].
resize
(
7
,
0
);
szone
[
p
].
resize
(
8
,
0
);
}
rnd
.
reset
(
std
::
random_device
()());
}
void
ClientField
::
Clear
()
{
for
(
int
i
=
0
;
i
<
2
;
++
i
)
{
...
...
@@ -409,7 +410,7 @@ void ClientField::ShowSelectCard(bool buttonok, bool chain) {
}
}
if
(
has_card_in_grave
)
{
std
::
random_shuffle
(
selectable_cards
.
begin
(),
selectable_cards
.
end
()
);
rnd
.
shuffle_vector
(
selectable_cards
);
}
}
int
startpos
;
...
...
gframe/client_field.h
View file @
98b56b0c
...
...
@@ -2,6 +2,7 @@
#define CLIENT_FIELD_H
#include "config.h"
#include "../ocgcore/mtrandom.h"
#include <vector>
#include <set>
#include <map>
...
...
@@ -83,6 +84,7 @@ public:
bool
deck_reversed
;
bool
conti_selecting
;
bool
cant_check_grave
;
mt19937
rnd
;
ClientField
();
void
Clear
();
...
...
gframe/drawing.cpp
View file @
98b56b0c
...
...
@@ -1105,27 +1105,32 @@ void Game::DrawThumb(code_pointer cp, position2di pos, const std::unordered_map<
break
;
}
}
bool
showAvail
=
false
;
bool
showNotAvail
=
false
;
int
filter_lm
=
cbLimit
->
getSelected
();
bool
avail
=
!
((
filter_lm
==
4
&&
!
(
cp
->
second
.
ot
&
AVAIL_OCG
)
||
(
filter_lm
==
5
&&
!
(
cp
->
second
.
ot
&
AVAIL_TCG
))
||
(
filter_lm
==
6
&&
!
(
cp
->
second
.
ot
&
AVAIL_SC
))
||
(
filter_lm
==
7
&&
!
(
cp
->
second
.
ot
&
AVAIL_CUSTOM
))
||
(
filter_lm
==
8
&&
(
cp
->
second
.
ot
&
AVAIL_OCGTCG
)
!=
AVAIL_OCGTCG
)));
if
(
filter_lm
>=
4
)
{
bool
avail
=
!
((
filter_lm
==
4
&&
!
(
cp
->
second
.
ot
&
AVAIL_OCG
)
||
(
filter_lm
==
5
&&
!
(
cp
->
second
.
ot
&
AVAIL_TCG
))
||
(
filter_lm
==
6
&&
!
(
cp
->
second
.
ot
&
AVAIL_SC
))
||
(
filter_lm
==
7
&&
!
(
cp
->
second
.
ot
&
AVAIL_CUSTOM
))
||
(
filter_lm
==
8
&&
(
cp
->
second
.
ot
&
AVAIL_OCGTCG
)
!=
AVAIL_OCGTCG
)));
if
(
avail
)
{
if
((
cp
->
second
.
ot
&
AVAIL_OCG
)
&&
!
(
cp
->
second
.
ot
&
AVAIL_TCG
))
driver
->
draw2DImage
(
imageManager
.
tOT
,
otloc
,
recti
(
0
,
128
,
128
,
192
),
0
,
0
,
true
);
else
if
((
cp
->
second
.
ot
&
AVAIL_TCG
)
&&
!
(
cp
->
second
.
ot
&
AVAIL_OCG
))
driver
->
draw2DImage
(
imageManager
.
tOT
,
otloc
,
recti
(
0
,
192
,
128
,
256
),
0
,
0
,
true
);
}
else
{
if
(
cp
->
second
.
ot
&
AVAIL_OCG
)
driver
->
draw2DImage
(
imageManager
.
tOT
,
otloc
,
recti
(
0
,
0
,
128
,
64
),
0
,
0
,
true
);
else
if
(
cp
->
second
.
ot
&
AVAIL_TCG
)
driver
->
draw2DImage
(
imageManager
.
tOT
,
otloc
,
recti
(
0
,
64
,
128
,
128
),
0
,
0
,
true
);
else
driver
->
draw2DImage
(
imageManager
.
tLim
,
otloc
,
recti
(
0
,
0
,
64
,
64
),
0
,
0
,
true
);
}
showAvail
=
avail
;
showNotAvail
=
!
avail
;
}
else
if
(
!
(
cp
->
second
.
ot
&
gameConf
.
defaultOT
))
{
showNotAvail
=
true
;
}
if
(
showAvail
)
{
if
((
cp
->
second
.
ot
&
AVAIL_OCG
)
&&
!
(
cp
->
second
.
ot
&
AVAIL_TCG
))
driver
->
draw2DImage
(
imageManager
.
tOT
,
otloc
,
recti
(
0
,
128
,
128
,
192
),
0
,
0
,
true
);
else
if
((
cp
->
second
.
ot
&
AVAIL_TCG
)
&&
!
(
cp
->
second
.
ot
&
AVAIL_OCG
))
driver
->
draw2DImage
(
imageManager
.
tOT
,
otloc
,
recti
(
0
,
192
,
128
,
256
),
0
,
0
,
true
);
}
else
if
(
showNotAvail
)
{
if
(
cp
->
second
.
ot
&
AVAIL_OCG
)
driver
->
draw2DImage
(
imageManager
.
tOT
,
otloc
,
recti
(
0
,
0
,
128
,
64
),
0
,
0
,
true
);
else
if
(
cp
->
second
.
ot
&
AVAIL_TCG
)
driver
->
draw2DImage
(
imageManager
.
tOT
,
otloc
,
recti
(
0
,
64
,
128
,
128
),
0
,
0
,
true
);
else
if
(
!
avail
)
driver
->
draw2DImage
(
imageManager
.
tLim
,
otloc
,
recti
(
0
,
0
,
64
,
64
),
0
,
0
,
true
);
}
}
void
Game
::
DrawDeckBd
()
{
...
...
gframe/duelclient.cpp
View file @
98b56b0c
...
...
@@ -2172,7 +2172,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
soundManager
.
PlaySoundEffect
(
SOUND_SHUFFLE
);
for
(
int
i
=
0
;
i
<
5
;
++
i
)
{
for
(
auto
cit
=
mainGame
->
dField
.
deck
[
player
].
begin
();
cit
!=
mainGame
->
dField
.
deck
[
player
].
end
();
++
cit
)
{
(
*
cit
)
->
dPos
=
irr
::
core
::
vector3df
(
r
and
()
*
0.4
f
/
RAND_MAX
-
0.2
f
,
0
,
0
);
(
*
cit
)
->
dPos
=
irr
::
core
::
vector3df
(
r
nd
.
rand
()
*
0.4
f
/
rnd
.
rand_max
-
0.2
f
,
0
,
0
);
(
*
cit
)
->
dRot
=
irr
::
core
::
vector3df
(
0
,
0
,
0
);
(
*
cit
)
->
is_moving
=
true
;
(
*
cit
)
->
aniFrame
=
3
;
...
...
@@ -2244,7 +2244,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
for
(
int
i
=
0
;
i
<
5
;
++
i
)
{
for
(
auto
cit
=
mainGame
->
dField
.
extra
[
player
].
begin
();
cit
!=
mainGame
->
dField
.
extra
[
player
].
end
();
++
cit
)
{
if
(
!
((
*
cit
)
->
position
&
POS_FACEUP
))
{
(
*
cit
)
->
dPos
=
irr
::
core
::
vector3df
(
r
and
()
*
0.4
f
/
RAND_MAX
-
0.2
f
,
0
,
0
);
(
*
cit
)
->
dPos
=
irr
::
core
::
vector3df
(
r
nd
.
rand
()
*
0.4
f
/
rnd
.
rand_max
-
0.2
f
,
0
,
0
);
(
*
cit
)
->
dRot
=
irr
::
core
::
vector3df
(
0
,
0
,
0
);
(
*
cit
)
->
is_moving
=
true
;
(
*
cit
)
->
aniFrame
=
3
;
...
...
gframe/game.cpp
View file @
98b56b0c
...
...
@@ -16,7 +16,7 @@
#include "single_mode.h"
#endif //YGOPRO_SERVER_MODE
const
unsigned
short
PRO_VERSION
=
0x135
2
;
const
unsigned
short
PRO_VERSION
=
0x135
3
;
namespace
ygo
{
...
...
@@ -715,7 +715,7 @@ bool Game::Initialize() {
stLimit
=
env
->
addStaticText
(
dataManager
.
GetSysString
(
1315
),
rect
<
s32
>
(
205
,
2
+
25
/
6
,
280
,
22
+
25
/
6
),
false
,
false
,
wFilter
);
cbLimit
=
env
->
addComboBox
(
rect
<
s32
>
(
260
,
25
/
6
,
390
,
20
+
25
/
6
),
wFilter
,
COMBOBOX_LIMIT
);
cbLimit
->
setMaxSelectionRows
(
10
);
cbLimit
->
addItem
(
dataManager
.
GetSysString
(
1
486
));
cbLimit
->
addItem
(
dataManager
.
GetSysString
(
1
310
));
cbLimit
->
addItem
(
dataManager
.
GetSysString
(
1316
));
cbLimit
->
addItem
(
dataManager
.
GetSysString
(
1317
));
cbLimit
->
addItem
(
dataManager
.
GetSysString
(
1318
));
...
...
gframe/menu_handler.cpp
View file @
98b56b0c
...
...
@@ -309,7 +309,7 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
int
extra
=
replay
.
ReadInt32
();
for
(
int
j
=
0
;
j
<
extra
;
++
j
)
tmp_deck
.
extra
.
push_back
(
dataManager
.
GetCodePointer
(
replay
.
ReadInt32
()));
myswprintf
(
filename
,
L"
%ls %ls"
,
ex_filename
,
namebuf
[
i
]);
myswprintf
(
filename
,
L"
deck/%ls-%d %ls.ydk"
,
ex_filename
,
i
+
1
,
namebuf
[
i
]);
deckManager
.
SaveDeck
(
tmp_deck
,
filename
);
}
mainGame
->
stACMessage
->
setText
(
dataManager
.
GetSysString
(
1335
));
...
...
gframe/sound_manager.cpp
View file @
98b56b0c
...
...
@@ -11,6 +11,7 @@ bool SoundManager::Init() {
#ifdef YGOPRO_USE_IRRKLANG
bgm_scene
=
-
1
;
RefreshBGMList
();
rnd
.
reset
((
unsigned
int
)
time
(
nullptr
));
engineSound
=
irrklang
::
createIrrKlangDevice
();
engineMusic
=
irrklang
::
createIrrKlangDevice
();
if
(
!
engineSound
||
!
engineMusic
)
{
...
...
@@ -222,7 +223,7 @@ void SoundManager::PlayBGM(int scene) {
if
(
count
<=
0
)
return
;
bgm_scene
=
scene
;
int
bgm
=
r
and
()
%
count
;
int
bgm
=
r
nd
.
get_random_integer
(
0
,
count
-
1
)
;
auto
name
=
BGMList
[
scene
][
bgm
].
c_str
();
wchar_t
fname
[
1024
];
myswprintf
(
fname
,
L"./sound/BGM/%ls"
,
name
);
...
...
gframe/sound_manager.h
View file @
98b56b0c
...
...
@@ -2,6 +2,7 @@
#define SOUNDMANAGER_H
#include "game.h"
#include "../ocgcore/mtrandom.h"
#ifdef YGOPRO_USE_IRRKLANG
#include <irrKlang.h>
#endif
...
...
@@ -12,6 +13,7 @@ class SoundManager {
private:
std
::
vector
<
std
::
wstring
>
BGMList
[
8
];
int
bgm_scene
;
mt19937
rnd
;
#ifdef YGOPRO_USE_IRRKLANG
irrklang
::
ISoundEngine
*
engineSound
;
irrklang
::
ISoundEngine
*
engineMusic
;
...
...
ocgcore
@
eccfcfb8
Subproject commit
99934ac7ca0eec057eb7a9a29da5cccdc5f7fdaa
Subproject commit
eccfcfb8e150c400a032e3f484ab478a34bcdfd9
script
@
ffaa1d43
Subproject commit
967a69444572c9ab9ec3cd54ab5bf8d984e37239
Subproject commit
ffaa1d435ea6175f3ec055db3dbc14c3de9cf38b
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