Skip to content

Commit e42a480

Browse files
committed
add
1 parent dfce70e commit e42a480

File tree

4 files changed

+63
-34
lines changed

4 files changed

+63
-34
lines changed

CMakeLists.txt

+7
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,12 @@ ADD_CUSTOM_COMMAND(
2525
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/samples/dmluademo/script
2626
DEPENDS tolua++
2727
)
28+
ADD_CUSTOM_COMMAND(
29+
TARGET dmluademo
30+
PRE_BUILD
31+
COMMAND ${CMAKE_COMMAND} -E copy_if_different
32+
${CMAKE_CURRENT_SOURCE_DIR}/config/lua_dkm_debug.json
33+
$<TARGET_FILE_DIR:dmluademo>
34+
)
2835
ENDIF(WIN32)
2936

config/lua_dkm_debug.json

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"ScriptPaths": [
3+
"../",
4+
"../script/"
5+
]
6+
}

include/dmlua_engine.h

+16
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
#include "dmtypes.h"
4141
#include "dmparser.h"
4242
#include "dmsingleton.h"
43+
#include "dmutil.h"
4344

4445
#ifdef __APPLE__
4546
#include <mach-o/dyld.h>
@@ -670,6 +671,21 @@ class CDMLuaEngine : public CDMSafeSingleton<CDMLuaEngine>
670671
lua_setfield(m_pLuaS, -3, "path");
671672
}
672673

674+
void AddCPath(const std::string& strPath)
675+
{
676+
CLuaStateGuard oGuard(m_pLuaS, "AddCPath");
677+
678+
lua_getglobal(m_pLuaS, "package");
679+
lua_getfield(m_pLuaS, -1, "cpath");
680+
const char* curPath = lua_tostring(m_pLuaS, -1);
681+
#ifdef _WIN32
682+
lua_pushfstring(m_pLuaS, "%s;%s/?.dll", curPath, strPath.c_str());
683+
#else
684+
lua_pushfstring(m_pLuaS, "%s;%s/?.so", curPath, strPath.c_str());
685+
#endif
686+
lua_setfield(m_pLuaS, -3, "cpath");
687+
}
688+
673689
bool LoadScript( const std::string& strName )
674690
{
675691
__ParserBegin();

samples/dmluademo/script/interface.cpp

+34-34
Original file line numberDiff line numberDiff line change
@@ -32,58 +32,58 @@ static int tolua_collect_LuaResult_int64_t_ (lua_State* tolua_S)
3232
return 0;
3333
}
3434

35-
static int tolua_collect_std__vector_uint64_t_ (lua_State* tolua_S)
35+
static int tolua_collect_std__vector_std__string_ (lua_State* tolua_S)
3636
{
37-
std::vector<uint64_t>* self = (std::vector<uint64_t>*) tolua_tousertype(tolua_S,1,0);
37+
std::vector<std::string>* self = (std::vector<std::string>*) tolua_tousertype(tolua_S,1,0);
3838
Mtolua_delete(self);
3939
return 0;
4040
}
4141

42-
static int tolua_collect_CRole (lua_State* tolua_S)
42+
static int tolua_collect_std__vector_uint64_t_ (lua_State* tolua_S)
4343
{
44-
CRole* self = (CRole*) tolua_tousertype(tolua_S,1,0);
44+
std::vector<uint64_t>* self = (std::vector<uint64_t>*) tolua_tousertype(tolua_S,1,0);
4545
Mtolua_delete(self);
4646
return 0;
4747
}
4848

49-
static int tolua_collect_LuaResult_double_ (lua_State* tolua_S)
49+
static int tolua_collect_std__vector_int64_t_ (lua_State* tolua_S)
5050
{
51-
LuaResult<double>* self = (LuaResult<double>*) tolua_tousertype(tolua_S,1,0);
51+
std::vector<int64_t>* self = (std::vector<int64_t>*) tolua_tousertype(tolua_S,1,0);
5252
Mtolua_delete(self);
5353
return 0;
5454
}
5555

56-
static int tolua_collect_LuaResult_std__string_ (lua_State* tolua_S)
56+
static int tolua_collect_LuaResult_int_ (lua_State* tolua_S)
5757
{
58-
LuaResult<std::string>* self = (LuaResult<std::string>*) tolua_tousertype(tolua_S,1,0);
58+
LuaResult<int>* self = (LuaResult<int>*) tolua_tousertype(tolua_S,1,0);
5959
Mtolua_delete(self);
6060
return 0;
6161
}
6262

63-
static int tolua_collect_LuaResult_uint64_t_ (lua_State* tolua_S)
63+
static int tolua_collect_STaskInfo (lua_State* tolua_S)
6464
{
65-
LuaResult<uint64_t>* self = (LuaResult<uint64_t>*) tolua_tousertype(tolua_S,1,0);
65+
STaskInfo* self = (STaskInfo*) tolua_tousertype(tolua_S,1,0);
6666
Mtolua_delete(self);
6767
return 0;
6868
}
6969

70-
static int tolua_collect_std__vector_std__string_ (lua_State* tolua_S)
70+
static int tolua_collect_LuaResult_std__string_ (lua_State* tolua_S)
7171
{
72-
std::vector<std::string>* self = (std::vector<std::string>*) tolua_tousertype(tolua_S,1,0);
72+
LuaResult<std::string>* self = (LuaResult<std::string>*) tolua_tousertype(tolua_S,1,0);
7373
Mtolua_delete(self);
7474
return 0;
7575
}
7676

