mirror of https://github.com/axmolengine/axmol.git
Merge pull request #14534 from xiaofeng11/v3_combine_JsLuaSim
V3 combine lua-binding, jsb, and simulator
This commit is contained in:
commit
83630d17c9
|
@ -35,6 +35,7 @@
|
|||
#include "spidermonkey_specifics.h"
|
||||
#include "js_manual_conversions.h"
|
||||
#include "mozilla/Maybe.h"
|
||||
#include "js-BindingsExport.h"
|
||||
|
||||
#include <assert.h>
|
||||
#include <memory>
|
||||
|
@ -75,7 +76,7 @@ public:
|
|||
* - Invoke garbage collection of JavaScript context
|
||||
* - etc...
|
||||
*/
|
||||
class ScriptingCore : public cocos2d::ScriptEngineProtocol
|
||||
class CC_JS_DLL ScriptingCore : public cocos2d::ScriptEngineProtocol
|
||||
{
|
||||
private:
|
||||
JSRuntime *_rt;
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
#pragma once
|
||||
|
||||
#if (defined(WIN32) && defined(_WINDOWS)) || defined(WINRT) || defined(WP8)
|
||||
#ifdef __MINGW32__
|
||||
#include <string.h>
|
||||
#endif
|
||||
|
||||
#if defined(_USRJSSTATIC)
|
||||
#define CC_JS_DLL
|
||||
#else
|
||||
#if defined(_USRJSDLL)
|
||||
#define CC_JS_DLL __declspec(dllexport)
|
||||
#else /* use a DLL library */
|
||||
#define CC_JS_DLL __declspec(dllimport)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Define NULL pointer value */
|
||||
#ifndef NULL
|
||||
#ifdef __cplusplus
|
||||
#define nullptr 0
|
||||
#else
|
||||
#define NULL ((void *)0)
|
||||
#endif
|
||||
#endif
|
||||
#elif defined(_SHARED_)
|
||||
#define CC_JS_DLL __attribute__((visibility("default")))
|
||||
#else
|
||||
#define CC_JS_DLL
|
||||
#endif
|
|
@ -31,6 +31,7 @@
|
|||
#include "js_bindings_config.h"
|
||||
#include "cocos2d.h"
|
||||
#include "spidermonkey_specifics.h"
|
||||
#include "js-BindingsExport.h"
|
||||
#include "mozilla/Maybe.h"
|
||||
|
||||
#define JSB_COMPATIBLE_WITH_COCOS2D_HTML5_BASIC_TYPES
|
||||
|
@ -99,7 +100,7 @@ bool jsval_to_uint16( JSContext *cx, JS::HandleValue vp, uint16_t *ret );
|
|||
bool jsval_to_long( JSContext *cx, JS::HandleValue vp, long *out);
|
||||
bool jsval_to_ulong( JSContext *cx, JS::HandleValue vp, unsigned long *out);
|
||||
bool jsval_to_long_long(JSContext *cx, JS::HandleValue v, long long* ret);
|
||||
bool jsval_to_std_string(JSContext *cx, JS::HandleValue v, std::string* ret);
|
||||
CC_JS_DLL bool jsval_to_std_string(JSContext *cx, JS::HandleValue v, std::string* ret);
|
||||
bool jsval_to_ccpoint(JSContext *cx, JS::HandleValue v, cocos2d::Point* ret);
|
||||
bool jsval_to_ccrect(JSContext *cx, JS::HandleValue v, cocos2d::Rect* ret);
|
||||
bool jsval_to_ccsize(JSContext *cx, JS::HandleValue v, cocos2d::Size* ret);
|
||||
|
@ -118,7 +119,7 @@ bool jsval_to_ray(JSContext *cx, JS::HandleValue vp, cocos2d::Ray* ret);
|
|||
bool jsval_to_resoucedata(JSContext *cx, JS::HandleValue v, cocos2d::ResouceData* ret);
|
||||
|
||||
// forward declaration
|
||||
js_proxy_t* jsb_get_js_proxy(JS::HandleObject jsObj);
|
||||
CC_JS_DLL js_proxy_t* jsb_get_js_proxy(JS::HandleObject jsObj);
|
||||
|
||||
template <class T>
|
||||
bool jsvals_variadic_to_ccvector( JSContext *cx, /*jsval *vp, int argc,*/const JS::CallArgs& args, cocos2d::Vector<T>* ret)
|
||||
|
@ -184,7 +185,7 @@ bool jsval_to_ccvaluemap(JSContext* cx, JS::HandleValue v, cocos2d::ValueMap* re
|
|||
bool jsval_to_ccvaluemapintkey(JSContext* cx, JS::HandleValue v, cocos2d::ValueMapIntKey* ret);
|
||||
bool jsval_to_ccvaluevector(JSContext* cx, JS::HandleValue v, cocos2d::ValueVector* ret);
|
||||
bool jsval_to_ssize( JSContext *cx, JS::HandleValue vp, ssize_t* ret);
|
||||
bool jsval_to_std_vector_string( JSContext *cx, JS::HandleValue vp, std::vector<std::string>* ret);
|
||||
CC_JS_DLL bool jsval_to_std_vector_string( JSContext *cx, JS::HandleValue vp, std::vector<std::string>* ret);
|
||||
bool jsval_to_std_vector_int( JSContext *cx, JS::HandleValue vp, std::vector<int>* ret);
|
||||
bool jsval_to_std_vector_float( JSContext *cx, JS::HandleValue vp, std::vector<float>* ret);
|
||||
bool jsval_to_matrix(JSContext *cx, JS::HandleValue vp, cocos2d::Mat4* ret);
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
#ifndef __JS_TEMPLATE_RUNTIME_FRAMEWORKS_RUNTIME_SRC_CLASSES_JS_MODULE_REGISTER_H__
|
||||
#define __JS_TEMPLATE_RUNTIME_FRAMEWORKS_RUNTIME_SRC_CLASSES_JS_MODULE_REGISTER_H__
|
||||
#include "js_module_register.h"
|
||||
|
||||
#include "scripting/js-bindings/manual/ScriptingCore.h"
|
||||
#include "jsb_cocos2dx_auto.hpp"
|
||||
#include "jsb_cocos2dx_ui_auto.hpp"
|
||||
#include "jsb_cocos2dx_studio_auto.hpp"
|
||||
|
@ -121,5 +119,8 @@ int js_module_register()
|
|||
return 1;
|
||||
}
|
||||
|
||||
#endif // __JS_TEMPLATE_RUNTIME_FRAMEWORKS_RUNTIME_SRC_CLASSES_JS_MODULE_REGISTER_H__
|
||||
|
||||
JS::HandleObject get_jsb_cocos2d_FileUtils_prototype()
|
||||
{
|
||||
JS::RootedObject fileUtilsProto(ScriptingCore::getInstance()->getGlobalContext(), jsb_cocos2d_FileUtils_prototype);
|
||||
return fileUtilsProto;
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
#ifndef __JS_TEMPLATE_RUNTIME_FRAMEWORKS_RUNTIME_SRC_CLASSES_JS_MODULE_REGISTER_H__
|
||||
#define __JS_TEMPLATE_RUNTIME_FRAMEWORKS_RUNTIME_SRC_CLASSES_JS_MODULE_REGISTER_H__
|
||||
|
||||
#include "scripting/js-bindings/manual/ScriptingCore.h"
|
||||
#include "js-BindingsExport.h"
|
||||
|
||||
CC_JS_DLL int js_module_register();
|
||||
|
||||
CC_JS_DLL JS::HandleObject get_jsb_cocos2d_FileUtils_prototype();
|
||||
|
||||
#endif // __JS_TEMPLATE_RUNTIME_FRAMEWORKS_RUNTIME_SRC_CLASSES_JS_MODULE_REGISTER_H__
|
||||
|
|
@ -40,6 +40,7 @@
|
|||
<ClCompile Include="..\manual\js_bindings_core.cpp" />
|
||||
<ClCompile Include="..\manual\js_bindings_opengl.cpp" />
|
||||
<ClCompile Include="..\manual\js_manual_conversions.cpp" />
|
||||
<ClCompile Include="..\manual\js_module_register.cpp" />
|
||||
<ClCompile Include="..\manual\localstorage\js_bindings_system_functions.cpp" />
|
||||
<ClCompile Include="..\manual\localstorage\js_bindings_system_registration.cpp" />
|
||||
<ClCompile Include="..\manual\navmesh\jsb_cocos2dx_navmesh_conversions.cpp" />
|
||||
|
@ -78,6 +79,7 @@
|
|||
<ClInclude Include="..\manual\cocostudio\jsb_cocos2dx_studio_manual.h" />
|
||||
<ClInclude Include="..\manual\component\CCComponentJS.h" />
|
||||
<ClInclude Include="..\manual\extension\jsb_cocos2dx_extension_manual.h" />
|
||||
<ClInclude Include="..\manual\js-BindingsExport.h" />
|
||||
<ClInclude Include="..\manual\jsb_event_dispatcher_manual.h" />
|
||||
<ClInclude Include="..\manual\jsb_helper.h" />
|
||||
<ClInclude Include="..\manual\jsb_opengl_functions.h" />
|
||||
|
@ -87,6 +89,7 @@
|
|||
<ClInclude Include="..\manual\js_bindings_core.h" />
|
||||
<ClInclude Include="..\manual\js_bindings_opengl.h" />
|
||||
<ClInclude Include="..\manual\js_manual_conversions.h" />
|
||||
<ClInclude Include="..\manual\js_module_register.h" />
|
||||
<ClInclude Include="..\manual\localstorage\js_bindings_system_functions.h" />
|
||||
<ClInclude Include="..\manual\localstorage\js_bindings_system_functions_registration.h" />
|
||||
<ClInclude Include="..\manual\localstorage\js_bindings_system_registration.h" />
|
||||
|
@ -160,7 +163,7 @@
|
|||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;_LIB;COCOS2D_DEBUG=1;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;_LIB;COCOS2D_DEBUG=1;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;_USRJSSTATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir)..;$(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\base;$(EngineRoot)cocos\3d;$(EngineRoot)cocos\2d;$(EngineRoot)cocos\navmesh;$(EngineRoot)cocos\physics3d;$(EngineRoot)cocos\ui;$(EngineRoot)cocos\storage;$(EngineRoot)cocos\editor-support\spine;$(EngineRoot)cocos\editor-support\cocosbuilder;$(EngineRoot)cocos\editor-support\cocostudio;$(EngineRoot)cocos\audio\include;$(EngineRoot)extensions;$(EngineRoot)external;$(ProjectDir)..\auto;$(ProjectDir)..\manual;$(ProjectDir)..\manual\cocostudio;$(ProjectDir)..\manual\navmesh;$(ProjectDir)..\manual\spine;$(ProjectDir)..\..\..\..\external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<DisableSpecificWarnings>4068;4101;4800;4251;4244;4099;4083;4700;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
|
@ -186,7 +189,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\spidermonkey\prebuilt\win32\*.*"
|
|||
<Optimization>MinSpace</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;_LIB;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;_LIB;XP_WIN;JS_HAVE___INTN;JS_INTPTR_TYPE=int;COCOS2D_JAVASCRIPT=1;CC_ENABLE_CHIPMUNK_INTEGRATION=1;_CRT_SECURE_NO_WARNINGS;_USRJSSTATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir)..;$(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\base;$(EngineRoot)cocos\3d;$(EngineRoot)cocos\2d;$(EngineRoot)cocos\physics3d;$(EngineRoot)cocos\ui;$(EngineRoot)cocos\navmesh;$(EngineRoot)cocos\storage;$(EngineRoot)cocos\editor-support\spine;$(EngineRoot)cocos\editor-support\cocosbuilder;$(EngineRoot)cocos\editor-support\cocostudio;$(EngineRoot)cocos\audio\include;$(EngineRoot)extensions;$(EngineRoot)external;$(ProjectDir)..\auto;$(ProjectDir)..\manual;$(ProjectDir)..\manual\cocostudio;$(ProjectDir)..\manual\navmesh;$(ProjectDir)..\manual\spine;$(ProjectDir)..\..\..\..\external\spidermonkey\include\win32;$(EngineRoot)external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<DisableSpecificWarnings>4068;4101;4800;4251;4244;4099;4083;4700;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
|
|
|
@ -113,9 +113,6 @@
|
|||
<ClCompile Include="..\manual\cocostudio\jsb_cocos2dx_studio_manual.cpp">
|
||||
<Filter>manual\cocostudio</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\manual\component\CCComponentJS.cpp">
|
||||
<Filter>manual\component</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\manual\extension\jsb_cocos2dx_extension_manual.cpp">
|
||||
<Filter>manual\extension</Filter>
|
||||
</ClCompile>
|
||||
|
@ -167,6 +164,12 @@
|
|||
<ClCompile Include="..\manual\navmesh\jsb_cocos2dx_navmesh_conversions.cpp">
|
||||
<Filter>manual\navmesh</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\manual\component\CCComponentJS.cpp">
|
||||
<Filter>manual</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\manual\js_module_register.cpp">
|
||||
<Filter>manual</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\auto\jsb_cocos2dx_auto.hpp">
|
||||
|
@ -253,9 +256,6 @@
|
|||
<ClInclude Include="..\manual\cocostudio\jsb_cocos2dx_studio_manual.h">
|
||||
<Filter>manual\cocostudio</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\manual\component\CCComponentJS.h">
|
||||
<Filter>manual\component</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\manual\extension\jsb_cocos2dx_extension_manual.h">
|
||||
<Filter>manual\extension</Filter>
|
||||
</ClInclude>
|
||||
|
@ -310,5 +310,14 @@
|
|||
<ClInclude Include="..\manual\navmesh\jsb_cocos2dx_navmesh_conversions.h">
|
||||
<Filter>manual\navmesh</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\manual\component\CCComponentJS.h">
|
||||
<Filter>auto</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\manual\js_module_register.h">
|
||||
<Filter>manual</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\manual\js-BindingsExport.h">
|
||||
<Filter>manual</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -39,6 +39,7 @@
|
|||
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\manual\cocostudio\jsb_cocos2dx_studio_manual.h" />
|
||||
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\manual\component\CCComponentJS.h" />
|
||||
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\manual\extension\jsb_cocos2dx_extension_manual.h" />
|
||||
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\manual\js-BindingsExport.h" />
|
||||
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\manual\jsb_event_dispatcher_manual.h" />
|
||||
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\manual\jsb_helper.h" />
|
||||
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\manual\jsb_opengl_functions.h" />
|
||||
|
@ -48,6 +49,7 @@
|
|||
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\manual\js_bindings_core.h" />
|
||||
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\manual\js_bindings_opengl.h" />
|
||||
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\manual\js_manual_conversions.h" />
|
||||
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\manual\js_module_register.h" />
|
||||
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\manual\localstorage\js_bindings_system_functions.h" />
|
||||
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\manual\localstorage\js_bindings_system_functions_registration.h" />
|
||||
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\manual\localstorage\js_bindings_system_registration.h" />
|
||||
|
@ -93,6 +95,7 @@
|
|||
<ClCompile Include="$(MSBuildThisFileDirectory)..\..\..\manual\js_bindings_core.cpp" />
|
||||
<ClCompile Include="$(MSBuildThisFileDirectory)..\..\..\manual\js_bindings_opengl.cpp" />
|
||||
<ClCompile Include="$(MSBuildThisFileDirectory)..\..\..\manual\js_manual_conversions.cpp" />
|
||||
<ClCompile Include="$(MSBuildThisFileDirectory)..\..\..\manual\js_module_register.cpp" />
|
||||
<ClCompile Include="$(MSBuildThisFileDirectory)..\..\..\manual\localstorage\js_bindings_system_functions.cpp" />
|
||||
<ClCompile Include="$(MSBuildThisFileDirectory)..\..\..\manual\localstorage\js_bindings_system_registration.cpp" />
|
||||
<ClCompile Include="$(MSBuildThisFileDirectory)..\..\..\manual\navmesh\jsb_cocos2dx_navmesh_conversions.cpp" />
|
||||
|
|
|
@ -141,6 +141,12 @@
|
|||
<Filter>auto</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\manual\component\CCComponentJS.h" />
|
||||
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\manual\js_module_register.h">
|
||||
<Filter>manual</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="$(MSBuildThisFileDirectory)..\..\..\manual\js-BindingsExport.h">
|
||||
<Filter>manual</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="$(MSBuildThisFileDirectory)..\..\..\auto\jsb_cocos2dx_3d_auto.cpp">
|
||||
|
@ -261,6 +267,9 @@
|
|||
<Filter>auto</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(MSBuildThisFileDirectory)..\..\..\manual\component\CCComponentJS.cpp" />
|
||||
<ClCompile Include="$(MSBuildThisFileDirectory)..\..\..\manual\js_module_register.cpp">
|
||||
<Filter>manual</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="auto">
|
||||
|
|
|
@ -129,7 +129,7 @@
|
|||
<AdditionalIncludeDirectories>$(EngineRoot);$(EngineRoot)cocos\base;$(EngineRoot)cocos\3d;$(EngineRoot)cocos\navmesh;$(EngineRoot)cocos\physics3d;$(EngineRoot)cocos\2d;$(EngineRoot)cocos\storage;$(EngineRoot)cocos\ui;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support\spine;$(EngineRoot)cocos\editor-support\cocosbuilder;$(EngineRoot)cocos\editor-support\cocostudio;$(EngineRoot)cocos\editor-support;$(EngineRoot)extensions;$(EngineRoot)external\spidermonkey\include\winrt_8.1;$(ProjectDir)..\..\..\auto;$(ProjectDir)..\..\..\manual;$(ProjectDir)..\..\..\manual\cocostudio;$(ProjectDir)..\..\..\manual\navmesh;$(ProjectDir)..\..\..\manual\spine;$(EngineRoot)external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<DisableSpecificWarnings>4800;4703;4101;4083;4700;4068;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PreprocessorDefinitions>CC_ENABLE_CHIPMUNK_INTEGRATION=1;_DEBUG;COCOS2D_DEBUG=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>CC_ENABLE_CHIPMUNK_INTEGRATION=1;_DEBUG;COCOS2D_DEBUG=1;_USRJSSTATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
|
@ -150,7 +150,7 @@
|
|||
<AdditionalIncludeDirectories>$(EngineRoot);$(EngineRoot)cocos\base;$(EngineRoot)cocos\3d;$(EngineRoot)cocos\navmesh;$(EngineRoot)cocos\physics3d;$(EngineRoot)cocos\2d;$(EngineRoot)cocos\storage;$(EngineRoot)cocos\ui;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support\spine;$(EngineRoot)cocos\editor-support\cocosbuilder;$(EngineRoot)cocos\editor-support\cocostudio;$(EngineRoot)cocos\editor-support;$(EngineRoot)extensions;$(EngineRoot)external\spidermonkey\include\winrt_8.1;$(ProjectDir)..\..\..\auto;$(ProjectDir)..\..\..\manual;$(ProjectDir)..\..\..\manual\cocostudio;$(ProjectDir)..\..\..\manua\navmesh;$(ProjectDir)..\..\..\manual\spine;$(EngineRoot)external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<DisableSpecificWarnings>4800;4703;4101;4083;4700;4068;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PreprocessorDefinitions>CC_ENABLE_CHIPMUNK_INTEGRATION=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>CC_ENABLE_CHIPMUNK_INTEGRATION=1;_USRJSSTATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
|
|
|
@ -94,7 +94,7 @@
|
|||
<AdditionalIncludeDirectories>$(EngineRoot);$(EngineRoot)cocos\base;$(EngineRoot)cocos\3d;$(EngineRoot)cocos\navmesh;$(EngineRoot)cocos\physics3d;$(EngineRoot)cocos\2d;$(EngineRoot)cocos\storage;$(EngineRoot)cocos\ui;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support\spine;$(EngineRoot)cocos\editor-support\cocosbuilder;$(EngineRoot)cocos\editor-support\cocostudio;$(EngineRoot)cocos\editor-support;$(EngineRoot)extensions;$(EngineRoot)external\spidermonkey\include\winrt_8.1;$(ProjectDir)..\..\..\auto;$(ProjectDir)..\..\..\manual;$(ProjectDir)..\..\..\manual\cocostudio;$(ProjectDir)..\..\..\manual\spine;$(ProjectDir)..\..\..\manual\navmesh;$(EngineRoot)external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<DisableSpecificWarnings>4800;4703;4101;4083;4700;4068;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PreprocessorDefinitions>CC_ENABLE_CHIPMUNK_INTEGRATION=1;_DEBUG;COCOS2D_DEBUG=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>CC_ENABLE_CHIPMUNK_INTEGRATION=1;_DEBUG;COCOS2D_DEBUG=1;_USRJSSTATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
|
@ -115,7 +115,7 @@
|
|||
<AdditionalIncludeDirectories>$(EngineRoot);$(EngineRoot)cocos\base;$(EngineRoot)cocos\3d;$(EngineRoot)cocos\navmesh;$(EngineRoot)cocos\physics3d;$(EngineRoot)cocos\2d;$(EngineRoot)cocos\storage;$(EngineRoot)cocos\ui;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support\spine;$(EngineRoot)cocos\editor-support\cocosbuilder;$(EngineRoot)cocos\editor-support\cocostudio;$(EngineRoot)cocos\editor-support;$(EngineRoot)extensions;$(EngineRoot)external\spidermonkey\include\winrt_8.1;$(ProjectDir)..\..\..\auto;$(ProjectDir)..\..\..\manual;$(ProjectDir)..\..\..\manual\cocostudio;$(ProjectDir)..\..\..\manual\navmesh;$(ProjectDir)..\..\..\manual\spine;$(EngineRoot)external\chipmunk\include\chipmunk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<DisableSpecificWarnings>4800;4703;4101;4083;4700;4068;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PreprocessorDefinitions>CC_ENABLE_CHIPMUNK_INTEGRATION=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>CC_ENABLE_CHIPMUNK_INTEGRATION=1;_USRJSSTATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
#ifndef __LUABINDINGEXPROT_H__
|
||||
#define __LUABINDINGEXPROT_H__
|
||||
|
||||
#if (defined(WIN32) && defined(_WINDOWS)) || defined(WINRT) || defined(WP8)
|
||||
#ifdef __MINGW32__
|
||||
#include <string.h>
|
||||
#endif
|
||||
|
||||
#if defined(_USRLUASTATIC)
|
||||
#define CC_LUA_DLL
|
||||
#else
|
||||
#if defined(_USRLUADLL)
|
||||
#define CC_LUA_DLL __declspec(dllexport)
|
||||
#else /* use a DLL library */
|
||||
#define CC_LUA_DLL __declspec(dllimport)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Define NULL pointer value */
|
||||
#ifndef NULL
|
||||
#ifdef __cplusplus
|
||||
#define NULL 0
|
||||
#else
|
||||
#define NULL ((void *)0)
|
||||
#endif
|
||||
#endif
|
||||
#elif defined(_SHARED_)
|
||||
#define CC_LUA_DLL __attribute__((visibility("default")))
|
||||
#else
|
||||
#define CC_LUA_DLL
|
||||
#endif
|
||||
|
||||
#endif /* __CCEXTENSIONEXPORT_H__*/
|
|
@ -3386,3 +3386,13 @@ bool luaval_to_std_map_string_string(lua_State* L, int lo, std::map<std::string,
|
|||
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool luaval_to_node(lua_State* L, int lo, const char* type, cocos2d::Node** node)
|
||||
{
|
||||
return luaval_to_object<cocos2d::Node>(L, lo, type, node);
|
||||
}
|
||||
|
||||
void node_to_luaval(lua_State* L, const char* type, cocos2d::Node* node)
|
||||
{
|
||||
object_to_luaval<cocos2d::Node>(L, type, node);
|
||||
}
|
||||
|
|
|
@ -30,6 +30,7 @@ extern "C" {
|
|||
}
|
||||
#include "tolua_fix.h"
|
||||
#include "cocos2d.h"
|
||||
#include "Lua-BindingsExport.h"
|
||||
|
||||
using namespace cocos2d;
|
||||
|
||||
|
@ -145,7 +146,7 @@ extern bool luaval_to_uint16(lua_State* L,int lo,uint16_t* outValue, const char*
|
|||
* @param funcName the name of calling function, it is used for error output in the debug model.
|
||||
* @return Return true if the value at the given accpetable index of stack is a number or a string convertible to a number, otherwise return false.
|
||||
*/
|
||||
extern bool luaval_to_boolean(lua_State* L,int lo,bool* outValue, const char* funcName = "");
|
||||
extern CC_LUA_DLL bool luaval_to_boolean(lua_State* L,int lo,bool* outValue, const char* funcName = "");
|
||||
|
||||
/**
|
||||
* Get a double value from the given accpetable index of stack.
|
||||
|
@ -181,7 +182,7 @@ extern bool luaval_to_long_long(lua_State* L,int lo,long long* outValue, const c
|
|||
* @param funcName the name of calling function, it is used for error output in the debug model.
|
||||
* @return Return true if the value at the given acceptable index of stack is a string or a number convertible to a string, otherwise return false.
|
||||
*/
|
||||
extern bool luaval_to_std_string(lua_State* L, int lo, std::string* outValue, const char* funcName = "");
|
||||
extern CC_LUA_DLL bool luaval_to_std_string(lua_State* L, int lo, std::string* outValue, const char* funcName = "");
|
||||
|
||||
/**
|
||||
* Get a long value from the given accpetable index of stack.
|
||||
|
@ -244,7 +245,7 @@ extern bool luaval_to_rect(lua_State* L,int lo,Rect* outValue, const char* funcN
|
|||
* @param funcName the name of calling function, it is used for error output in the debug model.
|
||||
* @return Return true if the value at the given accpetable index of stack is a table, otherwise return false.
|
||||
*/
|
||||
extern bool luaval_to_color3b(lua_State* L,int lo,Color3B* outValue, const char* funcName = "");
|
||||
extern CC_LUA_DLL bool luaval_to_color3b(lua_State* L,int lo,Color3B* outValue, const char* funcName = "");
|
||||
|
||||
/**
|
||||
* Get a Color4B object value from the given accpetable index of stack.
|
||||
|
@ -569,7 +570,7 @@ bool luaval_to_ccvector(lua_State* L, int lo , cocos2d::Vector<T>* ret, const ch
|
|||
* @param funcName the name of calling function, it is used for error output in the debug model.
|
||||
* @return Return true if the value at the given accpetable index of stack is a table, otherwise return false.
|
||||
*/
|
||||
bool luaval_to_std_vector_string(lua_State* L, int lo, std::vector<std::string>* ret, const char* funcName = "");
|
||||
CC_LUA_DLL bool luaval_to_std_vector_string(lua_State* L, int lo, std::vector<std::string>* ret, const char* funcName = "");
|
||||
|
||||
/**
|
||||
* Get a pointer points to a std::vector<std::int> from a Lua array table in the stack.
|
||||
|
@ -905,7 +906,7 @@ extern void rect_to_luaval(lua_State* L,const Rect& rt);
|
|||
* @param L the current lua_State.
|
||||
* @param cc a cocos2d::Color3B object.
|
||||
*/
|
||||
extern void color3b_to_luaval(lua_State* L,const Color3B& cc);
|
||||
extern CC_LUA_DLL void color3b_to_luaval(lua_State* L,const Color3B& cc);
|
||||
|
||||
/**
|
||||
* Push a table converted from a cocos2d::Color4B object into the Lua stack.
|
||||
|
@ -1293,6 +1294,10 @@ void std_vector_vec3_to_luaval(lua_State* L, const std::vector<cocos2d::Vec3>& i
|
|||
*/
|
||||
void std_map_string_string_to_luaval(lua_State* L, const std::map<std::string, std::string>& inValue);
|
||||
|
||||
// Follow 2 function is added for Cocos Studio to make lua lib can be compile as dynamic library
|
||||
CC_LUA_DLL extern bool luaval_to_node(lua_State* L, int lo, const char* type, cocos2d::Node** node);
|
||||
CC_LUA_DLL extern void node_to_luaval(lua_State* L, const char* type, cocos2d::Node* node);
|
||||
|
||||
// end group
|
||||
/// @}
|
||||
#endif //__COCOS2DX_SCRIPTING_LUA_COCOS2DXSUPPORT_LUABAISCCONVERSIONS_H__
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
#ifndef __LUA_TEMPLATE_RUNTIME_FRAMEWORKS_RUNTIME_SRC_CLASSES_LUA_MODULE_REGISTER_H__
|
||||
#define __LUA_TEMPLATE_RUNTIME_FRAMEWORKS_RUNTIME_SRC_CLASSES_LUA_MODULE_REGISTER_H__
|
||||
#include "lua_module_register.h"
|
||||
|
||||
#include "cocosdenshion/lua_cocos2dx_cocosdenshion_manual.h"
|
||||
#include "network/lua_cocos2dx_network_manual.h"
|
||||
|
@ -13,7 +12,8 @@
|
|||
#include "physics3d/lua_cocos2dx_physics3d_manual.h"
|
||||
#include "navmesh/lua_cocos2dx_navmesh_manual.h"
|
||||
|
||||
static int lua_module_register(lua_State* L)
|
||||
|
||||
int lua_module_register(lua_State* L)
|
||||
{
|
||||
//Dont' change the module register order unless you know what your are doing
|
||||
register_cocosdenshion_module(L);
|
||||
|
@ -34,5 +34,3 @@ static int lua_module_register(lua_State* L)
|
|||
return 1;
|
||||
}
|
||||
|
||||
#endif // __LUA_TEMPLATE_RUNTIME_FRAMEWORKS_RUNTIME_SRC_CLASSES_LUA_MODULE_REGISTER_H__
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
#ifndef __LUA_TEMPLATE_RUNTIME_FRAMEWORKS_RUNTIME_SRC_CLASSES_LUA_MODULE_REGISTER_H__
|
||||
#define __LUA_TEMPLATE_RUNTIME_FRAMEWORKS_RUNTIME_SRC_CLASSES_LUA_MODULE_REGISTER_H__
|
||||
|
||||
#include "lua.h"
|
||||
#include "Lua-bindingsExport.h"
|
||||
|
||||
CC_LUA_DLL int lua_module_register(lua_State* L);
|
||||
|
||||
#endif // __LUA_TEMPLATE_RUNTIME_FRAMEWORKS_RUNTIME_SRC_CLASSES_LUA_MODULE_REGISTER_H__
|
||||
|
|
@ -70,6 +70,7 @@
|
|||
<ClCompile Include="..\manual\cocostudio\lua_cocos2dx_csloader_manual.cpp" />
|
||||
<ClCompile Include="..\manual\extension\lua_cocos2dx_extension_manual.cpp" />
|
||||
<ClCompile Include="..\manual\LuaBasicConversions.cpp" />
|
||||
<ClCompile Include="..\manual\lua_module_register.cpp" />
|
||||
<ClCompile Include="..\manual\navmesh\lua_cocos2dx_navmesh_conversions.cpp" />
|
||||
<ClCompile Include="..\manual\navmesh\lua_cocos2dx_navmesh_manual.cpp" />
|
||||
<ClCompile Include="..\manual\network\lua_cocos2dx_network_manual.cpp" />
|
||||
|
@ -145,7 +146,9 @@
|
|||
<ClInclude Include="..\manual\cocostudio\lua_cocos2dx_coco_studio_manual.hpp" />
|
||||
<ClInclude Include="..\manual\cocostudio\lua_cocos2dx_csloader_manual.hpp" />
|
||||
<ClInclude Include="..\manual\extension\lua_cocos2dx_extension_manual.h" />
|
||||
<ClInclude Include="..\manual\Lua-BindingsExport.h" />
|
||||
<ClInclude Include="..\manual\LuaBasicConversions.h" />
|
||||
<ClInclude Include="..\manual\lua_module_register.h" />
|
||||
<ClInclude Include="..\manual\navmesh\lua_cocos2dx_navmesh_conversions.h" />
|
||||
<ClInclude Include="..\manual\navmesh\lua_cocos2dx_navmesh_manual.h" />
|
||||
<ClInclude Include="..\manual\network\lua_cocos2dx_network_manual.h" />
|
||||
|
@ -282,7 +285,7 @@
|
|||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>$(EngineRoot);$(EngineRoot)cocos\2d;$(EngineRoot)cocos\base;$(EngineRoot)cocos\3d;$(EngineRoot)cocos\physics3d;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\ui;$(EngineRoot)cocos\navmesh;$(EngineRoot)external;$(EngineRoot)external\lua;$(EngineRoot)external\lua\tolua;$(EngineRoot)external\lua\luajit\include;$(EngineRoot)external\libwebsockets\win32\include;$(EngineRoot)extensions;$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\editor-support\cocostudio;$(EngineRoot)cocos\editor-support\cocostudio\ActionTimeline;$(EngineRoot)cocos\editor-support\spine;$(EngineRoot)cocos\editor-support\cocosbuilder;$(EngineRoot)cocos\scripting\lua-bindings\manual;$(EngineRoot)cocos\scripting\lua-bindings\auto;$(EngineRoot)cocos\scripting\lua-bindings\manual\extension;$(EngineRoot)cocos\scripting\lua-bindings\manual\cocostudio;$(EngineRoot)cocos\scripting\lua-bindings\manual\ui;$(EngineRoot)cocos\scripting\lua-bindings\manual\cocos2d;$(EngineRoot)cocos\scripting\lua-bindings\manual\navmesh;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;_USRLUASTATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
|
@ -314,7 +317,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\lua\luajit\prebuilt\win32\*.*" "$
|
|||
<Optimization>MinSpace</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(EngineRoot);$(EngineRoot)cocos\base;$(EngineRoot)cocos;$(EngineRoot)external\lua\tolua;$(EngineRoot)external\lua\luajit\include;$(EngineRoot)external\lua;$(EngineRoot)cocos\scripting\lua-bindings\auto;$(EngineRoot)cocos\scripting\lua-bindings\manual;$(EngineRoot)cocos\2d;$(EngineRoot)cocos\3d;$(EngineRoot)cocos\scripting\lua-bindings\manual\extension;$(EngineRoot)cocos\scripting\lua-bindings\manual\cocostudio;$(EngineRoot)cocos\scripting\lua-bindings\manual\ui;$(EngineRoot)cocos\scripting\lua-bindings\manual\cocos2d;$(EngineRoot)cocos\scripting\lua-bindings\manual\navmesh;$(EngineRoot)extensions;$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\editor-support\cocostudio;$(EngineRoot)cocos\editor-support\cocostudio\ActionTimeline;$(EngineRoot)cocos\editor-support\spine;$(EngineRoot)cocos\editor-support\cocosbuilder;$(EngineRoot)cocos\audio\include;$(EngineRoot)external\libwebsockets\win32\include;$(EngineRoot)cocos\ui;$(EngineRoot)cocos\physics3d;$(EngineRoot)cocos\navmesh;$(EngineRoot)external;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;LIBLUA_EXPORTS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;LIBLUA_EXPORTS;_CRT_SECURE_NO_WARNINGS;_USRLUASTATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader>
|
||||
|
|
|
@ -297,6 +297,9 @@
|
|||
<ClCompile Include="..\manual\navmesh\lua_cocos2dx_navmesh_manual.cpp">
|
||||
<Filter>manual\navmesh</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\manual\lua_module_register.cpp">
|
||||
<Filter>manual</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\auto\lua_cocos2dx_auto.hpp">
|
||||
|
@ -521,6 +524,12 @@
|
|||
<ClInclude Include="..\manual\navmesh\lua_cocos2dx_navmesh_manual.h">
|
||||
<Filter>manual\navmesh</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\manual\lua_module_register.h">
|
||||
<Filter>manual</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\manual\Lua-BindingsExport.h">
|
||||
<Filter>manual</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\script\CCBReaderLoad.lua">
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"from": "tools/simulator/frameworks/runtime-src/Classes",
|
||||
"from": "cocos/scripting/js-bindings/manual",
|
||||
"to": "frameworks/runtime-src/Classes",
|
||||
"include": [
|
||||
"js_module_register.h"
|
||||
|
|
|
@ -145,7 +145,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"from": "tools/simulator/frameworks/runtime-src/Classes/lua_module_register.h",
|
||||
"from": "cocos/scripting/lua-bindings/manual/lua_module_register.h",
|
||||
"to": "frameworks/runtime-src/Classes/"
|
||||
}
|
||||
],
|
||||
|
|
|
@ -145,7 +145,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"from": "tools/simulator/frameworks/runtime-src/Classes/lua_module_register.h",
|
||||
"from": "cocos/scripting/lua-bindings/manual/lua_module_register.h",
|
||||
"to": "frameworks/runtime-src/Classes/"
|
||||
}
|
||||
],
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit e82bd71212e53e016bf5f262f8e4bc1c50b54203
|
||||
Subproject commit 636129882b612b5fe6d1d21be1eec136a2b1340b
|
|
@ -1 +1 @@
|
|||
Subproject commit 250673608e23c9644b96a8e9ef886ab4db96aaf7
|
||||
Subproject commit 2f9a05f30839f9733da97ca0fffdc9dd20a71575
|
|
@ -1 +1 @@
|
|||
Subproject commit 5089eb347b1d252c8f0a0d0c94c0e67d6bba723e
|
||||
Subproject commit be4cc39610b447788cb60be470ed4122a314809c
|
|
@ -15,6 +15,7 @@
|
|||
#include "runtime/FileServer.h"
|
||||
|
||||
// js
|
||||
#include "scripting/js-bindings/manual/ScriptingCore.h"
|
||||
#include "js_module_register.h"
|
||||
|
||||
|
||||
|
@ -49,7 +50,7 @@ bool runtime_FileUtils_addSearchPath(JSContext *cx, uint32_t argc, jsval *vp)
|
|||
{
|
||||
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
|
||||
bool ok = true;
|
||||
JSObject *obj = JS_THIS_OBJECT(cx, vp);
|
||||
JS::RootedObject obj(cx, args.thisv().toObjectOrNull());
|
||||
js_proxy_t *proxy = jsb_get_js_proxy(obj);
|
||||
cocos2d::FileUtils* cobj = (cocos2d::FileUtils *)(proxy ? proxy->ptr : NULL);
|
||||
JSB_PRECONDITION2( cobj, cx, false, "cocos2dx_FileUtils_addSearchPath : Invalid Native Object");
|
||||
|
@ -94,7 +95,7 @@ bool runtime_FileUtils_setSearchPaths(JSContext *cx, uint32_t argc, jsval *vp)
|
|||
{
|
||||
JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
|
||||
bool ok = true;
|
||||
JSObject *obj = JS_THIS_OBJECT(cx, vp);
|
||||
JS::RootedObject obj(cx, args.thisv().toObjectOrNull());
|
||||
js_proxy_t *proxy = jsb_get_js_proxy(obj);
|
||||
cocos2d::FileUtils* cobj = (cocos2d::FileUtils *)(proxy ? proxy->ptr : NULL);
|
||||
JSB_PRECONDITION2( cobj, cx, false, "js_cocos2dx_FileUtils_setSearchPaths : Invalid Native Object");
|
||||
|
@ -143,11 +144,11 @@ void register_FileUtils(JSContext *cx, JS::HandleObject global)
|
|||
JS_GetProperty(cx, global, "cc", &nsval);
|
||||
if (nsval == JSVAL_VOID) {
|
||||
return;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
ns.set(nsval.toObjectOrNull());
|
||||
}
|
||||
|
||||
JS::RootedObject proto(cx, jsb_cocos2d_FileUtils_prototype);
|
||||
JS::RootedObject proto(cx, get_jsb_cocos2d_FileUtils_prototype());
|
||||
JS_DefineFunction(cx, proto, "addSearchPath", runtime_FileUtils_addSearchPath, 1, JSPROP_PERMANENT | JSPROP_ENUMERATE);
|
||||
JS_DefineFunction(cx, proto, "setSearchPaths", runtime_FileUtils_setSearchPaths, 1, JSPROP_PERMANENT | JSPROP_ENUMERATE);
|
||||
}
|
||||
|
@ -230,7 +231,12 @@ void RuntimeJsImpl::onPrecompile(const rapidjson::Document& dArgParse, rapidjson
|
|||
const rapidjson::Value& objectfiles = dArgParse["modulefiles"];
|
||||
for (rapidjson::SizeType i = 0; i < objectfiles.Size(); i++)
|
||||
{
|
||||
ScriptingCore::getInstance()->compileScript(objectfiles[i].GetString());
|
||||
ScriptingCore* sc = ScriptingCore::getInstance();
|
||||
JSContext* gc = sc->getGlobalContext();
|
||||
|
||||
sc->compileScript(objectfiles[i].GetString(),
|
||||
JS::RootedObject(gc, sc->getGlobalObject()),
|
||||
gc);
|
||||
}
|
||||
|
||||
dReplyParse.AddMember("code",0,dReplyParse.GetAllocator());
|
||||
|
|
|
@ -20,8 +20,6 @@
|
|||
#include "runtime/ConfigParser.h"
|
||||
#include "runtime/FileServer.h"
|
||||
|
||||
extern std::string g_projectPath; // Runtime.cpp
|
||||
|
||||
USING_NS_CC;
|
||||
using namespace std;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
|
@ -76,7 +76,7 @@
|
|||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;STRICT;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS_DEBUG;COCOS2D_DEBUG=1;GLFW_EXPOSE_NATIVE_WIN32;GLFW_EXPOSE_NATIVE_WGL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;STRICT;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS_DEBUG;COCOS2D_DEBUG=1;GLFW_EXPOSE_NATIVE_WIN32;GLFW_EXPOSE_NATIVE_WGL;_USRLUASTATIC;_USRJSSTATIC;_USRLIBSIMSTATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<DisableSpecificWarnings>4267;4251;4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
|
@ -141,7 +141,7 @@ xcopy /Y /Q "$(OutDir)lang" "$(ProjectDir)..\..\..\runtime\win32"
|
|||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PreprocessorDefinitions>COCOS2D_DEBUG=1;WIN32;_WINDOWS;STRICT;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGSNDEBUG;GLFW_EXPOSE_NATIVE_WIN32;GLFW_EXPOSE_NATIVE_WGL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>COCOS2D_DEBUG=1;WIN32;_WINDOWS;STRICT;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGSNDEBUG;GLFW_EXPOSE_NATIVE_WIN32;GLFW_EXPOSE_NATIVE_WGL;_USRLUASTATIC;_USRJSSTATIC;_USRLIBSIMSTATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<DisableSpecificWarnings>4267;4251;4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#include "json/filestream.h"
|
||||
#include "json/stringbuffer.h"
|
||||
#include "json/writer.h"
|
||||
#include "SimulatorExport.h"
|
||||
|
||||
enum
|
||||
{
|
||||
|
@ -25,7 +26,7 @@ enum
|
|||
#define kAppEventDropName "APP.EVENT.DROP"
|
||||
#define kAppEventName "APP.EVENT"
|
||||
|
||||
class AppEvent : public cocos2d::EventCustom
|
||||
class CC_LIBSIM_DLL AppEvent : public cocos2d::EventCustom
|
||||
{
|
||||
public:
|
||||
/** Constructor */
|
||||
|
|
|
@ -11,8 +11,9 @@
|
|||
|
||||
#include "json/document.h"
|
||||
#include "DeviceEx.h"
|
||||
#include "SimulatorExport.h"
|
||||
|
||||
class AppLang
|
||||
class CC_LIBSIM_DLL AppLang
|
||||
{
|
||||
public:
|
||||
static AppLang* getInstance();
|
||||
|
|
|
@ -2,10 +2,11 @@
|
|||
|
||||
#include <string>
|
||||
#include "PlayerMacros.h"
|
||||
#include "SimulatorExport.h"
|
||||
|
||||
PLAYER_NS_BEGIN
|
||||
|
||||
class DeviceEx
|
||||
class CC_LIBSIM_DLL DeviceEx
|
||||
{
|
||||
public:
|
||||
static DeviceEx *getInstance();
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "cocos2d.h"
|
||||
#include "PlayerMacros.h"
|
||||
#include "PlayerServiceProtocol.h"
|
||||
#include "SimulatorExport.h"
|
||||
|
||||
PLAYER_NS_BEGIN
|
||||
|
||||
|
@ -15,7 +16,7 @@ PLAYER_NS_BEGIN
|
|||
#define kPlayerCtrlModifyKey "ctrl"
|
||||
#define kPlayerAltModifyKey "alt"
|
||||
|
||||
class PlayerMenuItem : public cocos2d::Ref
|
||||
class CC_LIBSIM_DLL PlayerMenuItem : public cocos2d::Ref
|
||||
{
|
||||
public:
|
||||
virtual ~PlayerMenuItem();
|
||||
|
|
|
@ -12,10 +12,11 @@
|
|||
#include "PlayerTaskServiceProtocol.h"
|
||||
|
||||
#include "ProjectConfig/ProjectConfig.h"
|
||||
#include "SimulatorExport.h"
|
||||
|
||||
PLAYER_NS_BEGIN
|
||||
|
||||
class PlayerProtocol
|
||||
class CC_LIBSIM_DLL PlayerProtocol
|
||||
{
|
||||
public:
|
||||
virtual ~PlayerProtocol();
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
using namespace std;
|
||||
|
||||
#include "cocos2d.h"
|
||||
#include "SimulatorExport.h"
|
||||
|
||||
#define kCCRuntimeDebuggerNone 0
|
||||
#define kCCRuntimeDebuggerLDT 1
|
||||
|
@ -37,7 +38,7 @@ using namespace std;
|
|||
#define kProjectConfigUploadPort 6020
|
||||
#define kProjectConfigDebugPort 5086
|
||||
|
||||
class ProjectConfig
|
||||
class CC_LIBSIM_DLL ProjectConfig
|
||||
{
|
||||
public:
|
||||
ProjectConfig();
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
using namespace std;
|
||||
|
||||
#include "cocos2d.h"
|
||||
#include "SimulatorExport.h"
|
||||
|
||||
#if defined(_WINDOWS)
|
||||
#define DIRECTORY_SEPARATOR "\\"
|
||||
|
@ -33,7 +34,7 @@ typedef struct _SimulatorScreenSize {
|
|||
typedef vector<SimulatorScreenSize> ScreenSizeArray;
|
||||
typedef ScreenSizeArray::iterator ScreenSizeArrayIterator;
|
||||
|
||||
class SimulatorConfig
|
||||
class CC_LIBSIM_DLL SimulatorConfig
|
||||
{
|
||||
public:
|
||||
static SimulatorConfig *getInstance();
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
#pragma once
|
||||
|
||||
#if (defined(WIN32) && defined(_WINDOWS)) || defined(WINRT) || defined(WP8)
|
||||
#ifdef __MINGW32__
|
||||
#include <string.h>
|
||||
#endif
|
||||
|
||||
#if defined(_USRLIBSIMSTATIC)
|
||||
#define CC_LIBSIM_DLL
|
||||
#else
|
||||
#if defined(_USRLIBSIMDLL)
|
||||
#define CC_LIBSIM_DLL __declspec(dllexport)
|
||||
#else /* use a DLL library */
|
||||
#define CC_LIBSIM_DLL __declspec(dllimport)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Define NULL pointer value */
|
||||
#ifndef NULL
|
||||
#ifdef __cplusplus
|
||||
#define NULL 0
|
||||
#else
|
||||
#define NULL ((void *)0)
|
||||
#endif
|
||||
#endif
|
||||
#elif defined(_SHARED_)
|
||||
#define CC_LIBSIM_DLL __attribute__((visibility("default")))
|
||||
#else
|
||||
#define CC_LIBSIM_DLL
|
||||
#endif
|
|
@ -8,10 +8,11 @@
|
|||
#include "cocos2d.h"
|
||||
#include "stdafx.h"
|
||||
#include "PlayerMenuServiceProtocol.h"
|
||||
#include "SimulatorExport.h"
|
||||
|
||||
PLAYER_NS_BEGIN
|
||||
|
||||
class PlayerMenuItemWin : public PlayerMenuItem
|
||||
class CC_LIBSIM_DLL PlayerMenuItemWin : public PlayerMenuItem
|
||||
{
|
||||
public:
|
||||
static PlayerMenuItemWin *create(const std::string &menuId, const std::string &title);
|
||||
|
@ -34,7 +35,7 @@ protected:
|
|||
friend class PlayerMenuServiceWin;
|
||||
};
|
||||
|
||||
class PlayerMenuServiceWin : public PlayerMenuServiceProtocol
|
||||
class CC_LIBSIM_DLL PlayerMenuServiceWin : public PlayerMenuServiceProtocol
|
||||
{
|
||||
public:
|
||||
PlayerMenuServiceWin(HWND hwnd);
|
||||
|
|
|
@ -9,10 +9,11 @@
|
|||
#include "PlayerFileDialogServiceWin.h"
|
||||
#include "PlayerEditBoxServiceWin.h"
|
||||
#include "PlayerTaskServiceWin.h"
|
||||
#include "SimulatorExport.h"
|
||||
|
||||
PLAYER_NS_BEGIN
|
||||
|
||||
class PlayerWin : public PlayerProtocol, public cocos2d::Ref
|
||||
class CC_LIBSIM_DLL PlayerWin : public PlayerProtocol, public cocos2d::Ref
|
||||
{
|
||||
public:
|
||||
static PlayerWin *createWithHwnd(HWND hWnd);
|
||||
|
|
|
@ -7,13 +7,15 @@
|
|||
#include "json/document.h"
|
||||
#include "ProjectConfig/SimulatorConfig.h"
|
||||
#include "ProjectConfig/ProjectConfig.h"
|
||||
#include "SimulatorExport.h"
|
||||
|
||||
using namespace std;
|
||||
USING_NS_CC;
|
||||
|
||||
#define CONFIG_FILE "config.json"
|
||||
|
||||
typedef vector<SimulatorScreenSize> ScreenSizeArray;
|
||||
class ConfigParser
|
||||
class CC_LIBSIM_DLL ConfigParser
|
||||
{
|
||||
public:
|
||||
static ConfigParser *getInstance(void);
|
||||
|
|
|
@ -211,8 +211,10 @@ void ConsoleCommand::onSendCommand(int fd, const std::string &args)
|
|||
} else if(strcmp(strcmd.c_str(), "shutdownapp") == 0)
|
||||
{
|
||||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
|
||||
extern void shutDownApp();
|
||||
shutDownApp();
|
||||
#include <windows.h>
|
||||
auto glview = dynamic_cast<GLViewImpl*> (Director::getInstance()->getOpenGLView());
|
||||
HWND hWnd = glview->getWin32Window();
|
||||
::SendMessage(hWnd, WM_CLOSE, NULL, NULL);
|
||||
#else
|
||||
exit(0);
|
||||
#endif
|
||||
|
|
|
@ -257,7 +257,7 @@ _responseEndThread(false)
|
|||
_writePath = FileUtils::getInstance()->getWritablePath();
|
||||
|
||||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_MAC)
|
||||
std::string getCurAppName(void);
|
||||
#include "Widget_mac.h"
|
||||
_writePath += getCurAppName();
|
||||
_writePath += "/";
|
||||
#endif
|
||||
|
|
|
@ -32,6 +32,7 @@ THE SOFTWARE.
|
|||
#include "json/writer.h"
|
||||
#include "Protos.pb.h"
|
||||
#include <string>
|
||||
#include "SimulatorExport.h"
|
||||
|
||||
// header files for socket
|
||||
#ifdef _WIN32
|
||||
|
@ -53,7 +54,7 @@ THE SOFTWARE.
|
|||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
class FileServer
|
||||
class CC_LIBSIM_DLL FileServer
|
||||
{
|
||||
static FileServer *s_sharedFileServer;
|
||||
public:
|
||||
|
|
|
@ -190,10 +190,28 @@ void RuntimeEngine::setProjectPath(const std::string &workPath)
|
|||
|
||||
if (workPath.empty())
|
||||
{
|
||||
extern std::string getCurAppPath();
|
||||
std::string appPath = getCurAppPath();
|
||||
std::string appPath = std::string("");
|
||||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
|
||||
appPath.append("/../../");
|
||||
TCHAR szAppDir[MAX_PATH] = { 0 };
|
||||
if (GetModuleFileName(NULL, szAppDir, MAX_PATH))
|
||||
{
|
||||
int nEnd = 0;
|
||||
for (int i = 0; szAppDir[i]; i++)
|
||||
{
|
||||
if (szAppDir[i] == '\\')
|
||||
nEnd = i;
|
||||
}
|
||||
szAppDir[nEnd] = 0;
|
||||
int iLen = 2 * wcslen(szAppDir);
|
||||
char* chRtn = new char[iLen + 1];
|
||||
wcstombs(chRtn, szAppDir, iLen + 1);
|
||||
std::string strPath = chRtn;
|
||||
delete[] chRtn;
|
||||
chRtn = NULL;
|
||||
char fuldir[MAX_PATH] = { 0 };
|
||||
_fullpath(fuldir, strPath.c_str(), MAX_PATH);
|
||||
appPath = fuldir;
|
||||
}
|
||||
#elif (CC_TARGET_PLATFORM == CC_PLATFORM_MAC)
|
||||
appPath.append("/../../../");
|
||||
#endif
|
||||
|
|
|
@ -28,14 +28,17 @@ THE SOFTWARE.
|
|||
#include <string>
|
||||
#include <functional>
|
||||
#include <unordered_map>
|
||||
#include "SimulatorExport.h"
|
||||
|
||||
void recvBuf(int fd, char *pbuf, unsigned long bufsize);
|
||||
|
||||
void sendBuf(int fd, const char *pbuf, unsigned long bufsize);
|
||||
|
||||
std::string& replaceAll(std::string& str, const std::string& old_value, const std::string& new_value);
|
||||
CC_LIBSIM_DLL extern std::string g_projectPath;
|
||||
|
||||
std::string getIPAddress();
|
||||
CC_LIBSIM_DLL std::string& replaceAll(std::string& str, const std::string& old_value, const std::string& new_value);
|
||||
|
||||
CC_LIBSIM_DLL std::string getIPAddress();
|
||||
|
||||
const char* getRuntimeVersion();
|
||||
|
||||
|
|
|
@ -9,8 +9,9 @@
|
|||
|
||||
#include <string>
|
||||
#include "json/document.h"
|
||||
#include "SimulatorExport.h"
|
||||
|
||||
class RuntimeProtocol
|
||||
class CC_LIBSIM_DLL RuntimeProtocol
|
||||
{
|
||||
public:
|
||||
virtual void end();
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
//
|
||||
// Widget_mac.h
|
||||
// Simulator
|
||||
//
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
std::string getCurAppName();
|
||||
|
||||
#endif
|
|
@ -0,0 +1,20 @@
|
|||
//
|
||||
// Widget_mac.cpp
|
||||
// Simulator
|
||||
//
|
||||
//
|
||||
|
||||
#include <string>
|
||||
#include "Widget_mac.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
std::string getCurAppName(void)
|
||||
{
|
||||
string appName = [[[NSProcessInfo processInfo] processName] UTF8String];
|
||||
size_t found = appName.find(" ");
|
||||
if (found!=std::string::npos)
|
||||
appName = appName.substr(0,found);
|
||||
|
||||
return appName;
|
||||
}
|
|
@ -60,7 +60,7 @@
|
|||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;STRICT;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS_DEBUG;COCOS2D_DEBUG=1;GLFW_EXPOSE_NATIVE_WIN32;GLFW_EXPOSE_NATIVE_WGL;%(PreprocessorDefinitions);_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;STRICT;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS_DEBUG;COCOS2D_DEBUG=1;GLFW_EXPOSE_NATIVE_WIN32;GLFW_EXPOSE_NATIVE_WGL;%(PreprocessorDefinitions);_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS;_USRLIBSIMSTATIC</PreprocessorDefinitions>
|
||||
<SDLCheck>
|
||||
</SDLCheck>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\lib\protobuf-lite;$(ProjectDir)..\lib;$(EngineRoot)external\win32-specific\zlib\include;$(EngineRoot)cocos\scripting\lua-bindings\auto;$(EngineRoot)cocos\scripting\lua-bindings\manual;$(EngineRoot)cocos\audio\include;$(EngineRoot)external;$(EngineRoot)external\lua\lua;$(EngineRoot)external\lua\tolua;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)external\curl\include\win32;$(EngineRoot)extensions;$(EngineRoot);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
|
@ -84,7 +84,7 @@
|
|||
<Optimization>MinSpace</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>COCOS2D_DEBUG=1;WIN32;_WINDOWS;STRICT;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS_DEBUG;GLFW_EXPOSE_NATIVE_WIN32;GLFW_EXPOSE_NATIVE_WGL;_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS;%(PreprocessorDefinitions);_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>COCOS2D_DEBUG=1;WIN32;_WINDOWS;STRICT;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS_DEBUG;GLFW_EXPOSE_NATIVE_WIN32;GLFW_EXPOSE_NATIVE_WGL;_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS;_USRLIBSIMSTATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\lib\protobuf-lite;$(ProjectDir)..\lib;$(EngineRoot)external\win32-specific\zlib\include;$(EngineRoot)cocos\scripting\lua-bindings\auto;$(EngineRoot)cocos\scripting\lua-bindings\manual;$(EngineRoot)cocos\audio\include;$(EngineRoot)external;$(EngineRoot)external\lua\lua;$(EngineRoot)external\lua\tolua;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)external\curl\include\win32;$(EngineRoot)extensions;$(EngineRoot);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<CompileAs>CompileAsCpp</CompileAs>
|
||||
|
|
Loading…
Reference in New Issue