Commit Graph

146 Commits

Author SHA1 Message Date
Mercury233 b9e1089f8e add import/export deck code (#2577) 2025-06-18 14:58:05 +08:00
salix5 56b65a1e69 change RNG except shuffle in duel to std::mt19937 (#2827) 2025-06-14 15:26:15 +08:00
salix5 fd189e5c8c DeckManager: use uint32_t code (#2739)
* fix LoadLFListSingle

* update LoadDeck, LoadSide

* rename to LoadDeckFromStream

* update CTOS_DeckData

* static member function
2025-03-29 10:44:21 +08:00
salix5 b5bf7990e9 replace irr::s32, irr::u32 2025-03-14 19:10:07 +08:00
salix5 194608f8f0 replace irr::core::recti 2025-03-14 19:10:07 +08:00
salix5 296c0d757e fix namespace irr::video 2025-03-14 19:10:07 +08:00
salix5 d06a9096fd rename: GetLFListContent -> GetLFList (#2715)
* update DeckManager::GetLFListContent

* change DeckBuilder::filterList into const LFList*

* update Game::DrawThumb

* rename: GetLFListContent -> GetLFList

* update the signature of DeckManager::GetLFListName

* change code to unsigned
2025-03-08 15:22:53 +08:00
salix5 ffc6aee169 replace position2d with vector2d (#2709)
* update MenuHandler

* update DeckBuilder

* replace position2di with irr::core::vector2di

* replace position2di with vector2di

* replace core::position2d with irr::core::vector2d

* replace position2d with vector2d
2025-03-02 12:22:54 +08:00
salix5 148c76806e DeckManager: update GetDeckFile LoadCurrentDeck (#2694)
* update DeckManager::GetDeckFile

* update reference

* update DeckManager::LoadCurrentDeck

* update reference

* clean header in deck_manager.h
2025-02-22 14:21:02 +08:00
salix5 dc5a305301 use <ctime> header (#2668) 2025-02-12 16:26:38 +08:00
salix5 37cb3cea64 use override in class DeckBuilder (#2664)
* update DeckBuilder::FilterCards()

* use override
2025-02-08 23:39:52 +08:00
salix5 53d951c7d1 update signature of ClientCard::SetCode (#2655)
* update signature of ClientCard::SetCode

* ClientField: fix AddCard, RemoveCard

* minor fix

* use int counter variable
2025-01-28 05:35:26 +08:00
salix5 d376ed0e65 use <cwchar> function (#2651) 2025-01-17 19:50:59 +08:00
salix5 b57b331b65 move struct CardDataC, deck sort functions to data_manager.h (#2647)
* move struct CardDataC to data_manager.h

* update struct CardDataC

* move deck sort functions to DataManager

* update DeckBuilder::filter_effect
2025-01-14 13:25:16 +08:00
salix5 48b01b838c remove wcscpy, wcscat (#2602)
* use wcsncpy

* fix FileSystem::TraversalDir

* avoid wcscat

* remove wcscat

* add BufferIO::CopyWideString

* struct Config: path string changed to wchar_t[256]

* Revert "use wcsncpy"

This reverts commit b05e0c96a3.

* check lastcategory, lastdeck

* fix Game::LoadConfig

max length of filename should be determined by file system

* remove wcscpy

* use BufferIO::CopyWideString

* fix UpdateDeck

* myfilesystem: use std functions

* DataManager: fix GetNumString (#2603)

* DataManager: fix FormatAttribute, FormatRace

* update FormatAttribute, FormatRace

* DataManager: fix FormatType

* update FormatType

* DataManager: fix FormatSetName

* DataManager: fix FormatLinkMarker

* merge

* DataManager: fix GetNumString

* rebuild class ustring16 from edopro version

* add stringw conversion

core::stringw in current version does not have data()

* add CGUITTFont::drawUstring

* use drawUstring

* update DrawShadowText

* fix Game::lpcstring

* fix DuelInfo::vic_string

* add PACK_MAX_SIZE

* add IsExtension (#2604)

* CGUITTFont: use override

* ustring16: only accept basic_string
2024-11-06 08:34:12 +08:00
salix5 b0e0ca3c79 add datas_begin(), strings_begin() (#2607)
* reorder

* DataManager: add datas_begin(), strings_begin()

* replace
2024-10-16 18:51:22 +08:00
Mercury233 3369ec0538 update card search trycode (#2589) 2024-09-23 10:09:13 +08:00
salix5 848348ca9c deckManager: add LoadCurrentDeck, SaveDeckBuffer (#2571)
* update LoadDeck from int array

* update LoadDeck from std::istringstream

* reorder

* rename to LoadCurrentDeck

* akways clear current_deck in LoadCurrentDeck

* reorder

* change LoadDeck from std::istringstream

* set errorcode for TYPE_TOKEN

* use LoadDeck in export deck

* update LoadSide

* fix CheckDeck

* fix LoadLFListSingle

* minor fix

* add SaveDeckBuffer

* fix LoadSide

* update LoadDeck(Deck&, std::istringstream&
2024-08-11 05:06:08 +08:00
salix5 080d7781f0 clean config.h (#2568)
* move header files to game.h

* include mutex when necessary

* include myfilesystem.h when necessary

* include thread when necessary

* include string

* include GL when necessary

* remove #pragma once

* rename guard macro to YGOPRO_CONFIG_H

* fix warning C4456, C4458

* move GL to game.h

* use <cstring> functions

* include <wchar.h>
2024-08-11 05:05:20 +08:00
salix5 cc91dc81ee verify the source of BufferIO::CopyWStr (#2558)
* verify the source of BufferIO::CopyWStr

* add BufferIO::NullTerminate

* use MAX_STRING_ID

* use constant

* use constant
2024-06-09 11:00:08 +08:00
salix5 e209e77502 disconnect when the packet is too large (#2551)
* use memcpy in DuelClient, NetServer

* NetServer: discard too large packet

* DuelClient: discard too large packet

* replace memcpy with std::memcpy

* disconnect when the packet is too large

* check packet_len

* check len in HandleCTOSPacket()

* check len in HandleSTOCPacketLan()

* remove bool type in HostInfo

* check len in packet handling

* add boundary check to STOC_CHAT packet

* use memcpy in DuelMode::JoinGame

* add DECK_MAX_SIZE, DECK_MIN_SIZE

* fix DuelMode::UpdateDeck()

* fix

* fix Manager::OpenDeckFile()

* update DuelMode init

* update DuelMode::JoinGame

* update DuelMode::GetResponse

* Revert "check len in packet handling"

This reverts commit 2b5c12f360.

* use memcpy in GetPosition

* check struct size by static_assert

* update DuelMode::UpdateDeck

* check if the struct is trivially copyable

* replace unsigned short to uint16_t

* replace unsigned int to uint32_t

* add padding member to STOC_HS_PlayerEnter

* workaround: use STOC_HS_PlayerEnter_size
2024-05-31 21:52:06 +08:00
Mercury233 1b59f4c602 support search part of setname (#2546) 2024-05-21 15:48:05 +08:00
Mercury233 b7dcae4ef1 change side chat drawing (#2545)
* fix CGUITTFont lineBreak

* change side chat drawing

* fix

* fix

* update normal chat

* less changement

* fix
2024-05-11 09:55:47 +08:00
salix5 05da015f89 Use array to store setcode (#2510)
* card_data.setcode: use std vector

* remove CARD_ARTWORK_VERSIONS_OFFSET

* add extra_setcode for cards with 5+ setcodes

* setcode use array

* Update data_manager.cpp
2024-02-12 16:38:50 +08:00
salix5 c52977150a DataManager: change _strings to private 2024-01-10 17:45:54 +08:00
salix5 4297cb3ef6 DataManager: change _datas to private 2024-01-10 16:42:07 +08:00
salix5 32389dda77 use unsigned char buffer 2023-12-14 16:10:19 +08:00
salix5 0423cf886e update mt19937 2023-12-12 14:10:05 +08:00
mercury233 306349014f fix scrPackCards reset 2022-09-24 21:31:15 +08:00
Mercury233 fed41b69c3 update showing pack lists (#2434) 2022-09-22 10:45:51 +08:00
Mercury233 c0bb37190a update Simplified Chinese ot rule (#2368) 2021-09-02 15:56:33 +08:00
salix5 a77898ba9c remove warning C4018 2021-08-21 23:46:27 +08:00
salix5 81b781d918 update RNG and uniform distribution, part 2 (#2363)
Old version:
pheader.flag does not contain REPLAY_UNIFORM
RNG: mt19937
distribution: almost-uniform

New version
pheader.flag contains REPLAY_UNIFORM
RNG: mt19937
distribution: uniform

* add bounds checking

* update RNG in replay mode

* replace mtrandom with mt19937

* replace mtrandom with mt19937

* replace mtrandom with mt19937
2021-08-21 22:25:01 +08:00
mercury233 091765ef58 use RefreshReadonly on init 2021-03-25 13:57:36 +08:00
Mercury233 f934b83a79 Deck category and deck manage (#2187) 2021-03-21 11:24:47 +00:00
mercury233 817d49bfd1 don't use inline on ShowBigCard 2021-03-20 17:10:45 +08:00
mercury233 111222aa78 minor fix warning C4305 2021-03-10 08:31:42 +08:00
Mercury233 1c36764c7c add card big picture (#2307) 2020-07-07 19:02:51 +08:00
Mercury233 5c51a7c984 fix CardNameContains (#2288) 2020-04-24 10:44:27 +08:00
Mercury233 c49cf7aaa8 add enter search for other inputs in deck con (#2285) 2020-04-24 10:43:01 +08:00
Mercury233 b15a37b927 blur deck combobox after selecting (#2284) 2020-04-24 10:42:40 +08:00
mercury233 574fd1f173 fix card search scale filter 2020-02-21 21:06:30 +08:00
DailyShana 949f8d2379 fix client_card_sort
to satisfy strict weak ordering
2020-01-16 19:21:35 +08:00
DailyShana d0abf5580f update struct LFList
use std::wstring and std::unordered_map directly
2019-07-28 12:48:57 +08:00
DailyShana 9addd24631 use standard mutex library (#2224) 2019-07-15 08:16:07 +08:00
mercury233 8494f1b0f5 fix clear search hide scroll bar 2019-05-07 12:19:12 +08:00
mercury233 fe7b8211c8 fix card search result
the hovered card should update when the user use mouse to change the
scroll bar.
2019-04-14 20:57:19 +08:00
Mercury233 87e96921fa add window resize (#2123) 2019-03-26 21:26:35 +08:00
Mercury233 223682ce0e fix 2018-11-26 20:07:53 +08:00
mercury233 d08a248af3 fix GetHoveredCard
fix: if the mouse move directly to the left panel, hovered_pos
won't be updated
2018-11-26 17:49:29 +08:00