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
4d68b939
Commit
4d68b939
authored
Jun 03, 2025
by
nanahira
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'patch-glibc-dl' of ../versions/ygopro-fh into develop
parents
8d525d68
6b5143bc
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
101 additions
and
20 deletions
+101
-20
.github/workflows/build.yml
.github/workflows/build.yml
+56
-0
gframe/config.h
gframe/config.h
+1
-1
gframe/event_handler.cpp
gframe/event_handler.cpp
+1
-1
gframe/game.cpp
gframe/game.cpp
+4
-4
gframe/menu_handler.cpp
gframe/menu_handler.cpp
+1
-2
gframe/premake5.lua
gframe/premake5.lua
+11
-3
gframe/replay.cpp
gframe/replay.cpp
+1
-1
premake/irrlicht/premake5.lua
premake/irrlicht/premake5.lua
+0
-3
premake/miniaudio/premake5.lua
premake/miniaudio/premake5.lua
+0
-3
premake5.lua
premake5.lua
+26
-2
No files found.
.github/workflows/build.yml
View file @
4d68b939
...
...
@@ -13,9 +13,14 @@ jobs:
matrix
:
name
:
-
windows
<<<<<<< HEAD
- windows-xp
- windows-irrklang
- windows-no-dxsdk
=======
# - windows-irrklang
# - windows-no-dxsdk
>
>>>>>>
6b5143bcae8d4534c3d47b16a820227dc56bb44f
- windows-x64
# - windows-2025
include
:
...
...
@@ -23,6 +28,7 @@ jobs:
os
:
windows-2022
vs
:
vs2022
audiolib
:
miniaudio
<<<<<<< HEAD
- name
:
windows-xp
os
:
windows-2019
vs
:
vs2019
...
...
@@ -37,6 +43,17 @@ jobs:
vs
:
vs2022
audiolib
:
miniaudio
nodxsdk
:
true
=======
# - name: windows-irrklang
# os: windows-2022
# vs: vs2022
# audiolib: irrklang
# - name: windows-no-dxsdk
# os: windows-2022
# vs: vs2022
# audiolib: miniaudio
# nodxsdk: true
>
>>>>>>
6b5143bcae8d4534c3d47b16a820227dc56bb44f
- name: windows-x64
os: windows-2022
vs: vs2022
...
...
@@ -44,7 +61,11 @@ jobs:
x64: true
# - name: windows-2025
# os: windows-2025
<<<<<<< HEAD
# vs: vs2022
=======
# vs: vs2025 # to be enabled after the release of Visual Studio 2025
>
>>>>>>
6b5143bcae8d4534c3d47b16a820227dc56bb44f
#
audiolib: miniaudio
runs-on: ${{ matrix.os }}
...
...
@@ -88,7 +109,11 @@ jobs:
- name: Extract libevent
run: |
tar xf ${{ steps.libevent.outputs.filepath }}
<
<<<<<< HEAD
move libevent-2.1.12-stable event
=
======
move libevent-2.0.22-stable event
>
>>>>>> 6b5143bcae8d4534c3d47b16a820227dc56bb44f
- name: Download freetype
id: freetype
...
...
@@ -233,7 +258,11 @@ jobs:
- name: Use premake to generate Visual Studio solution
run: |
<
<<<<<< HEAD
.\premake5.exe ${{ matrix.vs }} --audio-lib=${{ matrix.audiolib }} ${{ matrix.xp && '--winxp-support' || '' }}
=
======
.\premake5.exe ${{ matrix.vs }} --audio-lib=${{ matrix.audiolib }}
>
>>>>>> 6b5143bcae8d4534c3d47b16a820227dc56bb44f
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
...
...
@@ -485,6 +514,7 @@ jobs:
matrix:
name:
- macos-13-intel
<
<<<<<< HEAD
- macos-13-arm-cross-compile-static-link
- macos-13-universal-static-link
- macos-15-arm
...
...
@@ -497,6 +527,20 @@ jobs:
os: macos-13
cross-build-arm: true
static-link: true
=
======
#
- macos-13-arm-cross-compile-static-link
- macos-13-universal-static-link
- macos-15-arm
#
- macos-15-intel-cross-compile-static-link
#
- macos-15-universal-static-link
include:
- name: macos-13-intel
os: macos-13
#
- name: macos-13-arm-cross-compile-static-link
#
os: macos-13
#
cross-build-arm: true
#
static-link: true
>
>>>>>> 6b5143bcae8d4534c3d47b16a820227dc56bb44f
- name: macos-13-universal-static-link
os: macos-13
cross-build-intel: true
...
...
@@ -504,6 +548,7 @@ jobs:
static-link: true
- name: macos-15-arm
os: macos-15
<
<<<<<< HEAD
- name: macos-15-intel-cross-compile-static-link
os: macos-15
cross-build-intel: true
...
...
@@ -513,6 +558,17 @@ jobs:
cross-build-intel: true
cross-build-arm: true
static-link: true
=
======
#
- name: macos-15-intel-cross-compile-static-link
#
os: macos-15
#
cross-build-intel: true
#
static-link: true
#
- name: macos-15-universal-static-link
#
os: macos-15
#
cross-build-intel: true
#
cross-build-arm: true
#
static-link: true
>
>>>>>> 6b5143bcae8d4534c3d47b16a820227dc56bb44f
runs-on: ${{ matrix.os }}
...
...
gframe/config.h
View file @
4d68b939
...
...
@@ -13,7 +13,7 @@
#include <windows.h>
#include <ws2tcpip.h>
#if
def _MSC_VER
#if
defined(_MSC_VER) or defined(__MINGW32__)
#define mywcsncasecmp _wcsnicmp
#define mystrncasecmp _strnicmp
#else
...
...
gframe/event_handler.cpp
View file @
4d68b939
...
...
@@ -1323,7 +1323,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
case
MSG_SELECT_DISFIELD
:
{
if
(
!
(
hovered_location
&
LOCATION_ONFIELD
))
break
;
unsigned
int
flag
=
1
<<
(
hovered_sequence
+
(
hovered_controler
<<
4
)
+
((
hovered_location
==
LOCATION_MZONE
)
?
0
:
8
));
unsigned
int
flag
=
0x1U
<<
(
hovered_sequence
+
(
hovered_controler
<<
4
)
+
((
hovered_location
==
LOCATION_MZONE
)
?
0
:
8
));
if
(
flag
&
selectable_field
)
{
if
(
flag
&
selected_field
)
{
selected_field
&=
~
flag
;
...
...
gframe/game.cpp
View file @
4d68b939
...
...
@@ -813,14 +813,14 @@ bool Game::Initialize() {
cbAttribute
=
env
->
addComboBox
(
irr
::
core
::
rect
<
irr
::
s32
>
(
60
,
20
+
50
/
6
,
195
,
40
+
50
/
6
),
wFilter
,
COMBOBOX_ATTRIBUTE
);
cbAttribute
->
setMaxSelectionRows
(
10
);
cbAttribute
->
addItem
(
dataManager
.
GetSysString
(
1310
),
0
);
for
(
int
filter
=
0x1
;
filter
!=
0x80
;
filter
<<=
1
)
cbAttribute
->
addItem
(
dataManager
.
FormatAttribute
(
filter
).
c_str
(),
filter
);
for
(
int
filter
=
0
;
filter
<
ATTRIBUTES_COUNT
;
++
filter
)
cbAttribute
->
addItem
(
dataManager
.
FormatAttribute
(
0x1U
<<
filter
).
c_str
(),
0x1U
<<
filter
);
stRace
=
env
->
addStaticText
(
dataManager
.
GetSysString
(
1321
),
irr
::
core
::
rect
<
irr
::
s32
>
(
10
,
42
+
75
/
6
,
70
,
62
+
75
/
6
),
false
,
false
,
wFilter
);
cbRace
=
env
->
addComboBox
(
irr
::
core
::
rect
<
irr
::
s32
>
(
60
,
40
+
75
/
6
,
195
,
60
+
75
/
6
),
wFilter
,
COMBOBOX_RACE
);
cbRace
->
setMaxSelectionRows
(
10
);
cbRace
->
addItem
(
dataManager
.
GetSysString
(
1310
),
0
);
for
(
int
filter
=
0x1
;
filter
<
(
1
<<
RACES_COUNT
);
filter
<<=
1
)
cbRace
->
addItem
(
dataManager
.
FormatRace
(
filter
).
c_str
(),
filter
);
for
(
int
filter
=
0
;
filter
<
RACES_COUNT
;
++
filter
)
cbRace
->
addItem
(
dataManager
.
FormatRace
(
0x1U
<<
filter
).
c_str
(),
0x1U
<<
filter
);
stAttack
=
env
->
addStaticText
(
dataManager
.
GetSysString
(
1322
),
irr
::
core
::
rect
<
irr
::
s32
>
(
205
,
22
+
50
/
6
,
280
,
42
+
50
/
6
),
false
,
false
,
wFilter
);
ebAttack
=
env
->
addEditBox
(
L""
,
irr
::
core
::
rect
<
irr
::
s32
>
(
260
,
20
+
50
/
6
,
340
,
40
+
50
/
6
),
true
,
wFilter
,
EDITBOX_INPUTS
);
ebAttack
->
setTextAlignment
(
irr
::
gui
::
EGUIA_CENTER
,
irr
::
gui
::
EGUIA_CENTER
);
...
...
gframe/menu_handler.cpp
View file @
4d68b939
...
...
@@ -532,9 +532,8 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
else
{
curtime
=
temp_replay
.
pheader
.
seed
;
wchar_t
version_info
[
256
]{};
myswprintf
(
version_info
,
L"version 0x%X"
,
temp_replay
.
pheader
.
version
);
myswprintf
(
version_info
,
L"version 0x%X
\n
"
,
temp_replay
.
pheader
.
version
);
repinfo
.
append
(
version_info
);
repinfo
.
append
(
L"
\n
"
);
}
std
::
wcsftime
(
infobuf
,
sizeof
infobuf
/
sizeof
infobuf
[
0
],
L"%Y/%m/%d %H:%M:%S
\n
"
,
std
::
localtime
(
&
curtime
));
repinfo
.
append
(
infobuf
);
...
...
gframe/premake5.lua
View file @
4d68b939
...
...
@@ -11,6 +11,10 @@ project "YGOPro"
includedirs
{
"../ocgcore"
}
links
{
"ocgcore"
,
"clzma"
,
"cspmemvfs"
,
LUA_LIB_NAME
,
"sqlite3"
,
"irrlicht"
,
"freetype"
,
"event"
}
if
not
BUILD_LUA
then
libdirs
{
LUA_LIB_DIR
}
end
if
BUILD_EVENT
then
includedirs
{
"../event/include"
}
else
...
...
@@ -71,7 +75,7 @@ project "YGOPro"
entrypoint
"mainCRTStartup"
defines
{
"_IRR_WCHAR_FILESYSTEM"
}
files
"ygopro.rc"
links
{
"
opengl32"
,
"ws2_32"
,
"winmm"
,
"gdi32"
,
"kernel32"
,
"user32"
,
"imm
32"
,
"Dnsapi"
,
"iphlpapi"
}
links
{
"
ws2_
32"
,
"Dnsapi"
,
"iphlpapi"
}
if
USE_AUDIO
and
AUDIO_LIB
==
"irrklang"
then
links
{
"irrKlang"
}
if
IRRKLANG_PRO
then
...
...
@@ -84,10 +88,10 @@ project "YGOPro"
end
end
filter
"not system:windows"
links
{
"
dl"
,
"pthread"
,
"
resolv"
}
links
{
"resolv"
}
filter
"system:macosx"
openmp
"Off"
links
{
"
z
"
}
links
{
"
OpenGL.framework"
,
"Cocoa.framework"
,
"IOKit.framework
"
}
defines
{
"GL_SILENCE_DEPRECATION"
}
if
MAC_ARM
then
linkoptions
{
"-arch arm64"
}
...
...
@@ -98,6 +102,7 @@ project "YGOPro"
if
USE_AUDIO
and
AUDIO_LIB
==
"irrklang"
then
links
{
"irrklang"
}
end
filter
"system:linux"
linkoptions
{
"-static-libstdc++"
,
"-static-libgcc"
}
links
{
"GL"
,
"X11"
,
"Xxf86vm"
}
...
...
@@ -106,3 +111,6 @@ project "YGOPro"
links
{
"IrrKlang"
}
linkoptions
{
IRRKLANG_LINK_RPATH
}
end
if
GLIBC_VERSION
<
((
2
<<
16
)
|
(
34
<<
8
))
then
-- glibc less than 2.34
links
{
"dl"
,
"pthread"
}
end
gframe/replay.cpp
View file @
4d68b939
...
...
@@ -81,7 +81,7 @@ void Replay::EndRecord() {
pheader
.
flag
|=
REPLAY_COMPRESSED
;
size_t
propsize
=
5
;
comp_size
=
MAX_COMP_SIZE
;
int
ret
=
LzmaCompress
(
comp_data
,
&
comp_size
,
replay_data
,
replay_size
,
pheader
.
props
,
&
propsize
,
5
,
1
<<
24
,
3
,
0
,
2
,
32
,
1
);
int
ret
=
LzmaCompress
(
comp_data
,
&
comp_size
,
replay_data
,
replay_size
,
pheader
.
props
,
&
propsize
,
5
,
0x1U
<<
24
,
3
,
0
,
2
,
32
,
1
);
if
(
ret
!=
SZ_OK
)
{
std
::
memcpy
(
comp_data
,
&
ret
,
sizeof
ret
);
comp_size
=
sizeof
ret
;
...
...
premake/irrlicht/premake5.lua
View file @
4d68b939
...
...
@@ -161,9 +161,6 @@ project "irrlicht"
defines
{
"NO_IRR_COMPILE_WITH_DIRECT3D_9_"
}
end
filter
{
"system:linux"
}
links
{
"X11"
,
"Xxf86vm"
}
filter
{
"system:macosx"
}
cppdialect
"gnu++14"
defines
{
"GL_SILENCE_DEPRECATION"
}
...
...
premake/miniaudio/premake5.lua
View file @
4d68b939
...
...
@@ -138,6 +138,3 @@ project "miniaudio"
includedirs
{
OPUS_INCLUDE_DIR
,
OPUSFILE_INCLUDE_DIR
,
VORBIS_INCLUDE_DIR
,
OGG_INCLUDE_DIR
}
end
end
filter
"system:linux"
links
{
"dl"
,
"pthread"
,
"m"
}
premake5.lua
View file @
4d68b939
...
...
@@ -10,7 +10,9 @@ BUILD_LUA = true
LUA_LIB_NAME
=
"lua"
-- change this if you don't build Lua
BUILD_EVENT
=
os
.
istarget
(
"windows"
)
BUILD_FREETYPE
=
os
.
istarget
(
"windows"
)
BUILD_SQLITE
=
os
.
istarget
(
"windows"
)
BUILD_IRRLICHT
=
true
-- modified Irrlicht is required, can't use the official one
USE_DXSDK
=
true
...
...
@@ -378,6 +380,30 @@ if os.istarget("macosx") then
end
end
function
getGlibcVersion
()
local
output
=
os
.
outputof
(
"getconf GNU_LIBC_VERSION"
)
local
major
,
minor
,
patch
=
output
:
match
(
"glibc (%d+)%.(%d+)%.?(%d*)"
)
if
major
and
minor
then
major
=
tonumber
(
major
)
minor
=
tonumber
(
minor
)
patch
=
tonumber
(
patch
)
or
0
return
(
major
<<
16
)
|
(
minor
<<
8
)
|
patch
end
return
nil
end
GLIBC_VERSION
=
0
if
os
.
ishost
(
"linux"
)
then
GLIBC_VERSION
=
getGlibcVersion
()
if
GLIBC_VERSION
>
0
then
print
(
"Detected glibc version: "
..
string.format
(
"%d.%d.%d"
,
GLIBC_VERSION
>>
16
,
(
GLIBC_VERSION
>>
8
)
&
0xFF
,
GLIBC_VERSION
&
0xFF
))
else
print
(
"Could not detect glibc version, assuming it is sufficient."
)
end
end
workspace
"YGOPro"
location
"build"
language
"C++"
...
...
@@ -423,7 +449,6 @@ workspace "YGOPro"
if
MAC_ARM
and
MAC_INTEL
then
architecture
"universal"
end
links
{
"OpenGL.framework"
,
"Cocoa.framework"
,
"IOKit.framework"
}
filter
"system:linux"
buildoptions
{
"-U_FORTIFY_SOURCE"
}
...
...
@@ -459,7 +484,6 @@ workspace "YGOPro"
disablewarnings
{
"4244"
,
"4267"
,
"4838"
,
"4996"
,
"6011"
,
"6031"
,
"6054"
,
"6262"
}
filter
{
"configurations:Release"
,
"not action:vs*"
}
symbols
"On"
defines
"NDEBUG"
filter
{
"configurations:Debug"
,
"action:vs*"
}
...
...
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