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
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
Commits
752902ab
Commit
752902ab
authored
May 28, 2023
by
mercury233
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
https://github.com/Fluorohydride/ygopro
parents
f8da5e4d
e36d58d4
Pipeline
#21909
passed with stages
in 58 minutes and 16 seconds
Changes
9
Pipelines
2
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
90 additions
and
48 deletions
+90
-48
gframe/data_manager.cpp
gframe/data_manager.cpp
+1
-1
gframe/drawing.cpp
gframe/drawing.cpp
+16
-14
gframe/duelclient.cpp
gframe/duelclient.cpp
+31
-21
gframe/event_handler.cpp
gframe/event_handler.cpp
+8
-1
gframe/game.cpp
gframe/game.cpp
+15
-3
gframe/game.h
gframe/game.h
+4
-1
ocgcore
ocgcore
+1
-1
script
script
+1
-1
strings.conf
strings.conf
+13
-5
No files found.
gframe/data_manager.cpp
View file @
752902ab
...
...
@@ -279,7 +279,7 @@ const wchar_t* DataManager::FormatRace(int race) {
wchar_t
*
p
=
racBuffer
;
unsigned
filter
=
1
;
int
i
=
1020
;
for
(;
filter
!=
0x2000000
;
filter
<<=
1
,
++
i
)
{
for
(;
filter
<
(
1
<<
RACES_COUNT
)
;
filter
<<=
1
,
++
i
)
{
if
(
race
&
filter
)
{
BufferIO
::
CopyWStrRef
(
GetSysString
(
i
),
p
,
16
);
*
p
=
L'|'
;
...
...
gframe/drawing.cpp
View file @
752902ab
...
...
@@ -564,20 +564,22 @@ void Game::DrawMisc() {
DrawShadowText
(
numFont
,
dInfo
.
strLP
[
0
],
Resize
(
330
,
12
,
631
,
30
),
Resize
(
0
,
1
,
2
,
0
),
0xffffff00
,
0xff000000
,
true
,
false
,
0
);
DrawShadowText
(
numFont
,
dInfo
.
strLP
[
1
],
Resize
(
691
,
12
,
992
,
30
),
Resize
(
0
,
1
,
2
,
0
),
0xffffff00
,
0xff000000
,
true
,
false
,
0
);
recti
p1size
=
Resize
(
335
,
31
,
629
,
50
);
recti
p2size
=
Resize
(
986
,
31
,
986
,
50
);
if
(
!
dInfo
.
isTag
||
!
dInfo
.
tag_player
[
0
])
textFont
->
draw
(
dInfo
.
hostname
,
p1size
,
0xffffffff
,
false
,
false
,
0
);
else
textFont
->
draw
(
dInfo
.
hostname_tag
,
p1size
,
0xffffffff
,
false
,
false
,
0
);
if
(
!
dInfo
.
isTag
||
!
dInfo
.
tag_player
[
1
])
{
auto
cld
=
textFont
->
getDimension
(
dInfo
.
clientname
);
p2size
.
UpperLeftCorner
.
X
-=
cld
.
Width
;
textFont
->
draw
(
dInfo
.
clientname
,
p2size
,
0xffffffff
,
false
,
false
,
0
);
}
else
{
auto
cld
=
textFont
->
getDimension
(
dInfo
.
clientname_tag
);
p2size
.
UpperLeftCorner
.
X
-=
cld
.
Width
;
textFont
->
draw
(
dInfo
.
clientname_tag
,
p2size
,
0xffffffff
,
false
,
false
,
0
);
if
(
!
gameConf
.
hide_player_name
)
{
recti
p1size
=
Resize
(
335
,
31
,
629
,
50
);
recti
p2size
=
Resize
(
986
,
31
,
986
,
50
);
if
(
!
dInfo
.
isTag
||
!
dInfo
.
tag_player
[
0
])
textFont
->
draw
(
dInfo
.
hostname
,
p1size
,
0xffffffff
,
false
,
false
,
0
);
else
textFont
->
draw
(
dInfo
.
hostname_tag
,
p1size
,
0xffffffff
,
false
,
false
,
0
);
if
(
!
dInfo
.
isTag
||
!
dInfo
.
tag_player
[
1
])
{
auto
cld
=
textFont
->
getDimension
(
dInfo
.
clientname
);
p2size
.
UpperLeftCorner
.
X
-=
cld
.
Width
;
textFont
->
draw
(
dInfo
.
clientname
,
p2size
,
0xffffffff
,
false
,
false
,
0
);
}
else
{
auto
cld
=
textFont
->
getDimension
(
dInfo
.
clientname_tag
);
p2size
.
UpperLeftCorner
.
X
-=
cld
.
Width
;
textFont
->
draw
(
dInfo
.
clientname_tag
,
p2size
,
0xffffffff
,
false
,
false
,
0
);
}
}
driver
->
draw2DRectangle
(
Resize
(
632
,
10
,
688
,
30
),
0x00000000
,
0x00000000
,
0xffffffff
,
0xffffffff
);
driver
->
draw2DRectangle
(
Resize
(
632
,
30
,
688
,
50
),
0xffffffff
,
0xffffffff
,
0x00000000
,
0x00000000
);
...
...
gframe/duelclient.cpp
View file @
752902ab
...
...
@@ -468,8 +468,11 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
mainGame
->
stHostPrepDuelist
[
2
]
->
setVisible
(
false
);
mainGame
->
stHostPrepDuelist
[
3
]
->
setVisible
(
false
);
}
for
(
int
i
=
0
;
i
<
4
;
++
i
)
for
(
int
i
=
0
;
i
<
4
;
++
i
)
{
mainGame
->
chkHostPrepReady
[
i
]
->
setChecked
(
false
);
mainGame
->
stHostPrepDuelist
[
i
]
->
setText
(
L""
);
mainGame
->
stHostPrepDuelist
[
i
]
->
setToolTipText
(
L""
);
}
mainGame
->
btnHostPrepReady
->
setVisible
(
true
);
mainGame
->
btnHostPrepNotReady
->
setVisible
(
false
);
mainGame
->
dInfo
.
time_limit
=
pkt
->
info
.
time_limit
;
...
...
@@ -478,10 +481,6 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
mainGame
->
deckBuilder
.
filterList
=
deckManager
.
GetLFListContent
(
pkt
->
info
.
lflist
);
if
(
mainGame
->
deckBuilder
.
filterList
==
nullptr
)
mainGame
->
deckBuilder
.
filterList
=
&
deckManager
.
_lfList
[
0
].
content
;
mainGame
->
stHostPrepDuelist
[
0
]
->
setText
(
L""
);
mainGame
->
stHostPrepDuelist
[
1
]
->
setText
(
L""
);
mainGame
->
stHostPrepDuelist
[
2
]
->
setText
(
L""
);
mainGame
->
stHostPrepDuelist
[
3
]
->
setText
(
L""
);
mainGame
->
stHostPrepOB
->
setText
(
L""
);
mainGame
->
SetStaticText
(
mainGame
->
stHostPrepRule
,
180
,
mainGame
->
guiFont
,
str
.
c_str
());
mainGame
->
RefreshCategoryDeck
(
mainGame
->
cbCategorySelect
,
mainGame
->
cbDeckSelect
);
...
...
@@ -618,11 +617,11 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
mainGame
->
btnSpectatorSwap
->
setVisible
(
true
);
}
if
(
selftype
!=
1
)
{
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
0
]
->
getT
ext
(),
mainGame
->
dInfo
.
hostname
,
20
);
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
1
]
->
getT
ext
(),
mainGame
->
dInfo
.
clientname
,
20
);
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
0
]
->
getT
oolTipText
().
c_str
(),
mainGame
->
dInfo
.
hostname
,
20
);
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
1
]
->
getT
oolTipText
().
c_str
(),
mainGame
->
dInfo
.
clientname
,
20
);
}
else
{
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
1
]
->
getT
ext
(),
mainGame
->
dInfo
.
hostname
,
20
);
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
0
]
->
getT
ext
(),
mainGame
->
dInfo
.
clientname
,
20
);
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
1
]
->
getT
oolTipText
().
c_str
(),
mainGame
->
dInfo
.
hostname
,
20
);
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
0
]
->
getT
oolTipText
().
c_str
(),
mainGame
->
dInfo
.
clientname
,
20
);
}
}
else
{
if
(
selftype
>
3
)
{
...
...
@@ -632,15 +631,15 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
mainGame
->
btnSpectatorSwap
->
setVisible
(
true
);
}
if
(
selftype
>
1
&&
selftype
<
4
)
{
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
2
]
->
getT
ext
(),
mainGame
->
dInfo
.
hostname
,
20
);
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
3
]
->
getT
ext
(),
mainGame
->
dInfo
.
hostname_tag
,
20
);
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
0
]
->
getT
ext
(),
mainGame
->
dInfo
.
clientname
,
20
);
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
1
]
->
getT
ext
(),
mainGame
->
dInfo
.
clientname_tag
,
20
);
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
2
]
->
getT
oolTipText
().
c_str
(),
mainGame
->
dInfo
.
hostname
,
20
);
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
3
]
->
getT
oolTipText
().
c_str
(),
mainGame
->
dInfo
.
hostname_tag
,
20
);
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
0
]
->
getT
oolTipText
().
c_str
(),
mainGame
->
dInfo
.
clientname
,
20
);
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
1
]
->
getT
oolTipText
().
c_str
(),
mainGame
->
dInfo
.
clientname_tag
,
20
);
}
else
{
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
0
]
->
getT
ext
(),
mainGame
->
dInfo
.
hostname
,
20
);
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
1
]
->
getT
ext
(),
mainGame
->
dInfo
.
hostname_tag
,
20
);
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
2
]
->
getT
ext
(),
mainGame
->
dInfo
.
clientname
,
20
);
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
3
]
->
getT
ext
(),
mainGame
->
dInfo
.
clientname_tag
,
20
);
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
0
]
->
getT
oolTipText
().
c_str
(),
mainGame
->
dInfo
.
hostname
,
20
);
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
1
]
->
getT
oolTipText
().
c_str
(),
mainGame
->
dInfo
.
hostname_tag
,
20
);
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
2
]
->
getT
oolTipText
().
c_str
(),
mainGame
->
dInfo
.
clientname
,
20
);
BufferIO
::
CopyWStr
(
mainGame
->
stHostPrepDuelist
[
3
]
->
getT
oolTipText
().
c_str
(),
mainGame
->
dInfo
.
clientname_tag
,
20
);
}
mainGame
->
dInfo
.
tag_player
[
0
]
=
false
;
mainGame
->
dInfo
.
tag_player
[
1
]
=
false
;
...
...
@@ -802,7 +801,11 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
BufferIO
::
CopyWStr
(
pkt
->
name
,
mainGame
->
dInfo
.
clientname
,
20
);
}
mainGame
->
gMutex
.
lock
();
mainGame
->
stHostPrepDuelist
[
pkt
->
pos
]
->
setText
(
name
);
if
(
mainGame
->
gameConf
.
hide_player_name
)
mainGame
->
stHostPrepDuelist
[
pkt
->
pos
]
->
setText
(
L"[********]"
);
else
mainGame
->
stHostPrepDuelist
[
pkt
->
pos
]
->
setText
(
name
);
mainGame
->
stHostPrepDuelist
[
pkt
->
pos
]
->
setToolTipText
(
name
);
mainGame
->
gMutex
.
unlock
();
mainGame
->
FlashWindow
();
break
;
...
...
@@ -816,9 +819,14 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
mainGame
->
gMutex
.
lock
();
if
(
state
<
8
)
{
soundManager
.
PlaySoundEffect
(
SOUND_PLAYER_ENTER
);
wchar_t
*
prename
=
(
wchar_t
*
)
mainGame
->
stHostPrepDuelist
[
pos
]
->
getText
();
mainGame
->
stHostPrepDuelist
[
state
]
->
setText
(
prename
);
wchar_t
*
prename
=
(
wchar_t
*
)
mainGame
->
stHostPrepDuelist
[
pos
]
->
getToolTipText
().
c_str
();
if
(
mainGame
->
gameConf
.
hide_player_name
)
mainGame
->
stHostPrepDuelist
[
state
]
->
setText
(
L"[********]"
);
else
mainGame
->
stHostPrepDuelist
[
state
]
->
setText
(
prename
);
mainGame
->
stHostPrepDuelist
[
state
]
->
setToolTipText
(
prename
);
mainGame
->
stHostPrepDuelist
[
pos
]
->
setText
(
L""
);
mainGame
->
stHostPrepDuelist
[
pos
]
->
setToolTipText
(
L""
);
mainGame
->
chkHostPrepReady
[
pos
]
->
setChecked
(
false
);
if
(
pos
==
0
)
BufferIO
::
CopyWStr
(
prename
,
mainGame
->
dInfo
.
hostname
,
20
);
...
...
@@ -842,12 +850,14 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
}
}
else
if
(
state
==
PLAYERCHANGE_LEAVE
)
{
mainGame
->
stHostPrepDuelist
[
pos
]
->
setText
(
L""
);
mainGame
->
stHostPrepDuelist
[
pos
]
->
setToolTipText
(
L""
);
mainGame
->
chkHostPrepReady
[
pos
]
->
setChecked
(
false
);
}
else
if
(
state
==
PLAYERCHANGE_OBSERVE
)
{
watching
++
;
wchar_t
watchbuf
[
32
];
myswprintf
(
watchbuf
,
L"%ls%d"
,
dataManager
.
GetSysString
(
1253
),
watching
);
mainGame
->
stHostPrepDuelist
[
pos
]
->
setText
(
L""
);
mainGame
->
stHostPrepDuelist
[
pos
]
->
setToolTipText
(
L""
);
mainGame
->
chkHostPrepReady
[
pos
]
->
setChecked
(
false
);
mainGame
->
stHostPrepOB
->
setText
(
watchbuf
);
}
...
...
@@ -3522,7 +3532,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
/*int player = */
mainGame
->
LocalPlayer
(
BufferIO
::
ReadInt8
(
pbuf
));
mainGame
->
dField
.
announce_count
=
BufferIO
::
ReadInt8
(
pbuf
);
int
available
=
BufferIO
::
ReadInt32
(
pbuf
);
for
(
int
i
=
0
,
filter
=
0x1
;
i
<
25
;
++
i
,
filter
<<=
1
)
{
for
(
int
i
=
0
,
filter
=
0x1
;
i
<
RACES_COUNT
;
++
i
,
filter
<<=
1
)
{
mainGame
->
chkRace
[
i
]
->
setChecked
(
false
);
if
(
filter
&
available
)
mainGame
->
chkRace
[
i
]
->
setVisible
(
true
);
...
...
gframe/event_handler.cpp
View file @
752902ab
...
...
@@ -837,7 +837,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
}
case
CHECK_RACE
:
{
int
rac
=
0
,
filter
=
0x1
,
count
=
0
;
for
(
int
i
=
0
;
i
<
25
;
++
i
,
filter
<<=
1
)
{
for
(
int
i
=
0
;
i
<
RACES_COUNT
;
++
i
,
filter
<<=
1
)
{
if
(
mainGame
->
chkRace
[
i
]
->
isChecked
())
{
rac
|=
filter
;
count
++
;
...
...
@@ -1920,6 +1920,13 @@ bool ClientField::OnCommonEvent(const irr::SEvent& event) {
return
true
;
break
;
}
case
CHECKBOX_HIDE_PLAYER_NAME
:
{
mainGame
->
gameConf
.
hide_player_name
=
mainGame
->
chkHidePlayerName
->
isChecked
()
?
1
:
0
;
if
(
mainGame
->
gameConf
.
hide_player_name
)
mainGame
->
ClearChatMsg
();
return
true
;
break
;
}
case
CHECKBOX_PREFER_EXPANSION
:
{
mainGame
->
gameConf
.
prefer_expansion_script
=
mainGame
->
chkPreferExpansionScript
->
isChecked
()
?
1
:
0
;
return
true
;
...
...
gframe/game.cpp
View file @
752902ab
...
...
@@ -10,7 +10,7 @@
#include "netserver.h"
#include "single_mode.h"
const
unsigned
short
PRO_VERSION
=
0x13
54
;
const
unsigned
short
PRO_VERSION
=
0x13
60
;
namespace
ygo
{
...
...
@@ -399,6 +399,9 @@ bool Game::Initialize() {
chkIgnore2
=
env
->
addCheckBox
(
false
,
rect
<
s32
>
(
posX
,
posY
,
posX
+
260
,
posY
+
25
),
tabSystem
,
-
1
,
dataManager
.
GetSysString
(
1291
));
chkIgnore2
->
setChecked
(
gameConf
.
chkIgnore2
!=
0
);
posY
+=
30
;
chkHidePlayerName
=
env
->
addCheckBox
(
false
,
rect
<
s32
>
(
posX
,
posY
,
posX
+
260
,
posY
+
25
),
tabSystem
,
CHECKBOX_HIDE_PLAYER_NAME
,
dataManager
.
GetSysString
(
1289
));
chkHidePlayerName
->
setChecked
(
gameConf
.
hide_player_name
!=
0
);
posY
+=
30
;
chkIgnoreDeckChanges
=
env
->
addCheckBox
(
false
,
rect
<
s32
>
(
posX
,
posY
,
posX
+
260
,
posY
+
25
),
tabSystem
,
-
1
,
dataManager
.
GetSysString
(
1357
));
chkIgnoreDeckChanges
->
setChecked
(
gameConf
.
chkIgnoreDeckChanges
!=
0
);
posY
+=
30
;
...
...
@@ -583,7 +586,7 @@ bool Game::Initialize() {
wANRace
=
env
->
addWindow
(
rect
<
s32
>
(
480
,
200
,
850
,
410
),
false
,
dataManager
.
GetSysString
(
563
));
wANRace
->
getCloseButton
()
->
setVisible
(
false
);
wANRace
->
setVisible
(
false
);
for
(
int
filter
=
0x1
,
i
=
0
;
i
<
25
;
filter
<<=
1
,
++
i
)
for
(
int
filter
=
0x1
,
i
=
0
;
i
<
RACES_COUNT
;
filter
<<=
1
,
++
i
)
chkRace
[
i
]
=
env
->
addCheckBox
(
false
,
rect
<
s32
>
(
10
+
(
i
%
4
)
*
90
,
25
+
(
i
/
4
)
*
25
,
100
+
(
i
%
4
)
*
90
,
50
+
(
i
/
4
)
*
25
),
wANRace
,
CHECK_RACE
,
dataManager
.
FormatRace
(
filter
));
//selection hint
...
...
@@ -720,7 +723,7 @@ bool Game::Initialize() {
cbRace
=
env
->
addComboBox
(
rect
<
s32
>
(
60
,
40
+
75
/
6
,
190
,
60
+
75
/
6
),
wFilter
,
COMBOBOX_RACE
);
cbRace
->
setMaxSelectionRows
(
10
);
cbRace
->
addItem
(
dataManager
.
GetSysString
(
1310
),
0
);
for
(
int
filter
=
0x1
;
filter
!=
0x2000000
;
filter
<<=
1
)
for
(
int
filter
=
0x1
;
filter
<
(
1
<<
RACES_COUNT
)
;
filter
<<=
1
)
cbRace
->
addItem
(
dataManager
.
FormatRace
(
filter
),
filter
);
stAttack
=
env
->
addStaticText
(
dataManager
.
GetSysString
(
1322
),
rect
<
s32
>
(
205
,
22
+
50
/
6
,
280
,
42
+
50
/
6
),
false
,
false
,
wFilter
);
ebAttack
=
env
->
addEditBox
(
L""
,
rect
<
s32
>
(
260
,
20
+
50
/
6
,
340
,
40
+
50
/
6
),
true
,
wFilter
,
EDITBOX_INPUTS
);
...
...
@@ -1320,6 +1323,7 @@ void Game::LoadConfig() {
gameConf
.
quick_animation
=
0
;
gameConf
.
auto_save_replay
=
0
;
gameConf
.
draw_single_chain
=
0
;
gameConf
.
hide_player_name
=
0
;
gameConf
.
prefer_expansion_script
=
0
;
gameConf
.
enable_sound
=
true
;
gameConf
.
sound_volume
=
0.5
;
...
...
@@ -1410,6 +1414,8 @@ void Game::LoadConfig() {
gameConf
.
auto_save_replay
=
atoi
(
valbuf
);
}
else
if
(
!
strcmp
(
strbuf
,
"draw_single_chain"
))
{
gameConf
.
draw_single_chain
=
atoi
(
valbuf
);
}
else
if
(
!
strcmp
(
strbuf
,
"hide_player_name"
))
{
gameConf
.
hide_player_name
=
atoi
(
valbuf
);
}
else
if
(
!
strcmp
(
strbuf
,
"prefer_expansion_script"
))
{
gameConf
.
prefer_expansion_script
=
atoi
(
valbuf
);
}
else
if
(
!
strcmp
(
strbuf
,
"window_maximized"
))
{
...
...
@@ -1511,6 +1517,7 @@ void Game::SaveConfig() {
fprintf
(
fp
,
"quick_animation = %d
\n
"
,
gameConf
.
quick_animation
);
fprintf
(
fp
,
"auto_save_replay = %d
\n
"
,
(
chkAutoSaveReplay
->
isChecked
()
?
1
:
0
));
fprintf
(
fp
,
"draw_single_chain = %d
\n
"
,
gameConf
.
draw_single_chain
);
fprintf
(
fp
,
"hide_player_name = %d
\n
"
,
gameConf
.
hide_player_name
);
fprintf
(
fp
,
"prefer_expansion_script = %d
\n
"
,
gameConf
.
prefer_expansion_script
);
fprintf
(
fp
,
"window_maximized = %d
\n
"
,
(
gameConf
.
window_maximized
?
1
:
0
));
fprintf
(
fp
,
"window_width = %d
\n
"
,
gameConf
.
window_width
);
...
...
@@ -1644,6 +1651,8 @@ void Game::AddChatMsg(const wchar_t* msg, int player) {
chatMsg
[
0
].
clear
();
chatTiming
[
0
]
=
1200
;
chatType
[
0
]
=
player
;
if
(
gameConf
.
hide_player_name
&&
player
<
4
)
player
=
10
;
switch
(
player
)
{
case
0
:
//from host
chatMsg
[
0
].
append
(
dInfo
.
hostname
);
...
...
@@ -1675,6 +1684,9 @@ void Game::AddChatMsg(const wchar_t* msg, int player) {
case
9
:
//error message
chatMsg
[
0
].
append
(
L"[Script Error]: "
);
break
;
case
10
:
//hidden name
chatMsg
[
0
].
append
(
L"[********]: "
);
break
;
default:
//from watcher or unknown
if
(
player
<
11
||
player
>
19
)
chatMsg
[
0
].
append
(
L"[---]: "
);
...
...
gframe/game.h
View file @
752902ab
...
...
@@ -52,6 +52,7 @@ struct Config {
int
quick_animation
;
int
auto_save_replay
;
int
draw_single_chain
;
int
hide_player_name
;
int
prefer_expansion_script
;
bool
enable_sound
;
bool
enable_music
;
...
...
@@ -296,6 +297,7 @@ public:
irr
::
gui
::
IGUICheckBox
*
chkQuickAnimation
;
irr
::
gui
::
IGUICheckBox
*
chkAutoSaveReplay
;
irr
::
gui
::
IGUICheckBox
*
chkDrawSingleChain
;
irr
::
gui
::
IGUICheckBox
*
chkHidePlayerName
;
irr
::
gui
::
IGUIWindow
*
tabSystem
;
irr
::
gui
::
IGUIElement
*
elmTabSystemLast
;
irr
::
gui
::
IGUIScrollBar
*
scrTabSystem
;
...
...
@@ -456,7 +458,7 @@ public:
irr
::
gui
::
IGUICheckBox
*
chkAttribute
[
7
];
//announce race
irr
::
gui
::
IGUIWindow
*
wANRace
;
irr
::
gui
::
IGUICheckBox
*
chkRace
[
25
];
irr
::
gui
::
IGUICheckBox
*
chkRace
[
RACES_COUNT
];
//cmd menu
irr
::
gui
::
IGUIWindow
*
wCmdMenu
;
irr
::
gui
::
IGUIButton
*
btnActivate
;
...
...
@@ -793,6 +795,7 @@ extern Game* mainGame;
#define CHECKBOX_PREFER_EXPANSION 373
#define CHECKBOX_DRAW_SINGLE_CHAIN 374
#define CHECKBOX_LFLIST 375
#define CHECKBOX_HIDE_PLAYER_NAME 376
#define BUTTON_BIG_CARD_CLOSE 380
#define BUTTON_BIG_CARD_ZOOM_IN 381
#define BUTTON_BIG_CARD_ZOOM_OUT 382
...
...
ocgcore
@
a8cc7f5d
Subproject commit a
a17eed5e24f7d589afcc1f520769be5b60ea9fd
Subproject commit a
8cc7f5d43c39757b78f1921ef85e79333ec9311
script
@
d5747ceb
Subproject commit
300d1a981a3b45d47c62d0c6a5035706052a6e52
Subproject commit
d5747ceb983d601d117a838139fe13b0ec502057
strings.conf
View file @
752902ab
...
...
@@ -181,6 +181,7 @@
!
system
1042
创造神
!
system
1043
幻龙
!
system
1044
电子界
!
system
1045
幻想魔
!
system
1050
怪兽
!
system
1051
魔法
!
system
1052
陷阱
...
...
@@ -338,6 +339,7 @@
!
system
1286
特大
!
system
1287
只有连锁
1
也显示连锁动画
!
system
1288
禁限卡表
!
system
1289
隐藏玩家昵称
!
system
1290
禁用聊天功能
!
system
1291
忽略观战者发言
!
system
1292
忽略时点
...
...
@@ -594,7 +596,7 @@
!
counter
0
x25
年代记指示物
!
counter
0
x26
指示物(金属射手)
!
counter
0
x27
指示物(死亡蚊)
!
counter
0
x28
指示物(暗黑
投
射手)
!
counter
0
x28
指示物(暗黑
弹
射手)
!
counter
0
x29
指示物(气球蜥蜴)
!
counter
0
x102a
指示物(魔法防护器)
!
counter
0
x2b
命运指示物
...
...
@@ -638,7 +640,7 @@
!
counter
0
x57
幻魔指示物
!
counter
0
x58
指示物(祢须三破鸣比)
!
counter
0
x59
落魂指示物
!
counter
0
x5a
指示物(
岩战之
试炼)
!
counter
0
x5a
指示物(
战吼
试炼)
!
counter
0
x5b
指示物(北极天熊北斗星)
!
counter
0
x105c
燃烧指示物
!
counter
0
x5d
指示物(机巧传-神使记纪图)
...
...
@@ -690,7 +692,7 @@
!
setname
0
x16
机人 ロイド
!
setname
0
x1016
交通机人 ビークロイド
!
setname
0
x2016
疾行机人 スピードロイド
#
!setname 0x17 同调 シンクロ
!
setname
0
x17
同调 シンクロ
!
setname
0
x1017
同调士 シンクロン
!
setname
0
x2017
同调龙 シンクロ・ドラゴン
!
setname
0
x18
云魔物 雲魔物
...
...
@@ -703,7 +705,8 @@
!
setname
0
x1e
茧状体
C
(コクーン)
!
setname
0
x1f
新空间侠
N
(ネオスペーシアン)
!
setname
0
x20
紫炎 紫炎
!
setname
0
x21
地缚神 地縛神
!
setname
0
x21
地缚 地縛
!
setname
0
x1021
地缚神 地縛神
!
setname
0
x22
朱罗纪 ジュラック
!
setname
0
x23
罪
Sin
!
setname
0
x24
废铁 スクラップ
...
...
@@ -823,6 +826,7 @@
!
setname
0
x107a
圣骑士 聖騎士(せいきし)
!
setname
0
x207a
圣剑 聖剣(せいけん)
!
setname
0
x507a
焰圣骑士 焔聖騎士
!
setname
0
x607a
焰圣剑 焔聖剣
!
setname
0
x7b
银河 ギャラクシー
!
setname
0
x107b
银河眼 ギャラクシーアイズ
!
setname
0
x307b
银河眼时空龙 ギャラクシーアイズ・タキオン・ドラゴン
...
...
@@ -841,7 +845,9 @@
!
setname
0
x82
怒怒怒 ドドド
!
setname
0
x83
人偶 パペット
!
setname
0
x1083
机关傀儡 ギミック・パペット
!
setname
0
x84
燃烧拳击手
BK
(バーニングナックラー)
#setname 0x84 燃烧拳 バーニングナック
!
setname
0
x1084
燃烧拳击手
BK
(バーニングナックラー)
!
setname
0
x2084
燃烧拳 バーニングナックル
!
setname
0
x85
超级防卫机器人
SD
ロボ
!
setname
0
x86
光天使
!
setname
0
x87
阴影 アンブラル
...
...
@@ -1176,3 +1182,5 @@
!
setname
0
x195
征服斗魂
VS
(ヴァンキッシュ・ソウル)
!
setname
0
x196
新式魔厨 ヌーベルズ
!
setname
0
x197
食谱 レシピ
!
setname
0
x198
维萨斯 ヴィサス
!
setname
0
x199
反击 カウンター
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