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
1
Merge Requests
1
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
nanahira
ygopro
Commits
383238e4
Commit
383238e4
authored
Mar 06, 2026
by
nanahira
1
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
use get_original_code_rule for recursive alias handle
parent
62d11a3b
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
11 additions
and
12 deletions
+11
-12
gframe/deck_con.cpp
gframe/deck_con.cpp
+4
-4
gframe/deck_manager.cpp
gframe/deck_manager.cpp
+3
-3
gframe/drawing.cpp
gframe/drawing.cpp
+1
-3
gframe/game.cpp
gframe/game.cpp
+3
-2
No files found.
gframe/deck_con.cpp
View file @
383238e4
...
...
@@ -1918,7 +1918,7 @@ void DeckBuilder::pop_side(int seq) {
GetHoveredCard
();
}
bool
DeckBuilder
::
check_limit
(
code_pointer
pointer
)
{
auto
limitcode
=
pointer
->
second
.
alias
?
pointer
->
second
.
alias
:
pointer
->
first
;
auto
limitcode
=
get_original_code_rule
(
pointer
->
first
,
pointer
->
second
.
alias
,
DataManager
::
CardReader
)
;
int
limit
=
3
;
auto
flit
=
filterList
->
content
.
find
(
limitcode
);
if
(
flit
!=
filterList
->
content
.
end
())
...
...
@@ -1947,15 +1947,15 @@ bool DeckBuilder::check_limit(code_pointer pointer) {
};
auto
limitcode_has_credit
=
filterList
->
credits
.
find
(
limitcode
)
!=
filterList
->
credits
.
end
();
auto
handle_card
=
[
&
](
ygo
::
code_pointer
&
card
)
{
if
(
card
->
first
==
limitcode
||
card
->
second
.
alias
==
limitcode
)
{
auto
card_code
=
get_original_code_rule
(
card
->
first
,
card
->
second
.
alias
,
DataManager
::
CardReader
);
if
(
card_code
==
limitcode
)
{
limit
--
;
if
(
limit
<
0
)
return
false
;
}
if
(
!
limitcode_has_credit
)
return
true
;
auto
code
=
card
->
second
.
alias
?
card
->
second
.
alias
:
card
->
first
;
return
spend_credit
(
code
);
return
spend_credit
(
card_code
);
};
for
(
auto
&
card
:
deckManager
.
current_deck
.
main
)
{
if
(
!
handle_card
(
card
))
...
...
gframe/deck_manager.cpp
View file @
383238e4
...
...
@@ -226,7 +226,7 @@ unsigned int DeckManager::CheckDeck(const Deck& deck, unsigned int lfhash, int r
return
(
gameruleDeckError
<<
28
)
|
cit
->
first
;
if
(
cit
->
second
.
type
&
(
TYPES_EXTRA_DECK
|
TYPE_TOKEN
))
return
(
DECKERROR_MAINCOUNT
<<
28
);
int
code
=
cit
->
second
.
alias
?
cit
->
second
.
alias
:
cit
->
first
;
int
code
=
get_original_code_rule
(
cit
->
first
,
cit
->
second
.
alias
,
DataManager
::
CardReader
)
;
ccount
[
code
]
++
;
int
dc
=
ccount
[
code
];
if
(
dc
>
3
)
...
...
@@ -244,7 +244,7 @@ unsigned int DeckManager::CheckDeck(const Deck& deck, unsigned int lfhash, int r
return
(
gameruleDeckError
<<
28
)
|
cit
->
first
;
if
(
!
(
cit
->
second
.
type
&
TYPES_EXTRA_DECK
)
||
cit
->
second
.
type
&
TYPE_TOKEN
)
return
(
DECKERROR_EXTRACOUNT
<<
28
);
int
code
=
cit
->
second
.
alias
?
cit
->
second
.
alias
:
cit
->
first
;
int
code
=
get_original_code_rule
(
cit
->
first
,
cit
->
second
.
alias
,
DataManager
::
CardReader
)
;
ccount
[
code
]
++
;
int
dc
=
ccount
[
code
];
if
(
dc
>
3
)
...
...
@@ -262,7 +262,7 @@ unsigned int DeckManager::CheckDeck(const Deck& deck, unsigned int lfhash, int r
return
(
gameruleDeckError
<<
28
)
|
cit
->
first
;
if
(
cit
->
second
.
type
&
TYPE_TOKEN
)
return
(
DECKERROR_SIDECOUNT
<<
28
);
int
code
=
cit
->
second
.
alias
?
cit
->
second
.
alias
:
cit
->
first
;
int
code
=
get_original_code_rule
(
cit
->
first
,
cit
->
second
.
alias
,
DataManager
::
CardReader
)
;
ccount
[
code
]
++
;
int
dc
=
ccount
[
code
];
if
(
dc
>
3
)
...
...
gframe/drawing.cpp
View file @
383238e4
...
...
@@ -1201,9 +1201,7 @@ void Game::WaitFrameSignal(int frame) {
}
void
Game
::
DrawThumb
(
code_pointer
cp
,
irr
::
core
::
vector2di
pos
,
const
LFList
*
lflist
,
bool
drag
)
{
auto
code
=
cp
->
first
;
auto
lcode
=
cp
->
second
.
alias
;
if
(
lcode
==
0
)
lcode
=
code
;
auto
lcode
=
get_original_code_rule
(
cp
->
first
,
cp
->
second
.
alias
,
DataManager
::
CardReader
);
irr
::
video
::
ITexture
*
img
=
imageManager
.
GetTextureThumb
(
code
);
if
(
img
==
nullptr
)
return
;
//nullptr->getSize() will cause a crash
...
...
gframe/game.cpp
View file @
383238e4
...
...
@@ -1868,8 +1868,9 @@ void Game::ShowCardInfo(int code, bool resize) {
if
(
is_valid
&&
!
gameConf
.
hide_setname
)
{
auto
&
cd
=
cit
->
second
;
auto
target
=
cit
;
if
(
cd
.
alias
&&
_datas
.
find
(
cd
.
alias
)
!=
_datas
.
end
())
{
target
=
_datas
.
find
(
cd
.
alias
);
auto
orig
=
get_original_code_rule
(
cd
.
code
,
cd
.
alias
,
DataManager
::
CardReader
);
if
(
orig
!=
cd
.
code
&&
_datas
.
find
(
orig
)
!=
_datas
.
end
())
{
target
=
_datas
.
find
(
orig
);
}
if
(
target
->
second
.
setcode
[
0
])
{
offset
=
23
;
// *yScale;
...
...
nanahira
@nanahira
mentioned in commit
315e6e0f
·
Mar 11, 2026
mentioned in commit
315e6e0f
mentioned in commit 315e6e0fc8012790c6aa56763a88afc997986d03
Toggle commit list
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