dmuratshin 9 years ago
parent
commit
5871b2af65

+ 3 - 1
oxygine/src/DebugActor.cpp

@@ -49,11 +49,12 @@ namespace oxygine
         if (resSystem)
             return;
 
-        spActor a = new MaskedSprite;
+        log::messageln("DebugActor::initialize");
 
         zp.setPrefix("system/");
         zp.add(system_data, system_size);
 
+        //file::ZipFileSystem zp;
         file::mount(&zp);
         resSystem = new Resources;
         resSystem->loadXML("system/res.xml", ResourcesLoadOptions().prebuiltFolder("system"));
@@ -62,6 +63,7 @@ namespace oxygine
     void DebugActor::show()
     {
         initialize();
+
         if (!DebugActor::instance)
             DebugActor::instance = new DebugActor;
 

+ 1 - 1
oxygine/src/core/FileSystem.h

@@ -29,7 +29,7 @@ namespace oxygine
             };
 
             FileSystem(bool readonly);
-            ~FileSystem();
+            virtual ~FileSystem();
 
             void setPrefix(const char* str);
 

+ 46 - 4
oxygine/src/core/ThreadDispatcher.cpp

@@ -65,6 +65,7 @@ namespace oxygine
 
     ThreadDispatcher::ThreadDispatcher(): _id(0), _result(0)
     {
+#ifndef OX_NO_MT
         pthread_cond_init(&_cond, 0);
 
         pthread_mutexattr_t attr;
@@ -72,36 +73,44 @@ namespace oxygine
         pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
 
         pthread_mutex_init(&_mutex, &attr);
-
+#endif
         _events.reserve(10);
     }
 
     ThreadDispatcher::~ThreadDispatcher()
     {
+#ifndef OX_NO_MT
         pthread_mutex_destroy(&_mutex);
         pthread_cond_destroy(&_cond);
+#endif
     }
 
     void ThreadDispatcher::_waitMessage()
     {
+#ifndef OX_NO_MT
         _replyLast(0);
 
         while (_events.empty())
             pthread_cond_wait(&_cond, &_mutex);
+#endif
     }
 
     void ThreadDispatcher::wait()
     {
+#ifndef OX_NO_MT
         MutexPthreadLock lock(_mutex);
         _waitMessage();
+#endif
     }
 
     void ThreadDispatcher::get(message& ev)
     {
         {
+#ifndef OX_NO_MT
             MutexPthreadLock lock(_mutex);
             LOGDN("get");
 
+#endif
             _waitMessage();
 
             _last = _events.front();
@@ -134,21 +143,28 @@ namespace oxygine
 
     bool ThreadDispatcher::empty()
     {
+#ifndef OX_NO_MT
         MutexPthreadLock lock(_mutex);
+#endif
+
         bool v = _events.empty();
         return v;
     }
 
     size_t ThreadDispatcher::size()
     {
+#ifndef OX_NO_MT
         MutexPthreadLock lock(_mutex);
+#endif
         size_t v = _events.size();
         return v;
     }
 
     void ThreadDispatcher::clear()
     {
+#ifndef OX_NO_MT
         MutexPthreadLock lock(_mutex);
+#endif
         _events.clear();
     }
 
@@ -169,7 +185,9 @@ namespace oxygine
 
         bool ret = false;
         {
+#ifndef OX_NO_MT
             MutexPthreadLock lock(_mutex);
+#endif
             if (ev.num == -1)
                 ev.num = (int)_events.size();
 
@@ -200,8 +218,10 @@ namespace oxygine
         {
             LOGDN("replying to id=%d", _last._id);
 
+#ifndef OX_NO_MT
             //pthread_cond_signal(&_cond);
             pthread_cond_broadcast(&_cond);
+#endif
             mywait(&_cond, &_mutex);
         }
     }
@@ -213,18 +233,24 @@ namespace oxygine
         do
         {
             LOGDN("ThreadMessages::waiting reply... _replyingTo=%d  myid=%d", _replyingTo, id);
+#ifndef OX_NO_MT
             pthread_cond_signal(&_cond);
+#endif
             mywait(&_cond, &_mutex);
         }
         while (_replyingTo != id);
 
         _last.need_reply = false;
+#ifndef OX_NO_MT
         pthread_cond_signal(&_cond);
+#endif
     }
 
     void ThreadDispatcher::reply(void* val)
     {
+#ifndef OX_NO_MT
         MutexPthreadLock lock(_mutex);
+#endif
         OX_ASSERT(_last.need_reply);
         _replyLast(val);
     }
@@ -239,7 +265,9 @@ namespace oxygine
         ev.arg1 = arg1;
         ev.arg2 = arg2;
 
+#ifndef OX_NO_MT
         MutexPthreadLock lock(_mutex);
+#endif
         _pushMessageWaitReply(ev);
 
         return _result;
@@ -253,7 +281,9 @@ namespace oxygine
         ev.cb = cb;
         ev.cbData = cbData;
 
+#ifndef OX_NO_MT
         MutexPthreadLock lock(_mutex);
+#endif
         _pushMessageWaitReply(ev);
     }
 
@@ -273,7 +303,9 @@ namespace oxygine
     {
         msg._id = ++_id;
         _events.push_back(msg);
+#ifndef OX_NO_MT
         pthread_cond_signal(&_cond);
+#endif
     }
 
     void ThreadDispatcher::post(int msgid, void* arg1, void* arg2)
@@ -283,7 +315,9 @@ namespace oxygine
         ev.arg1 = arg1;
         ev.arg2 = arg2;
 
+#ifndef OX_NO_MT
         MutexPthreadLock lock(_mutex);
+#endif
         _pushMessage(ev);
     }
 
@@ -295,8 +329,9 @@ namespace oxygine
         ev.arg2 = arg2;
         ev.cb = cb;
         ev.cbData = cbData;
-
+#ifndef OX_NO_MT
         MutexPthreadLock lock(_mutex);
+#endif
         _pushMessage(ev);
     }
 
@@ -307,14 +342,17 @@ namespace oxygine
         ev.arg2 = arg2;
         ev.cb = cb;
         ev.cbData = cbData;
-
+#ifndef OX_NO_MT
         MutexPthreadLock lock(_mutex);
+#endif
         _pushMessage(ev);
     }
 
     void ThreadDispatcher::removeCallback(int msgid, callback cb, void* cbData)
     {
+#ifndef OX_NO_MT
         MutexPthreadLock lock(_mutex);
+#endif
         for (messages::iterator i = _events.begin(); i != _events.end(); ++i)
         {
             message& m = *i;
@@ -332,7 +370,10 @@ namespace oxygine
         message ev;
         ev.cbFunction = f;
 
+#ifndef OX_NO_MT
         MutexPthreadLock lock(_mutex);
+#endif
+
         _pushMessage(ev);
     }
 
@@ -340,8 +381,9 @@ namespace oxygine
     {
         message ev;
         ev.cbFunction = f;
-
+#ifndef OX_NO_MT
         MutexPthreadLock lock(_mutex);
+#endif
         _pushMessageWaitReply(ev);
     }
 #endif

+ 2 - 1
oxygine/src/res/ResAtlasPrebuilt.cpp

@@ -58,7 +58,8 @@ namespace oxygine
                 alpha_file = *context.prebuilt_folder + alpha_file;
             }
 
-            addAtlas(tf, *context.prebuilt_folder + file, alpha_file, w, h);
+            std::string p = *context.prebuilt_folder + file;
+            addAtlas(tf, p, alpha_file, w, h);
 
             meta_image = meta_image.next_sibling("atlas");
             context.walker.nextMeta();