From 355a94755dd457f5d0f21e779e92b482bbf0c3da Mon Sep 17 00:00:00 2001 From: "bart@bartbes.ath.cx" Date: Fri, 12 Feb 2010 20:24:39 +0100 Subject: [PATCH] Added first version of thread and enabled newFileData --- configure.in | 2 +- platform/unix/exclude | 3 +- src/common/types.h | 20 ++- src/love.cpp | 16 ++- .../filesystem/physfs/wrap_Filesystem.cpp | 17 +-- src/modules/thread/sdl/Thread.cpp | 124 +++++++++++++++++ src/modules/thread/sdl/Thread.h | 83 +++++++++++ src/modules/thread/sdl/Thread.o | Bin 0 -> 184408 bytes src/modules/thread/sdl/wrap_Thread.cpp | 131 ++++++++++++++++++ src/modules/thread/sdl/wrap_Thread.h | 50 +++++++ src/modules/thread/sdl/wrap_Thread.o | Bin 0 -> 128064 bytes 11 files changed, 422 insertions(+), 24 deletions(-) create mode 100644 src/modules/thread/sdl/Thread.cpp create mode 100644 src/modules/thread/sdl/Thread.h create mode 100644 src/modules/thread/sdl/Thread.o create mode 100644 src/modules/thread/sdl/wrap_Thread.cpp create mode 100644 src/modules/thread/sdl/wrap_Thread.h create mode 100644 src/modules/thread/sdl/wrap_Thread.o diff --git a/configure.in b/configure.in index 3212256fe..583d33393 100644 --- a/configure.in +++ b/configure.in @@ -1,4 +1,4 @@ -AC_INIT([love], [20091206-d0384a4c71f6]) +AC_INIT([love], [HEAD]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_AUX_DIR([platform/unix]) AC_CONFIG_MACRO_DIR([platform/unix/m4]) diff --git a/platform/unix/exclude b/platform/unix/exclude index c27b6ac3f..0c53269c3 100644 --- a/platform/unix/exclude +++ b/platform/unix/exclude @@ -13,10 +13,11 @@ ./modules/native/tcc/libtcc/tcctok.h ./modules/native/tcc/libtcc/arm-gen.c ./modules/native/tcc/libtcc/i386-asm.c -./modules/native/tcc/libtcc/i386-gen.c +./modules/native/tcc/libtcc/i386-gen.c ./modules/native/tcc/libtcc/tccgen.c ./modules/native/tcc/libtcc/tcc.h ./modules/native/tcc/libtcc/il-opcodes.h ./modules/native/tcc/libtcc/coff.h ./modules/native/tcc/libtcc/stab.h ./libraries/luasocket/libluasocket/wsocket.* + diff --git a/src/common/types.h b/src/common/types.h index cf38fedd8..6d6ed3590 100644 --- a/src/common/types.h +++ b/src/common/types.h @@ -1,14 +1,14 @@ /** * Copyright (c) 2006-2010 LOVE Development Team -* +* * This software is provided 'as-is', without any express or implied * warranty. In no event will the authors be held liable for any damages * arising from the use of this software. -* +* * Permission is granted to anyone to use this software for any purpose, * including commercial applications, and to alter it and redistribute it * freely, subject to the following restrictions: -* +* * 1. The origin of this software must not be misrepresented; you must not * claim that you wrote the original software. If you use this software * in a product, an acknowledgment in the product documentation would be @@ -76,8 +76,11 @@ namespace love PHYSICS_REVOLUTE_JOINT_ID, PHYSICS_PULLEY_JOINT_ID, PHYSICS_GEAR_JOINT_ID, - - // The modules themselves. Only add abstracted modules here. + + // Thread + THREAD_THREAD_ID, + + // The modules themselves. Only add abstracted modules here. MODULE_FILESYSTEM_ID, MODULE_IMAGE_ID, MODULE_SOUND_ID, @@ -94,7 +97,7 @@ namespace love const bits DATA_T = (bits(1) << DATA_ID) | OBJECT_T; const bits MODULE_T = (bits(1) << MODULE_ID) | OBJECT_T; - // Filesystem. + // Filesystem. const bits FILESYSTEM_FILE_T = (bits(1) << FILESYSTEM_FILE_ID) | OBJECT_T; const bits FILESYSTEM_FILE_DATA_T = (bits(1) << FILESYSTEM_FILE_DATA_ID) | DATA_T; @@ -113,7 +116,7 @@ namespace love // Image. const bits IMAGE_IMAGE_DATA_T = (bits(1) << IMAGE_IMAGE_DATA_ID) | DATA_T; - + // Audio. const bits AUDIO_SOURCE_T = (bits(1) << AUDIO_SOURCE_ID) | OBJECT_T; @@ -136,6 +139,9 @@ namespace love const bits PHYSICS_PULLEY_JOINT_T = (bits(1) << PHYSICS_PULLEY_JOINT_ID) | PHYSICS_JOINT_T; const bits PHYSICS_GEAR_JOINT_T = (bits(1) << PHYSICS_GEAR_JOINT_ID) | PHYSICS_JOINT_T; + // Thread. + const bits THREAD_THREAD_T = (bits(1) << THREAD_THREAD_ID) | OBJECT_T; + // Modules. const bits MODULE_FILESYSTEM_T = (bits(1) << MODULE_FILESYSTEM_ID) | MODULE_T; const bits MODULE_IMAGE_T = (bits(1) << MODULE_IMAGE_ID) | MODULE_T; diff --git a/src/love.cpp b/src/love.cpp index c896de957..b207721bb 100644 --- a/src/love.cpp +++ b/src/love.cpp @@ -1,14 +1,14 @@ /** * Copyright (c) 2006-2010 LOVE Development Team -* +* * This software is provided 'as-is', without any express or implied * warranty. In no event will the authors be held liable for any damages * arising from the use of this software. -* +* * Permission is granted to anyone to use this software for any purpose, * including commercial applications, and to alter it and redistribute it * freely, subject to the following restrictions: -* +* * 1. The origin of this software must not be misrepresented; you must not * claim that you wrote the original software. If you use this software * in a product, an acknowledgment in the product documentation would be @@ -52,6 +52,7 @@ #include #include #include +#include // Libraries. #include "libraries/luasocket/luasocket.h" @@ -78,6 +79,7 @@ static const luaL_Reg modules[] = { { "love.physics", love::physics::box2d::luaopen_love_physics }, { "love.sound", love::sound::luaopen_love_sound }, { "love.timer", love::timer::sdl::luaopen_love_timer }, + { "love.thread", love::thread::sdl::luaopen_love_thread }, { 0, 0 } }; @@ -194,7 +196,7 @@ int w__openConsole(lua_State * L) FILE *fp; AllocConsole(); - + // Set size. GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &console_info); console_info.dwSize.Y = MAX_CONSOLE_LINES; @@ -258,7 +260,7 @@ int main(int argc, char ** argv) love::luax_preload(L, luaopen_love, "love"); - luaopen_love(L); + luaopen_love(L); // Add command line arguments to global arg (like stand-alone Lua). { @@ -283,7 +285,7 @@ int main(int argc, char ** argv) } // Add love.__exe = true. - // This indicates that we're running the + // This indicates that we're running the // standalone version of love, and not the // DLL version. { @@ -311,4 +313,4 @@ int main(int argc, char ** argv) return 0; } -#endif // LOVE_BUILD_EXE \ No newline at end of file +#endif // LOVE_BUILD_EXE diff --git a/src/modules/filesystem/physfs/wrap_Filesystem.cpp b/src/modules/filesystem/physfs/wrap_Filesystem.cpp index 9d83dcb58..7a4e0394e 100644 --- a/src/modules/filesystem/physfs/wrap_Filesystem.cpp +++ b/src/modules/filesystem/physfs/wrap_Filesystem.cpp @@ -1,14 +1,14 @@ /** * Copyright (c) 2006-2010 LOVE Development Team -* +* * This software is provided 'as-is', without any express or implied * warranty. In no event will the authors be held liable for any damages * arising from the use of this software. -* +* * Permission is granted to anyone to use this software for any purpose, * including commercial applications, and to alter it and redistribute it * freely, subject to the following restrictions: -* +* * 1. The origin of this software must not be misrepresented; you must not * claim that you wrote the original software. If you use this software * in a product, an acknowledgment in the product documentation would be @@ -40,10 +40,10 @@ namespace physfs { const char * arg0 = luaL_checkstring(L, 1); - try + try { instance->init(arg0); - } + } catch(Exception & e) { return luaL_error(L, e.what()); @@ -186,7 +186,7 @@ namespace physfs { return luaL_error(L, e.what()); } - } + } int w_enumerate(lua_State * L) { @@ -256,6 +256,7 @@ namespace physfs { "enumerate", w_enumerate }, { "lines", w_lines }, { "load", w_load }, + { "newFileData", w_newFileData }, { 0, 0 } }; @@ -269,11 +270,11 @@ namespace physfs { if(instance == 0) { - try + try { instance = new Filesystem(); love::luax_register_searcher(L, loader); - } + } catch(Exception & e) { return luaL_error(L, e.what()); diff --git a/src/modules/thread/sdl/Thread.cpp b/src/modules/thread/sdl/Thread.cpp new file mode 100644 index 000000000..1ca9fba7d --- /dev/null +++ b/src/modules/thread/sdl/Thread.cpp @@ -0,0 +1,124 @@ +/** +* Copyright (c) 2006-2010 LOVE Development Team +* +* This software is provided 'as-is', without any express or implied +* warranty. In no event will the authors be held liable for any damages +* arising from the use of this software. +* +* Permission is granted to anyone to use this software for any purpose, +* including commercial applications, and to alter it and redistribute it +* freely, subject to the following restrictions: +* +* 1. The origin of this software must not be misrepresented; you must not +* claim that you wrote the original software. If you use this software +* in a product, an acknowledgment in the product documentation would be +* appreciated but is not required. +* 2. Altered source versions must be plainly marked as such, and must not be +* misrepresented as being the original software. +* 3. This notice may not be removed or altered from any source distribution. +**/ + +#include "Thread.h" + +extern "C" int luaopen_love(lua_State * L); + +int threadfunc(const char *data) +{ + lua_State * L = lua_open(); + luaL_openlibs(L); + love::luax_preload(L, luaopen_love, "love"); + luaopen_love(L); + luaL_dostring(L, data); + lua_close(L); + return 0; +} + +namespace love +{ +namespace thread +{ +namespace sdl +{ + Thread::Thread(ThreadModuleRegistrar *reg, std::string name, love::Data *data) + : reg(reg), name(name), handle(0) + { + unsigned int len = data->getSize(); + this->data = new char[len]; + memcpy(this->data, data->getData(), len); + } + + Thread::~Thread() + { + delete[] data; + if (handle) + SDL_KillThread(handle); + reg->unregister(name); + } + + void Thread::start() + { + if (!handle) + SDL_CreateThread((int (*)(void*)) threadfunc, (void*) data); + } + + void Thread::kill() + { + if (handle) + SDL_KillThread(handle); + } + + std::string Thread::getName() + { + return name; + } + + ThreadModule::~ThreadModule() + { + for (threadlist_t::iterator i = threads.begin(); i != threads.end(); i++) + { + i->second->kill(); + } + } + + Thread *ThreadModule::newThread(std::string name, love::Data *data) + { + if (threads.count(name) != 0) + return 0; + Thread *t = new Thread(this, name, data); + threads[name] = t; + return t; + } + + Thread *ThreadModule::getThread(std::string name) + { + if (threads.count(name) == 0) + return 0; + threadlist_t::iterator i = threads.find(name); + return i->second; + } + + Thread **ThreadModule::getThreads() + { + Thread **list = new Thread*[threads.size()]; + int c = 0; + for (threadlist_t::iterator i = threads.begin(); i != threads.end(); i++, c++) + { + list[c] = i->second; + } + } + + void ThreadModule::unregister(std::string name) + { + if (threads.count(name) == 0) + return; + threadlist_t::iterator i = threads.find(name); + threads.erase(i); + } + + const char *ThreadModule::getName() const + { + return "love.thread.sdl"; + } +} // sdl +} // thread +} // love diff --git a/src/modules/thread/sdl/Thread.h b/src/modules/thread/sdl/Thread.h new file mode 100644 index 000000000..2730c3572 --- /dev/null +++ b/src/modules/thread/sdl/Thread.h @@ -0,0 +1,83 @@ +/** +* Copyright (c) 2006-2010 LOVE Development Team +* +* This software is provided 'as-is', without any express or implied +* warranty. In no event will the authors be held liable for any damages +* arising from the use of this software. +* +* Permission is granted to anyone to use this software for any purpose, +* including commercial applications, and to alter it and redistribute it +* freely, subject to the following restrictions: +* +* 1. The origin of this software must not be misrepresented; you must not +* claim that you wrote the original software. If you use this software +* in a product, an acknowledgment in the product documentation would be +* appreciated but is not required. +* 2. Altered source versions must be plainly marked as such, and must not be +* misrepresented as being the original software. +* 3. This notice may not be removed or altered from any source distribution. +**/ + +#ifndef LOVE_THREAD_THREAD_H +#define LOVE_THREAD_THREAD_H + +// SDL +#include + +// STL +#include +#include + +// LOVE +#include +#include +#include + +namespace love +{ +namespace thread +{ +namespace sdl +{ + class ThreadModuleRegistrar + { + public: + virtual void unregister(std::string name) = 0; + }; + + class Thread : public love::Object + { + private: + SDL_Thread *handle; + ThreadModuleRegistrar *reg; + std::string name; + char *data; + + public: + Thread(ThreadModuleRegistrar *reg, std::string name, love::Data *data); + ~Thread(); + void start(); + void kill(); + std::string getName(); + }; // Thread + + typedef std::map threadlist_t; + + class ThreadModule : public Module, ThreadModuleRegistrar + { + private: + threadlist_t threads; + + public: + ~ThreadModule(); + Thread *newThread(std::string name, love::Data *data); + Thread **getThreads(); + Thread *getThread(std::string name); + void unregister(std::string name); + const char *getName() const; + }; // ThreadModule +} // sdl +} // thread +} // love + +#endif // LOVE_THREAD_THREAD_H diff --git a/src/modules/thread/sdl/Thread.o b/src/modules/thread/sdl/Thread.o new file mode 100644 index 0000000000000000000000000000000000000000..df5e7677fef9a18ba7435b5eeae7dc11869c868e GIT binary patch literal 184408 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%0Ar8yuK)1H~D) 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, idx, "Thread", THREAD_THREAD_T); + } + + int w_Thread_start(lua_State *L) + { + Thread *t = luax_checkthread(L, 1); + t->start(); + return 0; + } + + int w_Thread_kill(lua_State *L) + { + Thread *t = luax_checkthread(L, 1); + t->kill(); + return 0; + } + + int w_Thread_getName(lua_State *L) + { + Thread *t = luax_checkthread(L, 1); + lua_pushstring(L, t->getName().c_str()); + return 1; + } + + static const luaL_Reg type_functions[] = { + { "start", w_Thread_start }, + { "kill", w_Thread_kill }, + { "getName", w_Thread_getName }, + { 0, 0 } + }; + + int luaopen_thread(lua_State *L) + { + return luax_register_type(L, "Thread", type_functions); + } + + static ThreadModule *instance; + + int w_newThread(lua_State *L) + { + std::string name = luaL_checkstring(L, 1); + if (lua_isstring(L, 2)) + luax_convobj(L, 2, "filesystem", "read"); + love::Data *data = luax_checktype(L, 2, "Data", DATA_T); + Thread *t = instance->newThread(name, data); + luax_newtype(L, "Thread", THREAD_THREAD_T, (void*)t); + return 1; + } + + int w_getThreads(lua_State *L) + { + } + + int w_getThread(lua_State *L) + { + std::string name = luaL_checkstring(L, 1); + Thread *t = instance->getThread(name); + luax_newtype(L, "Thread", THREAD_THREAD_T, (void*)t); + t->retain(); + return 1; + } + + + // List of functions to wrap. + static const luaL_Reg module_functions[] = { + { "newThread", w_newThread }, + { "getThread", w_getThread }, + { 0, 0 } + }; + + static const lua_CFunction types[] = { + luaopen_thread, + 0 + }; + + int luaopen_love_thread(lua_State *L) + { + if(instance == 0) + { + try + { + instance = new ThreadModule(); + } + catch(Exception & e) + { + return luaL_error(L, e.what()); + } + } + + WrappedModule w; + w.module = instance; + w.name = "thread"; + w.flags = MODULE_T; + w.functions = module_functions; + w.types = types; + + return luax_register_module(L, w); + } +} +} +} diff --git a/src/modules/thread/sdl/wrap_Thread.h b/src/modules/thread/sdl/wrap_Thread.h new file mode 100644 index 000000000..5a0a41f12 --- /dev/null +++ b/src/modules/thread/sdl/wrap_Thread.h @@ -0,0 +1,50 @@ +/** +* Copyright (c) 2006-2010 LOVE Development Team +* +* This software is provided 'as-is', without any express or implied +* warranty. In no event will the authors be held liable for any damages +* arising from the use of this software. +* +* Permission is granted to anyone to use this software for any purpose, +* including commercial applications, and to alter it and redistribute it +* freely, subject to the following restrictions: +* +* 1. The origin of this software must not be misrepresented; you must not +* claim that you wrote the original software. If you use this software +* in a product, an acknowledgment in the product documentation would be +* appreciated but is not required. +* 2. Altered source versions must be plainly marked as such, and must not be +* misrepresented as being the original software. +* 3. This notice may not be removed or altered from any source distribution. +**/ + +#ifndef LOVE_THREAD_SDL_WRAP_THREAD_H +#define LOVE_THREAD_SDL_WRAP_THREAD_H + +// LOVE +#include +#include "Thread.h" + +namespace love +{ +namespace thread +{ +namespace sdl +{ + Thread *luax_checkthread(lua_State *L, int idx); + int w_Thread_start(lua_State *L); + int w_Thread_kill(lua_State *L); + int w_thread_getName(lua_State *L); + + int luaopen_thread(lua_State *L); + + int w_newThread(lua_State *L); + int w_getThreads(lua_State *L); + int w_getThread(lua_State *L); + + extern "C" LOVE_EXPORT int luaopen_love_thread(lua_State * L); +} // sdl +} // thread +} // love + +#endif // LOVE_THREAD_SDL_WRAP_THREAD_H diff --git a/src/modules/thread/sdl/wrap_Thread.o b/src/modules/thread/sdl/wrap_Thread.o new file mode 100644 index 0000000000000000000000000000000000000000..be18b81802dedf875e26b10e68bb74353c0b7e11 GIT binary patch literal 128064 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

Q()rC29KXP+%gWD3FYi&PopNzk-zKh|?_{AyGp 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