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
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
MyCard
ygopro-core
Commits
9a8ac816
Commit
9a8ac816
authored
Aug 11, 2018
by
DailyShana
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update scriptlib::check_param
parent
0a9318e3
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
33 additions
and
30 deletions
+33
-30
card.cpp
card.cpp
+0
-1
card.h
card.h
+0
-1
effect.cpp
effect.cpp
+0
-1
effect.h
effect.h
+0
-1
group.cpp
group.cpp
+0
-3
group.h
group.h
+0
-1
scriptlib.cpp
scriptlib.cpp
+32
-22
scriptlib.h
scriptlib.h
+1
-0
No files found.
card.cpp
View file @
9a8ac816
...
...
@@ -64,7 +64,6 @@ void card_data::clear() {
std
::
memset
(
this
,
0
,
sizeof
(
card_data
));
}
card
::
card
(
duel
*
pd
)
{
scrtype
=
1
;
ref_handle
=
0
;
pduel
=
pd
;
owner
=
PLAYER_NONE
;
...
...
card.h
View file @
9a8ac816
...
...
@@ -124,7 +124,6 @@ public:
uint8
location
;
uint8
sequence
;
};
int32
scrtype
;
int32
ref_handle
;
duel
*
pduel
;
card_data
data
;
...
...
effect.cpp
View file @
9a8ac816
...
...
@@ -15,7 +15,6 @@ bool effect_sort_id(const effect* e1, const effect* e2) {
return
e1
->
id
<
e2
->
id
;
};
effect
::
effect
(
duel
*
pd
)
{
scrtype
=
3
;
ref_handle
=
0
;
pduel
=
pd
;
owner
=
0
;
...
...
effect.h
View file @
9a8ac816
...
...
@@ -27,7 +27,6 @@ enum effect_flag2 : uint32;
class
effect
{
public:
int32
scrtype
;
int32
ref_handle
;
duel
*
pduel
;
card
*
owner
;
...
...
group.cpp
View file @
9a8ac816
...
...
@@ -10,20 +10,17 @@
#include "duel.h"
group
::
group
(
duel
*
pd
)
{
scrtype
=
2
;
ref_handle
=
0
;
pduel
=
pd
;
is_readonly
=
FALSE
;
}
group
::
group
(
duel
*
pd
,
card
*
pcard
)
{
container
.
insert
(
pcard
);
scrtype
=
2
;
ref_handle
=
0
;
pduel
=
pd
;
is_readonly
=
FALSE
;
}
group
::
group
(
duel
*
pd
,
const
card_set
&
cset
)
:
container
(
cset
)
{
scrtype
=
2
;
ref_handle
=
0
;
pduel
=
pd
;
is_readonly
=
FALSE
;
...
...
group.h
View file @
9a8ac816
...
...
@@ -18,7 +18,6 @@ class duel;
class
group
{
public:
typedef
std
::
set
<
card
*
,
card_sort
>
card_set
;
int32
scrtype
;
int32
ref_handle
;
duel
*
pduel
;
card_set
container
;
...
...
scriptlib.cpp
View file @
9a8ac816
...
...
@@ -7,54 +7,64 @@
#include "scriptlib.h"
#include "duel.h"
int32
scriptlib
::
check_data_type
(
lua_State
*
L
,
int32
index
,
const
char
*
tname
)
{
int32
result
=
FALSE
;
if
(
lua_getmetatable
(
L
,
index
))
{
lua_getglobal
(
L
,
tname
);
if
(
lua_rawequal
(
L
,
-
1
,
-
2
))
result
=
TRUE
;
lua_pop
(
L
,
2
);
}
return
result
;
}
int32
scriptlib
::
check_param
(
lua_State
*
L
,
int32
param_type
,
int32
index
,
int32
retfalse
)
{
int32
result
;
switch
(
param_type
)
{
case
PARAM_TYPE_CARD
:
i
f
(
lua_isuserdata
(
L
,
index
))
{
result
=
**
(
int32
**
)
lua_touserdata
(
L
,
index
);
if
(
result
==
1
)
return
TRUE
;
case
PARAM_TYPE_CARD
:
{
i
nt32
result
=
FALSE
;
if
(
lua_isuserdata
(
L
,
index
)
&&
lua_getmetatable
(
L
,
index
))
{
result
=
check_data_type
(
L
,
-
1
,
"Card"
);
lua_pop
(
L
,
1
)
;
}
if
(
result
)
return
TRUE
;
if
(
retfalse
)
return
FALSE
;
luaL_error
(
L
,
"Parameter %d should be
\"
Card
\"
."
,
index
);
break
;
case
PARAM_TYPE_GROUP
:
if
(
lua_isuserdata
(
L
,
index
))
{
result
=
**
(
int32
**
)
lua_touserdata
(
L
,
index
);
if
(
result
==
2
)
return
TRUE
;
}
}
case
PARAM_TYPE_GROUP
:
{
if
(
lua_isuserdata
(
L
,
index
)
&&
check_data_type
(
L
,
index
,
"Group"
))
return
TRUE
;
if
(
retfalse
)
return
FALSE
;
luaL_error
(
L
,
"Parameter %d should be
\"
Group
\"
."
,
index
);
break
;
case
PARAM_TYPE_EFFECT
:
if
(
lua_isuserdata
(
L
,
index
))
{
result
=
**
(
int32
**
)
lua_touserdata
(
L
,
index
);
if
(
result
==
3
)
return
TRUE
;
}
}
case
PARAM_TYPE_EFFECT
:
{
if
(
lua_isuserdata
(
L
,
index
)
&&
check_data_type
(
L
,
index
,
"Effect"
))
return
TRUE
;
if
(
retfalse
)
return
FALSE
;
luaL_error
(
L
,
"Parameter %d should be
\"
Effect
\"
."
,
index
);
break
;
case
PARAM_TYPE_FUNCTION
:
if
(
lua_isfunction
(
L
,
index
))
}
case
PARAM_TYPE_FUNCTION
:
{
if
(
lua_isfunction
(
L
,
index
))
return
TRUE
;
if
(
retfalse
)
return
FALSE
;
luaL_error
(
L
,
"Parameter %d should be
\"
Function
\"
."
,
index
);
break
;
case
PARAM_TYPE_STRING
:
if
(
lua_isstring
(
L
,
index
))
}
case
PARAM_TYPE_STRING
:
{
if
(
lua_isstring
(
L
,
index
))
return
TRUE
;
if
(
retfalse
)
return
FALSE
;
luaL_error
(
L
,
"Parameter %d should be
\"
String
\"
."
,
index
);
break
;
}
}
return
FALSE
;
}
...
...
scriptlib.h
View file @
9a8ac816
...
...
@@ -13,6 +13,7 @@
class
scriptlib
{
public:
static
int32
check_data_type
(
lua_State
*
L
,
int32
index
,
const
char
*
tname
);
static
int32
check_param
(
lua_State
*
L
,
int32
param_type
,
int32
index
,
BOOL
retfalse
=
FALSE
);
static
int32
check_param_count
(
lua_State
*
L
,
int32
count
);
static
int32
check_action_permission
(
lua_State
*
L
);
...
...
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