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
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
Changes
9
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