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
nanahira
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