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
xiaoye
ygopro
Commits
59d98986
Commit
59d98986
authored
Mar 24, 2025
by
nanahira
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' into another-develop
parents
3a23fcf1
8b95107d
Changes
35
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
35 changed files
with
243 additions
and
377 deletions
+243
-377
.ci/pack-linux-dlc.sh
.ci/pack-linux-dlc.sh
+3
-1
.ci/pack-linux.sh
.ci/pack-linux.sh
+3
-1
.ci/pack-macos-dlc.sh
.ci/pack-macos-dlc.sh
+3
-1
.ci/pack-macos.sh
.ci/pack-macos.sh
+3
-1
.ci/pack-windows-7z.sh
.ci/pack-windows-7z.sh
+3
-1
.ci/pack-windows-dlc.sh
.ci/pack-windows-dlc.sh
+3
-1
.ci/pack-windows.sh
.ci/pack-windows.sh
+3
-1
.github/workflows/build.yml
.github/workflows/build.yml
+3
-14
.gitlab-ci.yml
.gitlab-ci.yml
+56
-13
cards.cdb
cards.cdb
+0
-0
cmake/CMakeLists.txt
cmake/CMakeLists.txt
+0
-0
copy.sh
copy.sh
+2
-0
gframe/client_field.cpp
gframe/client_field.cpp
+19
-16
gframe/client_field.h
gframe/client_field.h
+5
-5
gframe/deck_con.cpp
gframe/deck_con.cpp
+2
-1
gframe/deck_manager.cpp
gframe/deck_manager.cpp
+1
-1
gframe/deck_manager.h
gframe/deck_manager.h
+1
-1
gframe/drawing.cpp
gframe/drawing.cpp
+32
-37
gframe/duelclient.cpp
gframe/duelclient.cpp
+21
-25
gframe/game.cpp
gframe/game.cpp
+1
-1
gframe/premake5.lua
gframe/premake5.lua
+1
-2
ocgcore
ocgcore
+1
-1
premake/event/premake5.lua
premake/event/premake5.lua
+0
-1
premake/freetype/premake5.lua
premake/freetype/premake5.lua
+0
-1
premake/irrlicht/defines.lua
premake/irrlicht/defines.lua
+49
-0
premake/irrlicht/premake5.lua
premake/irrlicht/premake5.lua
+15
-239
premake/lua/premake5.lua
premake/lua/premake5.lua
+6
-7
premake/sqlite3/premake5.lua
premake/sqlite3/premake5.lua
+0
-1
premake5.lua
premake5.lua
+2
-1
resource/gframe/ygopro.aps
resource/gframe/ygopro.aps
+0
-0
resource/gframe/ygopro.icns
resource/gframe/ygopro.icns
+0
-0
resource/gframe/ygopro.ico
resource/gframe/ygopro.ico
+0
-0
resource/gframe/ygopro.rc
resource/gframe/ygopro.rc
+2
-2
script
script
+1
-1
strings.conf
strings.conf
+2
-0
No files found.
.ci/pack-linux-dlc.sh
View file @
59d98986
...
@@ -4,7 +4,9 @@ set -o errexit
...
@@ -4,7 +4,9 @@ set -o errexit
ARCHIVE_FILES
=(
ygopro cards.cdb locales fonts sound textures strings.conf system.conf pack
)
ARCHIVE_FILES
=(
ygopro cards.cdb locales fonts sound textures strings.conf system.conf pack
)
TARGET_PLATFORM
=
linux
if
[[
-z
"
$TARGET_PLATFORM
"
]]
;
then
TARGET_PLATFORM
=
linux
fi
apt update
&&
apt
-y
install tar
zstd
apt update
&&
apt
-y
install tar
zstd
mkdir
dist replay
mkdir
dist replay
...
...
.ci/pack-linux.sh
View file @
59d98986
...
@@ -6,7 +6,9 @@ ARCHIVE_FILES=(ygopro LICENSE README.md lflist.conf strings.conf system.conf car
...
@@ -6,7 +6,9 @@ ARCHIVE_FILES=(ygopro LICENSE README.md lflist.conf strings.conf system.conf car
# TARGET_LOCALE
# TARGET_LOCALE
# ARCHIVE_SUFFIX
# ARCHIVE_SUFFIX
TARGET_PLATFORM
=
linux
if
[[
-z
"
$TARGET_PLATFORM
"
]]
;
then
TARGET_PLATFORM
=
linux
fi
apt update
&&
apt
-y
install tar
git zstd
apt update
&&
apt
-y
install tar
git zstd
mkdir
dist replay
mkdir
dist replay
...
...
.ci/pack-macos-dlc.sh
View file @
59d98986
...
@@ -4,7 +4,9 @@ set -o errexit
...
@@ -4,7 +4,9 @@ set -o errexit
ARCHIVE_FILES
=(
ygopro.app cards.cdb locales fonts sound textures strings.conf system.conf pack
)
ARCHIVE_FILES
=(
ygopro.app cards.cdb locales fonts sound textures strings.conf system.conf pack
)
TARGET_PLATFORM
=
darwin
if
[[
-z
"
$TARGET_PLATFORM
"
]]
;
then
TARGET_PLATFORM
=
darwin
fi
apt update
&&
apt
-y
install tar
zstd
apt update
&&
apt
-y
install tar
zstd
mkdir
dist replay
mkdir
dist replay
...
...
.ci/pack-macos.sh
View file @
59d98986
...
@@ -6,7 +6,9 @@ ARCHIVE_FILES=(ygopro.app LICENSE README.md lflist.conf strings.conf system.conf
...
@@ -6,7 +6,9 @@ ARCHIVE_FILES=(ygopro.app LICENSE README.md lflist.conf strings.conf system.conf
# TARGET_LOCALE
# TARGET_LOCALE
# ARCHIVE_SUFFIX
# ARCHIVE_SUFFIX
TARGET_PLATFORM
=
darwin
if
[[
-z
"
$TARGET_PLATFORM
"
]]
;
then
TARGET_PLATFORM
=
darwin
fi
apt update
&&
apt
-y
install tar
git zstd
apt update
&&
apt
-y
install tar
git zstd
mkdir
dist replay
mkdir
dist replay
...
...
.ci/pack-windows-7z.sh
View file @
59d98986
...
@@ -9,7 +9,9 @@ if [[ "$TARGET_LOCALE" == "zh-CN" ]]; then
...
@@ -9,7 +9,9 @@ if [[ "$TARGET_LOCALE" == "zh-CN" ]]; then
fi
fi
# TARGET_LOCALE
# TARGET_LOCALE
TARGET_PLATFORM
=
win32
if
[[
-z
"
$TARGET_PLATFORM
"
]]
;
then
TARGET_PLATFORM
=
win32
fi
apt update
&&
apt
-y
install
p7zip-full git
apt update
&&
apt
-y
install
p7zip-full git
mkdir
dist replay
mkdir
dist replay
...
...
.ci/pack-windows-dlc.sh
View file @
59d98986
...
@@ -4,7 +4,9 @@ set -o errexit
...
@@ -4,7 +4,9 @@ set -o errexit
ARCHIVE_FILES
=(
ygopro.exe cards.cdb locales fonts sound textures strings.conf system.conf skin pack
)
ARCHIVE_FILES
=(
ygopro.exe cards.cdb locales fonts sound textures strings.conf system.conf skin pack
)
TARGET_PLATFORM
=
win32
if
[[
-z
"
$TARGET_PLATFORM
"
]]
;
then
TARGET_PLATFORM
=
win32
fi
apt update
&&
apt
-y
install tar
zstd
apt update
&&
apt
-y
install tar
zstd
mkdir
dist replay
mkdir
dist replay
...
...
.ci/pack-windows.sh
View file @
59d98986
...
@@ -10,7 +10,9 @@ fi
...
@@ -10,7 +10,9 @@ fi
# TARGET_LOCALE
# TARGET_LOCALE
# ARCHIVE_SUFFIX
# ARCHIVE_SUFFIX
TARGET_PLATFORM
=
win32
if
[[
-z
"
$TARGET_PLATFORM
"
]]
;
then
TARGET_PLATFORM
=
win32
fi
apt update
&&
apt
-y
install tar
git zstd
apt update
&&
apt
-y
install tar
git zstd
mkdir
dist replay
mkdir
dist replay
...
...
.github/workflows/build.yml
View file @
59d98986
...
@@ -90,17 +90,6 @@ jobs:
...
@@ -90,17 +90,6 @@ jobs:
7z x ${{ steps.sqlite.outputs.filepath }}
7z x ${{ steps.sqlite.outputs.filepath }}
move sqlite-amalgamation-3490100 sqlite3
move sqlite-amalgamation-3490100 sqlite3
-
name
:
Download irrKlang
id
:
irrKlang
uses
:
mercury233/action-cache-download-file@v1.0.0
with
:
url
:
https://www.ambiera.at/downloads/irrKlang-32bit-1.6.0.zip
-
name
:
Extract irrKlang
run
:
|
7z x ${{ steps.irrKlang.outputs.filepath }}
move irrKlang-1.6.0 irrKlang
-
name
:
Download irrlicht
-
name
:
Download irrlicht
run
:
|
run
:
|
git clone --depth=1 https://github.com/mercury233/irrlicht
git clone --depth=1 https://github.com/mercury233/irrlicht
...
@@ -132,6 +121,7 @@ jobs:
...
@@ -132,6 +121,7 @@ jobs:
-
name
:
Copy premake files
-
name
:
Copy premake files
run
:
|
run
:
|
xcopy /E premake\* .
xcopy /E premake\* .
xcopy /E resource\* .
-
name
:
Use premake to generate Visual Studio solution (2019)
-
name
:
Use premake to generate Visual Studio solution (2019)
if
:
matrix.os == 'windows-2019'
if
:
matrix.os == 'windows-2019'
...
@@ -228,11 +218,11 @@ jobs:
...
@@ -228,11 +218,11 @@ jobs:
-
name
:
Copy premake files
-
name
:
Copy premake files
run
:
|
run
:
|
cp -r premake/* .
cp -r premake/* .
cp -r resource/* .
-
name
:
Use premake to generate make files
-
name
:
Use premake to generate make files
run
:
|
run
:
|
./premake5 gmake \
./premake5 gmake \
--no-use-irrklang \
--freetype-include-dir="/usr/include/freetype2"
--freetype-include-dir="/usr/include/freetype2"
-
name
:
Make
-
name
:
Make
...
@@ -321,13 +311,13 @@ jobs:
...
@@ -321,13 +311,13 @@ jobs:
-
name
:
Copy premake files
-
name
:
Copy premake files
run
:
|
run
:
|
cp -r premake/* .
cp -r premake/* .
cp -r resource/* .
-
name
:
Use premake to generate make files (Intel)
-
name
:
Use premake to generate make files (Intel)
if
:
runner.arch == 'X64'
if
:
runner.arch == 'X64'
run
:
|
run
:
|
./premake5 gmake \
./premake5 gmake \
--cc=clang \
--cc=clang \
--no-use-irrklang \
--freetype-include-dir="/usr/local/include/freetype2" \
--freetype-include-dir="/usr/local/include/freetype2" \
--irrlicht-include-dir="../irrlicht/include" \
--irrlicht-include-dir="../irrlicht/include" \
--irrlicht-lib-dir="../irrlicht/source/Irrlicht/MacOSX/build/Release"
--irrlicht-lib-dir="../irrlicht/source/Irrlicht/MacOSX/build/Release"
...
@@ -337,7 +327,6 @@ jobs:
...
@@ -337,7 +327,6 @@ jobs:
run
:
|
run
:
|
./premake5 gmake \
./premake5 gmake \
--cc=clang \
--cc=clang \
--no-use-irrklang \
--event-include-dir="/opt/homebrew/include" \
--event-include-dir="/opt/homebrew/include" \
--event-lib-dir="/opt/homebrew/lib" \
--event-lib-dir="/opt/homebrew/lib" \
--freetype-include-dir="/opt/homebrew/include/freetype2" \
--freetype-include-dir="/opt/homebrew/include/freetype2" \
...
...
.gitlab-ci.yml
View file @
59d98986
...
@@ -54,13 +54,9 @@ mat_linux:
...
@@ -54,13 +54,9 @@ mat_linux:
script
:
script
:
-
apt update; apt -y install git wget tar
-
apt update; apt -y install git wget tar
-
git clone --depth=1 https://code.mycard.moe/mycard/irrlicht-new irrlicht
-
git clone --depth=1 https://code.mycard.moe/mycard/irrlicht-new irrlicht
-
wget -O - https://cdn01.moecube.com/ygopro-build-materials/premake-5.0.0-beta2-linux.tar.gz | tar zfx -
-
env PROCESSOR_COUNT=$(nproc) ./.ci/libevent-prebuild.sh
artifacts
:
artifacts
:
paths
:
paths
:
-
premake5
-
irrlicht
-
irrlicht
-
libevent-stable
mat_macos
:
mat_macos
:
stage
:
prepare
stage
:
prepare
...
@@ -68,7 +64,8 @@ mat_macos:
...
@@ -68,7 +64,8 @@ mat_macos:
-
linux
-
linux
script
:
script
:
-
apt update; apt -y install wget tar
-
apt update; apt -y install wget tar
-
wget -O - https://cdn01.moecube.com/ygopro-build-materials/premake-5.0.0-beta2-macosx.tar.gz | tar zfx -
-
wget -O - https://cdn01.moecube.com/ygopro-build-materials/premake-5.0.0-beta5-macosx.tar.gz | tar zfx -
-
chmod +x premake5
-
mkdir irrlicht
-
mkdir irrlicht
-
cd irrlicht
-
cd irrlicht
-
wget -O - https://cdn01.moecube.com/ygopro-build-materials/irrlicht-mycard-mac.tar.gz | tar zfx -
-
wget -O - https://cdn01.moecube.com/ygopro-build-materials/irrlicht-mycard-mac.tar.gz | tar zfx -
...
@@ -85,8 +82,8 @@ mat_windows:
...
@@ -85,8 +82,8 @@ mat_windows:
script
:
script
:
-
apt update; apt -y install wget tar patch p7zip-full
-
apt update; apt -y install wget tar patch p7zip-full
# premake5.exe
# premake5.exe
-
wget https://cdn01.moecube.com/ygopro-build-materials/premake-5.0.0-beta
2
-windows.zip
-
wget https://cdn01.moecube.com/ygopro-build-materials/premake-5.0.0-beta
5
-windows.zip
-
7z x -y premake-5.0.0-beta
2
-windows.zip
-
7z x -y premake-5.0.0-beta
5
-windows.zip
# event
# event
-
wget -O - https://cdn01.moecube.com/ygopro-build-materials/libevent-2.0.22-stable.tar.gz | tar zfx -
-
wget -O - https://cdn01.moecube.com/ygopro-build-materials/libevent-2.0.22-stable.tar.gz | tar zfx -
-
mv libevent-2.0.22-stable event
-
mv libevent-2.0.22-stable event
...
@@ -125,20 +122,20 @@ exec_windows:
...
@@ -125,20 +122,20 @@ exec_windows:
paths
:
paths
:
-
ygopro.exe
-
ygopro.exe
exec_linux
:
.
exec_linux
:
extends
:
._exec_build
extends
:
._exec_build
tags
:
tags
:
-
linux
-
linux
image
:
git-registry.m
ycard.moe/mycard/docker-runner-base:debian11
image
:
git-registry.m
oenext.com/mycard/docker-ygopro-builder
dependencies
:
dependencies
:
-
mat_common
-
mat_common
-
mat_linux
-
mat_linux
-
mat_submodules
-
mat_submodules
variables
:
EVENT_INCLUDE_DIR
:
/usr/share/libevent-stable/include
EVENT_LIB_DIR
:
/usr/share/libevent-stable/lib
script
:
script
:
-
apt update; apt -y install git build-essential libgl1-mesa-dev libglu-dev libxxf86vm-dev
-
premake5 gmake --build-freetype --build-sqlite --build-irrlicht
-
export EVENT_INCLUDE_DIR=$PWD/libevent-stable/include
-
export EVENT_LIB_DIR=$PWD/libevent-stable/lib
-
./premake5 gmake --build-freetype --build-sqlite --build-irrlicht
-
cd build
-
cd build
-
make config=release -j$(nproc)
-
make config=release -j$(nproc)
-
cd ..
-
cd ..
...
@@ -148,6 +145,14 @@ exec_linux:
...
@@ -148,6 +145,14 @@ exec_linux:
paths
:
paths
:
-
ygopro
-
ygopro
exec_linux
:
extends
:
.exec_linux
exec_linuxarm
:
extends
:
.exec_linux
tags
:
-
arm
._exec_macos_platform
:
._exec_macos_platform
:
extends
:
._exec_build
extends
:
._exec_build
dependencies
:
dependencies
:
...
@@ -382,6 +387,15 @@ assets_en-US:
...
@@ -382,6 +387,15 @@ assets_en-US:
-
assets_zh-CN
-
assets_zh-CN
-
mat_submodules
-
mat_submodules
._pack_assets_linuxarm_zh-CN
:
extends
:
._pack
dependencies
:
-
assets
-
assets_nonwindows
-
exec_linuxarm
-
assets_zh-CN
-
mat_submodules
._pack_assets_macos_zh-CN
:
._pack_assets_macos_zh-CN
:
extends
:
._pack
extends
:
._pack
dependencies
:
dependencies
:
...
@@ -409,6 +423,15 @@ assets_en-US:
...
@@ -409,6 +423,15 @@ assets_en-US:
-
assets_en-US
-
assets_en-US
-
mat_submodules
-
mat_submodules
._pack_assets_linuxarm_en-US
:
extends
:
._pack
dependencies
:
-
assets
-
assets_nonwindows
-
exec_linuxarm
-
assets_en-US
-
mat_submodules
._pack_assets_macos_en-US
:
._pack_assets_macos_en-US
:
extends
:
._pack
extends
:
._pack
dependencies
:
dependencies
:
...
@@ -502,6 +525,15 @@ pack_linux_zh-CN_gz:
...
@@ -502,6 +525,15 @@ pack_linux_zh-CN_gz:
-
._pack_format_gz
-
._pack_format_gz
-
._locale_zh-CN
-
._locale_zh-CN
pack_linuxarm_zh-CN_gz
:
extends
:
-
._pack_assets_linuxarm_zh-CN
-
._pack_script_linux
-
._pack_format_gz
-
._locale_zh-CN
variables
:
TARGET_PLATFORM
:
linuxarm
#pack_linux_zh-CN_zst:
#pack_linux_zh-CN_zst:
# extends:
# extends:
# - ._pack_assets_linux_zh-CN
# - ._pack_assets_linux_zh-CN
...
@@ -551,6 +583,15 @@ pack_linux_en-US_gz:
...
@@ -551,6 +583,15 @@ pack_linux_en-US_gz:
-
._pack_format_gz
-
._pack_format_gz
-
._locale_en-US
-
._locale_en-US
pack_linuxarm_en-US_gz
:
extends
:
-
._pack_assets_linuxarm_en-US
-
._pack_script_linux
-
._pack_format_gz
-
._locale_en-US
variables
:
TARGET_PLATFORM
:
linuxarm
#pack_linux_en-US_zst:
#pack_linux_en-US_zst:
# extends:
# extends:
# - ._pack_assets_linux_en-US
# - ._pack_assets_linux_en-US
...
@@ -596,6 +637,7 @@ upload_to_minio:
...
@@ -596,6 +637,7 @@ upload_to_minio:
#- pack_windows_zh-CN_gz
#- pack_windows_zh-CN_gz
#- pack_windows_zh-CN_zst
#- pack_windows_zh-CN_zst
-
pack_linux_zh-CN_gz
-
pack_linux_zh-CN_gz
-
pack_linuxarm_zh-CN_gz
#- pack_linux_zh-CN_zst
#- pack_linux_zh-CN_zst
-
pack_macos_zh-CN_gz
-
pack_macos_zh-CN_gz
#- pack_macos_zh-CN_zst
#- pack_macos_zh-CN_zst
...
@@ -603,6 +645,7 @@ upload_to_minio:
...
@@ -603,6 +645,7 @@ upload_to_minio:
#- pack_windows_en-US_gz
#- pack_windows_en-US_gz
#- pack_windows_en-US_zst
#- pack_windows_en-US_zst
-
pack_linux_en-US_gz
-
pack_linux_en-US_gz
-
pack_linuxarm_en-US_gz
#- pack_linux_en-US_zst
#- pack_linux_en-US_zst
-
pack_macos_en-US_gz
-
pack_macos_en-US_gz
#- pack_macos_en-US_zst
#- pack_macos_en-US_zst
...
...
cards.cdb
View file @
59d98986
No preview for this file type
CMakeLists.txt
→
cmake/
CMakeLists.txt
View file @
59d98986
File moved
copy.sh
0 → 100755
View file @
59d98986
#!/bin/sh
cp
-r
premake/
*
.
gframe/client_field.cpp
View file @
59d98986
...
@@ -83,6 +83,11 @@ void ClientField::Clear() {
...
@@ -83,6 +83,11 @@ void ClientField::Clear() {
for
(
auto
cit
=
extra
[
i
].
begin
();
cit
!=
extra
[
i
].
end
();
++
cit
)
for
(
auto
cit
=
extra
[
i
].
begin
();
cit
!=
extra
[
i
].
end
();
++
cit
)
delete
*
cit
;
delete
*
cit
;
extra
[
i
].
clear
();
extra
[
i
].
clear
();
deck_act
[
i
]
=
false
;
grave_act
[
i
]
=
false
;
remove_act
[
i
]
=
false
;
extra_act
[
i
]
=
false
;
pzone_act
[
i
]
=
false
;
}
}
for
(
auto
cit
=
limbo_temp
.
begin
();
cit
!=
limbo_temp
.
end
();
++
cit
)
for
(
auto
cit
=
limbo_temp
.
begin
();
cit
!=
limbo_temp
.
end
();
++
cit
)
delete
*
cit
;
delete
*
cit
;
...
@@ -111,12 +116,6 @@ void ClientField::Clear() {
...
@@ -111,12 +116,6 @@ void ClientField::Clear() {
hovered_controler
=
0
;
hovered_controler
=
0
;
hovered_location
=
0
;
hovered_location
=
0
;
hovered_sequence
=
0
;
hovered_sequence
=
0
;
deck_act
=
false
;
grave_act
=
false
;
remove_act
=
false
;
extra_act
=
false
;
pzone_act
[
0
]
=
false
;
pzone_act
[
1
]
=
false
;
conti_act
=
false
;
conti_act
=
false
;
deck_reversed
=
false
;
deck_reversed
=
false
;
cant_check_grave
=
false
;
cant_check_grave
=
false
;
...
@@ -367,13 +366,14 @@ void ClientField::ClearCommandFlag() {
...
@@ -367,13 +366,14 @@ void ClientField::ClearCommandFlag() {
(
*
cit
)
->
cmdFlag
=
0
;
(
*
cit
)
->
cmdFlag
=
0
;
for
(
auto
cit
=
attackable_cards
.
begin
();
cit
!=
attackable_cards
.
end
();
++
cit
)
for
(
auto
cit
=
attackable_cards
.
begin
();
cit
!=
attackable_cards
.
end
();
++
cit
)
(
*
cit
)
->
cmdFlag
=
0
;
(
*
cit
)
->
cmdFlag
=
0
;
for
(
int
i
=
0
;
i
<
2
;
++
i
)
{
deck_act
[
i
]
=
false
;
extra_act
[
i
]
=
false
;
grave_act
[
i
]
=
false
;
remove_act
[
i
]
=
false
;
pzone_act
[
i
]
=
false
;
}
conti_cards
.
clear
();
conti_cards
.
clear
();
deck_act
=
false
;
extra_act
=
false
;
grave_act
=
false
;
remove_act
=
false
;
pzone_act
[
0
]
=
false
;
pzone_act
[
1
]
=
false
;
conti_act
=
false
;
conti_act
=
false
;
}
}
void
ClientField
::
ClearSelect
()
{
void
ClientField
::
ClearSelect
()
{
...
@@ -401,11 +401,14 @@ void ClientField::ClearChainSelect() {
...
@@ -401,11 +401,14 @@ void ClientField::ClearChainSelect() {
(
*
cit
)
->
is_selectable
=
false
;
(
*
cit
)
->
is_selectable
=
false
;
(
*
cit
)
->
is_selected
=
false
;
(
*
cit
)
->
is_selected
=
false
;
}
}
for
(
int
i
=
0
;
i
<
2
;
++
i
)
{
deck_act
[
i
]
=
false
;
extra_act
[
i
]
=
false
;
grave_act
[
i
]
=
false
;
remove_act
[
i
]
=
false
;
pzone_act
[
i
]
=
false
;
}
conti_cards
.
clear
();
conti_cards
.
clear
();
deck_act
=
false
;
grave_act
=
false
;
remove_act
=
false
;
extra_act
=
false
;
conti_act
=
false
;
conti_act
=
false
;
}
}
// needs to be synchronized with EGET_SCROLL_BAR_CHANGED
// needs to be synchronized with EGET_SCROLL_BAR_CHANGED
...
...
gframe/client_field.h
View file @
59d98986
...
@@ -78,11 +78,11 @@ public:
...
@@ -78,11 +78,11 @@ public:
std
::
vector
<
ClientCard
*>
display_cards
;
std
::
vector
<
ClientCard
*>
display_cards
;
std
::
vector
<
int
>
sort_list
;
std
::
vector
<
int
>
sort_list
;
std
::
map
<
int
,
int
>
player_desc_hints
[
2
];
std
::
map
<
int
,
int
>
player_desc_hints
[
2
];
bool
grave_act
{
false
};
bool
grave_act
[
2
]
{
false
};
bool
remove_act
{
false
};
bool
remove_act
[
2
]
{
false
};
bool
deck_act
{
false
};
bool
deck_act
[
2
]
{
false
};
bool
extra_act
{
false
};
bool
extra_act
[
2
]
{
false
};
bool
pzone_act
[
2
]{};
bool
pzone_act
[
2
]{
false
};
bool
conti_act
{
false
};
bool
conti_act
{
false
};
bool
chain_forced
{
false
};
bool
chain_forced
{
false
};
ChainInfo
current_chain
;
ChainInfo
current_chain
;
...
...
gframe/deck_con.cpp
View file @
59d98986
...
@@ -143,7 +143,8 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
...
@@ -143,7 +143,8 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
(
mainGame
->
wQuery
->
isVisible
()
&&
id
!=
BUTTON_YES
&&
id
!=
BUTTON_NO
)
||
(
mainGame
->
wQuery
->
isVisible
()
&&
id
!=
BUTTON_YES
&&
id
!=
BUTTON_NO
)
||
(
mainGame
->
wLinkMarks
->
isVisible
()
&&
id
!=
BUTTON_MARKERS_OK
)
||
(
mainGame
->
wLinkMarks
->
isVisible
()
&&
id
!=
BUTTON_MARKERS_OK
)
||
(
mainGame
->
wDMQuery
->
isVisible
()
&&
id
!=
BUTTON_DM_OK
&&
id
!=
BUTTON_DM_CANCEL
)
||
(
mainGame
->
wDMQuery
->
isVisible
()
&&
id
!=
BUTTON_DM_OK
&&
id
!=
BUTTON_DM_CANCEL
)
||
(
mainGame
->
wDeckManage
->
isVisible
()
&&
!
(
id
>=
WINDOW_DECK_MANAGE
&&
id
<
COMBOBOX_LFLIST
)))
(
mainGame
->
wDeckManage
->
isVisible
()
&&
!
(
id
>=
WINDOW_DECK_MANAGE
&&
id
<
COMBOBOX_LFLIST
))
||
(
mainGame
->
wDeckCode
->
isVisible
()
&&
id
!=
BUTTON_DECK_CODE_SAVE
&&
id
!=
BUTTON_DECK_CODE_CANCEL
))
&&
event
.
GUIEvent
.
EventType
!=
irr
::
gui
::
EGET_LISTBOX_CHANGED
&&
event
.
GUIEvent
.
EventType
!=
irr
::
gui
::
EGET_LISTBOX_CHANGED
&&
event
.
GUIEvent
.
EventType
!=
irr
::
gui
::
EGET_COMBO_BOX_CHANGED
)
{
&&
event
.
GUIEvent
.
EventType
!=
irr
::
gui
::
EGET_COMBO_BOX_CHANGED
)
{
if
(
mainGame
->
wDMQuery
->
isVisible
())
if
(
mainGame
->
wDMQuery
->
isVisible
())
...
...
gframe/deck_manager.cpp
View file @
59d98986
...
@@ -78,7 +78,7 @@ static unsigned int checkAvail(unsigned int ot, unsigned int avail) {
...
@@ -78,7 +78,7 @@ static unsigned int checkAvail(unsigned int ot, unsigned int avail) {
return
DECKERROR_TCGONLY
;
return
DECKERROR_TCGONLY
;
return
DECKERROR_NOTAVAIL
;
return
DECKERROR_NOTAVAIL
;
}
}
unsigned
int
DeckManager
::
CheckDeck
(
Deck
&
deck
,
int
lfhash
,
int
rule
)
{
unsigned
int
DeckManager
::
CheckDeck
(
const
Deck
&
deck
,
unsigned
int
lfhash
,
int
rule
)
{
std
::
unordered_map
<
int
,
int
>
ccount
;
std
::
unordered_map
<
int
,
int
>
ccount
;
// rule
// rule
if
(
deck
.
main
.
size
()
<
DECK_MIN_SIZE
||
deck
.
main
.
size
()
>
DECK_MAX_SIZE
)
if
(
deck
.
main
.
size
()
<
DECK_MIN_SIZE
||
deck
.
main
.
size
()
>
DECK_MAX_SIZE
)
...
...
gframe/deck_manager.h
View file @
59d98986
...
@@ -62,7 +62,7 @@ public:
...
@@ -62,7 +62,7 @@ public:
void
LoadLFList
();
void
LoadLFList
();
const
wchar_t
*
GetLFListName
(
unsigned
int
lfhash
);
const
wchar_t
*
GetLFListName
(
unsigned
int
lfhash
);
const
LFList
*
GetLFList
(
unsigned
int
lfhash
);
const
LFList
*
GetLFList
(
unsigned
int
lfhash
);
unsigned
int
CheckDeck
(
Deck
&
deck
,
int
lfhash
,
int
rule
);
unsigned
int
CheckDeck
(
const
Deck
&
deck
,
unsigned
int
lfhash
,
int
rule
);
int
LoadDeck
(
Deck
&
deck
,
int
*
dbuf
,
int
mainc
,
int
sidec
,
bool
is_packlist
=
false
);
int
LoadDeck
(
Deck
&
deck
,
int
*
dbuf
,
int
mainc
,
int
sidec
,
bool
is_packlist
=
false
);
int
LoadDeck
(
Deck
&
deck
,
std
::
istringstream
&
deckStream
,
bool
is_packlist
=
false
);
int
LoadDeck
(
Deck
&
deck
,
std
::
istringstream
&
deckStream
,
bool
is_packlist
=
false
);
bool
LoadSide
(
Deck
&
deck
,
int
*
dbuf
,
int
mainc
,
int
sidec
);
bool
LoadSide
(
Deck
&
deck
,
int
*
dbuf
,
int
mainc
,
int
sidec
);
...
...
gframe/drawing.cpp
View file @
59d98986
...
@@ -467,43 +467,38 @@ void Game::DrawMisc() {
...
@@ -467,43 +467,38 @@ void Game::DrawMisc() {
im
.
setRotationRadians
(
act_rot
);
im
.
setRotationRadians
(
act_rot
);
matManager
.
mTexture
.
setTexture
(
0
,
imageManager
.
tAct
);
matManager
.
mTexture
.
setTexture
(
0
,
imageManager
.
tAct
);
driver
->
setMaterial
(
matManager
.
mTexture
);
driver
->
setMaterial
(
matManager
.
mTexture
);
if
(
dField
.
deck_act
)
{
for
(
int
player
=
0
;
player
<
2
;
++
player
)
{
im
.
setTranslation
(
irr
::
core
::
vector3df
((
matManager
.
vFieldDeck
[
0
][
0
].
Pos
.
X
+
matManager
.
vFieldDeck
[
0
][
1
].
Pos
.
X
)
/
2
,
if
(
dField
.
deck_act
[
player
])
{
(
matManager
.
vFieldDeck
[
0
][
0
].
Pos
.
Y
+
matManager
.
vFieldDeck
[
0
][
2
].
Pos
.
Y
)
/
2
,
dField
.
deck
[
0
].
size
()
*
0.01
f
+
0.02
f
));
im
.
setTranslation
(
irr
::
core
::
vector3df
((
matManager
.
vFieldDeck
[
player
][
0
].
Pos
.
X
+
matManager
.
vFieldDeck
[
player
][
1
].
Pos
.
X
)
/
2
,
(
matManager
.
vFieldDeck
[
player
][
0
].
Pos
.
Y
+
matManager
.
vFieldDeck
[
player
][
2
].
Pos
.
Y
)
/
2
,
dField
.
deck
[
player
].
size
()
*
0.01
f
+
0.02
f
));
driver
->
setTransform
(
irr
::
video
::
ETS_WORLD
,
im
);
driver
->
setTransform
(
irr
::
video
::
ETS_WORLD
,
im
);
driver
->
drawVertexPrimitiveList
(
matManager
.
vActivate
,
4
,
matManager
.
iRectangle
,
2
);
driver
->
drawVertexPrimitiveList
(
matManager
.
vActivate
,
4
,
matManager
.
iRectangle
,
2
);
}
}
if
(
dField
.
grave_act
)
{
if
(
dField
.
grave_act
[
player
]
)
{
im
.
setTranslation
(
irr
::
core
::
vector3df
((
matManager
.
vFieldGrave
[
0
][
rule
][
0
].
Pos
.
X
+
matManager
.
vFieldGrave
[
0
][
rule
][
1
].
Pos
.
X
)
/
2
,
im
.
setTranslation
(
irr
::
core
::
vector3df
((
matManager
.
vFieldGrave
[
player
][
rule
][
0
].
Pos
.
X
+
matManager
.
vFieldGrave
[
player
][
rule
][
1
].
Pos
.
X
)
/
2
,
(
matManager
.
vFieldGrave
[
0
][
rule
][
0
].
Pos
.
Y
+
matManager
.
vFieldGrave
[
0
][
rule
][
2
].
Pos
.
Y
)
/
2
,
dField
.
grave
[
0
].
size
()
*
0.01
f
+
0.02
f
));
(
matManager
.
vFieldGrave
[
player
][
rule
][
0
].
Pos
.
Y
+
matManager
.
vFieldGrave
[
player
][
rule
][
2
].
Pos
.
Y
)
/
2
,
dField
.
grave
[
player
].
size
()
*
0.01
f
+
0.02
f
));
driver
->
setTransform
(
irr
::
video
::
ETS_WORLD
,
im
);
driver
->
setTransform
(
irr
::
video
::
ETS_WORLD
,
im
);
driver
->
drawVertexPrimitiveList
(
matManager
.
vActivate
,
4
,
matManager
.
iRectangle
,
2
);
driver
->
drawVertexPrimitiveList
(
matManager
.
vActivate
,
4
,
matManager
.
iRectangle
,
2
);
}
}
if
(
dField
.
remove_act
)
{
if
(
dField
.
remove_act
[
player
]
)
{
im
.
setTranslation
(
irr
::
core
::
vector3df
((
matManager
.
vFieldRemove
[
0
][
rule
][
0
].
Pos
.
X
+
matManager
.
vFieldRemove
[
0
][
rule
][
1
].
Pos
.
X
)
/
2
,
im
.
setTranslation
(
irr
::
core
::
vector3df
((
matManager
.
vFieldRemove
[
player
][
rule
][
0
].
Pos
.
X
+
matManager
.
vFieldRemove
[
player
][
rule
][
1
].
Pos
.
X
)
/
2
,
(
matManager
.
vFieldRemove
[
0
][
rule
][
0
].
Pos
.
Y
+
matManager
.
vFieldRemove
[
0
][
rule
][
2
].
Pos
.
Y
)
/
2
,
dField
.
remove
[
0
].
size
()
*
0.01
f
+
0.02
f
));
(
matManager
.
vFieldRemove
[
player
][
rule
][
0
].
Pos
.
Y
+
matManager
.
vFieldRemove
[
player
][
rule
][
2
].
Pos
.
Y
)
/
2
,
dField
.
remove
[
player
].
size
()
*
0.01
f
+
0.02
f
));
driver
->
setTransform
(
irr
::
video
::
ETS_WORLD
,
im
);
driver
->
setTransform
(
irr
::
video
::
ETS_WORLD
,
im
);
driver
->
drawVertexPrimitiveList
(
matManager
.
vActivate
,
4
,
matManager
.
iRectangle
,
2
);
driver
->
drawVertexPrimitiveList
(
matManager
.
vActivate
,
4
,
matManager
.
iRectangle
,
2
);
}
}
if
(
dField
.
extra_act
)
{
if
(
dField
.
extra_act
[
player
]
)
{
im
.
setTranslation
(
irr
::
core
::
vector3df
((
matManager
.
vFieldExtra
[
0
][
0
].
Pos
.
X
+
matManager
.
vFieldExtra
[
0
][
1
].
Pos
.
X
)
/
2
,
im
.
setTranslation
(
irr
::
core
::
vector3df
((
matManager
.
vFieldExtra
[
player
][
0
].
Pos
.
X
+
matManager
.
vFieldExtra
[
player
][
1
].
Pos
.
X
)
/
2
,
(
matManager
.
vFieldExtra
[
0
][
0
].
Pos
.
Y
+
matManager
.
vFieldExtra
[
0
][
2
].
Pos
.
Y
)
/
2
,
dField
.
extra
[
0
].
size
()
*
0.01
f
+
0.02
f
));
(
matManager
.
vFieldExtra
[
player
][
0
].
Pos
.
Y
+
matManager
.
vFieldExtra
[
player
][
2
].
Pos
.
Y
)
/
2
,
dField
.
extra
[
player
].
size
()
*
0.01
f
+
0.02
f
));
driver
->
setTransform
(
irr
::
video
::
ETS_WORLD
,
im
);
driver
->
setTransform
(
irr
::
video
::
ETS_WORLD
,
im
);
driver
->
drawVertexPrimitiveList
(
matManager
.
vActivate
,
4
,
matManager
.
iRectangle
,
2
);
driver
->
drawVertexPrimitiveList
(
matManager
.
vActivate
,
4
,
matManager
.
iRectangle
,
2
);
}
}
if
(
dField
.
pzone_act
[
0
])
{
if
(
dField
.
pzone_act
[
player
])
{
int
seq
=
dInfo
.
duel_rule
>=
4
?
0
:
6
;
int
seq
=
dInfo
.
duel_rule
>=
4
?
0
:
6
;
im
.
setTranslation
(
irr
::
core
::
vector3df
((
matManager
.
vFieldSzone
[
0
][
seq
][
rule
][
0
].
Pos
.
X
+
matManager
.
vFieldSzone
[
0
][
seq
][
rule
][
1
].
Pos
.
X
)
/
2
,
im
.
setTranslation
(
irr
::
core
::
vector3df
((
matManager
.
vFieldSzone
[
player
][
seq
][
rule
][
0
].
Pos
.
X
+
matManager
.
vFieldSzone
[
player
][
seq
][
rule
][
1
].
Pos
.
X
)
/
2
,
(
matManager
.
vFieldSzone
[
0
][
seq
][
rule
][
0
].
Pos
.
Y
+
matManager
.
vFieldSzone
[
0
][
seq
][
rule
][
2
].
Pos
.
Y
)
/
2
,
0.03
f
));
(
matManager
.
vFieldSzone
[
player
][
seq
][
rule
][
0
].
Pos
.
Y
+
matManager
.
vFieldSzone
[
player
][
seq
][
rule
][
2
].
Pos
.
Y
)
/
2
,
0.03
f
));
driver
->
setTransform
(
irr
::
video
::
ETS_WORLD
,
im
);
driver
->
setTransform
(
irr
::
video
::
ETS_WORLD
,
im
);
driver
->
drawVertexPrimitiveList
(
matManager
.
vActivate
,
4
,
matManager
.
iRectangle
,
2
);
driver
->
drawVertexPrimitiveList
(
matManager
.
vActivate
,
4
,
matManager
.
iRectangle
,
2
);
}
}
if
(
dField
.
pzone_act
[
1
])
{
int
seq
=
dInfo
.
duel_rule
>=
4
?
0
:
6
;
im
.
setTranslation
(
irr
::
core
::
vector3df
((
matManager
.
vFieldSzone
[
1
][
seq
][
rule
][
0
].
Pos
.
X
+
matManager
.
vFieldSzone
[
1
][
seq
][
rule
][
1
].
Pos
.
X
)
/
2
,
(
matManager
.
vFieldSzone
[
1
][
seq
][
rule
][
0
].
Pos
.
Y
+
matManager
.
vFieldSzone
[
1
][
seq
][
rule
][
2
].
Pos
.
Y
)
/
2
,
0.03
f
));
driver
->
setTransform
(
irr
::
video
::
ETS_WORLD
,
im
);
driver
->
drawVertexPrimitiveList
(
matManager
.
vActivate
,
4
,
matManager
.
iRectangle
,
2
);
}
}
if
(
dField
.
conti_act
)
{
if
(
dField
.
conti_act
)
{
irr
::
core
::
vector3df
pos
=
irr
::
core
::
vector3df
((
matManager
.
vFieldContiAct
[
0
].
X
+
matManager
.
vFieldContiAct
[
1
].
X
)
/
2
,
irr
::
core
::
vector3df
pos
=
irr
::
core
::
vector3df
((
matManager
.
vFieldContiAct
[
0
].
X
+
matManager
.
vFieldContiAct
[
1
].
X
)
/
2
,
...
...
gframe/duelclient.cpp
View file @
59d98986
...
@@ -1554,14 +1554,12 @@ bool DuelClient::ClientAnalyze(unsigned char* msg, int len) {
...
@@ -1554,14 +1554,12 @@ bool DuelClient::ClientAnalyze(unsigned char* msg, int len) {
mainGame
->
dField
.
conti_act
=
true
;
mainGame
->
dField
.
conti_act
=
true
;
}
else
{
}
else
{
pcard
->
cmdFlag
|=
COMMAND_ACTIVATE
;
pcard
->
cmdFlag
|=
COMMAND_ACTIVATE
;
if
(
pcard
->
controler
==
0
)
{
if
(
pcard
->
location
==
LOCATION_GRAVE
)
if
(
pcard
->
location
==
LOCATION_GRAVE
)
mainGame
->
dField
.
grave_act
=
true
;
mainGame
->
dField
.
grave_act
[
con
]
=
true
;
else
if
(
pcard
->
location
==
LOCATION_REMOVED
)
else
if
(
pcard
->
location
==
LOCATION_REMOVED
)
mainGame
->
dField
.
remove_act
=
true
;
mainGame
->
dField
.
remove_act
[
con
]
=
true
;
else
if
(
pcard
->
location
==
LOCATION_EXTRA
)
else
if
(
pcard
->
location
==
LOCATION_EXTRA
)
mainGame
->
dField
.
extra_act
=
true
;
mainGame
->
dField
.
extra_act
[
con
]
=
true
;
}
}
}
}
}
mainGame
->
dField
.
attackable_cards
.
clear
();
mainGame
->
dField
.
attackable_cards
.
clear
();
...
@@ -1619,17 +1617,17 @@ bool DuelClient::ClientAnalyze(unsigned char* msg, int len) {
...
@@ -1619,17 +1617,17 @@ bool DuelClient::ClientAnalyze(unsigned char* msg, int len) {
pcard
->
cmdFlag
|=
COMMAND_SPSUMMON
;
pcard
->
cmdFlag
|=
COMMAND_SPSUMMON
;
if
(
pcard
->
location
==
LOCATION_DECK
)
{
if
(
pcard
->
location
==
LOCATION_DECK
)
{
pcard
->
SetCode
(
code
);
pcard
->
SetCode
(
code
);
mainGame
->
dField
.
deck_act
=
true
;
mainGame
->
dField
.
deck_act
[
con
]
=
true
;
}
else
if
(
pcard
->
location
==
LOCATION_GRAVE
)
}
else
if
(
pcard
->
location
==
LOCATION_GRAVE
)
mainGame
->
dField
.
grave_act
=
true
;
mainGame
->
dField
.
grave_act
[
con
]
=
true
;
else
if
(
pcard
->
location
==
LOCATION_REMOVED
)
else
if
(
pcard
->
location
==
LOCATION_REMOVED
)
mainGame
->
dField
.
remove_act
=
true
;
mainGame
->
dField
.
remove_act
[
con
]
=
true
;
else
if
(
pcard
->
location
==
LOCATION_EXTRA
)
else
if
(
pcard
->
location
==
LOCATION_EXTRA
)
mainGame
->
dField
.
extra_act
=
true
;
mainGame
->
dField
.
extra_act
[
con
]
=
true
;
else
{
else
{
int
left_seq
=
mainGame
->
dInfo
.
duel_rule
>=
4
?
0
:
6
;
int
left_seq
=
mainGame
->
dInfo
.
duel_rule
>=
4
?
0
:
6
;
if
(
pcard
->
location
==
LOCATION_SZONE
&&
pcard
->
sequence
==
left_seq
&&
(
pcard
->
type
&
TYPE_PENDULUM
)
&&
!
pcard
->
equipTarget
)
if
(
pcard
->
location
==
LOCATION_SZONE
&&
pcard
->
sequence
==
left_seq
&&
(
pcard
->
type
&
TYPE_PENDULUM
)
&&
!
pcard
->
equipTarget
)
mainGame
->
dField
.
pzone_act
[
pcard
->
controler
]
=
true
;
mainGame
->
dField
.
pzone_act
[
con
]
=
true
;
}
}
}
}
mainGame
->
dField
.
reposable_cards
.
clear
();
mainGame
->
dField
.
reposable_cards
.
clear
();
...
@@ -1689,14 +1687,12 @@ bool DuelClient::ClientAnalyze(unsigned char* msg, int len) {
...
@@ -1689,14 +1687,12 @@ bool DuelClient::ClientAnalyze(unsigned char* msg, int len) {
mainGame
->
dField
.
conti_act
=
true
;
mainGame
->
dField
.
conti_act
=
true
;
}
else
{
}
else
{
pcard
->
cmdFlag
|=
COMMAND_ACTIVATE
;
pcard
->
cmdFlag
|=
COMMAND_ACTIVATE
;
if
(
pcard
->
controler
==
0
)
{
if
(
pcard
->
location
==
LOCATION_GRAVE
)
if
(
pcard
->
location
==
LOCATION_GRAVE
)
mainGame
->
dField
.
grave_act
=
true
;
mainGame
->
dField
.
grave_act
[
con
]
=
true
;
else
if
(
pcard
->
location
==
LOCATION_REMOVED
)
else
if
(
pcard
->
location
==
LOCATION_REMOVED
)
mainGame
->
dField
.
remove_act
=
true
;
mainGame
->
dField
.
remove_act
[
con
]
=
true
;
else
if
(
pcard
->
location
==
LOCATION_EXTRA
)
else
if
(
pcard
->
location
==
LOCATION_EXTRA
)
mainGame
->
dField
.
extra_act
=
true
;
mainGame
->
dField
.
extra_act
[
con
]
=
true
;
}
}
}
}
}
if
(
BufferIO
::
ReadUInt8
(
pbuf
))
{
if
(
BufferIO
::
ReadUInt8
(
pbuf
))
{
...
@@ -1983,13 +1979,13 @@ bool DuelClient::ClientAnalyze(unsigned char* msg, int len) {
...
@@ -1983,13 +1979,13 @@ bool DuelClient::ClientAnalyze(unsigned char* msg, int len) {
pcard
->
cmdFlag
|=
COMMAND_ACTIVATE
;
pcard
->
cmdFlag
|=
COMMAND_ACTIVATE
;
if
(
pcard
->
location
==
LOCATION_DECK
)
{
if
(
pcard
->
location
==
LOCATION_DECK
)
{
pcard
->
SetCode
(
code
);
pcard
->
SetCode
(
code
);
mainGame
->
dField
.
deck_act
=
true
;
mainGame
->
dField
.
deck_act
[
c
]
=
true
;
}
else
if
(
l
==
LOCATION_GRAVE
)
}
else
if
(
l
==
LOCATION_GRAVE
)
mainGame
->
dField
.
grave_act
=
true
;
mainGame
->
dField
.
grave_act
[
c
]
=
true
;
else
if
(
l
==
LOCATION_REMOVED
)
else
if
(
l
==
LOCATION_REMOVED
)
mainGame
->
dField
.
remove_act
=
true
;
mainGame
->
dField
.
remove_act
[
c
]
=
true
;
else
if
(
l
==
LOCATION_EXTRA
)
else
if
(
l
==
LOCATION_EXTRA
)
mainGame
->
dField
.
extra_act
=
true
;
mainGame
->
dField
.
extra_act
[
c
]
=
true
;
else
if
(
l
==
LOCATION_OVERLAY
)
else
if
(
l
==
LOCATION_OVERLAY
)
panelmode
=
true
;
panelmode
=
true
;
}
}
...
...
gframe/game.cpp
View file @
59d98986
...
@@ -227,7 +227,7 @@ bool Game::Initialize() {
...
@@ -227,7 +227,7 @@ bool Game::Initialize() {
SetWindowsIcon
();
SetWindowsIcon
();
//main menu
//main menu
wchar_t
strbuf
[
256
];
wchar_t
strbuf
[
256
];
myswprintf
(
strbuf
,
L"KoishiPro %X.0%X.%X
Moon
"
,
(
PRO_VERSION
&
0xf000U
)
>>
12
,
(
PRO_VERSION
&
0x0ff0U
)
>>
4
,
PRO_VERSION
&
0x000fU
);
myswprintf
(
strbuf
,
L"KoishiPro %X.0%X.%X
Overdose
"
,
(
PRO_VERSION
&
0xf000U
)
>>
12
,
(
PRO_VERSION
&
0x0ff0U
)
>>
4
,
PRO_VERSION
&
0x000fU
);
wMainMenu
=
env
->
addWindow
(
irr
::
core
::
rect
<
irr
::
s32
>
(
370
,
200
,
650
,
415
),
false
,
strbuf
);
wMainMenu
=
env
->
addWindow
(
irr
::
core
::
rect
<
irr
::
s32
>
(
370
,
200
,
650
,
415
),
false
,
strbuf
);
wMainMenu
->
getCloseButton
()
->
setVisible
(
false
);
wMainMenu
->
getCloseButton
()
->
setVisible
(
false
);
btnLanMode
=
env
->
addButton
(
irr
::
core
::
rect
<
irr
::
s32
>
(
10
,
30
,
270
,
60
),
wMainMenu
,
BUTTON_LAN_MODE
,
dataManager
.
GetSysString
(
1200
));
btnLanMode
=
env
->
addButton
(
irr
::
core
::
rect
<
irr
::
s32
>
(
10
,
30
,
270
,
60
),
wMainMenu
,
BUTTON_LAN_MODE
,
dataManager
.
GetSysString
(
1200
));
...
...
gframe/premake5.lua
View file @
59d98986
...
@@ -7,6 +7,7 @@ end
...
@@ -7,6 +7,7 @@ end
project
"YGOPro"
project
"YGOPro"
kind
"WindowedApp"
kind
"WindowedApp"
cppdialect
"C++14"
cppdialect
"C++14"
rtti
"Off"
files
{
"*.cpp"
,
"*.h"
,
"CGUISkinSystem/*.cpp"
,
"CGUISkinSystem/*.h"
,
"CXMLRegistry/*.cpp"
,
"CXMLRegistry/*.h"
}
files
{
"*.cpp"
,
"*.h"
,
"CGUISkinSystem/*.cpp"
,
"CGUISkinSystem/*.h"
,
"CXMLRegistry/*.cpp"
,
"CXMLRegistry/*.h"
}
includedirs
{
"../ocgcore"
}
includedirs
{
"../ocgcore"
}
...
@@ -50,8 +51,6 @@ project "YGOPro"
...
@@ -50,8 +51,6 @@ project "YGOPro"
files
"ygopro.rc"
files
"ygopro.rc"
libdirs
{
"$(DXSDK_DIR)Lib/x86"
}
libdirs
{
"$(DXSDK_DIR)Lib/x86"
}
links
{
"opengl32"
,
"ws2_32"
,
"winmm"
,
"gdi32"
,
"kernel32"
,
"user32"
,
"imm32"
,
"Dnsapi"
}
links
{
"opengl32"
,
"ws2_32"
,
"winmm"
,
"gdi32"
,
"kernel32"
,
"user32"
,
"imm32"
,
"Dnsapi"
}
filter
"not action:vs*"
buildoptions
{
"-fno-rtti"
}
filter
"not system:windows"
filter
"not system:windows"
links
{
"event_pthreads"
,
"dl"
,
"pthread"
,
"resolv"
}
links
{
"event_pthreads"
,
"dl"
,
"pthread"
,
"resolv"
}
filter
"system:macosx"
filter
"system:macosx"
...
...
ocgcore
@
5669c08b
Subproject commit
39de78189126c70aa25f927d1033599f4b501ae7
Subproject commit
5669c08b3a6674f25fd924633b2275eaed3fffad
premake/event/premake5.lua
View file @
59d98986
project
"event"
project
"event"
kind
"StaticLib"
kind
"StaticLib"
cdialect
"C11"
includedirs
{
"include"
,
"compat"
}
includedirs
{
"include"
,
"compat"
}
...
...
premake/freetype/premake5.lua
View file @
59d98986
project
"freetype"
project
"freetype"
kind
"StaticLib"
kind
"StaticLib"
cdialect
"C11"
includedirs
{
"include"
}
includedirs
{
"include"
}
defines
{
"FT2_BUILD_LIBRARY"
}
defines
{
"FT2_BUILD_LIBRARY"
}
...
...
premake/irrlicht/defines.lua
0 → 100644
View file @
59d98986
defines
{
"_IRR_STATIC_LIB_"
,
"NO_IRR_USE_NON_SYSTEM_BZLIB_"
,
"NO_IRR_COMPILE_WITH_BZIP2_"
,
"NO_IRR_COMPILE_WITH_CONSOLE_DEVICE_"
,
"NO_IRR_COMPILE_WITH_DIRECT3D_8_"
,
"NO_IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_"
,
"NO_IRR_COMPILE_WITH_JOYSTICK_EVENTS_"
,
"NO_IRR_COMPILE_WITH_SOFTWARE_"
,
"NO_IRR_COMPILE_WITH_BURNINGSVIDEO_"
,
"NO_IRR_COMPILE_WITH_IRR_SCENE_LOADER_"
,
"NO_IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_"
,
"NO_IRR_COMPILE_WITH_IRR_MESH_LOADER_"
,
"NO_IRR_COMPILE_WITH_HALFLIFE_LOADER_"
,
"NO_IRR_COMPILE_WITH_MD2_LOADER_"
,
"NO_IRR_COMPILE_WITH_MD3_LOADER_"
,
"NO_IRR_COMPILE_WITH_3DS_LOADER_"
,
"NO_IRR_COMPILE_WITH_COLLADA_LOADER_"
,
"NO_IRR_COMPILE_WITH_CSM_LOADER_"
,
"NO_IRR_COMPILE_WITH_BSP_LOADER_"
,
"NO_IRR_COMPILE_WITH_DMF_LOADER_"
,
"NO_IRR_COMPILE_WITH_LMTS_LOADER_"
,
"NO_IRR_COMPILE_WITH_MY3D_LOADER_"
,
"NO_IRR_COMPILE_WITH_OBJ_LOADER_"
,
"NO_IRR_COMPILE_WITH_OCT_LOADER_"
,
"NO_IRR_COMPILE_WITH_LWO_LOADER_"
,
"NO_IRR_COMPILE_WITH_STL_LOADER_"
,
"NO_IRR_COMPILE_WITH_PLY_LOADER_"
,
"NO_IRR_COMPILE_WITH_SMF_LOADER_"
,
"NO_IRR_COMPILE_WITH_IRR_WRITER_"
,
"NO_IRR_COMPILE_WITH_COLLADA_WRITER_"
,
"NO_IRR_COMPILE_WITH_STL_WRITER_"
,
"NO_IRR_COMPILE_WITH_OBJ_WRITER_"
,
"NO_IRR_COMPILE_WITH_PLY_WRITER_"
,
"NO_IRR_COMPILE_WITH_PCX_LOADER_"
,
"NO_IRR_COMPILE_WITH_PPM_LOADER_"
,
"NO_IRR_COMPILE_WITH_PSD_LOADER_"
,
"NO_IRR_COMPILE_WITH_TGA_LOADER_"
,
"NO_IRR_COMPILE_WITH_WAL_LOADER_"
,
"NO_IRR_COMPILE_WITH_LMP_LOADER_"
,
"NO_IRR_COMPILE_WITH_RGB_LOADER_"
,
"NO_IRR_COMPILE_WITH_PCX_WRITER_"
,
"NO_IRR_COMPILE_WITH_PPM_WRITER_"
,
"NO_IRR_COMPILE_WITH_PSD_WRITER_"
,
"NO_IRR_COMPILE_WITH_TGA_WRITER_"
,
"NO__IRR_COMPILE_WITH_PAK_ARCHIVE_LOADER_"
,
"NO__IRR_COMPILE_WITH_NPK_ARCHIVE_LOADER_"
,
"NO__IRR_COMPILE_WITH_WAD_ARCHIVE_LOADER_"
,
}
premake/irrlicht/premake5.lua
View file @
59d98986
This diff is collapsed.
Click to expand it.
premake/lua/premake5.lua
View file @
59d98986
project
"lua"
project
"lua"
kind
"StaticLib"
kind
"StaticLib"
compileas
"C++"
files
{
"src/*.c"
,
"src/*.h"
,
"src/*.hpp"
}
files
{
"src/*.c"
,
"src/*.h"
}
removefiles
{
"src/lua.c"
,
"src/luac.c"
}
removefiles
{
"src/lua.c"
,
"src/luac.c"
,
"src/onelua.c"
}
filter
"action:vs*"
if
not
GetParam
(
"no-lua-safe"
)
then
buildoptions
{
"/TP"
}
removefiles
{
"src/linit.c"
}
end
filter
"not action:vs*"
buildoptions
{
"-x c++"
}
filter
"configurations:Debug"
filter
"configurations:Debug"
defines
{
"LUA_USE_APICHECK"
}
defines
{
"LUA_USE_APICHECK"
}
...
...
premake/sqlite3/premake5.lua
View file @
59d98986
project
"sqlite3"
project
"sqlite3"
kind
"StaticLib"
kind
"StaticLib"
cdialect
"C11"
files
{
"sqlite3.c"
,
"sqlite3.h"
}
files
{
"sqlite3.c"
,
"sqlite3.h"
}
premake5.lua
View file @
59d98986
...
@@ -211,7 +211,7 @@ workspace "YGOPro"
...
@@ -211,7 +211,7 @@ workspace "YGOPro"
flags
{
"LinkTimeOptimization"
}
flags
{
"LinkTimeOptimization"
}
end
end
staticruntime
"On"
staticruntime
"On"
disablewarnings
{
"4244"
,
"4267"
,
"4838"
,
"4
577"
,
"4018"
,
"4996"
,
"4477"
,
"4091"
,
"4800
"
,
"6011"
,
"6031"
,
"6054"
,
"6262"
}
disablewarnings
{
"4244"
,
"4267"
,
"4838"
,
"4
996
"
,
"6011"
,
"6031"
,
"6054"
,
"6262"
}
filter
{
"configurations:Release"
,
"not action:vs*"
}
filter
{
"configurations:Release"
,
"not action:vs*"
}
symbols
"On"
symbols
"On"
...
@@ -224,6 +224,7 @@ workspace "YGOPro"
...
@@ -224,6 +224,7 @@ workspace "YGOPro"
disablewarnings
{
"6011"
,
"6031"
,
"6054"
,
"6262"
}
disablewarnings
{
"6011"
,
"6031"
,
"6054"
,
"6262"
}
filter
"action:vs*"
filter
"action:vs*"
cdialect
"C11"
vectorextensions
"SSE2"
vectorextensions
"SSE2"
buildoptions
{
"/utf-8"
}
buildoptions
{
"/utf-8"
}
defines
{
"_CRT_SECURE_NO_WARNINGS"
}
defines
{
"_CRT_SECURE_NO_WARNINGS"
}
...
...
premak
e/gframe/ygopro.aps
→
resourc
e/gframe/ygopro.aps
View file @
59d98986
File moved
premak
e/gframe/ygopro.icns
→
resourc
e/gframe/ygopro.icns
View file @
59d98986
File moved
premak
e/gframe/ygopro.ico
→
resourc
e/gframe/ygopro.ico
View file @
59d98986
File moved
premak
e/gframe/ygopro.rc
→
resourc
e/gframe/ygopro.rc
View file @
59d98986
...
@@ -16,8 +16,8 @@ VALUE "InternalName", "KoishiPro"
...
@@ -16,8 +16,8 @@ VALUE "InternalName", "KoishiPro"
VALUE "LegalCopyright", "Copyright (C) 2023 Nanahira"
VALUE "LegalCopyright", "Copyright (C) 2023 Nanahira"
VALUE "OriginalFilename", "ygopro.exe"
VALUE "OriginalFilename", "ygopro.exe"
VALUE "ProductName", "KoishiPro"
VALUE "ProductName", "KoishiPro"
VALUE "FileVersion", "
Moon
"
VALUE "FileVersion", "
Overdose
"
VALUE "ProductVersion", "
Moon
"
VALUE "ProductVersion", "
Overdose
"
END
END
END
END
BLOCK "VarFileInfo"
BLOCK "VarFileInfo"
...
...
script
@
28782ebd
Subproject commit
0e92e4d32b2073615f5bc8005bfba50283844734
Subproject commit
28782ebd949a70081a9f3c5c867d12cba80e756d
strings.conf
View file @
59d98986
...
@@ -1257,3 +1257,5 @@
...
@@ -1257,3 +1257,5 @@
!
setname
0
x1c4
征龙 征竜
!
setname
0
x1c4
征龙 征竜
!
setname
0
x1c5
再世 再世
!
setname
0
x1c5
再世 再世
!
setname
0
x1c6
统王 ドミナス
!
setname
0
x1c6
统王 ドミナス
!
setname
0
x1c7
塞勒凯特
Serket
!
setname
0
x1c8
阿匹卜
Apophis
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