Skip to content
Open

9-29 #18

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1484 commits
Select commit Hold shift + click to select a range
c5650a6
Revert "ClientField: fix AddCard, RemoveCard" (#2677)
salix5 Feb 15, 2025
d2c5bc2
CGUIImageButton inherit from IGUIButton (#2666)
salix5 Feb 17, 2025
f82fd91
fix bounds checking in DeckManager::LoadLFListSingle (#2685)
salix5 Feb 21, 2025
f7ab23d
fix TraversalDir (#2683)
salix5 Feb 22, 2025
e542fa5
replace fread, fwrite
salix5 Feb 18, 2025
f5955f8
replace fopen, fclose, fgets
salix5 Feb 18, 2025
aedaf56
replace fflush
salix5 Feb 18, 2025
c675547
replace snprintf, sscanf
salix5 Feb 18, 2025
cfe114f
replace fprintf
salix5 Feb 18, 2025
3623387
clean header
salix5 Feb 18, 2025
6bcc96d
rename `myfopen` to `mywfopen` (#2691)
mercury233 Feb 22, 2025
d065fad
remove irrlicht/irrlicht.patch (#2667)
salix5 Feb 22, 2025
148c768
DeckManager: update GetDeckFile LoadCurrentDeck (#2694)
salix5 Feb 22, 2025
27bf0fe
fix for latest freetype (#2693)
mercury233 Feb 22, 2025
6d6213a
fix DeckManager::LoadDeck(Deck& deck, (#2697)
salix5 Feb 23, 2025
4aee608
add guard macro (#2700)
salix5 Feb 23, 2025
b71023f
add ClientField::ResetSequence (#2678)
salix5 Feb 24, 2025
9d4496f
DeckManager: fix LoadLFListSingle, LoadDeck (std::istringstream) (#2699)
salix5 Feb 28, 2025
118f951
set errno before strtol (#2705)
salix5 Feb 28, 2025
4f47a83
use irrlicht namespace (#2701)
salix5 Mar 1, 2025
ffc6aee
replace position2d with vector2d (#2709)
salix5 Mar 2, 2025
9d913e8
use standard access mode (#2710)
salix5 Mar 2, 2025
83e2140
fix set working directory (#2706)
salix5 Mar 3, 2025
0bf7994
update version in resource file (#2702)
yybbwc Mar 3, 2025
adaf970
fix DataManager::ReadScriptFromFile (#2714)
salix5 Mar 3, 2025
03e073d
Update StringFileInfo in ygopro.rc
salix5 Mar 3, 2025
7f962a9
fix open ydk, yrp file (#2707)
salix5 Mar 3, 2025
d06a909
rename: GetLFListContent -> GetLFList (#2715)
salix5 Mar 8, 2025
559c727
read bit field with sqlite3_column_int64 (#2704)
salix5 Mar 8, 2025
bf4d9ce
use const reference (#2717)
salix5 Mar 8, 2025
bb72cc9
add cdialect, cppdialect (#2723)
salix5 Mar 12, 2025
6c53d02
use <cstdlib> functions (#2720)
salix5 Mar 13, 2025
8f9fcbd
fix namespace irr::gui
salix5 Feb 20, 2025
7850196
minor fix
salix5 Feb 20, 2025
b2a50ac
fix namespace irr::io
salix5 Feb 20, 2025
296c0d7
fix namespace irr::video
salix5 Feb 20, 2025
cfc3a91
fix namespace irr::scene
salix5 Feb 20, 2025
2c4d326
replace position2di to irr::core::vector2di
salix5 Feb 20, 2025
194608f
replace irr::core::recti
salix5 Feb 20, 2025
006d973
replace irr::core::rect<s32>
salix5 Feb 20, 2025
bb72c00
replace irr::core::vector3df
salix5 Feb 20, 2025
8b37448
replace irr::core::vector2df
salix5 Feb 20, 2025
b891f85
fix namespace irr::core
salix5 Feb 20, 2025
95fb099
replace video to irr::video
salix5 Feb 20, 2025
b5bf799
replace irr::s32, irr::u32
salix5 Feb 20, 2025
9891f84
replace irr::f32
salix5 Feb 20, 2025
a118883
replace core to irr::core
salix5 Feb 20, 2025
ad9c8f8
remove using namespace in config.h
salix5 Feb 20, 2025
db333ef
update CGUITTFont::createSharedPlane
salix5 Mar 11, 2025
b2b6c0d
update CGUITTFont::addTextSceneNode
salix5 Mar 11, 2025
94fb5bc
use C++ header (#2724)
salix5 Mar 14, 2025
f5d1f20
update Game::Initialize (#2725)
salix5 Mar 14, 2025
e84e059
Revert "add cdialect, cppdialect (#2723)" (#2728)
mercury233 Mar 15, 2025
d27ccb8
add cdialect, cppdialect (#2730)
salix5 Mar 16, 2025
70869d8
define POSIX version for strdup (#2732)
salix5 Mar 16, 2025
b1cbe23
add GitHub test build (#2721)
mercury233 Mar 17, 2025
6684d2b
Fix premake5 on beta1 (#2733)
purerosefallen Mar 17, 2025
5d5e7f9
update grave_act and so on to support opponent (#2712)
mercury233 Mar 17, 2025
3415b1f
update premake5.lua of Lua (#2734)
mercury233 Mar 17, 2025
3c24778
add MZTM string (#2735)
Wind2009-Louse Mar 18, 2025
56f5fd4
use unsigned hash in CheckDeck (#2736)
salix5 Mar 19, 2025
a43a3c1
clean disablewarnings (#2737)
salix5 Mar 22, 2025
0464f2a
update premake5.lua for irrlicht (#2722)
salix5 Mar 22, 2025
65e21a1
add rtti option (#2731)
salix5 Mar 22, 2025
4d7bf2c
move files & add copy.sh (#2738)
salix5 Mar 23, 2025
8496369
move cdialect (#2741)
salix5 Mar 23, 2025
4a7ba2f
chmod=+x (#2745)
salix5 Mar 23, 2025
a634842
Delete copy.sh
salix5 Mar 24, 2025
fe89a88
use conformancemode (#2746)
salix5 Mar 24, 2025
9f932de
2025.4 OCG lflist (#2748)
jwyxym Mar 27, 2025
fd189e5
DeckManager: use uint32_t code (#2739)
salix5 Mar 29, 2025
92ff877
Add DBJH string (#2750)
Wind2009-Louse Mar 31, 2025
1fd5b13
ignore sound files (#2754)
mercury233 Apr 10, 2025
df304a8
change HostInfo::start_lp to int32 (#2762)
salix5 Apr 20, 2025
ccf3398
add FileSystem::RemoveFile (#2760)
mercury233 Apr 21, 2025
7f29eb1
clarify font error message (#2757)
mercury233 Apr 21, 2025
9350f5d
add myfopen, fix setlocale (#2713)
mercury233 Apr 21, 2025
ee49189
2025.4 tcg lflist (#2765)
salix5 Apr 24, 2025
137b682
textfont and numfont support spaces (#2756)
mercury233 Apr 25, 2025
09db9b1
add new font to fallback list (#2758)
mercury233 Apr 25, 2025
858f95b
fix define WIN32 (#2767)
mercury233 Apr 26, 2025
7ca3080
update irrlicht premake (#2755)
mercury233 Apr 26, 2025
be3e72f
print error to stderr or debug (#2759)
mercury233 May 1, 2025
efc8678
fix setlocale on macos (#2774)
mercury233 May 1, 2025
c33ed42
update font fallback order (#2766)
mercury233 May 1, 2025
4da80f7
fix prev button for replay of puzzle mode (#2716)
yybbwc May 1, 2025
50d5877
fix DeckManager::SaveDeck (#2775)
salix5 May 4, 2025
69e7807
remove irrlicht lzma (#2777)
mercury233 May 6, 2025
478e674
build irrlicht with premake on macos (#2771)
mercury233 May 6, 2025
0b36a71
disable PNG_ARM_NEON for all systems (#2780)
mercury233 May 8, 2025
bfcb4af
add miniaudio (#2727)
purerosefallen May 9, 2025
471c213
Read player names, deck & check script path on OpenReplay (#2776)
salix5 May 17, 2025
378b11b
set tooltip on long card name (#2773)
yybbwc May 17, 2025
f4d57f3
scale scrollbar (#2772)
yybbwc May 17, 2025
741c229
Add DUAD string (#2791)
Wind2009-Louse May 17, 2025
c471f38
fix: compare signed and unsigned (#2792)
salix5 May 17, 2025
7ef84fd
fix usage of os.findheader (#2795)
mercury233 May 17, 2025
e811287
update using lib dir of homebrew (#2798)
mercury233 May 18, 2025
2f756c4
fix chdir on macos (#2787)
mercury233 May 19, 2025
df2e5c8
add NO_IRR_COMPILE_WITH_LZMA_ (#2796)
mercury233 May 19, 2025
f13fc8c
update @param def in CopyWStr
salix5 May 19, 2025
cf32070
check REPLAY_TAG in start_duel (#2801)
salix5 May 20, 2025
4954c53
fix CopyString & CopyWideString (#2799)
mercury233 May 20, 2025
f9b5c7e
fix MSG_AI_NAME, MSG_SHOW_HINT (#2800)
salix5 May 20, 2025
56d6022
add premake FindHeaderWithSubDir (#2803)
mercury233 May 21, 2025
e677985
update imageScaleNNAA, add OpenMP (#2779)
mercury233 May 21, 2025
c3e2599
add MenuHandler::temp_replay (#2802)
salix5 May 21, 2025
5ec2549
fix signed/unsigned compare (#2809)
salix5 May 24, 2025
051949f
use reference to array in IsExtension (#2808)
salix5 May 25, 2025
276543a
sqlite: add compile-time options (#2812)
salix5 May 26, 2025
5a37286
check header in OpenReplay (#2807)
salix5 May 30, 2025
9648089
add static build for linux & macos (#2782)
mercury233 May 31, 2025
750f2ed
update windows build matrix (#2781)
mercury233 May 31, 2025
d9ae96f
use less build matrix (#2813)
mercury233 May 31, 2025
79b755e
fix LUA_LIB_DIR (#2816)
mercury233 May 31, 2025
38e198d
cleanup premake links (#2815)
mercury233 May 31, 2025
c41aa28
left shit on unsigned (#2821)
salix5 Jun 1, 2025
a0cb105
fix support for mingw (#2661)
yybbwc Jun 1, 2025
74be67e
turn symbols off for release build (#2817)
mercury233 Jun 1, 2025
2cfeac4
update submodules
mercury233 Jun 3, 2025
f726602
fix irrklang pro debug filter (#2824)
purerosefallen Jun 3, 2025
233a9aa
Refactor buffer sizes for name and message handling (#2825)
salix5 Jun 4, 2025
081b7e9
fix _IRR_STATIC_LIB_ (#2818)
mercury233 Jun 8, 2025
e715bd0
check packet size by static_assert (#2830)
salix5 Jun 8, 2025
7ff7632
add back link pthread (#2829)
mercury233 Jun 8, 2025
c421224
Add audio support option to SoundManager::RefershBGMDir (#2838)
salix5 Jun 12, 2025
bdd3995
Improve error message handling in DataManager (#2839)
salix5 Jun 12, 2025
56b65a1
change RNG except shuffle in duel to std::mt19937 (#2827)
salix5 Jun 14, 2025
456f275
fix STOC_CHAT, CTOS_CHAT handling (#2836)
salix5 Jun 14, 2025
c7b674d
Remove ocgcore/common.h includes from multiple files (#2843)
salix5 Jun 14, 2025
568efeb
Use sqlite 3500100 (#2845)
purerosefallen Jun 16, 2025
97af9bb
use libevent 2.1.12 on windows (#2806)
mercury233 Jun 16, 2025
b9e1089
add import/export deck code (#2577)
mercury233 Jun 18, 2025
b348276
fix: seeding std::mt19937 with only 1 uint32_t (#2820)
salix5 Jun 18, 2025
e3d08ae
use premake 5.0.0-beta7 & drop support for premake below 5.0.0-beta4 …
mercury233 Jun 18, 2025
ec24699
use lua 5.4.8 (#2841)
mercury233 Jun 18, 2025
b28b649
add config for image load background thread and multi thread (#2822)
mercury233 Jun 19, 2025
ba9379c
use unordered_map imageLoading (#2768)
yybbwc Jun 19, 2025
4922ba5
display side deck count in "banished zone" before duel start (#2790)
purerosefallen Jun 19, 2025
f7a977c
fix new replay crash (#2846)
purerosefallen Jun 19, 2025
5cbf953
use patched miniaudio (#2840)
mercury233 Jun 19, 2025
ed09b7a
revert cppdialect (#2848)
salix5 Jun 22, 2025
1f881e6
2025.7 OCG lflist (#2853)
jwyxym Jun 24, 2025
464d3e2
Refactor AddCard and RemoveCard for sequence management (#2851)
salix5 Jun 25, 2025
f0e9bc8
fix: correct EVENT_VERSION format and improve warning message (#2861)
salix5 Jun 29, 2025
db1633b
update opParam of MSG_SELECT_SUM (#2491)
mercury233 Jun 29, 2025
f4db575
update MSG_CONFIRM_CARDS, add skip_panel (#2470)
mercury233 Jun 29, 2025
e7ebb75
update forced in MSG_SELECT_CHAIN (#2797)
mercury233 Jun 29, 2025
632dd98
add CTOS_EXTERNAL_ADDRESS (#2832)
purerosefallen Jun 29, 2025
c23725c
workaround fix argument -r (#2864)
salix5 Jun 29, 2025
2c3d2e4
bump version to 0x1362 (#2863)
mercury233 Jun 29, 2025
bfa02b0
Simplify card name retrieval in UpdateDeclarableList (#2869)
salix5 Jul 3, 2025
3b885f2
Improve error handling in LoadDeckFromStream, LoadLFListSingle (#2871)
salix5 Jul 4, 2025
844a96d
Improve error handling in DataManager::Error (#2872)
salix5 Jul 5, 2025
3e2be8d
Redefine CardDataC structure and remove inheritance from card_data (…
salix5 Jul 6, 2025
42a427a
use function template BufferIO::Read (#2835)
salix5 Jul 6, 2025
c3ecc29
Refactor DataManager iterator methods to inline (#2873)
salix5 Jul 6, 2025
c9573de
use uint32_t code as key (#2874)
salix5 Jul 6, 2025
a3d10c0
Add config.h includes to duelclient and netserver (#2875)
salix5 Jul 6, 2025
a58e7c3
use wcsrtombs in UTF-8 encoding (#2860)
salix5 Jul 7, 2025
bd0547e
move MAINC_MAX, SIDEC_MAX to deck_manager.h (#2876)
salix5 Jul 8, 2025
4e002a7
static_cast<uint32_t> on uint32 column (#2880)
salix5 Jul 16, 2025
fb6814a
Refactor replay code for cross-platform compatibility (#2877)
salix5 Jul 21, 2025
68d1ff8
improve loop condition in ReadDB (#2881)
salix5 Jul 21, 2025
0f73f22
update CopyString & CopyWideString (#2884)
mercury233 Jul 23, 2025
6181208
minor typos (#2890)
mercury233 Jul 30, 2025
a789c1b
fix prev_deck on BUTTON_SAVE_DECK_AS (#2892)
mercury233 Aug 7, 2025
0a96956
fix animation of card moving to extra (#2856)
mercury233 Aug 7, 2025
d5044ff
add SQLITE_TRUSTED_SCHEMA=0 (#2895)
salix5 Aug 7, 2025
70af2f5
add `mysnprintf`, use `std::forward` in `myswprintf` (#2885)
mercury233 Aug 11, 2025
04ac2a1
use std::rename in Replay::RenameReplay (#2883)
salix5 Aug 11, 2025
b8d3b68
remove unnecessary features from Freetype (#2854)
mercury233 Aug 11, 2025
1d64727
Remove WinXP support from build configuration (#2887)
salix5 Aug 11, 2025
c484fa0
drop fopen support for old Windows SDK (#2889)
mercury233 Aug 11, 2025
c6b0690
Update setcode for DOOD (#2894)
Wind2009-Louse Aug 11, 2025
71b9601
use fputs in SaveDeck (#2902)
salix5 Aug 11, 2025
488e66c
fix face-down MSG_SPSUMMONING (#2896)
mercury233 Aug 15, 2025
1b1b8ed
use cp -pr to copy out premake (#2900)
purerosefallen Aug 17, 2025
17715fe
add GetDataTable, GetStringTable (#2905)
salix5 Aug 22, 2025
d921cd0
DataManager: change unknown_string, FileSystem to instance member (#2…
salix5 Aug 23, 2025
029dfa0
Add .vscode/ to .gitignore
salix5 Aug 26, 2025
868d4b2
Update .gitignore to include trailing slashes
salix5 Aug 26, 2025
2e74d40
Add deck category constants
salix5 Aug 30, 2025
23bb85c
Refactor LoadCurrentDeck
salix5 Aug 31, 2025
e7fd61c
fix category add, rename, delete handler
salix5 Aug 30, 2025
09b4854
Change loop variable type in DeckBuilder::OnEvent
salix5 Aug 31, 2025
00d46b2
use deck category constant
salix5 Aug 31, 2025
961517b
Remove static deckBuffer
salix5 Sep 2, 2025
fea2a56
Check empty file path in LoadCurrentDeck
salix5 Sep 2, 2025
e2225cb
use wide character literal in SafeFileName (#2916)
salix5 Sep 3, 2025
6c84c3b
fix buffer underflow (#2918)
salix5 Sep 3, 2025
47ccc4a
Update .gitignore (#2919)
salix5 Sep 4, 2025
c470682
Refactor SaveReplay, Check file path (#2917)
salix5 Sep 8, 2025
a5ce265
fix dangling pointer (#2920)
salix5 Sep 8, 2025
d552e27
Use const references for formatting (#2923)
salix5 Sep 9, 2025
2607476
fix buffer overflow in SetStaticText (#2925)
salix5 Sep 14, 2025
86a9ca5
fix location after selecting continuous effect (#2924)
salix5 Sep 14, 2025
489e079
Refactor ClientField destructor (#2926)
salix5 Sep 20, 2025
6425dfa
2025.10 OCG & 2025.9 TCG lflist (#2929)
jwyxym Sep 22, 2025
dadfaff
move constants to namespace ygo
salix5 Sep 27, 2025
db78744
format
salix5 Sep 27, 2025
b9c9c3d
Update setnames and counters in strings.conf (#2932)
mercury233 Sep 29, 2025
3d07e92
github actions: move to macos-15-intel & switch universal to arm (#2934)
purerosefallen Oct 6, 2025
3df874c
Move PRO_VERSION to config.h (#2695)
yybbwc Oct 14, 2025
a3e9ed4
Fix memory allocation for data buffer (#2940)
salix5 Oct 27, 2025
ca95279
Update lflist.conf (#2941)
jwyxym Nov 1, 2025
0aee011
Add new setname for BPRO (#2943)
Wind2009-Louse Nov 16, 2025
70a2a82
Update setname for ボンディング
mercury233 Nov 16, 2025
339a257
Add concurrency control to prevent release tag race conditions (#2946)
Copilot Nov 21, 2025
3be352f
Use miniaudio 0.11.23 (#2942)
purerosefallen Dec 3, 2025
ecda872
add default statement SELECT_STMT (#2936)
salix5 Dec 3, 2025
8e98efc
Revert "use std::forward" (#2950)
salix5 Dec 28, 2025
22a83d0
Add new setname entry for 世界末日 (#2953)
Wind2009-Louse Dec 31, 2025
2f0cae8
OCG LFList 2026.1 (#2949)
jwyxym Dec 31, 2025
21c52f9
Fix size calculation for STOC_HS_PlayerEnter (#2951)
salix5 Jan 10, 2026
56c313c
Use vector in DuelClient::SendUpdateDeck (#2952)
salix5 Jan 10, 2026
490da97
Fix typo in constant from SOUND_FILP to SOUND_FLIP (#2954)
salix5 Jan 10, 2026
aa9652a
Use std::wstring in SetStaticText (#2957)
salix5 Jan 27, 2026
3947548
Refactor class DataManager (#2956)
salix5 Jan 28, 2026
89f5265
remove: pics/thumbnail, use_image_scale, ImageManager::RemoveTexture …
salix5 Jan 29, 2026
1d59451
fix usage of mysnprintf (#2961)
mercury233 Jan 29, 2026
9e2d46b
fix ClientCard::SetCode (#2963)
mercury233 Feb 4, 2026
9b09b57
add sound for ShowBigCard (#2960)
mercury233 Feb 4, 2026
17f3ec4
fix is_modified for clear/sort/shuffle deck buttons (#2959)
mercury233 Feb 4, 2026
34e8627
minor tweaks to ImageManager (#2962)
mercury233 Feb 4, 2026
975a134
fix LoadThumbThread (#2958)
mercury233 Feb 4, 2026
bc8e65b
2026.2 TCG banlist (#2964)
salix5 Feb 4, 2026
dbaa047
Fix pixel range in imageScaleNNAA, add use_threading param (#2969)
salix5 Feb 6, 2026
38b2bc5
Use std::string in PlaySoundEffect (#2967)
salix5 Feb 6, 2026
fcebe3e
refactor ImageManager (#2965)
mercury233 Feb 7, 2026
6ffa456
make `myfilesystem.h` self-contained (#2972)
mercury233 Feb 8, 2026
29583e0
Return tUnknownFit in GetBigPicture (#2974)
salix5 Feb 8, 2026
e234c05
Doxygen format (#2973)
salix5 Feb 8, 2026
03e1fa3
Change key type to uint32_t in DataManager (#2968)
salix5 Feb 9, 2026
5a49f6c
Add new setcodes (#2970)
Wind2009-Louse Feb 10, 2026
b824c77
add `stb_image_resize2` to replace `imageScaleNNAA` (#2971)
mercury233 Feb 10, 2026
173d329
renormalize newline (#2975)
salix5 Feb 12, 2026
bbd99ad
use _IRR_WCHAR_FILESYSTEM instead of _WIN32 in related #ifdef (#2976)
mercury233 Feb 22, 2026
ac2a919
fix missing break in DeckBuilder::OnEvent
mercury233 Feb 27, 2026
501d07b
fix selectable_cards location info didn't refresh correctly when EGET…
mercury233 Feb 27, 2026
cf403db
fix SHFileOperation in FileSystem::DeleteDir
mercury233 Feb 27, 2026
0bd5ed1
fix param name mismatch in DuelMode::PlayerReady
mercury233 Feb 27, 2026
dfa5a03
fix operator-= in irrUString
mercury233 Feb 27, 2026
a2925bf
fix using uninitialized soundBGM
mercury233 Feb 27, 2026
2712ed4
fix calling DisconnectPlayer twice in TagDuel::LeaveGame
mercury233 Feb 27, 2026
8722cc6
fix temp image didn't drop in CGUITTFont::createTextureFromChar
mercury233 Feb 27, 2026
b360ed9
Merge pull request #2981 from mercury233/patch-copilot-fix-1
mercury233 Feb 27, 2026
491c350
fix div 0 in OPCODE_DIV (#2984)
mercury233 Feb 27, 2026
1c9bf73
change NetServer::net_server_read to static (#2985)
mercury233 Feb 27, 2026
df22904
fix CGUITTFont (#2983)
mercury233 Feb 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
688 changes: 688 additions & 0 deletions .github/workflows/build.yml

Large diffs are not rendered by default.

42 changes: 42 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
.DS_Store

/deck
/expansions
/fonts
/icon
/pack
/pics
/replay
/single
/sound
!/sound/files.txt
/WindBot
/cards.cdb
/error.log
/bot.conf
/Bot.exe
/bot

/ygopro
/ygopro.exe
/ygopro.app
/ikpMP3.dll
/irrKlang.dll

/.vscode/
/bin/
/build
/obj/
/event
/freetype
/irrlicht
/irrklang
/ikpmp3
/lua
/miniaudio
/sqlite3
/gframe/*.ico
/gframe/ygopro.rc
/gframe/ygopro.aps
/premake5
/premake5.exe
6 changes: 6 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[submodule "ocgcore"]
path = ocgcore
url = https://github.com/Fluorohydride/ygopro-core.git
[submodule "script"]
path = script
url = https://github.com/Fluorohydride/ygopro-scripts.git
339 changes: 339 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

64 changes: 64 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
## YGOPro
A script engine for "yu-gi-oh!" and sample gui

[中文说明](https://github.com/Fluorohydride/ygopro/wiki/%E4%B8%AD%E6%96%87%E8%AF%B4%E6%98%8E)

### Keys:
* ESC: Minimize the window.
* A: Holding down this button will let the system stop at every timing.
* S: Holding down this button will let the system skip every timing.
* D: Holding down this button will let the system stop at available timing.
* R: Fix the font glitch.
* F1~F4: Show the cards in your grave, banished zone, extra deck, xyz materials.
* F5~F8: Show the cards in your opponent's grave, banished zone, extra deck, xyz materials.

### Color in card list:
#### Background:
* White = your card, Grey = your opponent's card

#### Text:
Cards in deck, extra deck and banished zone:
* Black = face-up, Blue = face-down

Xyz materials:
* Black = default, Blue = the owner of the xyz material is different from its controller

### Sequence:
* Monster Zone: 1~5, starting from the left hand side.
* Spell & Trap Zone: 1~5, starting from the left hand side.
* Field Zone: 6
* Pendulum Zone: 0~1, starting from the left hand side.
* The others: 1~n, starting from the bottom.

### Deck edit page:
* All numeric textboxs: They support >, =, <, >=, <= signs.
* Card name: Search card names and texts by default, $foo will only search foo in card names, and @foo will search cards of "foo" archetype(due to translation, card name contains "foo" does not mean that card is "foo" card).

### Command-line options:
* `-e foo.cdb`: Load foo.cdb as the extra database.
* `-n nickname`: Set the nickname.
* `-h 192.168.0.2`: Set the host to join in LAN mode.
* `-p 7911`: Set the port to join in LAN mode.
* `-w abc`: Set the password to join in LAN mode.
* `-d`: Enter the deck edit page.
* `-d deck`: If used along with `-j` it mean select the deck, or it will open the deck to edit.
* `-c`: Create host with default settings.
* `-j`: Join the host specified in above, or if absent, lasthost in system.conf file.
* `-r`: Enter the replay mode page.
* `-r replay.yrp`: Load the replay.yrp in replay mode.
* `-s`: Enter the single mode page.
* `-s puzzle.lua`: Load the puzzle.lua in single mode.
* `-k`: Keep when duel finished. See below.

#### Note:
* `-c` `-j` `-e` `-r` `-s` shoule be the last parameter, because any parameters after it will get ignored.
* `-d` `-c` `-j` `-e` `-r` `-s` will make YGOPro automatically exit when the duel or deck editing is finished. This is useful for some launchers. If you want to keep it, add `-k` before them.
* `-d` `-r` `-s` support full path of file, or just filename. But remember deck filename should NOT have extension when replay and single filename MUST have extension.

### Directories:
* pics: .jpg card images(177*254).
* script: .lua script files.
* textures: Other image files.
* deck: .ydk deck files.
* replay: .yrp replay files.
* expansions: *.cdb will be loaded as extra databases.
47 changes: 47 additions & 0 deletions cmake/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
project (ygo)

cmake_minimum_required (VERSION 3.8)

if(NOT CMAKE_BUILD_TYPE)
message(STATUS "Setting build type to 'Debug' as none was specified.")
set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build." FORCE)
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
endif()

list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/macros")

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

include (AutoFiles)

include (platform/settings)

if (MSVC)
add_subdirectory (event)
add_subdirectory (freetype)
add_subdirectory (irrlicht)
add_subdirectory (sqlite3)
add_subdirectory (lua)
else ()
find_package(LibEvent REQUIRED)
find_package(Freetype REQUIRED)
find_package(Irrlicht REQUIRED)
find_package(Sqlite REQUIRED)
find_package(Lua REQUIRED)
find_package(OpenGL REQUIRED)
endif ()

option(USE_IRRKLANG "Use irrKlang sound library" OFF)
if (USE_IRRKLANG)
set(IRRKLANG_DIR ${CMAKE_SOURCE_DIR}/irrKlang)
endif ()

add_subdirectory (ocgcore)
add_subdirectory (gframe)
1 change: 1 addition & 0 deletions cmake/compiler/clang-compile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include (compiler/gcc)
3 changes: 3 additions & 0 deletions cmake/compiler/gcc.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG")
set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG")
add_definitions ( "-fexceptions" "-fomit-frame-pointer" "-fno-strict-aliasing" "-Wno-format-security" )
1 change: 1 addition & 0 deletions cmake/compiler/icc.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

1 change: 1 addition & 0 deletions cmake/compiler/mingw.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
add_definitions ( "-static-libgcc" "-static-libstdc++" )
6 changes: 6 additions & 0 deletions cmake/compiler/msvc.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
add_definitions ( "-wd4996" "-D_CRT_SECURE_NO_WARNINGS" )
add_definitions ( "-D_UNICODE" "-DUNICODE" "/utf-8" )

include (MSVCMultipleProcessCompile)
include (MSVCStaticRuntime)
include (MSVCJustMyCodeDebugging)
32 changes: 32 additions & 0 deletions cmake/macros/AutoFiles.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
function (AutoFiles _folder _base _pattern)
if (ARGC GREATER 3)
set(_exclude ${ARGN})
else ()
set(_exclude)
endif ()
file (GLOB _files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/ ${_folder}/*)
set (folderFiles)
foreach (_fname ${_files})
if (IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${_fname})
AutoFiles ("${_fname}" "${_base}" "${_pattern}" "${_exclude}")
elseif (_fname MATCHES ${_pattern})
if(_exclude)
if (NOT _fname MATCHES ${_exclude})
set(folderFiles ${folderFiles} ${_fname})
endif ()
else ()
set(folderFiles ${folderFiles} ${_fname})
endif ()
endif ()
endforeach ()

string(REPLACE "./" "" _folder2 ${_folder})
string(REPLACE "/" "\\" _folder2 ${_folder2})
if (_folder2 STREQUAL ".")
source_group(${_base} FILES ${folderFiles})
else ()
source_group(${_base}\\${_folder2} FILES ${folderFiles})
endif ()

set(AUTO_FILES_RESULT ${AUTO_FILES_RESULT} ${folderFiles} PARENT_SCOPE)
endfunction ()
27 changes: 27 additions & 0 deletions cmake/macros/FindDL.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# - Try to find the dl library
# Once done this will define
#
# DL_FOUND - System has libdl
# DL_LIBRARIES - The libraries needed to use libdl
# DL_DEFINITIONS - Compiler switches required for using libdl

FIND_PATH(DL_INCLUDE_DIR dlfcn.h
PATH_SUFFIXES include
PATHS
~/Library/Frameworks
/Library/Frameworks
/opt/local
)

FIND_LIBRARY(DL_LIBRARIES NAMES dl
PATH_SUFFIXES lib64 lib
PATHS
~/Library/Frameworks
/Library/Frameworks
/opt/local
)

INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(libdl DEFAULT_MSG DL_LIBRARIES DL_INCLUDE_DIR)

MARK_AS_ADVANCED(DL_INCLUDE_DIR DL_LIBRARIES)
38 changes: 38 additions & 0 deletions cmake/macros/FindFreetype.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# - Try to find the Lib library
# Once done this will define
#
# FREETYPE_FOUND - System has freetype
# FREETYPE_INCLUDE_DIR - The freetype include directory
# FREETYPE_LIBRARIES - The libraries needed to use freetype
# FREETYPE_DEFINITIONS - Compiler switches required for using freetype

SET(FREETYPE_DEFINITIONS ${PC_FREETYPE_CFLAGS_OTHER})

FIND_PATH(FREETYPE_INCLUDE_DIR ft2build.h
HINTS
${PC_FREETYPE_INCLUDEDIR}
${PC_FREETYPE_INCLUDE_DIRS}
PATH_SUFFIXES freetype2
PATHS
~/Library/Frameworks
/Library/Frameworks
/opt/local
)

FIND_LIBRARY(FREETYPE_LIBRARIES NAMES freetype
HINTS
${PC_FREETYPE_LIBDIR}
${PC_FREETYPE_LIBRARY_DIRS}
PATH_SUFFIXES lib64 lib
PATHS
~/Library/Frameworks
/Library/Frameworks
/opt/local
)

SET(FREETYPE_LIBRARIES ${FREETYPE_LIBRARIES})

INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(FREETYPE DEFAULT_MSG FREETYPE_LIBRARIES FREETYPE_INCLUDE_DIR)

MARK_AS_ADVANCED(FREETYPE_INCLUDE_DIR FREETYPE_LIBRARIES)
42 changes: 42 additions & 0 deletions cmake/macros/FindIrrlicht.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# - Try to find the Lib library
# Once done this will define
#
# IRRLICHT_FOUND - System has IRRLICHT
# IRRLICHT_INCLUDE_DIR - The IRRLICHT include directory
# IRRLICHT_LIBRARIES - The libraries needed to use IRRLICHT
# IRRLICHT_DEFINITIONS - Compiler switches required for using IRRLICHT


# use pkg-config to get the directories and then use these values
# in the FIND_PATH() and FIND_LIBRARY() calls
#FIND_PACKAGE(PkgConfig)
#PKG_SEARCH_MODULE(PC_IRRLICHT Irrlicht)

SET(IRRLICHT_DEFINITIONS ${PC_IRRLICHT_CFLAGS_OTHER})

FIND_PATH(IRRLICHT_INCLUDE_DIR irrlicht.h
HINTS
${PC_IRRLICHT_INCLUDEDIR}
${PC_IRRLICHT_INCLUDE_DIRS}
PATH_SUFFIXES include include/irrlicht
PATHS
~/Library/Frameworks
/Library/Frameworks
/opt/local
)

FIND_LIBRARY(IRRLICHT_LIBRARIES NAMES Irrlicht irrlicht
HINTS
${PC_IRRLICHT_LIBDIR}
${PC_IRRLICHT_LIBRARY_DIRS}
PATH_SUFFIXES lib64 lib
PATHS
~/Library/Frameworks
/Library/Frameworks
/opt/local
)

INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Irrlicht DEFAULT_MSG IRRLICHT_LIBRARIES IRRLICHT_INCLUDE_DIR)

MARK_AS_ADVANCED(IRRLICHT_INCLUDE_DIR IRRLICHT_LIBRARIES)
54 changes: 54 additions & 0 deletions cmake/macros/FindLibEvent.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# - Try to find the Lib library
# Once done this will define
#
# LIBEVENT_FOUND - System has Libevent
# LIBEVENT_INCLUDE_DIR - The Libevent include directory
# LIBEVENT_LIBRARIES - The libraries needed to use Libevent
# LIBEVENT_DEFINITIONS - Compiler switches required for using Libevent


# use pkg-config to get the directories and then use these values
# in the FIND_PATH() and FIND_LIBRARY() calls
#FIND_PACKAGE(PkgConfig)
#PKG_SEARCH_MODULE(PC_LIBEVENT event)

SET(LIBEVENT_DEFINITIONS ${PC_LIBEVENT_CFLAGS_OTHER})

FIND_PATH(LIBEVENT_INCLUDE_DIR event2/event.h
HINTS
${PC_LIBEVENT_INCLUDEDIR}
${PC_LIBEVENT_INCLUDE_DIRS}
PATH_SUFFIXES include
PATHS
~/Library/Frameworks
/Library/Frameworks
/opt/local
)

FIND_LIBRARY(LIBEVENT_LIBRARIES NAMES event
HINTS
${PC_LIBEVENT_LIBDIR}
${PC_LIBEVENT_LIBRARY_DIRS}
PATH_SUFFIXES lib64 lib
PATHS
~/Library/Frameworks
/Library/Frameworks
/opt/local
)

FIND_LIBRARY(LIBEVENT_LIBRARIES_PTHREADS NAMES event_pthreads
HINTS
${PC_LIBEVENT_LIBDIR}
${PC_LIBEVENT_LIBRARY_DIRS}
PATH_SUFFIXES lib64 lib
PATHS
~/Library/Frameworks
/Library/Frameworks
/opt/local
)
SET(LIBEVENT_LIBRARIES ${LIBEVENT_LIBRARIES} ${LIBEVENT_LIBRARIES_PTHREADS})

INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibEvent DEFAULT_MSG LIBEVENT_LIBRARIES LIBEVENT_INCLUDE_DIR)

MARK_AS_ADVANCED(LIBEVENT_INCLUDE_DIR LIBEVENT_LIBRARIES)
Loading