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
66a0b8b7
Commit
66a0b8b7
authored
May 19, 2025
by
nanahira
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of github.com:Fluorohydride/ygopro into develop
parents
43fba0c7
e8112875
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
38 additions
and
49 deletions
+38
-49
.github/workflows/build.yml
.github/workflows/build.yml
+4
-28
gframe/deck_manager.cpp
gframe/deck_manager.cpp
+1
-1
gframe/deck_manager.h
gframe/deck_manager.h
+2
-2
gframe/game.cpp
gframe/game.cpp
+7
-0
gframe/menu_handler.cpp
gframe/menu_handler.cpp
+1
-1
gframe/premake5.lua
gframe/premake5.lua
+1
-1
gframe/replay.cpp
gframe/replay.cpp
+1
-1
gframe/replay.h
gframe/replay.h
+1
-1
premake/miniaudio/premake5.lua
premake/miniaudio/premake5.lua
+1
-1
premake5.lua
premake5.lua
+14
-12
strings.conf
strings.conf
+5
-1
No files found.
.github/workflows/build.yml
View file @
66a0b8b7
...
...
@@ -313,9 +313,7 @@ jobs:
-
name
:
Use premake to generate make files
run
:
|
./premake5 gmake \
--freetype-include-dir="/usr/include/freetype2" \
--opus-include-dir="/usr/include/opus"
./premake5 gmake
-
name
:
Make
run
:
|
...
...
@@ -406,31 +404,9 @@ jobs:
cp -r premake/* .
cp -r resource/* .
-
name
:
Use premake to generate make files (Intel)
if
:
runner.arch == 'X64'
run
:
|
./premake5 gmake \
--cc=clang \
--freetype-include-dir="/usr/local/include/freetype2" \
--opus-include-dir="/usr/local/include/opus"
-
name
:
Use premake to generate make files (ARM64)
if
:
runner.arch == 'ARM64'
run
:
|
./premake5 gmake \
--cc=clang \
--event-include-dir="/opt/homebrew/include" \
--event-lib-dir="/opt/homebrew/lib" \
--freetype-include-dir="/opt/homebrew/include/freetype2" \
--freetype-lib-dir="/opt/homebrew/lib" \
--sqlite-include-dir="/opt/homebrew/opt/sqlite/include" \
--sqlite-lib-dir="/opt/homebrew/opt/sqlite/lib" \
--miniaudio-include-dir="/opt/homebrew/include" \
--miniaudio-lib-dir="/opt/homebrew/lib" \
--opus-include-dir="/opt/homebrew/include/opus" \
--opus-lib-dir="/opt/homebrew/lib" \
--vorbis-include-dir="/opt/homebrew/include" \
--vorbis-lib-dir="/opt/homebrew/lib"
-
name
:
Use premake to generate make files
run
:
|
DYLD_LIBRARY_PATH=$(brew --prefix)/lib ./premake5 gmake --cc=clang
-
name
:
Make
run
:
|
...
...
gframe/deck_manager.cpp
View file @
66a0b8b7
...
...
@@ -401,7 +401,7 @@ bool DeckManager::DeleteCategory(const wchar_t* name) {
return
false
;
return
FileSystem
::
DeleteDir
(
localname
);
}
bool
DeckManager
::
Save
ReplayDeck
(
const
ReplayDeck
&
deck
,
const
wchar_t
*
name
)
{
bool
DeckManager
::
Save
DeckArray
(
const
DeckArray
&
deck
,
const
wchar_t
*
name
)
{
if
(
!
FileSystem
::
IsDirExists
(
L"./deck"
)
&&
!
FileSystem
::
MakeDir
(
L"./deck"
))
return
false
;
FILE
*
fp
=
OpenDeckFile
(
name
,
"w"
);
...
...
gframe/deck_manager.h
View file @
66a0b8b7
...
...
@@ -51,7 +51,7 @@ struct Deck {
}
};
struct
ReplayDeck
{
struct
DeckArray
{
std
::
vector
<
uint32_t
>
main
;
std
::
vector
<
uint32_t
>
extra
;
std
::
vector
<
uint32_t
>
side
;
...
...
@@ -88,7 +88,7 @@ public:
static
bool
CreateCategory
(
const
wchar_t
*
name
);
static
bool
RenameCategory
(
const
wchar_t
*
oldname
,
const
wchar_t
*
newname
);
static
bool
DeleteCategory
(
const
wchar_t
*
name
);
static
bool
Save
ReplayDeck
(
const
ReplayDeck
&
deck
,
const
wchar_t
*
name
);
static
bool
Save
DeckArray
(
const
DeckArray
&
deck
,
const
wchar_t
*
name
);
};
extern
DeckManager
deckManager
;
...
...
gframe/game.cpp
View file @
66a0b8b7
...
...
@@ -1837,6 +1837,10 @@ void Game::ShowCardInfo(int code, bool resize) {
myswprintf
(
formatBuffer
,
L"%ls[%08d]"
,
dataManager
.
GetName
(
code
),
code
);
}
stName
->
setText
(
formatBuffer
);
if
((
int
)
guiFont
->
getDimension
(
formatBuffer
).
Width
>
stName
->
getRelativePosition
().
getWidth
()
-
gameConf
.
textfontsize
)
stName
->
setToolTipText
(
formatBuffer
);
else
stName
->
setToolTipText
(
nullptr
);
int
offset
=
0
;
if
(
is_valid
&&
!
gameConf
.
hide_setname
)
{
auto
&
cd
=
cit
->
second
;
...
...
@@ -2362,6 +2366,9 @@ void Game::OnResize() {
btnBigCardZoomIn
->
setRelativePosition
(
Resize
(
205
,
140
,
295
,
175
));
btnBigCardZoomOut
->
setRelativePosition
(
Resize
(
205
,
180
,
295
,
215
));
btnBigCardClose
->
setRelativePosition
(
Resize
(
205
,
230
,
295
,
265
));
irr
::
s32
barWidth
=
(
xScale
>
1
)
?
gameConf
.
textfontsize
*
xScale
:
gameConf
.
textfontsize
;
env
->
getSkin
()
->
setSize
(
irr
::
gui
::
EGDS_SCROLLBAR_SIZE
,
barWidth
);
}
void
Game
::
ResizeChatInputWindow
()
{
irr
::
s32
x
=
wInfos
->
getRelativePosition
().
LowerRightCorner
.
X
+
6
;
...
...
gframe/menu_handler.cpp
View file @
66a0b8b7
...
...
@@ -302,7 +302,7 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
}
for
(
size_t
i
=
0
;
i
<
replay
.
decks
.
size
();
++
i
)
{
myswprintf
(
filename
,
L"./deck/%ls-%d %ls.ydk"
,
replay_filename
,
i
+
1
,
namebuf
[
i
]);
DeckManager
::
Save
ReplayDeck
(
replay
.
decks
[
i
],
filename
);
DeckManager
::
Save
DeckArray
(
replay
.
decks
[
i
],
filename
);
}
mainGame
->
stACMessage
->
setText
(
dataManager
.
GetSysString
(
1335
));
mainGame
->
PopupElement
(
mainGame
->
wACMessage
,
20
);
...
...
gframe/premake5.lua
View file @
66a0b8b7
...
...
@@ -50,7 +50,7 @@ project "YGOPro"
includedirs
{
"../miniaudio/extras/decoders/libopus"
,
"../miniaudio/extras/decoders/libvorbis"
}
if
not
MINIAUDIO_BUILD_OPUS_VORBIS
then
links
{
"opusfile"
,
"vorbisfile"
,
"opus"
,
"vorbis"
,
"ogg"
}
libdirs
{
OPUS_LIB_DIR
,
VORBIS_LIB_DIR
,
OGG_LIB
DIR
}
libdirs
{
OPUS_LIB_DIR
,
OPUSFILE_LIB_DIR
,
VORBIS_LIB_DIR
,
OGG_LIB_
DIR
}
end
end
end
...
...
gframe/replay.cpp
View file @
66a0b8b7
...
...
@@ -259,7 +259,7 @@ bool Replay::ReadInfo() {
}
else
{
for
(
int
p
=
0
;
p
<
player_count
;
++
p
)
{
ReplayDeck
deck
;
DeckArray
deck
;
uint32_t
main
=
Read
<
uint32_t
>
();
if
(
main
>
MAINC_MAX
)
return
false
;
...
...
gframe/replay.h
View file @
66a0b8b7
...
...
@@ -94,7 +94,7 @@ public:
std
::
vector
<
std
::
wstring
>
players
;
// 80 or 160 bytes
DuelParameters
params
;
// 16 bytes
std
::
vector
<
ReplayDeck
>
decks
;
// 4 bytes, main deck, 4 bytes, extra deck
std
::
vector
<
DeckArray
>
decks
;
// 4 bytes, main deck, 4 bytes, extra deck
std
::
string
script_name
;
// 2 bytes, script name (max: 256 bytes)
private:
...
...
premake/miniaudio/premake5.lua
View file @
66a0b8b7
...
...
@@ -123,7 +123,7 @@ project "miniaudio"
"OPUS_HAVE_RTCD"
,
"OPUS_X86_MAY_HAVE_SSE"
,
"OPUS_X86_MAY_HAVE_SSE4_1"
,
"OPUS_X86_MAY_HAVE_AVX2"
,
}
else
includedirs
{
OPUS_INCLUDE_DIR
,
VORBIS_INCLUDE_DIR
,
OGG_INCLUDE_DIR
}
includedirs
{
OPUS_INCLUDE_DIR
,
OPUSFILE_INCLUDE_DIR
,
VORBIS_INCLUDE_DIR
,
OGG_INCLUDE_DIR
}
end
end
...
...
premake5.lua
View file @
66a0b8b7
...
...
@@ -47,14 +47,14 @@ newoption { trigger = "irrlicht-lib-dir", category = "YGOPro - irrlicht", descri
newoption
{
trigger
=
"no-audio"
,
category
=
"YGOPro"
,
description
=
""
}
newoption
{
trigger
=
"audio-lib"
,
category
=
"YGOPro"
,
description
=
""
,
value
=
"miniaudio, irrklang"
,
default
=
AUDIO_LIB
}
newoption
{
trigger
=
"miniaudio-include-dir"
,
category
=
"YGOPro - miniaudio"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"miniaudio-lib-dir"
,
category
=
"YGOPro - miniaudio"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"miniaudio-support-opus-vorbis"
,
category
=
"YGOPro - miniaudio"
,
description
=
""
}
newoption
{
trigger
=
"no-miniaudio-support-opus-vorbis"
,
category
=
"YGOPro - miniaudio"
,
description
=
""
}
newoption
{
trigger
=
"build-opus-vorbis"
,
category
=
"YGOPro - miniaudio"
,
description
=
""
}
newoption
{
trigger
=
"no-build-opus-vorbis"
,
category
=
"YGOPro - miniaudio"
,
description
=
""
}
newoption
{
trigger
=
"opus-include-dir"
,
category
=
"YGOPro - miniaudio"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"opus-lib-dir"
,
category
=
"YGOPro - miniaudio"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"opusfile-include-dir"
,
category
=
"YGOPro - miniaudio"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"opusfile-lib-dir"
,
category
=
"YGOPro - miniaudio"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"vorbis-include-dir"
,
category
=
"YGOPro - miniaudio"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"vorbis-lib-dir"
,
category
=
"YGOPro - miniaudio"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"ogg-include-dir"
,
category
=
"YGOPro - miniaudio"
,
description
=
""
,
value
=
"PATH"
}
...
...
@@ -129,7 +129,7 @@ if not BUILD_LUA then
-- at most times you need to change this if you change BUILD_LUA to false
-- make sure your lua lib is built with C++ and version >= 5.3
LUA_LIB_NAME
=
GetParam
(
"lua-lib-name"
)
LUA_INCLUDE_DIR
=
GetParam
(
"lua-include-dir"
)
or
os
.
findheader
(
LUA_LIB_NAME
)
LUA_INCLUDE_DIR
=
GetParam
(
"lua-include-dir"
)
or
os
.
findheader
(
"lua.h"
)
LUA_LIB_DIR
=
GetParam
(
"lua-lib-dir"
)
or
os
.
findlib
(
LUA_LIB_NAME
)
end
...
...
@@ -146,7 +146,7 @@ elseif GetParam("no-build-event") then
BUILD_EVENT
=
false
end
if
not
BUILD_EVENT
then
EVENT_INCLUDE_DIR
=
GetParam
(
"event-include-dir"
)
or
os
.
findheader
(
"event"
)
EVENT_INCLUDE_DIR
=
GetParam
(
"event-include-dir"
)
or
os
.
findheader
(
"event
2/event.h
"
)
EVENT_LIB_DIR
=
GetParam
(
"event-lib-dir"
)
or
os
.
findlib
(
"event"
)
end
...
...
@@ -156,7 +156,7 @@ elseif GetParam("no-build-freetype") then
BUILD_FREETYPE
=
false
end
if
not
BUILD_FREETYPE
then
FREETYPE_INCLUDE_DIR
=
GetParam
(
"freetype-include-dir"
)
or
os
.
findheader
(
"freetype
"
)
FREETYPE_INCLUDE_DIR
=
GetParam
(
"freetype-include-dir"
)
or
os
.
findheader
(
"freetype
2/ft2build.h"
)
..
"/freetype2"
FREETYPE_LIB_DIR
=
GetParam
(
"freetype-lib-dir"
)
or
os
.
findlib
(
"freetype"
)
end
...
...
@@ -166,7 +166,7 @@ elseif GetParam("no-build-sqlite") then
BUILD_SQLITE
=
false
end
if
not
BUILD_SQLITE
then
SQLITE_INCLUDE_DIR
=
GetParam
(
"sqlite-include-dir"
)
or
os
.
findheader
(
"sqlite3"
)
SQLITE_INCLUDE_DIR
=
GetParam
(
"sqlite-include-dir"
)
or
os
.
findheader
(
"sqlite3
.h
"
)
SQLITE_LIB_DIR
=
GetParam
(
"sqlite-lib-dir"
)
or
os
.
findlib
(
"sqlite3"
)
end
...
...
@@ -176,7 +176,7 @@ elseif GetParam("no-build-irrlicht") then
BUILD_IRRLICHT
=
false
end
if
not
BUILD_IRRLICHT
then
IRRLICHT_INCLUDE_DIR
=
GetParam
(
"irrlicht-include-dir"
)
or
os
.
findheader
(
"irrlicht"
)
IRRLICHT_INCLUDE_DIR
=
GetParam
(
"irrlicht-include-dir"
)
or
os
.
findheader
(
"irrlicht
.h
"
)
IRRLICHT_LIB_DIR
=
GetParam
(
"irrlicht-lib-dir"
)
or
os
.
findlib
(
"irrlicht"
)
end
...
...
@@ -213,12 +213,14 @@ if USE_AUDIO then
MINIAUDIO_BUILD_OPUS_VORBIS
=
true
end
if
not
MINIAUDIO_BUILD_OPUS_VORBIS
then
OPUS_INCLUDE_DIR
=
GetParam
(
"opus-include-dir"
)
or
os
.
findheader
(
"opus"
)
OPUS_LIB_DIR
=
GetParam
(
"opus-lib-dir"
)
or
os
.
findlib
(
"opusfile"
)
VORBIS_INCLUDE_DIR
=
GetParam
(
"vorbis-include-dir"
)
or
os
.
findheader
(
"vorbis"
)
OPUS_INCLUDE_DIR
=
GetParam
(
"opus-include-dir"
)
or
os
.
findheader
(
"opus/opus.h"
)
..
"/opus"
OPUS_LIB_DIR
=
GetParam
(
"opus-lib-dir"
)
or
os
.
findlib
(
"opus"
)
OPUSFILE_INCLUDE_DIR
=
GetParam
(
"opusfile-include-dir"
)
or
os
.
findheader
(
"opus/opusfile.h"
)
..
"/opus"
OPUSFILE_LIB_DIR
=
GetParam
(
"opusfile-lib-dir"
)
or
os
.
findlib
(
"opusfile"
)
VORBIS_INCLUDE_DIR
=
GetParam
(
"vorbis-include-dir"
)
or
os
.
findheader
(
"vorbis/vorbisfile.h"
)
VORBIS_LIB_DIR
=
GetParam
(
"vorbis-lib-dir"
)
or
os
.
findlib
(
"vorbis"
)
OGG_INCLUDE_DIR
=
GetParam
(
"ogg-include-dir"
)
or
os
.
findheader
(
"ogg"
)
O
C
G_LIB_DIR
=
GetParam
(
"ogg-lib-dir"
)
or
os
.
findlib
(
"ogg"
)
OGG_INCLUDE_DIR
=
GetParam
(
"ogg-include-dir"
)
or
os
.
findheader
(
"ogg
/ogg.h
"
)
O
G
G_LIB_DIR
=
GetParam
(
"ogg-lib-dir"
)
or
os
.
findlib
(
"ogg"
)
end
end
elseif
AUDIO_LIB
==
"irrklang"
then
...
...
strings.conf
View file @
66a0b8b7
...
...
@@ -671,6 +671,7 @@
!
counter
0
x106b
狂爱指示物
!
counter
0
x6c
访问指示物
!
counter
0
x6d
祝台指示物
!
counter
0
x6e
四季指示物
#setnames, using tab for comment
!
setname
0
x1
正义盟军
A
・
O
・
J
!
setname
0
x2
次世代 ジェネクス
...
...
@@ -1253,7 +1254,7 @@
!
setname
0
x1c0
龙华 竜華
!
setname
0
x1c1
阿尔戈☆群星
ARG
☆
S
!
setname
0
x1c2
喷水引擎 アクア・ジェット
!
setname
0
x1c3
御
剑
Mitsurugi
!
setname
0
x1c3
巳
剑
Mitsurugi
!
setname
0
x1c4
征龙 征竜
!
setname
0
x1c5
再世 再世
!
setname
0
x1c6
统王 ドミナス
...
...
@@ -1262,3 +1263,6 @@
!
setname
0
x1c9
星辰 ドラゴンテイル
!
setname
0
x1ca
味美喵 ヤミー
!
setname
0
x1cb
K9
!
setname
0
x1cc
瞬间移动 テレポート
!
setname
0
x1cd
神艺 アルトメギア
!
setname
0
x1ce
狱神 獄神
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