Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-core
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
nanahira
ygopro-core
Commits
7beac3d0
Commit
7beac3d0
authored
Dec 07, 2023
by
salix5
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
group: use default member initializer
parent
673d4af0
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
29 additions
and
35 deletions
+29
-35
group.cpp
group.cpp
+0
-6
group.h
group.h
+2
-2
libduel.cpp
libduel.cpp
+10
-10
operations.cpp
operations.cpp
+12
-12
processor.cpp
processor.cpp
+5
-5
No files found.
group.cpp
View file @
7beac3d0
...
...
@@ -10,21 +10,15 @@
#include "duel.h"
group
::
group
(
duel
*
pd
)
{
ref_handle
=
0
;
pduel
=
pd
;
is_readonly
=
FALSE
;
it
=
container
.
begin
();
}
group
::
group
(
duel
*
pd
,
card
*
pcard
)
{
container
.
insert
(
pcard
);
ref_handle
=
0
;
pduel
=
pd
;
is_readonly
=
FALSE
;
it
=
container
.
begin
();
}
group
::
group
(
duel
*
pd
,
const
card_set
&
cset
)
:
container
(
cset
)
{
ref_handle
=
0
;
pduel
=
pd
;
is_readonly
=
FALSE
;
it
=
container
.
begin
();
}
group.h
View file @
7beac3d0
...
...
@@ -18,11 +18,11 @@ class duel;
class
group
{
public:
using
card_set
=
std
::
set
<
card
*
,
card_sort
>
;
int32
ref_handle
;
duel
*
pduel
;
card_set
container
;
card_set
::
iterator
it
;
uint32
is_readonly
;
int32
ref_handle
{
0
};
uint32
is_readonly
{
0
};
inline
bool
has_card
(
card
*
c
)
{
return
container
.
find
(
c
)
!=
container
.
end
();
...
...
libduel.cpp
View file @
7beac3d0
...
...
@@ -352,7 +352,7 @@ int32 scriptlib::duel_synchro_summon(lua_State *L) {
check_param
(
L
,
PARAM_TYPE_GROUP
,
4
);
group
*
pgroup
=
*
(
group
**
)
lua_touserdata
(
L
,
4
);
mg
=
pduel
->
new_group
(
pgroup
->
container
);
mg
->
is_readonly
=
TRUE
;
mg
->
is_readonly
=
1
;
}
}
int32
minc
=
0
;
...
...
@@ -390,7 +390,7 @@ int32 scriptlib::duel_xyz_summon(lua_State *L) {
check_param
(
L
,
PARAM_TYPE_GROUP
,
3
);
group
*
pgroup
=
*
(
group
**
)
lua_touserdata
(
L
,
3
);
materials
=
pduel
->
new_group
(
pgroup
->
container
);
materials
->
is_readonly
=
TRUE
;
materials
->
is_readonly
=
1
;
}
int32
minc
=
0
;
if
(
lua_gettop
(
L
)
>=
4
)
...
...
@@ -427,7 +427,7 @@ int32 scriptlib::duel_link_summon(lua_State *L) {
check_param
(
L
,
PARAM_TYPE_GROUP
,
3
);
group
*
pgroup
=
*
(
group
**
)
lua_touserdata
(
L
,
3
);
materials
=
pduel
->
new_group
(
pgroup
->
container
);
materials
->
is_readonly
=
TRUE
;
materials
->
is_readonly
=
1
;
}
if
(
lua_gettop
(
L
)
>=
4
)
{
if
(
!
lua_isnil
(
L
,
4
))
{
...
...
@@ -2970,7 +2970,7 @@ int32 scriptlib::duel_select_target(lua_State *L) {
return
0
;
if
(
!
ch
->
target_cards
)
{
ch
->
target_cards
=
pduel
->
new_group
();
ch
->
target_cards
->
is_readonly
=
TRUE
;
ch
->
target_cards
->
is_readonly
=
1
;
}
group
*
tg
=
ch
->
target_cards
;
effect
*
peffect
=
ch
->
triggering_effect
;
...
...
@@ -3027,10 +3027,10 @@ int32 scriptlib::duel_check_must_material(lua_State *L) {
pduel
=
interpreter
::
get_duel_info
(
L
);
if
(
mgroup
)
{
pgroup
=
pduel
->
new_group
(
mgroup
->
container
);
pgroup
->
is_readonly
=
TRUE
;
pgroup
->
is_readonly
=
1
;
}
else
if
(
mcard
)
{
pgroup
=
pduel
->
new_group
(
mcard
);
pgroup
->
is_readonly
=
TRUE
;
pgroup
->
is_readonly
=
1
;
}
else
pgroup
=
0
;
uint32
limit
=
(
uint32
)
lua_tointeger
(
L
,
3
);
...
...
@@ -3306,7 +3306,7 @@ int32 scriptlib::duel_set_target_card(lua_State *L) {
return
0
;
if
(
!
ch
->
target_cards
)
{
ch
->
target_cards
=
pduel
->
new_group
();
ch
->
target_cards
->
is_readonly
=
TRUE
;
ch
->
target_cards
->
is_readonly
=
1
;
}
group
*
targets
=
ch
->
target_cards
;
effect
*
peffect
=
ch
->
triggering_effect
;
...
...
@@ -3397,12 +3397,12 @@ int32 scriptlib::duel_set_operation_info(lua_State *L) {
return
0
;
if
(
pgroup
)
{
pg
=
pduel
->
new_group
(
pgroup
->
container
);
pg
->
is_readonly
=
TRUE
;
pg
->
is_readonly
=
1
;
}
else
if
(
pcard
)
{
pg
=
pduel
->
new_group
(
pcard
);
pg
->
is_readonly
=
TRUE
;
pg
->
is_readonly
=
1
;
}
else
pg
=
0
;
pg
=
nullptr
;
optarget
opt
;
opt
.
op_cards
=
pg
;
opt
.
op_count
=
count
;
...
...
operations.cpp
View file @
7beac3d0
...
...
@@ -114,7 +114,7 @@ void field::remove_overlay_card(uint32 reason, card* pcard, uint32 rplayer, uint
}
void
field
::
get_control
(
card_set
*
targets
,
effect
*
reason_effect
,
uint32
reason_player
,
uint32
playerid
,
uint32
reset_phase
,
uint32
reset_count
,
uint32
zone
)
{
group
*
ng
=
pduel
->
new_group
(
*
targets
);
ng
->
is_readonly
=
TRUE
;
ng
->
is_readonly
=
1
;
add_process
(
PROCESSOR_GET_CONTROL
,
0
,
reason_effect
,
ng
,
0
,
(
reason_player
<<
28
)
+
(
playerid
<<
24
)
+
(
reset_phase
<<
8
)
+
reset_count
,
zone
);
}
void
field
::
get_control
(
card
*
target
,
effect
*
reason_effect
,
uint32
reason_player
,
uint32
playerid
,
uint32
reset_phase
,
uint32
reset_count
,
uint32
zone
)
{
...
...
@@ -124,9 +124,9 @@ void field::get_control(card* target, effect* reason_effect, uint32 reason_playe
}
void
field
::
swap_control
(
effect
*
reason_effect
,
uint32
reason_player
,
card_set
*
targets1
,
card_set
*
targets2
,
uint32
reset_phase
,
uint32
reset_count
)
{
group
*
ng1
=
pduel
->
new_group
(
*
targets1
);
ng1
->
is_readonly
=
TRUE
;
ng1
->
is_readonly
=
1
;
group
*
ng2
=
pduel
->
new_group
(
*
targets2
);
ng2
->
is_readonly
=
TRUE
;
ng2
->
is_readonly
=
1
;
add_process
(
PROCESSOR_SWAP_CONTROL
,
0
,
reason_effect
,
ng1
,
reason_player
,
reset_phase
,
reset_count
,
0
,
ng2
);
}
void
field
::
swap_control
(
effect
*
reason_effect
,
uint32
reason_player
,
card
*
pcard1
,
card
*
pcard2
,
uint32
reset_phase
,
uint32
reset_count
)
{
...
...
@@ -176,7 +176,7 @@ void field::special_summon(card_set* target, uint32 sumtype, uint32 sumplayer, u
pcard
->
spsummon_param
=
(
playerid
<<
24
)
+
(
nocheck
<<
16
)
+
(
nolimit
<<
8
)
+
positions
;
}
group
*
pgroup
=
pduel
->
new_group
(
*
target
);
pgroup
->
is_readonly
=
TRUE
;
pgroup
->
is_readonly
=
1
;
add_process
(
PROCESSOR_SPSUMMON
,
0
,
core
.
reason_effect
,
pgroup
,
core
.
reason_player
,
zone
);
}
void
field
::
special_summon_step
(
card
*
target
,
uint32
sumtype
,
uint32
sumplayer
,
uint32
playerid
,
uint32
nocheck
,
uint32
nolimit
,
uint32
positions
,
uint32
zone
)
{
...
...
@@ -196,7 +196,7 @@ void field::special_summon_step(card* target, uint32 sumtype, uint32 sumplayer,
void
field
::
special_summon_complete
(
effect
*
reason_effect
,
uint8
reason_player
)
{
group
*
ng
=
pduel
->
new_group
();
ng
->
container
.
swap
(
core
.
special_summoning
);
ng
->
is_readonly
=
TRUE
;
ng
->
is_readonly
=
1
;
core
.
hint_timing
[
reason_player
]
|=
TIMING_SPSUMMON
;
add_process
(
PROCESSOR_SPSUMMON
,
1
,
reason_effect
,
ng
,
reason_player
,
0
);
}
...
...
@@ -228,7 +228,7 @@ void field::destroy(card_set* targets, effect* reason_effect, uint32 reason, uin
++
cit
;
}
group
*
ng
=
pduel
->
new_group
(
*
targets
);
ng
->
is_readonly
=
TRUE
;
ng
->
is_readonly
=
1
;
add_process
(
PROCESSOR_DESTROY
,
0
,
reason_effect
,
ng
,
reason
,
reason_player
);
}
void
field
::
destroy
(
card
*
target
,
effect
*
reason_effect
,
uint32
reason
,
uint32
reason_player
,
uint32
playerid
,
uint32
destination
,
uint32
sequence
)
{
...
...
@@ -247,7 +247,7 @@ void field::release(card_set* targets, effect* reason_effect, uint32 reason, uin
pcard
->
sendto_param
.
set
(
pcard
->
owner
,
POS_FACEUP
,
LOCATION_GRAVE
);
}
group
*
ng
=
pduel
->
new_group
(
*
targets
);
ng
->
is_readonly
=
TRUE
;
ng
->
is_readonly
=
1
;
add_process
(
PROCESSOR_RELEASE
,
0
,
reason_effect
,
ng
,
reason
,
reason_player
);
}
void
field
::
release
(
card
*
target
,
effect
*
reason_effect
,
uint32
reason
,
uint32
reason_player
)
{
...
...
@@ -281,7 +281,7 @@ void field::send_to(card_set* targets, effect* reason_effect, uint32 reason, uin
pcard
->
sendto_param
.
set
(
p
,
pos
,
destination
,
sequence
);
}
group
*
ng
=
pduel
->
new_group
(
*
targets
);
ng
->
is_readonly
=
TRUE
;
ng
->
is_readonly
=
1
;
add_process
(
PROCESSOR_SENDTO
,
0
,
reason_effect
,
ng
,
reason
,
reason_player
);
}
void
field
::
send_to
(
card
*
target
,
effect
*
reason_effect
,
uint32
reason
,
uint32
reason_player
,
uint32
playerid
,
uint32
destination
,
uint32
sequence
,
uint32
position
)
{
...
...
@@ -299,7 +299,7 @@ void field::move_to_field(card* target, uint32 move_player, uint32 playerid, uin
}
void
field
::
change_position
(
card_set
*
targets
,
effect
*
reason_effect
,
uint32
reason_player
,
uint32
au
,
uint32
ad
,
uint32
du
,
uint32
dd
,
uint32
flag
,
uint32
enable
)
{
group
*
ng
=
pduel
->
new_group
(
*
targets
);
ng
->
is_readonly
=
TRUE
;
ng
->
is_readonly
=
1
;
for
(
auto
&
pcard
:
*
targets
)
{
if
(
pcard
->
current
.
position
==
POS_FACEUP_ATTACK
)
pcard
->
position_param
=
au
;
...
...
@@ -315,7 +315,7 @@ void field::change_position(card_set* targets, effect* reason_effect, uint32 rea
}
void
field
::
change_position
(
card
*
target
,
effect
*
reason_effect
,
uint32
reason_player
,
uint32
npos
,
uint32
flag
,
uint32
enable
)
{
group
*
ng
=
pduel
->
new_group
(
target
);
ng
->
is_readonly
=
TRUE
;
ng
->
is_readonly
=
1
;
target
->
position_param
=
npos
;
target
->
position_param
|=
flag
;
add_process
(
PROCESSOR_CHANGEPOS
,
0
,
reason_effect
,
ng
,
reason_player
,
enable
);
...
...
@@ -3588,7 +3588,7 @@ int32 field::destroy(uint16 step, group * targets, effect * reason_effect, uint3
}
case
4
:
{
group
*
sendtargets
=
pduel
->
new_group
(
targets
->
container
);
sendtargets
->
is_readonly
=
TRUE
;
sendtargets
->
is_readonly
=
1
;
for
(
auto
&
pcard
:
sendtargets
->
container
)
{
pcard
->
set_status
(
STATUS_DESTROY_CONFIRMED
,
FALSE
);
uint32
dest
=
pcard
->
sendto_param
.
location
;
...
...
@@ -3815,7 +3815,7 @@ int32 field::release(uint16 step, group * targets, effect * reason_effect, uint3
}
case
3
:
{
group
*
sendtargets
=
pduel
->
new_group
(
targets
->
container
);
sendtargets
->
is_readonly
=
TRUE
;
sendtargets
->
is_readonly
=
1
;
operation_replace
(
EFFECT_SEND_REPLACE
,
5
,
sendtargets
);
add_process
(
PROCESSOR_SENDTO
,
1
,
reason_effect
,
sendtargets
,
reason
|
REASON_RELEASE
,
reason_player
);
return
FALSE
;
...
...
processor.cpp
View file @
7beac3d0
...
...
@@ -894,7 +894,7 @@ void field::raise_event(card* event_card, uint32 event_code, effect* reason_effe
new_event
.
trigger_card
=
0
;
if
(
event_card
)
{
group
*
pgroup
=
pduel
->
new_group
(
event_card
);
pgroup
->
is_readonly
=
TRUE
;
pgroup
->
is_readonly
=
1
;
new_event
.
event_cards
=
pgroup
;
}
else
new_event
.
event_cards
=
0
;
...
...
@@ -911,7 +911,7 @@ void field::raise_event(card_set* event_cards, uint32 event_code, effect* reason
new_event
.
trigger_card
=
0
;
if
(
event_cards
)
{
group
*
pgroup
=
pduel
->
new_group
(
*
event_cards
);
pgroup
->
is_readonly
=
TRUE
;
pgroup
->
is_readonly
=
1
;
new_event
.
event_cards
=
pgroup
;
}
else
new_event
.
event_cards
=
0
;
...
...
@@ -928,7 +928,7 @@ void field::raise_single_event(card* trigger_card, card_set* event_cards, uint32
new_event
.
trigger_card
=
trigger_card
;
if
(
event_cards
)
{
group
*
pgroup
=
pduel
->
new_group
(
*
event_cards
);
pgroup
->
is_readonly
=
TRUE
;
pgroup
->
is_readonly
=
1
;
new_event
.
event_cards
=
pgroup
;
}
else
new_event
.
event_cards
=
0
;
...
...
@@ -3073,7 +3073,7 @@ int32 field::process_battle_command(uint16 step) {
if
(
des
.
size
())
{
group
*
ng
=
pduel
->
new_group
();
ng
->
container
.
swap
(
des
);
ng
->
is_readonly
=
TRUE
;
ng
->
is_readonly
=
1
;
add_process
(
PROCESSOR_DESTROY
,
10
,
0
,
ng
,
REASON_BATTLE
,
PLAYER_NONE
);
core
.
units
.
begin
()
->
ptarget
=
ng
;
}
...
...
@@ -4958,7 +4958,7 @@ int32 field::adjust_step(uint16 step) {
core
.
re_adjust
=
TRUE
;
group
*
ng
=
pduel
->
new_group
();
ng
->
container
.
swap
(
pos_adjust
);
ng
->
is_readonly
=
TRUE
;
ng
->
is_readonly
=
1
;
add_process
(
PROCESSOR_CHANGEPOS
,
0
,
0
,
ng
,
PLAYER_NONE
,
TRUE
);
}
return
FALSE
;
...
...
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