77-
static int tolua_collect_std__vector_int64_t_ (lua_State* tolua_S)
77+
static int tolua_collect_std__vector_double_ (lua_State* tolua_S)
7878
{
79-
std::vector<int64_t>* self = (std::vector<int64_t>*) tolua_tousertype(tolua_S,1,0);
79+
std::vector<double>* self = (std::vector<double>*) tolua_tousertype(tolua_S,1,0);
8080
Mtolua_delete(self);
8181
return 0;
8282
}
8383

84-
static int tolua_collect_std__vector_double_ (lua_State* tolua_S)
84+
static int tolua_collect_CRole (lua_State* tolua_S)
8585
{
86-
std::vector<double>* self = (std::vector<double>*) tolua_tousertype(tolua_S,1,0);
86+
CRole* self = (CRole*) tolua_tousertype(tolua_S,1,0);
8787
Mtolua_delete(self);
8888
return 0;
8989
}
@@ -102,9 +102,9 @@ static int tolua_collect_std__vector_int_ (lua_State* tolua_S)
102102
return 0;
103103
}
104104

105-
static int tolua_collect_STaskInfo (lua_State* tolua_S)
105+
static int tolua_collect_LuaResult_uint64_t_ (lua_State* tolua_S)
106106
{
107-
STaskInfo* self = (STaskInfo*) tolua_tousertype(tolua_S,1,0);
107+
LuaResult<uint64_t>* self = (LuaResult<uint64_t>*) tolua_tousertype(tolua_S,1,0);
108108
Mtolua_delete(self);
109109
return 0;
110110
}
@@ -116,9 +116,9 @@ static int tolua_collect_SPos (lua_State* tolua_S)
116116
return 0;
117117
}
118118

119-
static int tolua_collect_LuaResult_int_ (lua_State* tolua_S)
119+
static int tolua_collect_LuaResult_double_ (lua_State* tolua_S)
120120
{
121-
LuaResult<int>* self = (LuaResult<int>*) tolua_tousertype(tolua_S,1,0);
121+
LuaResult<double>* self = (LuaResult<double>*) tolua_tousertype(tolua_S,1,0);
122122
Mtolua_delete(self);
123123
return 0;
124124
}
@@ -130,32 +130,32 @@ static void tolua_reg_types (lua_State* tolua_S)
130130
{
131131
tolua_usertype(tolua_S,"LuaResult<int64_t>");
132132
Mtolua_typeid< LuaResult<int64_t> >(tolua_S, "LuaResult<int64_t>");
133-
tolua_usertype(tolua_S,"std::vector<uint64_t>");
134-
Mtolua_typeid< std::vector<uint64_t> >(tolua_S, "std::vector<uint64_t>");
135-
tolua_usertype(tolua_S,"CRole");
136-
Mtolua_typeid< CRole >(tolua_S, "CRole");
137-
tolua_usertype(tolua_S,"LuaResult<double>");
138-
Mtolua_typeid< LuaResult<double> >(tolua_S, "LuaResult<double>");
139-
tolua_usertype(tolua_S,"LuaResult<std::string>");
140-
Mtolua_typeid< LuaResult<std::string> >(tolua_S, "LuaResult<std::string>");
141-
tolua_usertype(tolua_S,"LuaResult<uint64_t>");
142-
Mtolua_typeid< LuaResult<uint64_t> >(tolua_S, "LuaResult<uint64_t>");
143133
tolua_usertype(tolua_S,"std::vector<std::string>");
144134
Mtolua_typeid< std::vector<std::string> >(tolua_S, "std::vector<std::string>");
135+
tolua_usertype(tolua_S,"std::vector<uint64_t>");
136+
Mtolua_typeid< std::vector<uint64_t> >(tolua_S, "std::vector<uint64_t>");
145137
tolua_usertype(tolua_S,"std::vector<int64_t>");
146138
Mtolua_typeid< std::vector<int64_t> >(tolua_S, "std::vector<int64_t>");
139+
tolua_usertype(tolua_S,"LuaResult<int>");
140+
Mtolua_typeid< LuaResult<int> >(tolua_S, "LuaResult<int>");
141+
tolua_usertype(tolua_S,"STaskInfo");
142+
Mtolua_typeid< STaskInfo >(tolua_S, "STaskInfo");
143+
tolua_usertype(tolua_S,"LuaResult<std::string>");
144+
Mtolua_typeid< LuaResult<std::string> >(tolua_S, "LuaResult<std::string>");
147145
tolua_usertype(tolua_S,"std::vector<double>");
148146
Mtolua_typeid< std::vector<double> >(tolua_S, "std::vector<double>");
147+
tolua_usertype(tolua_S,"CRole");
148+
Mtolua_typeid< CRole >(tolua_S, "CRole");
149149
tolua_usertype(tolua_S,"CObj");
150150
Mtolua_typeid< CObj >(tolua_S, "CObj");
151151
tolua_usertype(tolua_S,"std::vector<int>");
152152
Mtolua_typeid< std::vector<int> >(tolua_S, "std::vector<int>");
153-
tolua_usertype(tolua_S,"STaskInfo");
154-
Mtolua_typeid< STaskInfo >(tolua_S, "STaskInfo");
153+
tolua_usertype(tolua_S,"LuaResult<uint64_t>");
154+
Mtolua_typeid< LuaResult<uint64_t> >(tolua_S, "LuaResult<uint64_t>");
155155
tolua_usertype(tolua_S,"SPos");
156156
Mtolua_typeid< SPos >(tolua_S, "SPos");
157-
tolua_usertype(tolua_S,"LuaResult<int>");
158-
Mtolua_typeid< LuaResult<int> >(tolua_S, "LuaResult<int>");
157+
tolua_usertype(tolua_S,"LuaResult<double>");
158+
Mtolua_typeid< LuaResult<double> >(tolua_S, "LuaResult<double>");
159159
}
160160

161161
/* get function: value of class LuaResult<int> */

0 commit comments

Comments
 (0)