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
81f20984
Commit
81f20984
authored
Aug 10, 2017
by
mercury233
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
https://github.com/Fluorohydride/ygopro
into mac-test
parents
8705e6b4
06ea1af8
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
112 additions
and
108 deletions
+112
-108
gframe/CGUITTFont.cpp
gframe/CGUITTFont.cpp
+26
-20
gframe/CGUITTFont.h
gframe/CGUITTFont.h
+3
-3
gframe/config.h
gframe/config.h
+80
-80
gframe/deck_con.cpp
gframe/deck_con.cpp
+1
-5
strings.conf
strings.conf
+2
-0
No files found.
gframe/CGUITTFont.cpp
View file @
81f20984
...
@@ -230,7 +230,7 @@ CGUITTFont* CGUITTFont::create(IrrlichtDevice *device, const io::path& filename,
...
@@ -230,7 +230,7 @@ CGUITTFont* CGUITTFont::create(IrrlichtDevice *device, const io::path& filename,
//! Constructor.
//! Constructor.
CGUITTFont
::
CGUITTFont
(
IGUIEnvironment
*
env
)
CGUITTFont
::
CGUITTFont
(
IGUIEnvironment
*
env
)
:
use_monochrome
(
false
),
use_transparency
(
true
),
use_hinting
(
true
),
use_auto_hinting
(
true
),
:
use_monochrome
(
false
),
use_transparency
(
true
),
use_hinting
(
true
),
use_auto_hinting
(
true
),
batch_load_size
(
1
),
Device
(
0
),
Environment
(
env
),
Driver
(
0
),
GlobalKerningWidth
(
0
),
GlobalKerningHeight
(
0
)
{
batch_load_size
(
1
),
Device
(
0
),
Environment
(
env
),
Driver
(
0
),
GlobalKerningWidth
(
0
),
GlobalKerningHeight
(
0
)
,
supposed_line_height
(
0
)
{
#ifdef _DEBUG
#ifdef _DEBUG
setDebugName
(
"CGUITTFont"
);
setDebugName
(
"CGUITTFont"
);
#endif
#endif
...
@@ -345,6 +345,24 @@ bool CGUITTFont::load(const io::path& filename, const u32 size, const bool antia
...
@@ -345,6 +345,24 @@ bool CGUITTFont::load(const io::path& filename, const u32 size, const bool antia
getGlyphIndexByChar
((
uchar32_t
)
0
);
getGlyphIndexByChar
((
uchar32_t
)
0
);
batch_load_size
=
old_size
;
batch_load_size
=
old_size
;
// Calculate the supposed line height of this font (of this size) --
// Not using FT_SizeMetric::ascender or height, but actually by testing some of the glyphs,
// to see what should give a reasonable not cluttered line height.
// The ascender or height info may as well just be arbitrary ones.
// Get the maximum font height. Unfortunately, we have to do this hack as
// Irrlicht will draw things wrong. In FreeType, the font size is the
// maximum size for a single glyph, but that glyph may hang "under" the
// draw line, increasing the total font height to beyond the set size.
// Irrlicht does not understand this concept when drawing fonts. Also, I
// add +1 to give it a 1 pixel blank border. This makes things like
// tooltips look nicer.
s32
test1
=
getHeightFromCharacter
((
uchar32_t
)
'g'
)
+
1
;
s32
test2
=
getHeightFromCharacter
((
uchar32_t
)
'j'
)
+
1
;
s32
test3
=
getHeightFromCharacter
((
uchar32_t
)
0x55B5
)
+
1
;
supposed_line_height
=
core
::
max_
(
test1
,
core
::
max_
(
test2
,
test3
));
return
true
;
return
true
;
}
}
...
@@ -521,7 +539,7 @@ void CGUITTFont::draw(const core::stringw& text, const core::rect<s32>& position
...
@@ -521,7 +539,7 @@ void CGUITTFont::draw(const core::stringw& text, const core::rect<s32>& position
if
(
lineBreak
)
{
if
(
lineBreak
)
{
previousChar
=
0
;
previousChar
=
0
;
offset
.
Y
+=
font_metrics
.
ascender
/
64
;
offset
.
Y
+=
supposed_line_height
;
//
font_metrics.ascender / 64;
offset
.
X
=
position
.
UpperLeftCorner
.
X
;
offset
.
X
=
position
.
UpperLeftCorner
.
X
;
if
(
hcenter
)
if
(
hcenter
)
...
@@ -576,20 +594,8 @@ core::dimension2d<u32> CGUITTFont::getDimension(const wchar_t* text) const {
...
@@ -576,20 +594,8 @@ core::dimension2d<u32> CGUITTFont::getDimension(const wchar_t* text) const {
}
}
core
::
dimension2d
<
u32
>
CGUITTFont
::
getDimension
(
const
core
::
ustring
&
text
)
const
{
core
::
dimension2d
<
u32
>
CGUITTFont
::
getDimension
(
const
core
::
ustring
&
text
)
const
{
// Get the maximum font height. Unfortunately, we have to do this hack as
core
::
dimension2d
<
u32
>
text_dimension
(
0
,
supposed_line_height
);
// Irrlicht will draw things wrong. In FreeType, the font size is the
core
::
dimension2d
<
u32
>
line
(
0
,
supposed_line_height
);
// maximum size for a single glyph, but that glyph may hang "under" the
// draw line, increasing the total font height to beyond the set size.
// Irrlicht does not understand this concept when drawing fonts. Also, I
// add +1 to give it a 1 pixel blank border. This makes things like
// tooltips look nicer.
s32
test1
=
getHeightFromCharacter
((
uchar32_t
)
'g'
)
+
1
;
s32
test2
=
getHeightFromCharacter
((
uchar32_t
)
'j'
)
+
1
;
s32
test3
=
getHeightFromCharacter
((
uchar32_t
)
'_'
)
+
1
;
s32
max_font_height
=
core
::
max_
(
test1
,
core
::
max_
(
test2
,
test3
));
core
::
dimension2d
<
u32
>
text_dimension
(
0
,
max_font_height
);
core
::
dimension2d
<
u32
>
line
(
0
,
max_font_height
);
uchar32_t
previousChar
=
0
;
uchar32_t
previousChar
=
0
;
core
::
ustring
::
const_iterator
iter
=
text
.
begin
();
core
::
ustring
::
const_iterator
iter
=
text
.
begin
();
...
@@ -618,7 +624,7 @@ core::dimension2d<u32> CGUITTFont::getDimension(const core::ustring& text) const
...
@@ -618,7 +624,7 @@ core::dimension2d<u32> CGUITTFont::getDimension(const core::ustring& text) const
if
(
text_dimension
.
Width
<
line
.
Width
)
if
(
text_dimension
.
Width
<
line
.
Width
)
text_dimension
.
Width
=
line
.
Width
;
text_dimension
.
Width
=
line
.
Width
;
line
.
Width
=
0
;
line
.
Width
=
0
;
line
.
Height
=
max_font
_height
;
line
.
Height
=
supposed_line
_height
;
continue
;
continue
;
}
}
line
.
Width
+=
getWidthFromCharacter
(
p
);
line
.
Width
+=
getWidthFromCharacter
(
p
);
...
@@ -937,7 +943,7 @@ core::array<scene::ISceneNode*> CGUITTFont::addTextSceneNode(const wchar_t* text
...
@@ -937,7 +943,7 @@ core::array<scene::ISceneNode*> CGUITTFont::addTextSceneNode(const wchar_t* text
if
(
line_break
)
{
if
(
line_break
)
{
previous_char
=
0
;
previous_char
=
0
;
offset
.
Y
-=
tt_face
->
size
->
metrics
.
ascender
/
64
;
offset
.
Y
-=
supposed_line_height
;
//
tt_face->size->metrics.ascender / 64;
offset
.
X
=
start_point
.
X
;
offset
.
X
=
start_point
.
X
;
if
(
center
)
if
(
center
)
offset
.
X
+=
(
text_size
.
Width
-
getDimensionUntilEndOfLine
(
text
+
1
).
Width
)
>>
1
;
offset
.
X
+=
(
text_size
.
Width
-
getDimensionUntilEndOfLine
(
text
+
1
).
Width
)
>>
1
;
...
...
gframe/CGUITTFont.h
View file @
81f20984
...
@@ -143,8 +143,7 @@ public:
...
@@ -143,8 +143,7 @@ public:
void
updateTexture
()
{
void
updateTexture
()
{
if
(
!
dirty
)
return
;
if
(
!
dirty
)
return
;
if
(
!
texture
)
if
(
!
texture
)
{
{
if
(
!
createPageTexture
(
pixel_mode
,
texture_size
))
if
(
!
createPageTexture
(
pixel_mode
,
texture_size
))
// TODO: add error message?
// TODO: add error message?
return
;
return
;
...
@@ -378,6 +377,7 @@ private:
...
@@ -378,6 +377,7 @@ private:
s32
GlobalKerningWidth
;
s32
GlobalKerningWidth
;
s32
GlobalKerningHeight
;
s32
GlobalKerningHeight
;
s32
supposed_line_height
;
core
::
ustring
Invisible
;
core
::
ustring
Invisible
;
};
};
...
...
gframe/config.h
View file @
81f20984
gframe/deck_con.cpp
View file @
81f20984
...
@@ -224,11 +224,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
...
@@ -224,11 +224,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
mainGame
->
env
->
addMessageBox
(
L""
,
dataManager
.
GetSysString
(
1410
));
mainGame
->
env
->
addMessageBox
(
L""
,
dataManager
.
GetSysString
(
1410
));
break
;
break
;
}
}
// clear imgCard
mainGame
->
imgCard
->
setImage
(
imageManager
.
tCover
[
0
]);
mainGame
->
imgCard
->
setImage
(
imageManager
.
tCover
[
0
]);
// send result to server
char
deckbuf
[
1024
];
char
deckbuf
[
1024
];
char
*
pdeck
=
deckbuf
;
char
*
pdeck
=
deckbuf
;
BufferIO
::
WriteInt32
(
pdeck
,
deckManager
.
current_deck
.
main
.
size
()
+
deckManager
.
current_deck
.
extra
.
size
());
BufferIO
::
WriteInt32
(
pdeck
,
deckManager
.
current_deck
.
main
.
size
()
+
deckManager
.
current_deck
.
extra
.
size
());
...
...
strings.conf
View file @
81f20984
...
@@ -843,3 +843,5 @@
...
@@ -843,3 +843,5 @@
!
setname
0
x103
幻变骚灵 オルターガイスト
!
setname
0
x103
幻变骚灵 オルターガイスト
!
setname
0
x104
机怪虫 クローラー
!
setname
0
x104
机怪虫 クローラー
!
setname
0
x105
玄化 メタファイズ
!
setname
0
x105
玄化 メタファイズ
!
setname
0
x106
复仇死灵
Vendread
!
setname
0
x107
F
.
A
.
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