Browse Source

Merge branch 'dev' into refact-stdren

dmuratshin 9 years ago
parent
commit
1efbd900ec
70 changed files with 1120 additions and 908 deletions
  1. 10 0
      examples/Demo/src/TestHttp.h
  2. 7 7
      examples/Demo/src/TestOpenGL.h
  3. 1 1
      examples/Demo/src/TestTweenShine.h
  4. 4 4
      examples/Demo/src/TestUserShader.h
  5. 3 3
      examples/Demo/src/TestUserShader2.h
  6. 15 10
      oxygine/SDL/android/lib/src/org/oxygine/lib/HttpRequests.java
  7. 7 5
      oxygine/src/Actor.h
  8. 7 0
      oxygine/src/AsyncTask.cpp
  9. 1 0
      oxygine/src/AsyncTask.h
  10. 9 9
      oxygine/src/Box9Sprite.h
  11. 1 1
      oxygine/src/Button.h
  12. 4 4
      oxygine/src/ClipRectActor.h
  13. 5 5
      oxygine/src/ColorRectSprite.h
  14. 2 2
      oxygine/src/DebugActor.cpp
  15. 4 4
      oxygine/src/DebugActor.h
  16. 18 2
      oxygine/src/HttpRequestTask.cpp
  17. 11 5
      oxygine/src/HttpRequestTask.h
  18. 4 4
      oxygine/src/MaskedSprite.h
  19. 4 4
      oxygine/src/Polygon.h
  20. 6 6
      oxygine/src/PostProcess.h
  21. 5 5
      oxygine/src/ProgressBar.h
  22. 9 9
      oxygine/src/STDMaterial.h
  23. 1 1
      oxygine/src/STDRenderer.cpp
  24. 2 2
      oxygine/src/STDRenderer.h
  25. 5 6
      oxygine/src/SlidingActor.h
  26. 7 7
      oxygine/src/Sprite.h
  27. 3 3
      oxygine/src/Stage.h
  28. 7 7
      oxygine/src/TextField.h
  29. 4 4
      oxygine/src/TweenGlow.cpp
  30. 4 4
      oxygine/src/TweenOutline.cpp
  31. 3 3
      oxygine/src/VisualStyle.h
  32. 1 1
      oxygine/src/WebImage.h
  33. 2 35
      oxygine/src/core/ThreadDispatcher.cpp
  34. 2 2
      oxygine/src/core/UberShaderProgram.h
  35. 9 7
      oxygine/src/core/android/HttpRequestJavaTask.cpp
  36. 2 2
      oxygine/src/core/android/HttpRequestJavaTask.h
  37. 42 20
      oxygine/src/core/curl/HttpRequestCurlTask.cpp
  38. 2 0
      oxygine/src/core/curl/HttpRequestCurlTask.h
  39. 19 19
      oxygine/src/core/gl/VideoDriverGLES20.h
  40. 190 190
      oxygine/src/core/gl/oxgl.cpp
  41. 48 48
      oxygine/src/core/gl/oxgl.h
  42. 1 1
      oxygine/src/core/ios/HttpRequestCocoaTask.h
  43. 15 9
      oxygine/src/core/ios/HttpRequestCocoaTask.mm
  44. 17 1
      oxygine/src/core/oxygine.cpp
  45. 2 0
      oxygine/src/core/oxygine.h
  46. 3 3
      oxygine/src/dev_tools/TreeInspector.h
  47. 22 39
      oxygine/src/dev_tools/TreeInspectorPreview.h
  48. 5 5
      oxygine/src/oxygine-forwards.h
  49. 1 20
      oxygine/src/res/CreateResourceContext.cpp
  50. 6 9
      oxygine/src/res/CreateResourceContext.h
  51. 2 2
      oxygine/src/res/ResAnim.h
  52. 2 2
      oxygine/src/res/ResAtlas.h
  53. 2 2
      oxygine/src/res/ResAtlasGeneric.h
  54. 2 2
      oxygine/src/res/ResBuffer.h
  55. 5 5
      oxygine/src/res/ResFontBM.h
  56. 2 2
      oxygine/src/res/ResStarlingAtlas.h
  57. 2 2
      oxygine/src/res/Resources.h
  58. 1 1
      oxygine/src/res/SingleResAnim.h
  59. 6 6
      oxygine/src/text_utils/Node.h
  60. 50 203
      oxygine/third_party/win32/curl/curl/curl.h
  61. 467 79
      oxygine/third_party/win32/curl/curl/curlbuild.h
  62. 6 14
      oxygine/third_party/win32/curl/curl/curlver.h
  63. 8 1
      oxygine/third_party/win32/curl/curl/mprintf.h
  64. 1 39
      oxygine/third_party/win32/curl/curl/multi.h
  65. 2 10
      oxygine/third_party/win32/curl/curl/typecheck-gcc.h
  66. BIN
      oxygine/third_party/win32/dlls/libcurl.dll
  67. BIN
      oxygine/third_party/win32/dlls/libeay32.dll
  68. BIN
      oxygine/third_party/win32/dlls/libssh2.dll
  69. BIN
      oxygine/third_party/win32/dlls/ssleay32.dll
  70. BIN
      oxygine/third_party/win32/libraries/libcurl_imp.lib

+ 10 - 0
examples/Demo/src/TestHttp.h

@@ -66,6 +66,16 @@ public:
         task->setUrl("http://oxygine.org/test/missing.php");
         task->addEventListener(HttpRequestTask::ERROR, CLOSURE(this, &TestHttp::onError));
         task->run();
+
+        addButton("create request", "create request");
+    }
+
+    void clicked(string id)
+    {
+        spHttpRequestTask task;
+        task = HttpRequestTask::create();
+        task->setUrl("http://oxygine.org/img/madewith.png");
+        task->run();
     }
 
     void progress(Event* event)

+ 7 - 7
examples/Demo/src/TestOpenGL.h

@@ -17,7 +17,7 @@ public:
 
     int _program;
 
-    OpenGLSprite() 
+    OpenGLSprite()
     {
         const char* vertexShaderData = "\
 									uniform mediump mat4 projection;\
@@ -68,7 +68,7 @@ public:
         CHECKGL();
     }
 
-    ~OpenGLSprite() 
+    ~OpenGLSprite()
     {
         oxglDeleteProgram(_program);
     }
@@ -107,8 +107,8 @@ public:
         CHECKGL();
 
         myVertex vertices[4];
-        myVertex *v = vertices;
-        
+        myVertex* v = vertices;
+
         v->pos = Vector3(-100, -100, 0);
         v->uv = srcRect.getLeftTop();
         ++v;
@@ -125,7 +125,7 @@ public:
         v->uv = srcRect.getLeftBottom();
         ++v;
 
-        
+
         oxglEnableVertexAttribArray(0);
         oxglVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(myVertex), vertices);
 
@@ -135,7 +135,7 @@ public:
 
 
         glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
-    
+
 
         oxglDisableVertexAttribArray(0);
         oxglDisableVertexAttribArray(1);
@@ -150,7 +150,7 @@ public:
     TestOpenGL()
     {
         spOpenGLSprite sprite = new OpenGLSprite;
-        sprite->setPosition(getStage()->getSize()/2);
+        sprite->setPosition(getStage()->getSize() / 2);
         sprite->setScale(3);
         content->addChild(sprite);
     }

+ 1 - 1
examples/Demo/src/TestTweenShine.h

@@ -11,7 +11,7 @@ public:
     {
     }
 
-    void _loopDone(Actor& actor, const UpdateState& us) OVERRIDE
+    void _loopDone(Actor& actor, const UpdateState& us) override
     {
         for (int i = 0; i < 5; ++i)
         {

+ 4 - 4
examples/Demo/src/TestUserShader.h

@@ -64,7 +64,7 @@ public:
             _client->setMaterial(0);
     }
 
-    void _start(Actor& actor) OVERRIDE
+    void _start(Actor& actor) override
     {
         actor.setName("zzz");
         actor.setMaterial(this);
@@ -85,7 +85,7 @@ public:
         driver->setUniform("userValue", &_val, 1);
     }
 
-    void apply(Material* prev) OVERRIDE
+    void apply(Material* prev) override
     {
         STDRenderer* renderer = STDMaterial::instance->getRenderer();
         _program->setShaderUniformsCallback(CLOSURE(this, &TweenShader::setUniforms));
@@ -93,12 +93,12 @@ public:
         renderer->setUberShaderProgram(_program);
     }
 
-    void doRender(Sprite* s, const RenderState& rs) OVERRIDE
+    void doRender(Sprite* s, const RenderState& rs) override
     {
         STDMaterial::instance->doRender(s, rs);
     }
 
-    void finish() OVERRIDE
+    void finish() override
     {
         STDRenderer* renderer = STDMaterial::instance->getRenderer();
         renderer->drawBatch();

+ 3 - 3
examples/Demo/src/TestUserShader2.h

@@ -49,7 +49,7 @@ public:
         driver->setUniformInt("normal_texture", 1);
     }
 
-    void apply(Material* prev) OVERRIDE
+    void apply(Material* prev) override
     {
         IVideoDriver* driver = IVideoDriver::instance;
         driver->setShaderProgram(_lightShader);
@@ -66,7 +66,7 @@ public:
         driver->setBlendFunc(IVideoDriver::BT_SRC_ALPHA, IVideoDriver::BT_ONE_MINUS_SRC_ALPHA);
     }
 
-    void finish() OVERRIDE
+    void finish() override
     {
         drawBatch(IVideoDriver::instance);
     }
@@ -86,7 +86,7 @@ public:
     }
 
 
-    void doRender(Sprite* sprite, const RenderState& rs) OVERRIDE
+    void doRender(Sprite* sprite, const RenderState& rs) override
     {
         Material::setCurrent(this);
 

+ 15 - 10
oxygine/SDL/android/lib/src/org/oxygine/lib/HttpRequests.java

@@ -65,11 +65,11 @@ class HttpRequest extends AsyncTask<RequestDetails, Integer, String> {
     public HttpRequest() {
     }
 
-    public static native void nativeHttpRequestResponseSuccess(long handle, byte[] data);
+    public static native void nativeHttpRequestResponseSuccess(long handle, byte[] data, int code);
 
     public static native void nativeHttpRequestResponseProgress(long handle, int loaded, int total);
 
-    public static native void nativeHttpRequestResponseError(long handle);
+    public static native void nativeHttpRequestResponseError(long handle, int code);
 
     private Proxy detectProxy() {
         try {
@@ -95,6 +95,7 @@ class HttpRequest extends AsyncTask<RequestDetails, Integer, String> {
         HttpURLConnection connection = null;
         RequestDetails details = details_[0];
 
+        int respCode = 0;
 
         try {
             URL url = new URL(details.url);
@@ -146,17 +147,21 @@ class HttpRequest extends AsyncTask<RequestDetails, Integer, String> {
 
             // expect HTTP 200 OK, so we don't mistakenly save error report
             // instead of the file
-            if (connection.getResponseCode() != HttpURLConnection.HTTP_OK) {
-                nativeHttpRequestResponseError(details.handle);
-                return "Server returned HTTP " + connection.getResponseCode() + " " + connection.getResponseMessage();
-            }
+            respCode = connection.getResponseCode();
+            //if (respCode != HttpURLConnection.HTTP_OK) {
+            //    nativeHttpRequestResponseError(details.handle, respCode);
+            //    return "Server returned HTTP " + respCode + " " + connection.getResponseMessage();
+            //}
 
             // this will be useful to display download percentage
             // might be -1: server did not report the length
             int fileLength = connection.getContentLength();
 
             // download the file
-            input = connection.getInputStream();
+            if (respCode >= 400 && respCode <= 599)
+                input = connection.getErrorStream();
+            else
+                input = connection.getInputStream();
 
 
             ByteArrayOutputStream bt = null;
@@ -191,12 +196,12 @@ class HttpRequest extends AsyncTask<RequestDetails, Integer, String> {
                 nativeHttpRequestResponseProgress(details.handle, total, fileLength);
             }
             if (bt != null)
-                nativeHttpRequestResponseSuccess(details.handle, bt.toByteArray());
+                nativeHttpRequestResponseSuccess(details.handle, bt.toByteArray(), respCode);
             else
-                nativeHttpRequestResponseSuccess(details.handle, null);
+                nativeHttpRequestResponseSuccess(details.handle, null, respCode);
 
         } catch (Exception e) {
-            nativeHttpRequestResponseError(details.handle);
+            nativeHttpRequestResponseError(details.handle, respCode);
             Log.v("HttpRequest", "error: " + e.toString());
             return e.toString();
         } finally {

+ 7 - 5
oxygine/src/Actor.h

@@ -42,9 +42,11 @@ namespace oxygine
     class Actor: public EventDispatcher, public intrusive_list_item<spActor>, public Serializable
     {
         typedef intrusive_list_item<spActor> intr_list;
-    public:
 
-        DECLARE_COPYCLONE_NEW2(Actor);
+    public:
+        Actor(const Actor& src, cloneOptions opt = 0);
+        virtual Actor* clone(cloneOptions opt = 0) const;
+        void copyFrom(const Actor& src, cloneOptions opt = 0);
 
         Actor();
         virtual ~Actor();
@@ -210,7 +212,7 @@ namespace oxygine
         Actor* detach();
 
         /**Dispatches an event into the event flow. The event target is the EventDispatcher object upon which the dispatchEvent() method is called.*/
-        void dispatchEvent(Event* event);
+        void dispatchEvent(Event* event) override;
 
         virtual void updateStateOvered() {}
         virtual void updateStatePressed() {}
@@ -270,8 +272,8 @@ namespace oxygine
         typedef Property<unsigned char, unsigned char, Actor, &Actor::getAlpha, &Actor::setAlpha>               TweenAlpha;
 
 
-        void serialize(serializedata*);
-        void deserialize(const deserializedata*);
+        void serialize(serializedata*) override;
+        void deserialize(const deserializedata*) override;
 
         /**Returns detailed actor information. Used for debug purposes. */
         virtual std::string dump(const dumpOptions& opt) const;

+ 7 - 0
oxygine/src/AsyncTask.cpp

@@ -66,6 +66,12 @@ namespace oxygine
         _finalize(false);
         _onComplete();
 
+        _dispatchComplete();
+    }
+
+
+    void AsyncTask::_dispatchComplete()
+    {
         AsyncTaskEvent ev(COMPLETE, this);
         dispatchEvent(&ev);
     }
@@ -83,6 +89,7 @@ namespace oxygine
         dispatchEvent(&ev);
     }
 
+
     bool AsyncTask::syncEvent(int msgid, void* arg1, void* arg2)
     {
         if (_mainThreadSync)

+ 1 - 0
oxygine/src/AsyncTask.h

@@ -64,6 +64,7 @@ namespace oxygine
         virtual void _onFinal(bool error) {}
         virtual void _onCustom(const ThreadDispatcher::message&) {};
         virtual void _finalize(bool error) {}
+        virtual void _dispatchComplete();
 
         enum { customID = sysEventID('s', 'c', 's') };
         bool syncEvent(int msgid, void* arg1 = 0, void* arg2 = 0);

+ 9 - 9
oxygine/src/Box9Sprite.h

@@ -32,19 +32,19 @@ namespace oxygine
         void setVerticalGuides(float x1, float x2);
         void setHorizontalGuides(float y1, float y2);
 
-        bool isOn(const Vector2& localPosition, float localScale) OVERRIDE;
+        bool isOn(const Vector2& localPosition, float localScale) override;
 
-        std::string dump(const dumpOptions&) const;
+        std::string dump(const dumpOptions&) const override;
 
-        void serialize(serializedata* data);
-        void deserialize(const deserializedata* data);
+        void serialize(serializedata* data) override;
+        void deserialize(const deserializedata* data) override;
 
-        virtual RectF getDestRect() const;
+        RectF getDestRect() const override;
 
     protected:
-        void sizeChanged(const Vector2& size);
-        void animFrameChanged(const AnimationFrame& f);
-        void changeAnimFrame(const AnimationFrame& f) OVERRIDE;
+        void sizeChanged(const Vector2& size)  override;
+        void animFrameChanged(const AnimationFrame& f) override;
+        void changeAnimFrame(const AnimationFrame& f) override;
 
         bool _prepared;
 
@@ -61,7 +61,7 @@ namespace oxygine
 
         void prepare();
 
-        virtual void doRender(const RenderState& rs);
+        void doRender(const RenderState&) override;
     };
 }
 

+ 1 - 1
oxygine/src/Button.h

@@ -16,7 +16,7 @@ namespace oxygine
 
         int getRow() const {return _row;}
 
-        void setResAnim(const ResAnim* r, int  col = 0, int row = 0) OVERRIDE;
+        void setResAnim(const ResAnim* r, int  col = 0, int row = 0) override;
 
         /**Sets which row from ResAnim should be used. Default value is 0. Could be used for CheckBoxes*/
         void setRow(int row);

+ 4 - 4
oxygine/src/ClipRectActor.h

@@ -21,13 +21,13 @@ namespace oxygine
         /**Enables clipping for children. By default is on*/
         void setClipping(bool enable) {_clipping = enable;}
 
-        void render(const RenderState& rs);
+        void render(const RenderState& rs) override;
 
 
-        void handleEvent(Event* event);
+        void handleEvent(Event* event) override;
 
-        void serialize(serializedata* data);
-        void deserialize(const deserializedata* data);
+        void serialize(serializedata* data) override;
+        void deserialize(const deserializedata* data) override;
 
     protected:
 

+ 5 - 5
oxygine/src/ColorRectSprite.h

@@ -14,15 +14,15 @@ namespace oxygine
         ColorRectSprite();
         ~ColorRectSprite();
 
-        void serialize(serializedata* data);
-        void deserialize(const deserializedata* data);
+        void serialize(serializedata* data) override;
+        void deserialize(const deserializedata* data) override;
 
-        void doRender(const RenderState& rs);
+        void doRender(const RenderState&) override;
 
-        RectF getDestRect() const OVERRIDE { return Actor::getDestRect(); }
+        RectF getDestRect() const override { return Actor::getDestRect(); }
 
     protected:
-        void sizeChanged(const Vector2& size) OVERRIDE;
+        void sizeChanged(const Vector2& size) override;
     };
 }
 

+ 2 - 2
oxygine/src/DebugActor.cpp

@@ -356,8 +356,8 @@ namespace oxygine
 #endif
 
 #ifdef __ANDROID__
-        
-        
+
+
         auto info = mallinfo();
 
         s << "memory=" << info.uordblks / 1024 << "|" << info.fordblks / 1024 << "kb ";

+ 4 - 4
oxygine/src/DebugActor.h

@@ -33,14 +33,14 @@ namespace oxygine
         void showTexel2PixelErrors(bool show);
 
     protected:
-        void onAdded2Stage();
-        void onRemovedFromStage();
+        void onAdded2Stage() override;
+        void onRemovedFromStage() override;
         void showDevMenu(spActor data);
         void _btnClicked(Event* ev);
 
 
-        void doUpdate(const UpdateState& us);
-        void render(RenderState const& parentRenderState);
+        void doUpdate(const UpdateState& us) override;
+        void render(const RenderState&) override;
         void addButton(float& x, const char* name, const char* anim);
     private:
 

+ 18 - 2
oxygine/src/HttpRequestTask.cpp

@@ -20,7 +20,7 @@ namespace oxygine
     void HttpRequestTask::init() {}
     void HttpRequestTask::release() {}
 #endif
-    HttpRequestTask::HttpRequestTask() : _loaded(0), _cacheEnabled(true)
+    HttpRequestTask::HttpRequestTask() : _loaded(0), _cacheEnabled(true), _successOnAnyResponceCode(false)
     {
 
     }
@@ -88,6 +88,7 @@ namespace oxygine
 
     void HttpRequestTask::_prerun()
     {
+        _responseCode = 0;
         _loaded = 0;
         _response.clear();
         if (!_fname.empty())
@@ -124,6 +125,21 @@ namespace oxygine
 
     void HttpRequestTask::_onComplete()
     {
-        log::messageln("http request done: %s", _url.c_str());
+        log::messageln("http request done (%d): %s", _responseCode, _url.c_str());
     }
+
+    void HttpRequestTask::_dispatchComplete()
+    {
+        if (_responseCode == 200 || _successOnAnyResponceCode)
+        {
+            Event ev(COMPLETE);
+            dispatchEvent(&ev);
+        }
+        else
+        {
+            Event ev(ERROR);
+            dispatchEvent(&ev);
+        }
+    }
+
 }

+ 11 - 5
oxygine/src/HttpRequestTask.h

@@ -22,7 +22,7 @@ namespace oxygine
         {
             ERROR = AsyncTask::ERROR,
             PROGRESS = AsyncTask::PROGRESS,
-            COMPLETE = AsyncTask::COMPLETE
+            COMPLETE = AsyncTask::COMPLETE,
         };
 
         class ProgressEvent : public Event
@@ -46,22 +46,25 @@ namespace oxygine
 
         /**swap version of getResponse if you want to modify result buffer inplace*/
         void getResponseSwap(std::vector<unsigned char>&);
+        int  getResponseCode() const { return _responseCode; }
         void addHeader(const std::string& key, const std::string& value);
 
         void setPostData(const std::vector<unsigned char>& data);
         void setUrl(const std::string& url);
         void setFileName(const std::string& name);
         void setCacheEnabled(bool enabled);
+        void setSuccessOnAnyResponseCode(bool en) { _successOnAnyResponceCode = en; }
 
     protected:
-        void _prerun();
-        void _onError() OVERRIDE;
-        void _onComplete() OVERRIDE;
+        void _prerun() override;
+        void _onError() override;
+        void _onComplete() override;
+        void _dispatchComplete() override;
 
         //async
         void progress(int loaded, int total);
 
-        void _onCustom(const ThreadDispatcher::message& msg);
+        void _onCustom(const ThreadDispatcher::message& msg) override;
         void dispatchProgress(int loaded, int total);
 
         virtual void _setFileName(const std::string& name) {}
@@ -77,6 +80,9 @@ namespace oxygine
         std::vector<unsigned char> _response;
         std::vector<unsigned char> _postData;
 
+        int _responseCode;
+        bool _successOnAnyResponceCode;
+
         typedef std::vector< std::pair<std::string, std::string> >  headers;
         headers _headers;
     };

+ 4 - 4
oxygine/src/MaskedSprite.h

@@ -19,12 +19,12 @@ namespace oxygine
 
         void setMask(spSprite, bool useRChannel = false);
 
-        void serialize(serializedata* data);
-        void deserialize(const deserializedata* data);
-        void deserializeLink(const deserializeLinkData*);
+        void serialize(serializedata* data) override;
+        void deserialize(const deserializedata* data) override;
+        void deserializeLink(const deserializeLinkData*) override;
 
     protected:
-        void render(const RenderState& parentRS);
+        void render(const RenderState& parentRS) override;
 
     private:
         spSprite _mask;

+ 4 - 4
oxygine/src/Polygon.h

@@ -19,13 +19,13 @@ namespace oxygine
         */
         void setVertices(const void* data, int size, int bformat, bool own);
 
-        void serialize(serializedata* data);
-        void deserialize(const deserializedata* data);
+        void serialize(serializedata* data) override;
+        void deserialize(const deserializedata* data) override;
 
-        std::string dump(const dumpOptions&) const;
+        std::string dump(const dumpOptions&) const override;
 
     protected:
-        void doRender(const RenderState& rs);
+        void doRender(const RenderState&) override;
 
         const VertexDeclaration* _vdecl;
         bool _own;

+ 6 - 6
oxygine/src/PostProcess.h

@@ -76,13 +76,13 @@ namespace oxygine
         TweenPostProcess(const PostProcessOptions& opt);
         ~TweenPostProcess();
 
-        void renderPP() OVERRIDE;
-        void addRefPP() OVERRIDE;
-        void releaseRefPP() OVERRIDE;
+        void renderPP() override;
+        void addRefPP() override;
+        void releaseRefPP() override;
 
-        void init(Actor& actor) OVERRIDE;
-        void update(Actor& actor, float p, const UpdateState& us) OVERRIDE;
-        void done(Actor& actor) OVERRIDE;
+        void init(Actor& actor) override;
+        void update(Actor& actor, float p, const UpdateState& us) override;
+        void done(Actor& actor) override;
     protected:
         virtual void _renderPP() {}
 

+ 5 - 5
oxygine/src/ProgressBar.h

@@ -36,19 +36,19 @@ namespace oxygine
         void setProgress(float value);
         void setDirection(direction dir);
 
-        std::string dump(const dumpOptions&) const;
+        std::string dump(const dumpOptions&) const override;
 
-        void serialize(serializedata* data);
-        void deserialize(const deserializedata* data);
+        void serialize(serializedata* data) override;
+        void deserialize(const deserializedata* data) override;
 
         typedef Property<float, float, ProgressBar, &ProgressBar::getProgress, &ProgressBar::setProgress> TweenProgress;
 
     private:
-        void doRender(const RenderState& rs);
+        void doRender(const RenderState&) override;
 
         virtual void _update();
 
-        void animFrameChanged(const AnimationFrame& f);
+        void animFrameChanged(const AnimationFrame& f) override;
 
         float _progress;
         direction _direction;

+ 9 - 9
oxygine/src/STDMaterial.h

@@ -13,15 +13,15 @@ namespace oxygine
 
         STDMaterial(STDRenderer* r): _renderer(r) {}
 
-        void apply(Material* prev) OVERRIDE;
-        void finish() OVERRIDE;
-
-        void render(ClipRectActor*, const RenderState& rs) OVERRIDE;
-        void render(MaskedSprite*, const RenderState& rs) OVERRIDE;
-        void doRender(Sprite*, const RenderState& rs) OVERRIDE;
-        void doRender(TextField*, const RenderState& rs) OVERRIDE;
-        void doRender(ColorRectSprite*, const RenderState& rs) OVERRIDE;
-        void doRender(ProgressBar*, const RenderState& rs) OVERRIDE;
+        void apply(Material* prev) override;
+        void finish() override;
+
+        void render(ClipRectActor*, const RenderState& rs) override;
+        void render(MaskedSprite*, const RenderState& rs) override;
+        void doRender(Sprite*, const RenderState& rs) override;
+        void doRender(TextField*, const RenderState& rs) override;
+        void doRender(ColorRectSprite*, const RenderState& rs) override;
+        void doRender(ProgressBar*, const RenderState& rs) override;
 
         void setViewProj(const Matrix& vp);
 

+ 1 - 1
oxygine/src/STDRenderer.cpp

@@ -522,7 +522,7 @@ namespace oxygine
         _blend = blend_disabled;
     }
 
-    void STDRenderer::begin(spNativeTexture nt, const Rect *viewport)
+    void STDRenderer::begin(spNativeTexture nt, const Rect* viewport)
     {
         OX_ASSERT(!_drawing);
         OX_ASSERT(_prevRT == 0);

+ 2 - 2
oxygine/src/STDRenderer.h

@@ -57,14 +57,14 @@ namespace oxygine
         void beginElementRendering(bool basePremultiplied);// OVERRIDE;
         void beginSDFont(float contrast, float offset, const Color& outlineColor, float outlineOffset);
         void endSDFont();
-        void drawElement(const spNativeTexture& texture, unsigned int color, const RectF& src, const RectF& dest) OVERRIDE;
+        void drawElement(const spNativeTexture& texture, unsigned int color, const RectF& src, const RectF& dest) override;
         void draw(const Color&, const RectF& srcRect, const RectF& destRect);
         /**Draws existing batch immediately.*/
         void drawBatch();
 
         /**Begins rendering into RenderTexture or into primary framebuffer if rt is null*/
         void begin(STDRenderer* prev = 0);
-        void begin(spNativeTexture nt, const Rect *viewport = 0);
+        void begin(spNativeTexture nt, const Rect* viewport = 0);
         /**Completes started rendering and restores previous Frame Buffer.*/
         void end();
         /**initializes View + Projection matrices where TopLeft is (0,0) and RightBottom is (width, height). use flipU = true for render to texture*/

+ 5 - 6
oxygine/src/SlidingActor.h

@@ -46,16 +46,15 @@ namespace oxygine
         /**stop if sliding*/
         void stop();
 
-        void serialize(serializedata* data);
-        void deserialize(const deserializedata* data);
+        void serialize(serializedata* data) override;
+        void deserialize(const deserializedata* data) override;
 
     protected:
         void destroy();
 
-        void handleEvent(Event* event);
-
-        void sizeChanged(const Vector2& size);
-        void doUpdate(const UpdateState& us);
+        void handleEvent(Event* event) override;
+        void sizeChanged(const Vector2& size)  override;
+        void doUpdate(const UpdateState& us)  override;
         void updateDragBounds();
 
 

+ 7 - 7
oxygine/src/Sprite.h

@@ -21,7 +21,7 @@ namespace oxygine
         ~Sprite();
 
         const AnimationFrame&   getAnimFrame() const {return _frame;}
-        RectF                   getDestRect() const OVERRIDE;
+        RectF                   getDestRect() const override;
         const Diffuse&          getDiffuse() const {return _frame.getDiffuse();}
         bool                    getManageResAnim() const {return (_flags & flag_manageResAnim) != 0;}
         const RectF&            getSrcRect() const {return _frame.getSrcRect();}
@@ -42,7 +42,7 @@ namespace oxygine
         void                    setColumnRow(int column, int row);
         void                    setLocalScale(const Vector2& s);
 
-        bool                    isOn(const Vector2& localPosition, float localScale) OVERRIDE;
+        bool                    isOn(const Vector2& localPosition, float localScale) override;
 
         bool                    isFlippedX() const {return (_flags & flag_flipX) != 0;}
         bool                    isFlippedY() const {return (_flags & flag_flipY) != 0;}
@@ -50,13 +50,13 @@ namespace oxygine
         void                    setFlippedY(bool flippedY);
         void                    setFlipped(bool flippedX, bool flippedY);
 
-        void serialize(serializedata* data);
-        void deserialize(const deserializedata* data);
+        void serialize(serializedata* data) override;
+        void deserialize(const deserializedata* data) override;
 
         typedef oxygine::TweenAnim TweenAnim;
-        std::string dump(const dumpOptions&) const;
+        std::string dump(const dumpOptions&) const override;
 
-        void doRender(const RenderState& rs);
+        void doRender(const RenderState&) override;
     protected:
         enum
         {
@@ -66,7 +66,7 @@ namespace oxygine
         };
         virtual void changeAnimFrame(const AnimationFrame& f);
         virtual void animFrameChanged(const AnimationFrame& f);
-        void sizeChanged(const Vector2& size) OVERRIDE;
+        void sizeChanged(const Vector2& size) override;
 
         Vector2 _localScale;
         AnimationFrame _frame;

+ 3 - 3
oxygine/src/Stage.h

@@ -43,10 +43,10 @@ namespace oxygine
 
         void cleanup();
 
-        RectF getDestRect() const;
+        RectF getDestRect() const override;
 
 
-        std::string dump(const dumpOptions& opt) const;
+        std::string dump(const dumpOptions& opt) const override;
 
 #if OXYGINE_SDL
         void associateWithWindow(SDL_Window* wnd);
@@ -60,7 +60,7 @@ namespace oxygine
 
         //bool _active;
 
-        bool isOn(const Vector2& localPosition, float localScale) OVERRIDE;
+        bool isOn(const Vector2& localPosition, float localScale) override;
 
     private:
 

+ 7 - 7
oxygine/src/TextField.h

@@ -18,8 +18,8 @@ namespace oxygine
         TextField();
         ~TextField();
 
-        void serialize(serializedata* data);
-        void deserialize(const deserializedata* data);
+        void serialize(serializedata* data) override;
+        void deserialize(const deserializedata* data) override;
 
         /**Returns current text style*/
         const TextStyle&            getStyle() const {return _style;}
@@ -45,7 +45,7 @@ namespace oxygine
         unsigned int                getOptions() const;
 
 
-        bool getBounds(RectF&) const OVERRIDE;
+        bool getBounds(RectF&) const override;
 
         /**Overwrites TextStyle Vertical align*/
         void setVAlign(TextStyle::VerticalAlign align);
@@ -92,7 +92,7 @@ namespace oxygine
         void setHtmlText(const std::string& str);
         void setHtmlText(const std::wstring& str);
 
-        bool isOn(const Vector2& localPosition, float localScale = 1.0f) OVERRIDE;
+        bool isOn(const Vector2& localPosition, float localScale = 1.0f) override;
 
 
         typedef Property<Color, const Color&, TextField, &TextField::getOutlineColor, &TextField::setOutlineColor>  TweenOutlineColor;
@@ -100,8 +100,8 @@ namespace oxygine
 
     public:
 
-        std::string dump(const dumpOptions& options) const;
-        void doRender(RenderState const& parentRenderState);
+        std::string dump(const dumpOptions& options) const override;
+        void doRender(const RenderState&) override;
 
         text::Node* getRootNode(float scale);
     protected:
@@ -120,7 +120,7 @@ namespace oxygine
 
 
         void needRebuild();
-        void sizeChanged(const Vector2& size);
+        void sizeChanged(const Vector2& size) override;
     };
 }
 

+ 4 - 4
oxygine/src/TweenGlow.cpp

@@ -20,7 +20,7 @@ namespace oxygine
 
         TweenGlowImpl(const Color& c, const PostProcessOptions& opt) : TweenPostProcess(opt), _color(c), _downsample(1) {}
 
-        void render(Actor* actor, const RenderState& rs) OVERRIDE
+        void render(Actor* actor, const RenderState& rs) override
         {
             STDMaterial* mat = STDMaterial::instance;
             STDRenderer* renderer = mat->getRenderer();
@@ -34,8 +34,8 @@ namespace oxygine
 
 
             RectF src(0, 0,
-            _pp._screen.getWidth() / (float)_pp._rt->getWidth() / _downsample,
-            _pp._screen.getHeight() / (float)_pp._rt->getHeight() / _downsample);
+                      _pp._screen.getWidth() / (float)_pp._rt->getWidth() / _downsample,
+                      _pp._screen.getHeight() / (float)_pp._rt->getHeight() / _downsample);
 
             RectF dest = _pp._screen.cast<RectF>();
 
@@ -52,7 +52,7 @@ namespace oxygine
             renderer->drawBatch();
         }
 
-        void _renderPP() OVERRIDE
+        void _renderPP() override
         {
             PostProcess::initShaders();
 

+ 4 - 4
oxygine/src/TweenOutline.cpp

@@ -20,14 +20,14 @@ namespace oxygine
 
         TweenOutlineImpl(const Color& c, const PostProcessOptions& opt) : TweenPostProcess(opt), _color(c), _downsample(1) {}
 
-        void render(Actor* actor, const RenderState& rs) OVERRIDE
+        void render(Actor* actor, const RenderState& rs) override
         {
             STDMaterial* mat = STDMaterial::instance;
             STDRenderer* renderer = mat->getRenderer();
 
             RectF src(0, 0,
-            _pp._screen.getWidth() / (float)_pp._rt->getWidth() / _downsample,
-            _pp._screen.getHeight() / (float)_pp._rt->getHeight() / _downsample);
+                      _pp._screen.getWidth() / (float)_pp._rt->getWidth() / _downsample,
+                      _pp._screen.getHeight() / (float)_pp._rt->getHeight() / _downsample);
 
             RectF dest = _pp._screen.cast<RectF>();
 
@@ -49,7 +49,7 @@ namespace oxygine
             actor->setMaterial(this);
         }
 
-        void _renderPP() OVERRIDE
+        void _renderPP() override
         {
             PostProcess::initShaders();
 

+ 3 - 3
oxygine/src/VisualStyle.h

@@ -33,8 +33,8 @@ namespace oxygine
         DECLARE_COPYCLONE_NEW(VStyleActor);
         VStyleActor();
 
-        void serialize(serializedata* data);
-        void deserialize(const deserializedata* data);
+        void serialize(serializedata* data) override;
+        void deserialize(const deserializedata* data) override;
 
         blend_mode              getBlendMode() const {return _vstyle.getBlendMode();}
         const Color&            getColor() const;
@@ -45,7 +45,7 @@ namespace oxygine
 
         typedef Property<Color, const Color&, VStyleActor, &VStyleActor::getColor, &VStyleActor::setColor> TweenColor;
 
-        bool getBounds(RectF& b) const  OVERRIDE { b = getDestRect();  return true; }
+        bool getBounds(RectF& b) const  override { b = getDestRect();  return true; }
 
     protected:
         VisualStyle _vstyle;

+ 1 - 1
oxygine/src/WebImage.h

@@ -22,7 +22,7 @@ namespace oxygine
     private:
         void loaded(Event*);
         void error(Event*);
-        void sizeChanged(const Vector2& size) OVERRIDE;
+        void sizeChanged(const Vector2& size) override;
         void fit();
 
         ResAnim _rs;

+ 2 - 35
oxygine/src/core/ThreadDispatcher.cpp

@@ -19,39 +19,6 @@ namespace oxygine
 #endif
 
 
-    void addtime(timespec& ts, int ms)
-    {
-        ts.tv_nsec += ms * 1000000;
-        while (ts.tv_nsec >= 1000000000)
-        {
-            ts.tv_nsec -= 1000000000;
-            ++ts.tv_sec;
-        }
-    }
-
-
-    void mywait(pthread_cond_t* cond, pthread_mutex_t* mutex)
-    {
-        /*
-        #ifdef __S3E__
-        timespec ts;
-        clock_gettime(CLOCK_REALTIME, &ts);
-        addtime(ts, 300);
-        pthread_cond_timedwait(cond, mutex, &ts);
-        #elif __ANDROID__
-        timespec ts;
-        clock_gettime(CLOCK_REALTIME, &ts);
-        addtime(ts, 500);
-        pthread_cond_timedwait(cond, mutex, &ts);
-        #else
-        pthread_cond_wait(cond, mutex);
-        #endif
-        */
-
-        pthread_cond_wait(cond, mutex);
-    }
-
-
     MutexPthreadLock::MutexPthreadLock(pthread_mutex_t& m, bool lock) : _mutex(m), _locked(lock)
     {
         if (_locked)
@@ -227,7 +194,7 @@ namespace oxygine
             //pthread_cond_signal(&_cond);
             pthread_cond_broadcast(&_cond);
 #endif
-            mywait(&_cond, &_mutex);
+            pthread_cond_wait(&_cond, &_mutex);
         }
     }
 
@@ -241,7 +208,7 @@ namespace oxygine
 #ifndef OX_NO_MT
             pthread_cond_signal(&_cond);
 #endif
-            mywait(&_cond, &_mutex);
+            pthread_cond_wait(&_cond, &_mutex);
         }
         while (_replyingTo != id);
 

+ 2 - 2
oxygine/src/core/UberShaderProgram.h

@@ -66,12 +66,12 @@ namespace oxygine
             SAMPLER_NUM,
         };
 
-        ShaderProgram*  getShaderProgram(int flags) OVERRIDE;
+        ShaderProgram*  getShaderProgram(int flags) override;
 
         void apply(IVideoDriver* driver, spNativeTexture base, spNativeTexture alpha);
 
     protected:
-        void releaseShaders() OVERRIDE;
+        void releaseShaders() override;
         shader _shaders[_SIZE];
     };
 }

+ 9 - 7
oxygine/src/core/android/HttpRequestJavaTask.cpp

@@ -37,7 +37,7 @@ namespace oxygine
 
         jmethodID jRelease = env->GetStaticMethodID(_jHttpRequestsClass, "release", "()V");
         JNI_NOT_NULL(jRelease);
-        env->CallStaticObjectMethod(_jHttpRequestsClass, jRelease);
+        env->CallStaticVoidMethod(_jHttpRequestsClass, jRelease);
 
         env->DeleteGlobalRef(_jHttpRequestsClass);
         _jHttpRequestsClass = 0;
@@ -73,8 +73,9 @@ namespace oxygine
         _handle = env->NewGlobalRef(env->CallStaticObjectMethod(_jHttpRequestsClass, _jCreateRequestMethod, jurl, jfname, jpost, (jlong)this));
     }
 
-    void HttpRequestJavaTask::error_()
+    void HttpRequestJavaTask::error_(int respCode)
     {
+        _responseCode = respCode;
         onError();
         releaseRef();
     }
@@ -84,8 +85,9 @@ namespace oxygine
         progress(loaded, total);
     }
 
-    void HttpRequestJavaTask::complete_(jbyteArray ar)
+    void HttpRequestJavaTask::complete_(jbyteArray ar, int respCode)
     {
+        _responseCode = respCode;
         if (ar)
         {
             JNIEnv* env = jniGetEnv();
@@ -111,10 +113,10 @@ extern "C"
 {
     JNIEnv* Android_JNI_GetEnv(void);
 
-    JNIEXPORT void JNICALL Java_org_oxygine_lib_HttpRequest_nativeHttpRequestResponseSuccess(JNIEnv* env, jclass, jlong handle, jbyteArray array)
+    JNIEXPORT void JNICALL Java_org_oxygine_lib_HttpRequest_nativeHttpRequestResponseSuccess(JNIEnv* env, jclass, jlong handle, jbyteArray array, jint respCode)
     {
         oxygine::HttpRequestJavaTask* task = (oxygine::HttpRequestJavaTask*)handle;
-        task->complete_(array);
+        task->complete_(array, respCode);
     }
 
     JNIEXPORT void JNICALL Java_org_oxygine_lib_HttpRequest_nativeHttpRequestResponseProgress(JNIEnv* env, jclass, jlong handle, jint loaded, jint total)
@@ -123,9 +125,9 @@ extern "C"
         task->progress_(loaded, total);
     }
 
-    JNIEXPORT void JNICALL Java_org_oxygine_lib_HttpRequest_nativeHttpRequestResponseError(JNIEnv* env, jclass, jlong handle)
+    JNIEXPORT void JNICALL Java_org_oxygine_lib_HttpRequest_nativeHttpRequestResponseError(JNIEnv* env, jclass, jlong handle, jint respCode)
     {
         oxygine::HttpRequestJavaTask* task = (oxygine::HttpRequestJavaTask*)handle;
-        task->error_();
+        task->error_(respCode);
     }
 }

+ 2 - 2
oxygine/src/core/android/HttpRequestJavaTask.h

@@ -19,9 +19,9 @@ namespace oxygine
         HttpRequestJavaTask();
         ~HttpRequestJavaTask();
 
-        void complete_(jbyteArray);
+        void complete_(jbyteArray, int respCode);
         void progress_(int loaded, int total);
-        void error_();
+        void error_(int respCode);
 
 
     protected:

+ 42 - 20
oxygine/src/core/curl/HttpRequestCurlTask.cpp

@@ -36,7 +36,8 @@ namespace oxygine
                 {
                     int response = 0;
                     curl_easy_getinfo(easy, CURLINFO_RESPONSE_CODE, &response);
-                    ok = response == 200;
+                    task->_responseCode = response;
+                    //ok = response == 200;
                 }
 
 #if 0
@@ -53,7 +54,9 @@ namespace oxygine
 #endif
 
                 if (ok)
+                {
                     task->onComplete();
+                }
                 else
                     task->onError();
 
@@ -79,18 +82,15 @@ namespace oxygine
 
             while (still_running)
             {
-                static int i = 0;
-                //log::messageln("upd---------%d - %d", getTimeMS(), ++i);
-
                 ThreadDispatcher::peekMessage tmsg;
                 if (_messages.peek(tmsg, true))
                 {
                     if (tmsg.msgid == 1)
                         return 0;
                     curl_multi_add_handle(multi_handle, (CURL*)tmsg.arg1);
-                    int q = 0;
                 }
 
+                int prev = still_running;
                 curl_multi_perform(multi_handle, &still_running);
                 if (still_running)
                 {
@@ -112,25 +112,28 @@ namespace oxygine
                     /* get file descriptors from the transfers */
                     curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
 
-                    /* In a real-world program you OF COURSE check the return code of the
-                    function calls, *and* you make sure that maxfd is bigger than -1 so
-                    that the call to select() below makes sense! */
-
-                    int rc = select(maxfd + 1, &fdread, &fdwrite, &fdexcep, &timeout);
-                    if (rc == -1)
-                        return 0;
-                    //while(CURLM_CALL_MULTI_PERFORM == curl_multi_perform(multi_handle, &still_running));
+                    if (maxfd == -1)
+                    {
+                        sleep(100);
+                    }
+                    else
+                    {
+                        int rc = select(maxfd + 1, &fdread, &fdwrite, &fdexcep, &timeout);
+                    }
                 }
 
 
-                CURLMsg* msg = 0;
-                int num;
-                while ((msg = curl_multi_info_read(multi_handle, &num)))
+                if (still_running != prev)
                 {
-                    if (msg->msg == CURLMSG_DONE)
+                    CURLMsg* msg = 0;
+                    int num;
+                    while ((msg = curl_multi_info_read(multi_handle, &num)))
                     {
-                        curl_multi_remove_handle(multi_handle, msg->easy_handle);
-                        core::getMainThreadDispatcher().postCallback(ID_DONE, msg->easy_handle, (void*)msg->data.result, mainThreadFunc, 0);
+                        if (msg->msg == CURLMSG_DONE)
+                        {
+                            curl_multi_remove_handle(multi_handle, msg->easy_handle);
+                            core::getMainThreadDispatcher().postCallback(ID_DONE, msg->easy_handle, (void*)msg->data.result, mainThreadFunc, 0);
+                        }
                     }
                 }
             }
@@ -171,6 +174,12 @@ namespace oxygine
         return 0;
     }
 
+
+    int HttpRequestTaskCURL::cbProgressFunction(void* userData, double dltotal, double dlnow, double ultotal, double ulnow)
+    {
+        return ((HttpRequestTaskCURL*)userData)->_cbXRefInfoFunction((curl_off_t) dltotal, (curl_off_t)dlnow);
+    }
+
     size_t HttpRequestTaskCURL::cbWriteFunction(char* d, size_t n, size_t l, void* userData)
     {
         return ((HttpRequestTaskCURL*)userData)->_cbWriteFunction(d, n, l);
@@ -223,10 +232,23 @@ namespace oxygine
         curl_easy_setopt(_easy, CURLOPT_PRIVATE, this);
         curl_easy_setopt(_easy, CURLOPT_WRITEFUNCTION, HttpRequestTaskCURL::cbWriteFunction);
         curl_easy_setopt(_easy, CURLOPT_WRITEDATA, this);
+
+
+        curl_easy_setopt(_easy, CURLOPT_NOPROGRESS, 0);
+
+#ifdef CURLOPT_XFERINFOFUNCTION
         curl_easy_setopt(_easy, CURLOPT_XFERINFOFUNCTION, HttpRequestTaskCURL::cbXRefInfoFunction);
         curl_easy_setopt(_easy, CURLOPT_XFERINFODATA, this);
+#else
+
+        curl_easy_setopt(_easy, CURLOPT_PROGRESSFUNCTION, HttpRequestTaskCURL::cbProgressFunction);
+        curl_easy_setopt(_easy, CURLOPT_PROGRESSDATA, this);
+#endif
         curl_easy_setopt(_easy, CURLOPT_FOLLOWLOCATION, true);
-        curl_easy_setopt(_easy, CURLOPT_NOPROGRESS, 0);
+
+
+
+        curl_easy_setopt(_easy, CURLOPT_SSL_VERIFYPEER, false);
 
 
         if (!_postData.empty())

+ 2 - 0
oxygine/src/core/curl/HttpRequestCurlTask.h

@@ -29,6 +29,8 @@ namespace oxygine
         static size_t cbXRefInfoFunction(void* clientp, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow);
         size_t _cbXRefInfoFunction(curl_off_t dltotal, curl_off_t dlnow);
 
+        static int cbProgressFunction(void* clientp, double dltotal, double dlnow, double ultotal, double ulnow);
+
 
         void _run();
         void _finalize(bool error);

+ 19 - 19
oxygine/src/core/gl/VideoDriverGLES20.h

@@ -13,31 +13,31 @@ namespace oxygine
         VideoDriverGLES20();
         ~VideoDriverGLES20();
 
-        void reset();
-        void restore();
+        void reset() override;
+        void restore() override;
 
-        spNativeTexture createTexture();
+        spNativeTexture createTexture() override;
 
-        bool isReady() const;
+        bool isReady() const  override;
 
-        void begin(const Rect& viewport, const Color* clearColor);
-        void clear(const Color& color);
+        void begin(const Rect& viewport, const Color* clearColor) override;
+        void clear(const Color& color) override;
 
-        ShaderProgram*  getShaderProgram() const OVERRIDE { return _p; }
+        ShaderProgram*  getShaderProgram() const override { return _p; }
 
-        void draw(PRIMITIVE_TYPE pt, const VertexDeclaration* decl, const void* verticesData, unsigned int verticesDataSize);
-        void draw(PRIMITIVE_TYPE pt, const VertexDeclaration* decl, const void* verticesData, unsigned int verticesDataSize, const unsigned short* indicesData, unsigned int numIndices);
-        void setDefaultSettings();
+        void draw(PRIMITIVE_TYPE pt, const VertexDeclaration* decl, const void* verticesData, unsigned int verticesDataSize) override;
+        void draw(PRIMITIVE_TYPE pt, const VertexDeclaration* decl, const void* verticesData, unsigned int verticesDataSize, const unsigned short* indicesData, unsigned int numIndices) override;
+        void setDefaultSettings() override;
 
-        void setViewport(const Rect& viewport);
-        void setShaderProgram(ShaderProgram*);
-        void setTexture(int sampler, spNativeTexture);
-        void setUniformInt(const char* id, int v);
-        void setUniform(const char* id, const Vector4* v, int num);
-        void setUniform(const char* id, const Vector3* v, int num);
-        void setUniform(const char* id, const Vector2* v, int num);
-        void setUniform(const char* id, const Matrix* mat);
-        void setUniform(const char* id, float val);
+        void setViewport(const Rect& viewport) override;
+        void setShaderProgram(ShaderProgram*) override;
+        void setTexture(int sampler, spNativeTexture) override;
+        void setUniformInt(const char* id, int v) override;
+        void setUniform(const char* id, const Vector4* v, int num) override;
+        void setUniform(const char* id, const Vector3* v, int num) override;
+        void setUniform(const char* id, const Vector2* v, int num) override;
+        void setUniform(const char* id, const Matrix* mat) override;
+        void setUniform(const char* id, float val) override;
 
     protected:
         GLuint _vbo;

+ 190 - 190
oxygine/src/core/gl/oxgl.cpp

@@ -26,151 +26,151 @@ extern "C"
     {}
 
 //!--defgl-begin--!
-GLAPI void APIENTRY def_glUseProgram (GLuint program)
-{}
-GLAPI void APIENTRY def_glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer)
-{}
-GLAPI void APIENTRY def_glActiveTexture (GLenum texture)
-{}
-GLAPI void APIENTRY def_glEnableVertexAttribArray (GLuint index)
-{}
-GLAPI void APIENTRY def_glDisableVertexAttribArray (GLuint index)
-{}
-GLAPI void APIENTRY def_glDeleteProgram (GLuint program)
-{}
-GLAPI void APIENTRY def_glGetShaderiv (GLuint shader, GLenum pname, GLint *params)
-{}
-GLAPI void APIENTRY def_glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
-{}
-GLAPI GLuint APIENTRY def_glCreateShader (GLenum type)
-{return 0;}
-GLAPI GLuint APIENTRY def_glCreateProgram (void)
-{return 0;}
-GLAPI void APIENTRY def_glAttachShader (GLuint program, GLuint shader)
-{}
-GLAPI void APIENTRY def_glCompileShader (GLuint shader)
-{}
-GLAPI void APIENTRY def_glDetachShader (GLuint program, GLuint shader)
-{}
-GLAPI void APIENTRY def_glBindAttribLocation (GLuint program, GLuint index, const GLchar *name)
-{}
-GLAPI void APIENTRY def_glLinkProgram (GLuint program)
-{}
-GLAPI void APIENTRY def_glUniform1i (GLint location, GLint v0)
-{}
-GLAPI void APIENTRY def_glUniform2f (GLint location, GLfloat v0, GLfloat v1)
-{}
-GLAPI void APIENTRY def_glUniform2fv (GLint location, GLsizei count, const GLfloat *value)
-{}
-GLAPI void APIENTRY def_glUniform3fv (GLint location, GLsizei count, const GLfloat *value)
-{}
-GLAPI void APIENTRY def_glUniform4fv (GLint location, GLsizei count, const GLfloat *value)
-{}
-GLAPI void APIENTRY def_glUniform1f (GLint location, GLfloat v0)
-{}
-GLAPI void APIENTRY def_glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
-{}
-GLAPI void APIENTRY def_glBindFramebuffer (GLenum target, GLuint framebuffer)
-{}
-GLAPI void APIENTRY def_glGenFramebuffers (GLsizei n, GLuint *framebuffers)
-{}
-GLAPI GLenum APIENTRY def_glCheckFramebufferStatus (GLenum target)
-{return 0;}
-GLAPI void APIENTRY def_glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers)
-{}
-GLAPI GLint APIENTRY def_glGetUniformLocation (GLuint program, const GLchar *name)
-{return 0;}
-GLAPI void APIENTRY def_glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
-{}
-GLAPI void APIENTRY def_glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data)
-{}
-GLAPI void APIENTRY def_glBindBuffer (GLenum target, GLuint buffer)
-{}
-GLAPI void APIENTRY def_glGenBuffers (GLsizei n, GLuint *buffers)
-{}
-GLAPI void APIENTRY def_glBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage)
-{}
-GLAPI void APIENTRY def_glGetProgramiv (GLuint program, GLenum pname, GLint *params)
-{}
-GLAPI void APIENTRY def_glGenerateMipmap (GLenum target)
-{}
-GLAPI void APIENTRY def_glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass)
-{}
-GLAPI void APIENTRY def_glGenRenderbuffers (GLsizei n, GLuint *renderbuffers)
-{}
-GLAPI void APIENTRY def_glBindRenderbuffer (GLenum target, GLuint renderbuffer)
-{}
-GLAPI void APIENTRY def_glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
-{}
-GLAPI void APIENTRY def_glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
-{}
-GLAPI void APIENTRY def_glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers)
-{}
-GLAPI void APIENTRY def_glDeleteShader (GLuint shader)
-{}
-GLAPI void APIENTRY def_glDeleteBuffers (GLsizei n, const GLuint *buffers)
-{}
-GLAPI void APIENTRY def_glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
-{}
-GLAPI void APIENTRY def_glBlendEquation (GLenum mode)
-{}
-GLAPI void APIENTRY def_glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
-{}
-GLAPI void APIENTRY def_glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha)
-{}
-GLAPI GLint APIENTRY def_glGetAttribLocation (GLuint program, const GLchar *name)
-{return 0;}
+    GLAPI void APIENTRY def_glUseProgram(GLuint program)
+    {}
+    GLAPI void APIENTRY def_glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* pointer)
+    {}
+    GLAPI void APIENTRY def_glActiveTexture(GLenum texture)
+    {}
+    GLAPI void APIENTRY def_glEnableVertexAttribArray(GLuint index)
+    {}
+    GLAPI void APIENTRY def_glDisableVertexAttribArray(GLuint index)
+    {}
+    GLAPI void APIENTRY def_glDeleteProgram(GLuint program)
+    {}
+    GLAPI void APIENTRY def_glGetShaderiv(GLuint shader, GLenum pname, GLint* params)
+    {}
+    GLAPI void APIENTRY def_glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog)
+    {}
+    GLAPI GLuint APIENTRY def_glCreateShader(GLenum type)
+    {return 0;}
+    GLAPI GLuint APIENTRY def_glCreateProgram(void)
+    {return 0;}
+    GLAPI void APIENTRY def_glAttachShader(GLuint program, GLuint shader)
+    {}
+    GLAPI void APIENTRY def_glCompileShader(GLuint shader)
+    {}
+    GLAPI void APIENTRY def_glDetachShader(GLuint program, GLuint shader)
+    {}
+    GLAPI void APIENTRY def_glBindAttribLocation(GLuint program, GLuint index, const GLchar* name)
+    {}
+    GLAPI void APIENTRY def_glLinkProgram(GLuint program)
+    {}
+    GLAPI void APIENTRY def_glUniform1i(GLint location, GLint v0)
+    {}
+    GLAPI void APIENTRY def_glUniform2f(GLint location, GLfloat v0, GLfloat v1)
+    {}
+    GLAPI void APIENTRY def_glUniform2fv(GLint location, GLsizei count, const GLfloat* value)
+    {}
+    GLAPI void APIENTRY def_glUniform3fv(GLint location, GLsizei count, const GLfloat* value)
+    {}
+    GLAPI void APIENTRY def_glUniform4fv(GLint location, GLsizei count, const GLfloat* value)
+    {}
+    GLAPI void APIENTRY def_glUniform1f(GLint location, GLfloat v0)
+    {}
+    GLAPI void APIENTRY def_glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
+    {}
+    GLAPI void APIENTRY def_glBindFramebuffer(GLenum target, GLuint framebuffer)
+    {}
+    GLAPI void APIENTRY def_glGenFramebuffers(GLsizei n, GLuint* framebuffers)
+    {}
+    GLAPI GLenum APIENTRY def_glCheckFramebufferStatus(GLenum target)
+    {return 0;}
+    GLAPI void APIENTRY def_glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers)
+    {}
+    GLAPI GLint APIENTRY def_glGetUniformLocation(GLuint program, const GLchar* name)
+    {return 0;}
+    GLAPI void APIENTRY def_glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
+    {}
+    GLAPI void APIENTRY def_glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data)
+    {}
+    GLAPI void APIENTRY def_glBindBuffer(GLenum target, GLuint buffer)
+    {}
+    GLAPI void APIENTRY def_glGenBuffers(GLsizei n, GLuint* buffers)
+    {}
+    GLAPI void APIENTRY def_glBufferData(GLenum target, GLsizeiptr size, const void* data, GLenum usage)
+    {}
+    GLAPI void APIENTRY def_glGetProgramiv(GLuint program, GLenum pname, GLint* params)
+    {}
+    GLAPI void APIENTRY def_glGenerateMipmap(GLenum target)
+    {}
+    GLAPI void APIENTRY def_glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass)
+    {}
+    GLAPI void APIENTRY def_glGenRenderbuffers(GLsizei n, GLuint* renderbuffers)
+    {}
+    GLAPI void APIENTRY def_glBindRenderbuffer(GLenum target, GLuint renderbuffer)
+    {}
+    GLAPI void APIENTRY def_glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
+    {}
+    GLAPI void APIENTRY def_glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
+    {}
+    GLAPI void APIENTRY def_glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers)
+    {}
+    GLAPI void APIENTRY def_glDeleteShader(GLuint shader)
+    {}
+    GLAPI void APIENTRY def_glDeleteBuffers(GLsizei n, const GLuint* buffers)
+    {}
+    GLAPI void APIENTRY def_glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog)
+    {}
+    GLAPI void APIENTRY def_glBlendEquation(GLenum mode)
+    {}
+    GLAPI void APIENTRY def_glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
+    {}
+    GLAPI void APIENTRY def_glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)
+    {}
+    GLAPI GLint APIENTRY def_glGetAttribLocation(GLuint program, const GLchar* name)
+    {return 0;}
 //!--defgl-end--!
 
 //!--_gl-begin--!
-PFNGLSHADERSOURCEPROC _glShaderSource = 0;
-PFNGLUSEPROGRAMPROC _glUseProgram = 0;
-PFNGLVERTEXATTRIBPOINTERPROC _glVertexAttribPointer = 0;
-PFNGLACTIVETEXTUREPROC _glActiveTexture = 0;
-PFNGLENABLEVERTEXATTRIBARRAYPROC _glEnableVertexAttribArray = 0;
-PFNGLDISABLEVERTEXATTRIBARRAYPROC _glDisableVertexAttribArray = 0;
-PFNGLDELETEPROGRAMPROC _glDeleteProgram = 0;
-PFNGLGETSHADERIVPROC _glGetShaderiv = 0;
-PFNGLGETSHADERINFOLOGPROC _glGetShaderInfoLog = 0;
-PFNGLCREATESHADERPROC _glCreateShader = 0;
-PFNGLCREATEPROGRAMPROC _glCreateProgram = 0;
-PFNGLATTACHSHADERPROC _glAttachShader = 0;
-PFNGLCOMPILESHADERPROC _glCompileShader = 0;
-PFNGLDETACHSHADERPROC _glDetachShader = 0;
-PFNGLBINDATTRIBLOCATIONPROC _glBindAttribLocation = 0;
-PFNGLLINKPROGRAMPROC _glLinkProgram = 0;
-PFNGLUNIFORM1IPROC _glUniform1i = 0;
-PFNGLUNIFORM2FPROC _glUniform2f = 0;
-PFNGLUNIFORM2FVPROC _glUniform2fv = 0;
-PFNGLUNIFORM3FVPROC _glUniform3fv = 0;
-PFNGLUNIFORM4FVPROC _glUniform4fv = 0;
-PFNGLUNIFORM1FPROC _glUniform1f = 0;
-PFNGLUNIFORMMATRIX4FVPROC _glUniformMatrix4fv = 0;
-PFNGLBINDFRAMEBUFFERPROC _glBindFramebuffer = 0;
-PFNGLGENFRAMEBUFFERSPROC _glGenFramebuffers = 0;
-PFNGLCHECKFRAMEBUFFERSTATUSPROC _glCheckFramebufferStatus = 0;
-PFNGLDELETEFRAMEBUFFERSPROC _glDeleteFramebuffers = 0;
-PFNGLGETUNIFORMLOCATIONPROC _glGetUniformLocation = 0;
-PFNGLFRAMEBUFFERTEXTURE2DPROC _glFramebufferTexture2D = 0;
-PFNGLCOMPRESSEDTEXIMAGE2DPROC _glCompressedTexImage2D = 0;
-PFNGLBINDBUFFERPROC _glBindBuffer = 0;
-PFNGLGENBUFFERSPROC _glGenBuffers = 0;
-PFNGLBUFFERDATAPROC _glBufferData = 0;
-PFNGLGETPROGRAMIVPROC _glGetProgramiv = 0;
-PFNGLGENERATEMIPMAPPROC _glGenerateMipmap = 0;
-PFNGLSTENCILOPSEPARATEPROC _glStencilOpSeparate = 0;
-PFNGLGENRENDERBUFFERSPROC _glGenRenderbuffers = 0;
-PFNGLBINDRENDERBUFFERPROC _glBindRenderbuffer = 0;
-PFNGLRENDERBUFFERSTORAGEPROC _glRenderbufferStorage = 0;
-PFNGLFRAMEBUFFERRENDERBUFFERPROC _glFramebufferRenderbuffer = 0;
-PFNGLDELETERENDERBUFFERSPROC _glDeleteRenderbuffers = 0;
-PFNGLDELETESHADERPROC _glDeleteShader = 0;
-PFNGLDELETEBUFFERSPROC _glDeleteBuffers = 0;
-PFNGLGETPROGRAMINFOLOGPROC _glGetProgramInfoLog = 0;
-PFNGLBLENDEQUATIONPROC _glBlendEquation = 0;
-PFNGLBLENDFUNCSEPARATEPROC _glBlendFuncSeparate = 0;
-PFNGLBLENDEQUATIONSEPARATEPROC _glBlendEquationSeparate = 0;
-PFNGLGETATTRIBLOCATIONPROC _glGetAttribLocation = 0;
+    PFNGLSHADERSOURCEPROC _glShaderSource = 0;
+    PFNGLUSEPROGRAMPROC _glUseProgram = 0;
+    PFNGLVERTEXATTRIBPOINTERPROC _glVertexAttribPointer = 0;
+    PFNGLACTIVETEXTUREPROC _glActiveTexture = 0;
+    PFNGLENABLEVERTEXATTRIBARRAYPROC _glEnableVertexAttribArray = 0;
+    PFNGLDISABLEVERTEXATTRIBARRAYPROC _glDisableVertexAttribArray = 0;
+    PFNGLDELETEPROGRAMPROC _glDeleteProgram = 0;
+    PFNGLGETSHADERIVPROC _glGetShaderiv = 0;
+    PFNGLGETSHADERINFOLOGPROC _glGetShaderInfoLog = 0;
+    PFNGLCREATESHADERPROC _glCreateShader = 0;
+    PFNGLCREATEPROGRAMPROC _glCreateProgram = 0;
+    PFNGLATTACHSHADERPROC _glAttachShader = 0;
+    PFNGLCOMPILESHADERPROC _glCompileShader = 0;
+    PFNGLDETACHSHADERPROC _glDetachShader = 0;
+    PFNGLBINDATTRIBLOCATIONPROC _glBindAttribLocation = 0;
+    PFNGLLINKPROGRAMPROC _glLinkProgram = 0;
+    PFNGLUNIFORM1IPROC _glUniform1i = 0;
+    PFNGLUNIFORM2FPROC _glUniform2f = 0;
+    PFNGLUNIFORM2FVPROC _glUniform2fv = 0;
+    PFNGLUNIFORM3FVPROC _glUniform3fv = 0;
+    PFNGLUNIFORM4FVPROC _glUniform4fv = 0;
+    PFNGLUNIFORM1FPROC _glUniform1f = 0;
+    PFNGLUNIFORMMATRIX4FVPROC _glUniformMatrix4fv = 0;
+    PFNGLBINDFRAMEBUFFERPROC _glBindFramebuffer = 0;
+    PFNGLGENFRAMEBUFFERSPROC _glGenFramebuffers = 0;
+    PFNGLCHECKFRAMEBUFFERSTATUSPROC _glCheckFramebufferStatus = 0;
+    PFNGLDELETEFRAMEBUFFERSPROC _glDeleteFramebuffers = 0;
+    PFNGLGETUNIFORMLOCATIONPROC _glGetUniformLocation = 0;
+    PFNGLFRAMEBUFFERTEXTURE2DPROC _glFramebufferTexture2D = 0;
+    PFNGLCOMPRESSEDTEXIMAGE2DPROC _glCompressedTexImage2D = 0;
+    PFNGLBINDBUFFERPROC _glBindBuffer = 0;
+    PFNGLGENBUFFERSPROC _glGenBuffers = 0;
+    PFNGLBUFFERDATAPROC _glBufferData = 0;
+    PFNGLGETPROGRAMIVPROC _glGetProgramiv = 0;
+    PFNGLGENERATEMIPMAPPROC _glGenerateMipmap = 0;
+    PFNGLSTENCILOPSEPARATEPROC _glStencilOpSeparate = 0;
+    PFNGLGENRENDERBUFFERSPROC _glGenRenderbuffers = 0;
+    PFNGLBINDRENDERBUFFERPROC _glBindRenderbuffer = 0;
+    PFNGLRENDERBUFFERSTORAGEPROC _glRenderbufferStorage = 0;
+    PFNGLFRAMEBUFFERRENDERBUFFERPROC _glFramebufferRenderbuffer = 0;
+    PFNGLDELETERENDERBUFFERSPROC _glDeleteRenderbuffers = 0;
+    PFNGLDELETESHADERPROC _glDeleteShader = 0;
+    PFNGLDELETEBUFFERSPROC _glDeleteBuffers = 0;
+    PFNGLGETPROGRAMINFOLOGPROC _glGetProgramInfoLog = 0;
+    PFNGLBLENDEQUATIONPROC _glBlendEquation = 0;
+    PFNGLBLENDFUNCSEPARATEPROC _glBlendFuncSeparate = 0;
+    PFNGLBLENDEQUATIONSEPARATEPROC _glBlendEquationSeparate = 0;
+    PFNGLGETATTRIBLOCATIONPROC _glGetAttribLocation = 0;
 //!--_gl-end--!
 }
 
@@ -182,54 +182,54 @@ int initGLExtensions(myGetProcAdress func)
     int missing = 0;
 
 //!--getfunc-begin--!
-GETFUNC(_glShaderSource, def_glShaderSource, PFNGLSHADERSOURCEPROC, "glShaderSource");
-GETFUNC(_glUseProgram, def_glUseProgram, PFNGLUSEPROGRAMPROC, "glUseProgram");
-GETFUNC(_glVertexAttribPointer, def_glVertexAttribPointer, PFNGLVERTEXATTRIBPOINTERPROC, "glVertexAttribPointer");
-GETFUNC(_glActiveTexture, def_glActiveTexture, PFNGLACTIVETEXTUREPROC, "glActiveTexture");
-GETFUNC(_glEnableVertexAttribArray, def_glEnableVertexAttribArray, PFNGLENABLEVERTEXATTRIBARRAYPROC, "glEnableVertexAttribArray");
-GETFUNC(_glDisableVertexAttribArray, def_glDisableVertexAttribArray, PFNGLDISABLEVERTEXATTRIBARRAYPROC, "glDisableVertexAttribArray");
-GETFUNC(_glDeleteProgram, def_glDeleteProgram, PFNGLDELETEPROGRAMPROC, "glDeleteProgram");
-GETFUNC(_glGetShaderiv, def_glGetShaderiv, PFNGLGETSHADERIVPROC, "glGetShaderiv");
-GETFUNC(_glGetShaderInfoLog, def_glGetShaderInfoLog, PFNGLGETSHADERINFOLOGPROC, "glGetShaderInfoLog");
-GETFUNC(_glCreateShader, def_glCreateShader, PFNGLCREATESHADERPROC, "glCreateShader");
-GETFUNC(_glCreateProgram, def_glCreateProgram, PFNGLCREATEPROGRAMPROC, "glCreateProgram");
-GETFUNC(_glAttachShader, def_glAttachShader, PFNGLATTACHSHADERPROC, "glAttachShader");
-GETFUNC(_glCompileShader, def_glCompileShader, PFNGLCOMPILESHADERPROC, "glCompileShader");
-GETFUNC(_glDetachShader, def_glDetachShader, PFNGLDETACHSHADERPROC, "glDetachShader");
-GETFUNC(_glBindAttribLocation, def_glBindAttribLocation, PFNGLBINDATTRIBLOCATIONPROC, "glBindAttribLocation");
-GETFUNC(_glLinkProgram, def_glLinkProgram, PFNGLLINKPROGRAMPROC, "glLinkProgram");
-GETFUNC(_glUniform1i, def_glUniform1i, PFNGLUNIFORM1IPROC, "glUniform1i");
-GETFUNC(_glUniform2f, def_glUniform2f, PFNGLUNIFORM2FPROC, "glUniform2f");
-GETFUNC(_glUniform2fv, def_glUniform2fv, PFNGLUNIFORM2FVPROC, "glUniform2fv");
-GETFUNC(_glUniform3fv, def_glUniform3fv, PFNGLUNIFORM3FVPROC, "glUniform3fv");
-GETFUNC(_glUniform4fv, def_glUniform4fv, PFNGLUNIFORM4FVPROC, "glUniform4fv");
-GETFUNC(_glUniform1f, def_glUniform1f, PFNGLUNIFORM1FPROC, "glUniform1f");
-GETFUNC(_glUniformMatrix4fv, def_glUniformMatrix4fv, PFNGLUNIFORMMATRIX4FVPROC, "glUniformMatrix4fv");
-GETFUNC(_glBindFramebuffer, def_glBindFramebuffer, PFNGLBINDFRAMEBUFFERPROC, "glBindFramebuffer");
-GETFUNC(_glGenFramebuffers, def_glGenFramebuffers, PFNGLGENFRAMEBUFFERSPROC, "glGenFramebuffers");
-GETFUNC(_glCheckFramebufferStatus, def_glCheckFramebufferStatus, PFNGLCHECKFRAMEBUFFERSTATUSPROC, "glCheckFramebufferStatus");
-GETFUNC(_glDeleteFramebuffers, def_glDeleteFramebuffers, PFNGLDELETEFRAMEBUFFERSPROC, "glDeleteFramebuffers");
-GETFUNC(_glGetUniformLocation, def_glGetUniformLocation, PFNGLGETUNIFORMLOCATIONPROC, "glGetUniformLocation");
-GETFUNC(_glFramebufferTexture2D, def_glFramebufferTexture2D, PFNGLFRAMEBUFFERTEXTURE2DPROC, "glFramebufferTexture2D");
-GETFUNC(_glCompressedTexImage2D, def_glCompressedTexImage2D, PFNGLCOMPRESSEDTEXIMAGE2DPROC, "glCompressedTexImage2D");
-GETFUNC(_glBindBuffer, def_glBindBuffer, PFNGLBINDBUFFERPROC, "glBindBuffer");
-GETFUNC(_glGenBuffers, def_glGenBuffers, PFNGLGENBUFFERSPROC, "glGenBuffers");
-GETFUNC(_glBufferData, def_glBufferData, PFNGLBUFFERDATAPROC, "glBufferData");
-GETFUNC(_glGetProgramiv, def_glGetProgramiv, PFNGLGETPROGRAMIVPROC, "glGetProgramiv");
-GETFUNC(_glGenerateMipmap, def_glGenerateMipmap, PFNGLGENERATEMIPMAPPROC, "glGenerateMipmap");
-GETFUNC(_glStencilOpSeparate, def_glStencilOpSeparate, PFNGLSTENCILOPSEPARATEPROC, "glStencilOpSeparate");
-GETFUNC(_glGenRenderbuffers, def_glGenRenderbuffers, PFNGLGENRENDERBUFFERSPROC, "glGenRenderbuffers");
-GETFUNC(_glBindRenderbuffer, def_glBindRenderbuffer, PFNGLBINDRENDERBUFFERPROC, "glBindRenderbuffer");
-GETFUNC(_glRenderbufferStorage, def_glRenderbufferStorage, PFNGLRENDERBUFFERSTORAGEPROC, "glRenderbufferStorage");
-GETFUNC(_glFramebufferRenderbuffer, def_glFramebufferRenderbuffer, PFNGLFRAMEBUFFERRENDERBUFFERPROC, "glFramebufferRenderbuffer");
-GETFUNC(_glDeleteRenderbuffers, def_glDeleteRenderbuffers, PFNGLDELETERENDERBUFFERSPROC, "glDeleteRenderbuffers");
-GETFUNC(_glDeleteShader, def_glDeleteShader, PFNGLDELETESHADERPROC, "glDeleteShader");
-GETFUNC(_glDeleteBuffers, def_glDeleteBuffers, PFNGLDELETEBUFFERSPROC, "glDeleteBuffers");
-GETFUNC(_glGetProgramInfoLog, def_glGetProgramInfoLog, PFNGLGETPROGRAMINFOLOGPROC, "glGetProgramInfoLog");
-GETFUNC(_glBlendEquation, def_glBlendEquation, PFNGLBLENDEQUATIONPROC, "glBlendEquation");
-GETFUNC(_glBlendFuncSeparate, def_glBlendFuncSeparate, PFNGLBLENDFUNCSEPARATEPROC, "glBlendFuncSeparate");
-GETFUNC(_glBlendEquationSeparate, def_glBlendEquationSeparate, PFNGLBLENDEQUATIONSEPARATEPROC, "glBlendEquationSeparate");
-GETFUNC(_glGetAttribLocation, def_glGetAttribLocation, PFNGLGETATTRIBLOCATIONPROC, "glGetAttribLocation");
+    GETFUNC(_glShaderSource, def_glShaderSource, PFNGLSHADERSOURCEPROC, "glShaderSource");
+    GETFUNC(_glUseProgram, def_glUseProgram, PFNGLUSEPROGRAMPROC, "glUseProgram");
+    GETFUNC(_glVertexAttribPointer, def_glVertexAttribPointer, PFNGLVERTEXATTRIBPOINTERPROC, "glVertexAttribPointer");
+    GETFUNC(_glActiveTexture, def_glActiveTexture, PFNGLACTIVETEXTUREPROC, "glActiveTexture");
+    GETFUNC(_glEnableVertexAttribArray, def_glEnableVertexAttribArray, PFNGLENABLEVERTEXATTRIBARRAYPROC, "glEnableVertexAttribArray");
+    GETFUNC(_glDisableVertexAttribArray, def_glDisableVertexAttribArray, PFNGLDISABLEVERTEXATTRIBARRAYPROC, "glDisableVertexAttribArray");
+    GETFUNC(_glDeleteProgram, def_glDeleteProgram, PFNGLDELETEPROGRAMPROC, "glDeleteProgram");
+    GETFUNC(_glGetShaderiv, def_glGetShaderiv, PFNGLGETSHADERIVPROC, "glGetShaderiv");
+    GETFUNC(_glGetShaderInfoLog, def_glGetShaderInfoLog, PFNGLGETSHADERINFOLOGPROC, "glGetShaderInfoLog");
+    GETFUNC(_glCreateShader, def_glCreateShader, PFNGLCREATESHADERPROC, "glCreateShader");
+    GETFUNC(_glCreateProgram, def_glCreateProgram, PFNGLCREATEPROGRAMPROC, "glCreateProgram");
+    GETFUNC(_glAttachShader, def_glAttachShader, PFNGLATTACHSHADERPROC, "glAttachShader");
+    GETFUNC(_glCompileShader, def_glCompileShader, PFNGLCOMPILESHADERPROC, "glCompileShader");
+    GETFUNC(_glDetachShader, def_glDetachShader, PFNGLDETACHSHADERPROC, "glDetachShader");
+    GETFUNC(_glBindAttribLocation, def_glBindAttribLocation, PFNGLBINDATTRIBLOCATIONPROC, "glBindAttribLocation");
+    GETFUNC(_glLinkProgram, def_glLinkProgram, PFNGLLINKPROGRAMPROC, "glLinkProgram");
+    GETFUNC(_glUniform1i, def_glUniform1i, PFNGLUNIFORM1IPROC, "glUniform1i");
+    GETFUNC(_glUniform2f, def_glUniform2f, PFNGLUNIFORM2FPROC, "glUniform2f");
+    GETFUNC(_glUniform2fv, def_glUniform2fv, PFNGLUNIFORM2FVPROC, "glUniform2fv");
+    GETFUNC(_glUniform3fv, def_glUniform3fv, PFNGLUNIFORM3FVPROC, "glUniform3fv");
+    GETFUNC(_glUniform4fv, def_glUniform4fv, PFNGLUNIFORM4FVPROC, "glUniform4fv");
+    GETFUNC(_glUniform1f, def_glUniform1f, PFNGLUNIFORM1FPROC, "glUniform1f");
+    GETFUNC(_glUniformMatrix4fv, def_glUniformMatrix4fv, PFNGLUNIFORMMATRIX4FVPROC, "glUniformMatrix4fv");
+    GETFUNC(_glBindFramebuffer, def_glBindFramebuffer, PFNGLBINDFRAMEBUFFERPROC, "glBindFramebuffer");
+    GETFUNC(_glGenFramebuffers, def_glGenFramebuffers, PFNGLGENFRAMEBUFFERSPROC, "glGenFramebuffers");
+    GETFUNC(_glCheckFramebufferStatus, def_glCheckFramebufferStatus, PFNGLCHECKFRAMEBUFFERSTATUSPROC, "glCheckFramebufferStatus");
+    GETFUNC(_glDeleteFramebuffers, def_glDeleteFramebuffers, PFNGLDELETEFRAMEBUFFERSPROC, "glDeleteFramebuffers");
+    GETFUNC(_glGetUniformLocation, def_glGetUniformLocation, PFNGLGETUNIFORMLOCATIONPROC, "glGetUniformLocation");
+    GETFUNC(_glFramebufferTexture2D, def_glFramebufferTexture2D, PFNGLFRAMEBUFFERTEXTURE2DPROC, "glFramebufferTexture2D");
+    GETFUNC(_glCompressedTexImage2D, def_glCompressedTexImage2D, PFNGLCOMPRESSEDTEXIMAGE2DPROC, "glCompressedTexImage2D");
+    GETFUNC(_glBindBuffer, def_glBindBuffer, PFNGLBINDBUFFERPROC, "glBindBuffer");
+    GETFUNC(_glGenBuffers, def_glGenBuffers, PFNGLGENBUFFERSPROC, "glGenBuffers");
+    GETFUNC(_glBufferData, def_glBufferData, PFNGLBUFFERDATAPROC, "glBufferData");
+    GETFUNC(_glGetProgramiv, def_glGetProgramiv, PFNGLGETPROGRAMIVPROC, "glGetProgramiv");
+    GETFUNC(_glGenerateMipmap, def_glGenerateMipmap, PFNGLGENERATEMIPMAPPROC, "glGenerateMipmap");
+    GETFUNC(_glStencilOpSeparate, def_glStencilOpSeparate, PFNGLSTENCILOPSEPARATEPROC, "glStencilOpSeparate");
+    GETFUNC(_glGenRenderbuffers, def_glGenRenderbuffers, PFNGLGENRENDERBUFFERSPROC, "glGenRenderbuffers");
+    GETFUNC(_glBindRenderbuffer, def_glBindRenderbuffer, PFNGLBINDRENDERBUFFERPROC, "glBindRenderbuffer");
+    GETFUNC(_glRenderbufferStorage, def_glRenderbufferStorage, PFNGLRENDERBUFFERSTORAGEPROC, "glRenderbufferStorage");
+    GETFUNC(_glFramebufferRenderbuffer, def_glFramebufferRenderbuffer, PFNGLFRAMEBUFFERRENDERBUFFERPROC, "glFramebufferRenderbuffer");
+    GETFUNC(_glDeleteRenderbuffers, def_glDeleteRenderbuffers, PFNGLDELETERENDERBUFFERSPROC, "glDeleteRenderbuffers");
+    GETFUNC(_glDeleteShader, def_glDeleteShader, PFNGLDELETESHADERPROC, "glDeleteShader");
+    GETFUNC(_glDeleteBuffers, def_glDeleteBuffers, PFNGLDELETEBUFFERSPROC, "glDeleteBuffers");
+    GETFUNC(_glGetProgramInfoLog, def_glGetProgramInfoLog, PFNGLGETPROGRAMINFOLOGPROC, "glGetProgramInfoLog");
+    GETFUNC(_glBlendEquation, def_glBlendEquation, PFNGLBLENDEQUATIONPROC, "glBlendEquation");
+    GETFUNC(_glBlendFuncSeparate, def_glBlendFuncSeparate, PFNGLBLENDFUNCSEPARATEPROC, "glBlendFuncSeparate");
+    GETFUNC(_glBlendEquationSeparate, def_glBlendEquationSeparate, PFNGLBLENDEQUATIONSEPARATEPROC, "glBlendEquationSeparate");
+    GETFUNC(_glGetAttribLocation, def_glGetAttribLocation, PFNGLGETATTRIBLOCATIONPROC, "glGetAttribLocation");
 //!--getfunc-end--!
 
     return missing;

+ 48 - 48
oxygine/src/core/gl/oxgl.h

@@ -26,54 +26,54 @@
 extern "C"
 {
 //!--pfngl-begin--!
-extern PFNGLSHADERSOURCEPROC _glShaderSource;
-extern PFNGLUSEPROGRAMPROC _glUseProgram;
-extern PFNGLVERTEXATTRIBPOINTERPROC _glVertexAttribPointer;
-extern PFNGLACTIVETEXTUREPROC _glActiveTexture;
-extern PFNGLENABLEVERTEXATTRIBARRAYPROC _glEnableVertexAttribArray;
-extern PFNGLDISABLEVERTEXATTRIBARRAYPROC _glDisableVertexAttribArray;
-extern PFNGLDELETEPROGRAMPROC _glDeleteProgram;
-extern PFNGLGETSHADERIVPROC _glGetShaderiv;
-extern PFNGLGETSHADERINFOLOGPROC _glGetShaderInfoLog;
-extern PFNGLCREATESHADERPROC _glCreateShader;
-extern PFNGLCREATEPROGRAMPROC _glCreateProgram;
-extern PFNGLATTACHSHADERPROC _glAttachShader;
-extern PFNGLCOMPILESHADERPROC _glCompileShader;
-extern PFNGLDETACHSHADERPROC _glDetachShader;
-extern PFNGLBINDATTRIBLOCATIONPROC _glBindAttribLocation;
-extern PFNGLLINKPROGRAMPROC _glLinkProgram;
-extern PFNGLUNIFORM1IPROC _glUniform1i;
-extern PFNGLUNIFORM2FPROC _glUniform2f;
-extern PFNGLUNIFORM2FVPROC _glUniform2fv;
-extern PFNGLUNIFORM3FVPROC _glUniform3fv;
-extern PFNGLUNIFORM4FVPROC _glUniform4fv;
-extern PFNGLUNIFORM1FPROC _glUniform1f;
-extern PFNGLUNIFORMMATRIX4FVPROC _glUniformMatrix4fv;
-extern PFNGLBINDFRAMEBUFFERPROC _glBindFramebuffer;
-extern PFNGLGENFRAMEBUFFERSPROC _glGenFramebuffers;
-extern PFNGLCHECKFRAMEBUFFERSTATUSPROC _glCheckFramebufferStatus;
-extern PFNGLDELETEFRAMEBUFFERSPROC _glDeleteFramebuffers;
-extern PFNGLGETUNIFORMLOCATIONPROC _glGetUniformLocation;
-extern PFNGLFRAMEBUFFERTEXTURE2DPROC _glFramebufferTexture2D;
-extern PFNGLCOMPRESSEDTEXIMAGE2DPROC _glCompressedTexImage2D;
-extern PFNGLBINDBUFFERPROC _glBindBuffer;
-extern PFNGLGENBUFFERSPROC _glGenBuffers;
-extern PFNGLBUFFERDATAPROC _glBufferData;
-extern PFNGLGETPROGRAMIVPROC _glGetProgramiv;
-extern PFNGLGENERATEMIPMAPPROC _glGenerateMipmap;
-extern PFNGLSTENCILOPSEPARATEPROC _glStencilOpSeparate;
-extern PFNGLGENRENDERBUFFERSPROC _glGenRenderbuffers;
-extern PFNGLBINDRENDERBUFFERPROC _glBindRenderbuffer;
-extern PFNGLRENDERBUFFERSTORAGEPROC _glRenderbufferStorage;
-extern PFNGLFRAMEBUFFERRENDERBUFFERPROC _glFramebufferRenderbuffer;
-extern PFNGLDELETERENDERBUFFERSPROC _glDeleteRenderbuffers;
-extern PFNGLDELETESHADERPROC _glDeleteShader;
-extern PFNGLDELETEBUFFERSPROC _glDeleteBuffers;
-extern PFNGLGETPROGRAMINFOLOGPROC _glGetProgramInfoLog;
-extern PFNGLBLENDEQUATIONPROC _glBlendEquation;
-extern PFNGLBLENDFUNCSEPARATEPROC _glBlendFuncSeparate;
-extern PFNGLBLENDEQUATIONSEPARATEPROC _glBlendEquationSeparate;
-extern PFNGLGETATTRIBLOCATIONPROC _glGetAttribLocation;
+    extern PFNGLSHADERSOURCEPROC _glShaderSource;
+    extern PFNGLUSEPROGRAMPROC _glUseProgram;
+    extern PFNGLVERTEXATTRIBPOINTERPROC _glVertexAttribPointer;
+    extern PFNGLACTIVETEXTUREPROC _glActiveTexture;
+    extern PFNGLENABLEVERTEXATTRIBARRAYPROC _glEnableVertexAttribArray;
+    extern PFNGLDISABLEVERTEXATTRIBARRAYPROC _glDisableVertexAttribArray;
+    extern PFNGLDELETEPROGRAMPROC _glDeleteProgram;
+    extern PFNGLGETSHADERIVPROC _glGetShaderiv;
+    extern PFNGLGETSHADERINFOLOGPROC _glGetShaderInfoLog;
+    extern PFNGLCREATESHADERPROC _glCreateShader;
+    extern PFNGLCREATEPROGRAMPROC _glCreateProgram;
+    extern PFNGLATTACHSHADERPROC _glAttachShader;
+    extern PFNGLCOMPILESHADERPROC _glCompileShader;
+    extern PFNGLDETACHSHADERPROC _glDetachShader;
+    extern PFNGLBINDATTRIBLOCATIONPROC _glBindAttribLocation;
+    extern PFNGLLINKPROGRAMPROC _glLinkProgram;
+    extern PFNGLUNIFORM1IPROC _glUniform1i;
+    extern PFNGLUNIFORM2FPROC _glUniform2f;
+    extern PFNGLUNIFORM2FVPROC _glUniform2fv;
+    extern PFNGLUNIFORM3FVPROC _glUniform3fv;
+    extern PFNGLUNIFORM4FVPROC _glUniform4fv;
+    extern PFNGLUNIFORM1FPROC _glUniform1f;
+    extern PFNGLUNIFORMMATRIX4FVPROC _glUniformMatrix4fv;
+    extern PFNGLBINDFRAMEBUFFERPROC _glBindFramebuffer;
+    extern PFNGLGENFRAMEBUFFERSPROC _glGenFramebuffers;
+    extern PFNGLCHECKFRAMEBUFFERSTATUSPROC _glCheckFramebufferStatus;
+    extern PFNGLDELETEFRAMEBUFFERSPROC _glDeleteFramebuffers;
+    extern PFNGLGETUNIFORMLOCATIONPROC _glGetUniformLocation;
+    extern PFNGLFRAMEBUFFERTEXTURE2DPROC _glFramebufferTexture2D;
+    extern PFNGLCOMPRESSEDTEXIMAGE2DPROC _glCompressedTexImage2D;
+    extern PFNGLBINDBUFFERPROC _glBindBuffer;
+    extern PFNGLGENBUFFERSPROC _glGenBuffers;
+    extern PFNGLBUFFERDATAPROC _glBufferData;
+    extern PFNGLGETPROGRAMIVPROC _glGetProgramiv;
+    extern PFNGLGENERATEMIPMAPPROC _glGenerateMipmap;
+    extern PFNGLSTENCILOPSEPARATEPROC _glStencilOpSeparate;
+    extern PFNGLGENRENDERBUFFERSPROC _glGenRenderbuffers;
+    extern PFNGLBINDRENDERBUFFERPROC _glBindRenderbuffer;
+    extern PFNGLRENDERBUFFERSTORAGEPROC _glRenderbufferStorage;
+    extern PFNGLFRAMEBUFFERRENDERBUFFERPROC _glFramebufferRenderbuffer;
+    extern PFNGLDELETERENDERBUFFERSPROC _glDeleteRenderbuffers;
+    extern PFNGLDELETESHADERPROC _glDeleteShader;
+    extern PFNGLDELETEBUFFERSPROC _glDeleteBuffers;
+    extern PFNGLGETPROGRAMINFOLOGPROC _glGetProgramInfoLog;
+    extern PFNGLBLENDEQUATIONPROC _glBlendEquation;
+    extern PFNGLBLENDFUNCSEPARATEPROC _glBlendFuncSeparate;
+    extern PFNGLBLENDEQUATIONSEPARATEPROC _glBlendEquationSeparate;
+    extern PFNGLGETATTRIBLOCATIONPROC _glGetAttribLocation;
 //!--pfngl-end--!
 }
 

+ 1 - 1
oxygine/src/core/ios/HttpRequestCocoaTask.h

@@ -16,7 +16,7 @@ namespace oxygine
         HttpRequestCocoaTask();
         ~HttpRequestCocoaTask();
 
-        void complete_(NSData* data, bool error);
+        void complete_(NSData* data, bool error, int respCode);
         void progress_(int loaded, int total);
 
     protected:

+ 15 - 9
oxygine/src/core/ios/HttpRequestCocoaTask.mm

@@ -65,17 +65,21 @@ static HttpRequestTask *createTask()
     
     [fileManager removeItemAtURL:destUrl error:&fileManagerError];
     
+    /*
     if (code == 200)
     {
         [fileManager copyItemAtURL:location toURL:destUrl error:&fileManagerError];
     
-        task->complete_(/* data */ nil, /* error */ false);
+        task->complete_(nil,  false);
     }
     else
     {
         task->complete_(nil, true);
         
     }
+    */
+
+    task->complete_(nil, false, code);
 }
 
 #pragma mark - NSURLSessionTaskDelegate
@@ -98,7 +102,7 @@ static HttpRequestTask *createTask()
         }
         else
         {
-            httpRequestTask->complete_(/* data */ nil, /* error */ true);
+            httpRequestTask->complete_(/* data */ nil, /* error */ true, 0);
         }
     }
     
@@ -200,8 +204,10 @@ namespace oxygine
         progress(loaded, total);
     }
     
-    void HttpRequestCocoaTask::complete_(NSData *data, bool error)
+    void HttpRequestCocoaTask::complete_(NSData *data, bool error, int respCode)
     {
+        _responseCode = respCode;
+        
         if (error)
             onError();
         else
@@ -245,16 +251,15 @@ namespace oxygine
                                                   NSError *error) {
                                   // handle response
                                   
-                                  bool httpError = false;
                                   
                                   if ([response isKindOfClass:[NSHTTPURLResponse class]]) {
                                       NSHTTPURLResponse *httpResponse = ((NSHTTPURLResponse *)response);
-                                      NSInteger statusCode = httpResponse.statusCode;
-                                      if (statusCode != 200)
-                                          httpError = true;
+                                      _responseCode = httpResponse.statusCode;
+                                      //if (statusCode != 200)
+                                       //   httpError = true;
                                   }
                                   
-                                  if (error || httpError)
+                                  if (error)
                                   {
                                       onError();
                                   }
@@ -266,6 +271,7 @@ namespace oxygine
                                           size_t len = data.length;
                                           _response.assign((const char*)ptr, (const char*)ptr + len);
                                       }
+                                      
                                       onComplete();
                                   }
                                   releaseRef();
@@ -283,4 +289,4 @@ namespace oxygine
         
         [task resume];
     }
-}
+}

+ 17 - 1
oxygine/src/core/oxygine.cpp

@@ -55,6 +55,8 @@
 #include "ios/ios.h"
 #endif
 
+#include "pthread.h"
+
 #ifdef OXYGINE_SDL
 extern "C"
 {
@@ -98,6 +100,8 @@ namespace oxygine
 
     spEventDispatcher _dispatcher;
 
+    static pthread_t _mainThread;
+
 #ifdef __S3E__
 
     int32 pointerEvent(void* sysData, void* u)
@@ -213,6 +217,15 @@ namespace oxygine
 #endif
         }
 
+        bool isMainThread()
+        {
+#ifdef OX_NO_MT
+            return true;
+#else
+            return pthread_equal(_mainThread, pthread_self()) != 0;
+#endif
+        }
+
 #ifdef EMSCRIPTEN
         void SDL_handleEvent(SDL_Event& event, bool& done);
         int SDL_eventsHandler(void*, SDL_Event* e)
@@ -419,7 +432,10 @@ namespace oxygine
 #endif
 
 #endif
-            LoadResourcesContext::init();
+
+#ifndef OX_NO_MT
+            _mainThread = pthread_self();
+#endif
             init2();
 
             return 1;

+ 2 - 0
oxygine/src/core/oxygine.h

@@ -110,6 +110,8 @@ namespace oxygine
         bool isActive();
         bool hasFocus();
 
+        bool isMainThread();
+
 
 #ifdef OXYGINE_SDL
         SDL_GLContext   getGLContext();

+ 3 - 3
oxygine/src/dev_tools/TreeInspector.h

@@ -31,10 +31,10 @@ namespace oxygine
 
     protected:
         static RectF calcBounds(Actor*);
-        void onAdded2Stage();
-        void onRemovedFromStage();
+        void onAdded2Stage() override;
+        void onRemovedFromStage() override;
 
-        void render(const RenderState& rs);
+        void render(const RenderState& rs) override;
 
         void updateSizes();
 

+ 22 - 39
oxygine/src/dev_tools/TreeInspectorPreview.h

@@ -69,49 +69,32 @@ namespace oxygine
         cached_batch& current();
         const cached_batch& current() const;
 
-        spNativeTexture createTexture();
-
-        void begin(const Rect& viewport, const Color* color);
-
-        const VertexDeclaration* getVertexDeclaration(bvertex_format fmt) const;
-
-        void setDefaultSettings();
-
-        void setRenderTarget(spNativeTexture);
-
-        spNativeTexture getRenderTarget() const OVERRIDE;
-
-        void setShaderProgram(ShaderProgram* program);
-
-        void setTexture(int sampler, spNativeTexture texture);
-
-        void setState(STATE state, unsigned int value);
+        spNativeTexture createTexture() override;
+        void begin(const Rect& viewport, const Color* color) override;
+        const VertexDeclaration* getVertexDeclaration(bvertex_format fmt) const override;
+        void setDefaultSettings() override;
+        void setRenderTarget(spNativeTexture) override;
+        spNativeTexture getRenderTarget() const override;
+        void setShaderProgram(ShaderProgram* program) override;
+        void setTexture(int sampler, spNativeTexture texture) override;
+        void setState(STATE state, unsigned int value) override;
 
         void addUni(const char* id, cached_batch::uni::type tp, const void* ptr, int sz);
 
-        void setUniformInt(const char* id, int v);
-
-        void setUniform(const char* id, const Vector4* v, int num);
-
-        void setUniform(const char* id, const Vector3* v, int num);
-
-        void setUniform(const char* id, const Vector2* v, int num);
-
-        void setUniform(const char* id, const Matrix* v);
-
-        void setUniform(const char* id, float v);
-
-        void setBlendFunc(BLEND_TYPE src, BLEND_TYPE dest);
-
-        void setScissorRect(const Rect*);
-        bool getScissorRect(Rect&) const OVERRIDE;
+        void setUniformInt(const char* id, int v) override;
+        void setUniform(const char* id, const Vector4* v, int num) override;
+        void setUniform(const char* id, const Vector3* v, int num) override;
+        void setUniform(const char* id, const Vector2* v, int num) override;
+        void setUniform(const char* id, const Matrix* v) override;
+        void setUniform(const char* id, float v) override;
+        void setBlendFunc(BLEND_TYPE src, BLEND_TYPE dest) override;
+        void setScissorRect(const Rect*) override;
+        bool getScissorRect(Rect&) const override;
 
         void nextBatch();
 
-        void draw(PRIMITIVE_TYPE pt, const VertexDeclaration* decl, const void* verticesData,  unsigned int numVertices);
-
-        void draw(PRIMITIVE_TYPE pt, const VertexDeclaration* decl, const void* verticesData,  unsigned int numVertices, const unsigned short* indicesData, unsigned int numIndices);
-
+        void draw(PRIMITIVE_TYPE pt, const VertexDeclaration* decl, const void* verticesData,  unsigned int numVertices) override;
+        void draw(PRIMITIVE_TYPE pt, const VertexDeclaration* decl, const void* verticesData,  unsigned int numVertices, const unsigned short* indicesData, unsigned int numIndices) override;
         void render(const AffineTransform& m);
         void transform(const AffineTransform& m);
 
@@ -128,10 +111,10 @@ namespace oxygine
 
         void init(spActor item, const Vector2& size, bool tree);
 
-        void doRender(RenderState const& parentRenderState);
+        void doRender(const RenderState& parentRenderState) override;
 
     private:
-        void doUpdate(const UpdateState& us);
+        void doUpdate(const UpdateState& us) override;
         friend class TreeInspector;
         //bool _onEvent(const EventState &es);
 

+ 5 - 5
oxygine/src/oxygine-forwards.h

@@ -131,16 +131,16 @@ namespace oxygine
 
 
 #define DECLARE_COPYCLONE(type) type(const type &src, cloneOptions);\
-    virtual type* clone(cloneOptions opt=0) const {return new type(*this, opt);}\
+    virtual type* clone(cloneOptions opt=0) const override {return new type(*this, opt);}\
 
 
 #define DECLARE_COPYCLONE_NEW(type)  type(const type &src, cloneOptions opt = 0){copyFrom(src, opt);}\
-    virtual type* clone(cloneOptions opt=0) const {type *tp = new type(); tp->copyFrom(*this, opt); return tp;}\
-    virtual void copyFrom(const type &src, cloneOptions opt = 0);
+    virtual type* clone(cloneOptions opt=0) const override {type *tp = new type(); tp->copyFrom(*this, opt); return tp;}\
+    void copyFrom(const type &src, cloneOptions opt = 0);
 
 #define DECLARE_COPYCLONE_NEW2(type)  type(const type &src, cloneOptions opt = 0);\
-    virtual type* clone(cloneOptions opt=0) const;\
-    virtual void copyFrom(const type &src, cloneOptions opt = 0);
+    virtual type* clone(cloneOptions opt=0) const override;\
+    void copyFrom(const type &src, cloneOptions opt = 0);
 
 #define CREATE_COPYCLONE_NEW(type) type::type(const type &src, cloneOptions opt){copyFrom(src, opt);}\
     type* type::clone(cloneOptions opt) const {type *tp = new type(); tp->copyFrom(*this, opt); return tp;}

+ 1 - 20
oxygine/src/res/CreateResourceContext.cpp

@@ -7,30 +7,11 @@
 
 namespace oxygine
 {
-    static pthread_t _mainThread;
-
-
-    void LoadResourcesContext::init()
-    {
-#ifndef OX_NO_MT
-        _mainThread = pthread_self();
-#endif
-    }
-
-    bool isMainThread()
-    {
-#ifdef OX_NO_MT
-        return true;
-#else
-        return pthread_equal(_mainThread, pthread_self()) != 0;
-#endif
-    }
-
     LoadResourcesContext* LoadResourcesContext::get()
     {
         LoadResourcesContext* mtcontext = &MTLoadingResourcesContext::instance;
         LoadResourcesContext* scontext = &SingleThreadResourcesContext::instance;
-        return isMainThread() ? scontext : mtcontext;
+        return core::isMainThread() ? scontext : mtcontext;
     }
 
     CreateTextureTask::CreateTextureTask(): linearFilter(true), clamp2edge(true)

+ 6 - 9
oxygine/src/res/CreateResourceContext.h

@@ -6,8 +6,6 @@
 
 namespace oxygine
 {
-    bool isMainThread();
-
     /**internal class*/
     class XmlWalker
     {
@@ -97,7 +95,6 @@ namespace oxygine
     {
     public:
         static LoadResourcesContext* get();
-        static void init();
 
         virtual ~LoadResourcesContext() {}
 
@@ -110,23 +107,23 @@ namespace oxygine
     {
     public:
         static SingleThreadResourcesContext instance;
-        void createTexture(const CreateTextureTask& opt) OVERRIDE;
-        bool isNeedProceed(spNativeTexture t) OVERRIDE;
+        void createTexture(const CreateTextureTask& opt) override;
+        bool isNeedProceed(spNativeTexture t) override;
     };
 
     class MTLoadingResourcesContext : public LoadResourcesContext
     {
     public:
         static MTLoadingResourcesContext instance;
-        void createTexture(const CreateTextureTask& opt) OVERRIDE;
-        bool isNeedProceed(spNativeTexture t) OVERRIDE;
+        void createTexture(const CreateTextureTask& opt) override;
+        bool isNeedProceed(spNativeTexture t) override;
     };
 
     class RestoreResourcesContext: public LoadResourcesContext
     {
     public:
         static RestoreResourcesContext instance;
-        void createTexture(const CreateTextureTask& opt) OVERRIDE;
-        bool isNeedProceed(spNativeTexture t);
+        void createTexture(const CreateTextureTask& opt) override;
+        bool isNeedProceed(spNativeTexture t) override;
     };
 }

+ 2 - 2
oxygine/src/res/ResAnim.h

@@ -50,8 +50,8 @@ namespace oxygine
 
     protected:
 
-        void _load(LoadResourcesContext* ctx = 0);
-        void _unload();
+        void _load(LoadResourcesContext* ctx = 0) override;
+        void _unload() override;
 
         int         _columns;
         Resource*   _atlas;

+ 2 - 2
oxygine/src/res/ResAtlas.h

@@ -32,8 +32,8 @@ namespace oxygine
     protected:
         void _restore(Restorable* r, void* user);
 
-        void _load(LoadResourcesContext*);
-        void _unload();
+        void _load(LoadResourcesContext*) override;
+        void _unload() override;
 
         //void loadAtlas(CreateResourceContext& context);
         ResAnim* createEmpty(const XmlWalker& walker, CreateResourceContext& context);

+ 2 - 2
oxygine/src/res/ResAtlasGeneric.h

@@ -21,7 +21,7 @@ namespace oxygine
         void loadAtlas(CreateResourceContext& context);
         void loadAtlas2(CreateResourceContext& context);
 
-        void _load(LoadResourcesContext*) OVERRIDE;
-        void _unload() OVERRIDE;
+        void _load(LoadResourcesContext*) override;
+        void _unload() override;
     };
 }

+ 2 - 2
oxygine/src/res/ResBuffer.h

@@ -20,8 +20,8 @@ namespace oxygine
         const file::buffer& getBuffer() const {return _buffer;}
 
     private:
-        void _load(LoadResourcesContext*);
-        void _unload();
+        void _load(LoadResourcesContext*) override;
+        void _unload() override;
 
         file::buffer _buffer;
         std::string _path;

+ 5 - 5
oxygine/src/res/ResFontBM.h

@@ -22,11 +22,11 @@ namespace oxygine
 
         void cleanup();
 
-        const Font* getFont(const char* name = 0, int size = 0) const OVERRIDE;
+        const Font* getFont(const char* name = 0, int size = 0) const override;
 
-        bool isSDF(int& size) const OVERRIDE;
+        bool isSDF(int& size) const override;
 
-        const Font* getClosestFont(float worldScale, int styleFontSize, float& resScale) const OVERRIDE;
+        const Font* getClosestFont(float worldScale, int styleFontSize, float& resScale) const override;
 
     private:
         struct page
@@ -38,8 +38,8 @@ namespace oxygine
         void addPage(int tw, int th, const char* head, const char* file);
 
         void _loadPage(const page& p, LoadResourcesContext*);
-        void _load(LoadResourcesContext*);
-        void _unload();
+        void _load(LoadResourcesContext*) override;
+        void _unload() override;
         void _restore(Restorable*, void*);
         void _createFont(CreateResourceContext* context, bool sd, bool bmc, int downsample);
         void _createFontFromTxt(CreateResourceContext* context, char* fontData, const std::string& fontPath, int downsample);

+ 2 - 2
oxygine/src/res/ResStarlingAtlas.h

@@ -19,8 +19,8 @@ namespace oxygine
 
     private:
         void loadAtlas(CreateResourceContext& context);
-        void _load(LoadResourcesContext*);
-        void _unload();
+        void _load(LoadResourcesContext*)override;
+        void _unload() override;
         void _restore(Restorable* r, void*);
 
         spNativeTexture _texture;

+ 2 - 2
oxygine/src/res/Resources.h

@@ -120,8 +120,8 @@ namespace oxygine
 
     protected:
         void updateName(const std::string& filename);
-        void _load(LoadResourcesContext* context);
-        void _unload();
+        void _load(LoadResourcesContext* context) override;
+        void _unload() override;
 
 
         struct registeredResource

+ 1 - 1
oxygine/src/res/SingleResAnim.h

@@ -8,7 +8,7 @@ namespace oxygine
     {
     public:
         void init(const std::string& file, int columns = 1, int rows = 1, float scaleFactor = 1.0f);
-        void init(Image* original, int columns = 1, int rows = 1, float scaleFactor = 1.0f) OVERRIDE;
+        void init(Image* original, int columns = 1, int rows = 1, float scaleFactor = 1.0f) override;
 
         spNativeTexture getTexture() const;
 

+ 6 - 6
oxygine/src/text_utils/Node.h

@@ -69,11 +69,11 @@ namespace oxygine
             TextNode(const char* v);
 
             text_data _data;
-            void _resize(Aligner& rd);
-            void _finalPass(Aligner& rd);
-            void draw(DrawContext& dc);
+            void _resize(Aligner& rd) override;
+            void _finalPass(Aligner& rd) override;
+            void draw(DrawContext& dc) override;
 
-            Symbol* getSymbol(int& pos) OVERRIDE;
+            Symbol* getSymbol(int& pos) override;
 
 #ifdef OX_DEBUG
             std::string _text;//only for debug
@@ -84,8 +84,8 @@ namespace oxygine
         {
         public:
             DivNode(const pugi::xml_node& node);
-            void _resize(Aligner& rd);
-            void draw(DrawContext& dc);
+            void _resize(Aligner& rd) override;
+            void draw(DrawContext& dc) override;
 
             Color color;
         };

+ 50 - 203
oxygine/third_party/win32/curl/curl/curl.h

@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2015, Daniel Stenberg, <[email protected]>, et al.
+ * Copyright (C) 1998 - 2013, Daniel Stenberg, <[email protected]>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -69,7 +69,7 @@
    require it! */
 #if defined(_AIX) || defined(__NOVELL_LIBC__) || defined(__NetBSD__) || \
     defined(__minix) || defined(__SYMBIAN32__) || defined(__INTEGRITY) || \
-    defined(ANDROID) || defined(__ANDROID__) || defined(__OpenBSD__) || \
+    defined(ANDROID) || defined(__ANDROID__) || \
    (defined(__FreeBSD_version) && (__FreeBSD_version < 800000))
 #include <sys/select.h>
 #endif
@@ -156,22 +156,12 @@ struct curl_httppost {
                                        HTTPPOST_CALLBACK posts */
 };
 
-/* This is the CURLOPT_PROGRESSFUNCTION callback proto. It is now considered
-   deprecated but was the only choice up until 7.31.0 */
 typedef int (*curl_progress_callback)(void *clientp,
                                       double dltotal,
                                       double dlnow,
                                       double ultotal,
                                       double ulnow);
 
-/* This is the CURLOPT_XFERINFOFUNCTION callback proto. It was introduced in
-   7.32.0, it avoids floating point and provides more detailed information. */
-typedef int (*curl_xferinfo_callback)(void *clientp,
-                                      curl_off_t dltotal,
-                                      curl_off_t dlnow,
-                                      curl_off_t ultotal,
-                                      curl_off_t ulnow);
-
 #ifndef CURL_MAX_WRITE_SIZE
   /* Tests have proven that 20K is a very bad buffer size for uploads on
      Windows, while 16K for some odd reason performed a lot better.
@@ -423,9 +413,7 @@ typedef enum {
   CURLE_FTP_WEIRD_PASV_REPLY,    /* 13 */
   CURLE_FTP_WEIRD_227_FORMAT,    /* 14 */
   CURLE_FTP_CANT_GET_HOST,       /* 15 */
-  CURLE_HTTP2,                   /* 16 - A problem in the http2 framing layer.
-                                    [was obsoleted in August 2007 for 7.17.0,
-                                    reused in July 2014 for 7.38.0] */
+  CURLE_OBSOLETE16,              /* 16 - NOT USED */
   CURLE_FTP_COULDNT_SET_TYPE,    /* 17 */
   CURLE_PARTIAL_FILE,            /* 18 */
   CURLE_FTP_COULDNT_RETR_FILE,   /* 19 */
@@ -521,19 +509,13 @@ typedef enum {
   CURLE_CHUNK_FAILED,            /* 88 - chunk callback reported error */
   CURLE_NO_CONNECTION_AVAILABLE, /* 89 - No connection available, the
                                     session will be queued */
-  CURLE_SSL_PINNEDPUBKEYNOTMATCH, /* 90 - specified pinned public key did not
-                                     match */
-  CURLE_SSL_INVALIDCERTSTATUS,   /* 91 - invalid certificate status */
   CURL_LAST /* never use! */
 } CURLcode;
 
 #ifndef CURL_NO_OLDIES /* define this to test if your app builds with all
                           the obsolete stuff removed! */
 
-/* Previously obsolete error code re-used in 7.38.0 */
-#define CURLE_OBSOLETE16 CURLE_HTTP2
-
-/* Previously obsolete error codes re-used in 7.24.0 */
+/* Previously obsoletes error codes re-used in 7.24.0 */
 #define CURLE_OBSOLETE10 CURLE_FTP_ACCEPT_FAILED
 #define CURLE_OBSOLETE12 CURLE_FTP_ACCEPT_TIMEOUT
 
@@ -587,16 +569,6 @@ typedef enum {
    make programs break */
 #define CURLE_ALREADY_COMPLETE 99999
 
-/* Provide defines for really old option names */
-#define CURLOPT_FILE CURLOPT_WRITEDATA /* name changed in 7.9.7 */
-#define CURLOPT_INFILE CURLOPT_READDATA /* name changed in 7.9.7 */
-#define CURLOPT_WRITEHEADER CURLOPT_HEADERDATA
-
-/* Since long deprecated options with no code in the lib that does anything
-   with them. */
-#define CURLOPT_WRITEINFO CURLOPT_OBSOLETE40
-#define CURLOPT_CLOSEPOLICY CURLOPT_OBSOLETE72
-
 #endif /*!CURL_NO_OLDIES*/
 
 /* This prototype applies to all conversion callbacks */
@@ -627,8 +599,7 @@ typedef enum {
  * CURLAUTH_NONE         - No HTTP authentication
  * CURLAUTH_BASIC        - HTTP Basic authentication (default)
  * CURLAUTH_DIGEST       - HTTP Digest authentication
- * CURLAUTH_NEGOTIATE    - HTTP Negotiate (SPNEGO) authentication
- * CURLAUTH_GSSNEGOTIATE - Alias for CURLAUTH_NEGOTIATE (deprecated)
+ * CURLAUTH_GSSNEGOTIATE - HTTP GSS-Negotiate authentication
  * CURLAUTH_NTLM         - HTTP NTLM authentication
  * CURLAUTH_DIGEST_IE    - HTTP Digest authentication with IE flavour
  * CURLAUTH_NTLM_WB      - HTTP NTLM authentication delegated to winbind helper
@@ -641,9 +612,7 @@ typedef enum {
 #define CURLAUTH_NONE         ((unsigned long)0)
 #define CURLAUTH_BASIC        (((unsigned long)1)<<0)
 #define CURLAUTH_DIGEST       (((unsigned long)1)<<1)
-#define CURLAUTH_NEGOTIATE    (((unsigned long)1)<<2)
-/* Deprecated since the advent of CURLAUTH_NEGOTIATE */
-#define CURLAUTH_GSSNEGOTIATE CURLAUTH_NEGOTIATE
+#define CURLAUTH_GSSNEGOTIATE (((unsigned long)1)<<2)
 #define CURLAUTH_NTLM         (((unsigned long)1)<<3)
 #define CURLAUTH_DIGEST_IE    (((unsigned long)1)<<4)
 #define CURLAUTH_NTLM_WB      (((unsigned long)1)<<5)
@@ -666,18 +635,16 @@ typedef enum {
 
 #define CURL_ERROR_SIZE 256
 
-enum curl_khtype {
-  CURLKHTYPE_UNKNOWN,
-  CURLKHTYPE_RSA1,
-  CURLKHTYPE_RSA,
-  CURLKHTYPE_DSS
-};
-
 struct curl_khkey {
   const char *key; /* points to a zero-terminated string encoded with base64
                       if len is zero, otherwise to the "raw" data */
   size_t len;
-  enum curl_khtype keytype;
+  enum type {
+    CURLKHTYPE_UNKNOWN,
+    CURLKHTYPE_RSA1,
+    CURLKHTYPE_RSA,
+    CURLKHTYPE_DSS
+  } keytype;
 };
 
 /* this is the set of return values expected from the curl_sshkeycallback
@@ -725,10 +692,6 @@ typedef enum {
    servers, a user can this way allow the vulnerability back. */
 #define CURLSSLOPT_ALLOW_BEAST (1<<0)
 
-/* - NO_REVOKE tells libcurl to disable certificate revocation checks for those
-   SSL backends where such behavior is present. */
-#define CURLSSLOPT_NO_REVOKE (1<<1)
-
 #ifndef CURL_NO_OLDIES /* define this to test if your app builds with all
                           the obsolete stuff removed! */
 
@@ -779,10 +742,6 @@ typedef enum {
   CURLFTPMETHOD_LAST       /* not an option, never use */
 } curl_ftpmethod;
 
-/* bitmask defines for CURLOPT_HEADEROPT */
-#define CURLHEADER_UNIFIED  0
-#define CURLHEADER_SEPARATE (1<<0)
-
 /* CURLPROTO_ defines are for the CURLOPT_*PROTOCOLS options */
 #define CURLPROTO_HTTP   (1<<0)
 #define CURLPROTO_HTTPS  (1<<1)
@@ -810,8 +769,6 @@ typedef enum {
 #define CURLPROTO_RTMPS  (1<<23)
 #define CURLPROTO_RTMPTS (1<<24)
 #define CURLPROTO_GOPHER (1<<25)
-#define CURLPROTO_SMB    (1<<26)
-#define CURLPROTO_SMBS   (1<<27)
 #define CURLPROTO_ALL    (~0) /* enable everything */
 
 /* long may be 32 or 64 bits, but we should never depend on anything else
@@ -847,10 +804,10 @@ typedef enum {
 
 typedef enum {
   /* This is the FILE * or void * the regular output should be written to. */
-  CINIT(WRITEDATA, OBJECTPOINT, 1),
+  CINIT(FILE, OBJECTPOINT, 1),
 
   /* The full URL to get/put */
-  CINIT(URL, OBJECTPOINT, 2),
+  CINIT(URL,  OBJECTPOINT, 2),
 
   /* Port number to connect to, if other than default. */
   CINIT(PORT, LONG, 3),
@@ -858,10 +815,10 @@ typedef enum {
   /* Name of proxy to use. */
   CINIT(PROXY, OBJECTPOINT, 4),
 
-  /* "user:password;options" to use when fetching. */
+  /* "name:password" to use when fetching. */
   CINIT(USERPWD, OBJECTPOINT, 5),
 
-  /* "user:password" to use with proxy. */
+  /* "name:password" to use with proxy. */
   CINIT(PROXYUSERPWD, OBJECTPOINT, 6),
 
   /* Range to get, specified as an ASCII string. */
@@ -870,7 +827,7 @@ typedef enum {
   /* not used */
 
   /* Specified file stream to upload from (use as input): */
-  CINIT(READDATA, OBJECTPOINT, 9),
+  CINIT(INFILE, OBJECTPOINT, 9),
 
   /* Buffer to receive error messages in, must be at least CURL_ERROR_SIZE
    * bytes big. If this is not used, error messages go to stderr instead: */
@@ -934,8 +891,7 @@ typedef enum {
   /* Set cookie in request: */
   CINIT(COOKIE, OBJECTPOINT, 22),
 
-  /* This points to a linked list of headers, struct curl_slist kind. This
-     list is also used for RTSP (in spite of its name) */
+  /* This points to a linked list of headers, struct curl_slist kind */
   CINIT(HTTPHEADER, OBJECTPOINT, 23),
 
   /* This points to a linked list of post entries, struct curl_httppost */
@@ -955,7 +911,7 @@ typedef enum {
 
   /* send FILE * or void * to store headers to, if you use a callback it
      is simply passed to the callback unmodified */
-  CINIT(HEADERDATA, OBJECTPOINT, 29),
+  CINIT(WRITEHEADER, OBJECTPOINT, 29),
 
   /* point to a file to read the initial cookies from, also enables
      "cookie awareness" */
@@ -988,13 +944,13 @@ typedef enum {
   /* send linked-list of post-transfer QUOTE commands */
   CINIT(POSTQUOTE, OBJECTPOINT, 39),
 
-  CINIT(OBSOLETE40, OBJECTPOINT, 40), /* OBSOLETE, do not use! */
+  CINIT(WRITEINFO, OBJECTPOINT, 40), /* DEPRECATED, do not use! */
 
   CINIT(VERBOSE, LONG, 41),      /* talk a lot */
   CINIT(HEADER, LONG, 42),       /* throw the header out too */
   CINIT(NOPROGRESS, LONG, 43),   /* shut off the progress meter */
   CINIT(NOBODY, LONG, 44),       /* use HEAD to get http document */
-  CINIT(FAILONERROR, LONG, 45),  /* no output on http error codes >= 400 */
+  CINIT(FAILONERROR, LONG, 45),  /* no output on http error codes >= 300 */
   CINIT(UPLOAD, LONG, 46),       /* this is an upload */
   CINIT(POST, LONG, 47),         /* HTTP POST method */
   CINIT(DIRLISTONLY, LONG, 48),  /* bare names when listing directories */
@@ -1012,16 +968,13 @@ typedef enum {
 
   /* 55 = OBSOLETE */
 
-  /* DEPRECATED
-   * Function that will be called instead of the internal progress display
+  /* Function that will be called instead of the internal progress display
    * function. This function should be defined as the curl_progress_callback
    * prototype defines. */
   CINIT(PROGRESSFUNCTION, FUNCTIONPOINT, 56),
 
-  /* Data passed to the CURLOPT_PROGRESSFUNCTION and CURLOPT_XFERINFOFUNCTION
-     callbacks */
+  /* Data passed to the progress callback */
   CINIT(PROGRESSDATA, OBJECTPOINT, 57),
-#define CURLOPT_XFERINFODATA CURLOPT_PROGRESSDATA
 
   /* We want the referrer field set automatically when following locations */
   CINIT(AUTOREFERER, LONG, 58),
@@ -1067,7 +1020,7 @@ typedef enum {
   /* Max amount of cached alive connections */
   CINIT(MAXCONNECTS, LONG, 71),
 
-  CINIT(OBSOLETE72, LONG, 72), /* OBSOLETE, do not use! */
+  CINIT(CLOSEPOLICY, LONG, 72), /* DEPRECATED, do not use! */
 
   /* 73 = OBSOLETE */
 
@@ -1420,7 +1373,8 @@ typedef enum {
   CINIT(ADDRESS_SCOPE, LONG, 171),
 
   /* Collect certificate chain info and allow it to get retrievable with
-     CURLINFO_CERTINFO after the transfer is complete. */
+     CURLINFO_CERTINFO after the transfer is complete. (Unfortunately) only
+     working with OpenSSL-powered builds. */
   CINIT(CERTINFO, LONG, 172),
 
   /* "name" and "pwd" to use when fetching. */
@@ -1573,78 +1527,9 @@ typedef enum {
   /* Enable/disable specific SSL features with a bitmask, see CURLSSLOPT_* */
   CINIT(SSL_OPTIONS, LONG, 216),
 
-  /* Set the SMTP auth originator */
+  /* set the SMTP auth originator */
   CINIT(MAIL_AUTH, OBJECTPOINT, 217),
 
-  /* Enable/disable SASL initial response */
-  CINIT(SASL_IR, LONG, 218),
-
-  /* Function that will be called instead of the internal progress display
-   * function. This function should be defined as the curl_xferinfo_callback
-   * prototype defines. (Deprecates CURLOPT_PROGRESSFUNCTION) */
-  CINIT(XFERINFOFUNCTION, FUNCTIONPOINT, 219),
-
-  /* The XOAUTH2 bearer token */
-  CINIT(XOAUTH2_BEARER, OBJECTPOINT, 220),
-
-  /* Set the interface string to use as outgoing network
-   * interface for DNS requests.
-   * Only supported by the c-ares DNS backend */
-  CINIT(DNS_INTERFACE, OBJECTPOINT, 221),
-
-  /* Set the local IPv4 address to use for outgoing DNS requests.
-   * Only supported by the c-ares DNS backend */
-  CINIT(DNS_LOCAL_IP4, OBJECTPOINT, 222),
-
-  /* Set the local IPv4 address to use for outgoing DNS requests.
-   * Only supported by the c-ares DNS backend */
-  CINIT(DNS_LOCAL_IP6, OBJECTPOINT, 223),
-
-  /* Set authentication options directly */
-  CINIT(LOGIN_OPTIONS, OBJECTPOINT, 224),
-
-  /* Enable/disable TLS NPN extension (http2 over ssl might fail without) */
-  CINIT(SSL_ENABLE_NPN, LONG, 225),
-
-  /* Enable/disable TLS ALPN extension (http2 over ssl might fail without) */
-  CINIT(SSL_ENABLE_ALPN, LONG, 226),
-
-  /* Time to wait for a response to a HTTP request containing an
-   * Expect: 100-continue header before sending the data anyway. */
-  CINIT(EXPECT_100_TIMEOUT_MS, LONG, 227),
-
-  /* This points to a linked list of headers used for proxy requests only,
-     struct curl_slist kind */
-  CINIT(PROXYHEADER, OBJECTPOINT, 228),
-
-  /* Pass in a bitmask of "header options" */
-  CINIT(HEADEROPT, LONG, 229),
-
-  /* The public key in DER form used to validate the peer public key
-     this option is used only if SSL_VERIFYPEER is true */
-  CINIT(PINNEDPUBLICKEY, OBJECTPOINT, 230),
-
-  /* Path to Unix domain socket */
-  CINIT(UNIX_SOCKET_PATH, OBJECTPOINT, 231),
-
-  /* Set if we should verify the certificate status. */
-  CINIT(SSL_VERIFYSTATUS, LONG, 232),
-
-  /* Set if we should enable TLS false start. */
-  CINIT(SSL_FALSESTART, LONG, 233),
-
-  /* Do not squash dot-dot sequences */
-  CINIT(PATH_AS_IS, LONG, 234),
-
-  /* Proxy Service Name */
-  CINIT(PROXY_SERVICE_NAME, OBJECTPOINT, 235),
-
-  /* Service Name */
-  CINIT(SERVICE_NAME, OBJECTPOINT, 236),
-
-  /* Wait/don't wait for pipe/mutex to clarify */
-  CINIT(PIPEWAIT, LONG, 237),
-
   CURLOPT_LASTENTRY /* the last unused */
 } CURLoption;
 
@@ -1681,10 +1566,13 @@ typedef enum {
      option might be handy to force libcurl to use a specific IP version. */
 #define CURL_IPRESOLVE_WHATEVER 0 /* default, resolves addresses to all IP
                                      versions that your system allows */
-#define CURL_IPRESOLVE_V4       1 /* resolve to IPv4 addresses */
-#define CURL_IPRESOLVE_V6       2 /* resolve to IPv6 addresses */
+#define CURL_IPRESOLVE_V4       1 /* resolve to ipv4 addresses */
+#define CURL_IPRESOLVE_V6       2 /* resolve to ipv6 addresses */
 
   /* three convenient "aliases" that follow the name scheme better */
+#define CURLOPT_WRITEDATA CURLOPT_FILE
+#define CURLOPT_READDATA  CURLOPT_INFILE
+#define CURLOPT_HEADERDATA CURLOPT_WRITEHEADER
 #define CURLOPT_RTSPHEADER CURLOPT_HTTPHEADER
 
   /* These enums are for use with the CURLOPT_HTTP_VERSION option. */
@@ -1694,16 +1582,10 @@ enum {
                              for us! */
   CURL_HTTP_VERSION_1_0,  /* please use HTTP 1.0 in the request */
   CURL_HTTP_VERSION_1_1,  /* please use HTTP 1.1 in the request */
-  CURL_HTTP_VERSION_2_0,  /* please use HTTP 2.0 in the request */
 
   CURL_HTTP_VERSION_LAST /* *ILLEGAL* http version */
 };
 
-/* Convenience definition simple because the name of the version is HTTP/2 and
-   not 2.0. The 2_0 version of the enum name was set while the version was
-   still planned to be 2.0 and we stick to it for compatibility. */
-#define CURL_HTTP_VERSION_2 CURL_HTTP_VERSION_2_0
-
 /*
  * Public API enums for RTSP requests
  */
@@ -1737,12 +1619,9 @@ enum CURL_NETRC_OPTION {
 
 enum {
   CURL_SSLVERSION_DEFAULT,
-  CURL_SSLVERSION_TLSv1, /* TLS 1.x */
+  CURL_SSLVERSION_TLSv1,
   CURL_SSLVERSION_SSLv2,
   CURL_SSLVERSION_SSLv3,
-  CURL_SSLVERSION_TLSv1_0,
-  CURL_SSLVERSION_TLSv1_1,
-  CURL_SSLVERSION_TLSv1_2,
 
   CURL_SSLVERSION_LAST /* never use, keep last */
 };
@@ -2061,29 +1940,6 @@ struct curl_certinfo {
                                    format "name: value" */
 };
 
-/* enum for the different supported SSL backends */
-typedef enum {
-  CURLSSLBACKEND_NONE = 0,
-  CURLSSLBACKEND_OPENSSL = 1,
-  CURLSSLBACKEND_GNUTLS = 2,
-  CURLSSLBACKEND_NSS = 3,
-  CURLSSLBACKEND_OBSOLETE4 = 4,  /* Was QSOSSL. */
-  CURLSSLBACKEND_GSKIT = 5,
-  CURLSSLBACKEND_POLARSSL = 6,
-  CURLSSLBACKEND_CYASSL = 7,
-  CURLSSLBACKEND_SCHANNEL = 8,
-  CURLSSLBACKEND_DARWINSSL = 9,
-  CURLSSLBACKEND_AXTLS = 10
-} curl_sslbackend;
-
-/* Information about the SSL library used and the respective internal SSL
-   handle, which can be used to obtain further information regarding the
-   connection. Asked for with CURLINFO_TLS_SESSION. */
-struct curl_tlssessioninfo {
-  curl_sslbackend backend;
-  void *internals;
-};
-
 #define CURLINFO_STRING   0x100000
 #define CURLINFO_LONG     0x200000
 #define CURLINFO_DOUBLE   0x300000
@@ -2135,10 +1991,9 @@ typedef enum {
   CURLINFO_PRIMARY_PORT     = CURLINFO_LONG   + 40,
   CURLINFO_LOCAL_IP         = CURLINFO_STRING + 41,
   CURLINFO_LOCAL_PORT       = CURLINFO_LONG   + 42,
-  CURLINFO_TLS_SESSION      = CURLINFO_SLIST  + 43,
   /* Fill in new entries below here! */
 
-  CURLINFO_LASTONE          = 43
+  CURLINFO_LASTONE          = 42
 } CURLINFO;
 
 /* CURLINFO_RESPONSE_CODE is the new name for the option previously known as
@@ -2274,30 +2129,22 @@ typedef struct {
 
 } curl_version_info_data;
 
-#define CURL_VERSION_IPV6         (1<<0)  /* IPv6-enabled */
-#define CURL_VERSION_KERBEROS4    (1<<1)  /* Kerberos V4 auth is supported
-                                             (deprecated) */
-#define CURL_VERSION_SSL          (1<<2)  /* SSL options are present */
-#define CURL_VERSION_LIBZ         (1<<3)  /* libz features are present */
-#define CURL_VERSION_NTLM         (1<<4)  /* NTLM auth is supported */
-#define CURL_VERSION_GSSNEGOTIATE (1<<5)  /* Negotiate auth is supported
-                                             (deprecated) */
-#define CURL_VERSION_DEBUG        (1<<6)  /* Built with debug capabilities */
-#define CURL_VERSION_ASYNCHDNS    (1<<7)  /* Asynchronous DNS resolves */
-#define CURL_VERSION_SPNEGO       (1<<8)  /* SPNEGO auth is supported */
-#define CURL_VERSION_LARGEFILE    (1<<9)  /* Supports files larger than 2GB */
-#define CURL_VERSION_IDN          (1<<10) /* Internationized Domain Names are
-                                             supported */
-#define CURL_VERSION_SSPI         (1<<11) /* Built against Windows SSPI */
-#define CURL_VERSION_CONV         (1<<12) /* Character conversions supported */
-#define CURL_VERSION_CURLDEBUG    (1<<13) /* Debug memory tracking supported */
-#define CURL_VERSION_TLSAUTH_SRP  (1<<14) /* TLS-SRP auth is supported */
-#define CURL_VERSION_NTLM_WB      (1<<15) /* NTLM delegation to winbind helper
-                                             is suported */
-#define CURL_VERSION_HTTP2        (1<<16) /* HTTP2 support built-in */
-#define CURL_VERSION_GSSAPI       (1<<17) /* Built against a GSS-API library */
-#define CURL_VERSION_KERBEROS5    (1<<18) /* Kerberos V5 auth is supported */
-#define CURL_VERSION_UNIX_SOCKETS (1<<19) /* Unix domain sockets support */
+#define CURL_VERSION_IPV6      (1<<0)  /* IPv6-enabled */
+#define CURL_VERSION_KERBEROS4 (1<<1)  /* kerberos auth is supported */
+#define CURL_VERSION_SSL       (1<<2)  /* SSL options are present */
+#define CURL_VERSION_LIBZ      (1<<3)  /* libz features are present */
+#define CURL_VERSION_NTLM      (1<<4)  /* NTLM auth is supported */
+#define CURL_VERSION_GSSNEGOTIATE (1<<5) /* Negotiate auth support */
+#define CURL_VERSION_DEBUG     (1<<6)  /* built with debug capabilities */
+#define CURL_VERSION_ASYNCHDNS (1<<7)  /* asynchronous dns resolves */
+#define CURL_VERSION_SPNEGO    (1<<8)  /* SPNEGO auth */
+#define CURL_VERSION_LARGEFILE (1<<9)  /* supports files bigger than 2GB */
+#define CURL_VERSION_IDN       (1<<10) /* International Domain Names support */
+#define CURL_VERSION_SSPI      (1<<11) /* SSPI is supported */
+#define CURL_VERSION_CONV      (1<<12) /* character conversions supported */
+#define CURL_VERSION_CURLDEBUG (1<<13) /* debug memory tracking supported */
+#define CURL_VERSION_TLSAUTH_SRP (1<<14) /* TLS-SRP auth is supported */
+#define CURL_VERSION_NTLM_WB   (1<<15) /* NTLM delegating to winbind helper */
 
  /*
  * NAME curl_version_info()

+ 467 - 79
oxygine/third_party/win32/curl/curl/curlbuild.h

@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2008, Daniel Stenberg, <[email protected]>, et al.
+ * Copyright (C) 1998 - 2013, Daniel Stenberg, <[email protected]>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -26,6 +26,20 @@
 /*               NOTES FOR CONFIGURE CAPABLE SYSTEMS                */
 /* ================================================================ */
 
+/*
+ * NOTE 1:
+ * -------
+ *
+ * See file include/curl/curlbuild.h.in, run configure, and forget
+ * that this file exists it is only used for non-configure systems.
+ * But you can keep reading if you want ;-)
+ *
+ */
+
+/* ================================================================ */
+/*                 NOTES FOR NON-CONFIGURE SYSTEMS                  */
+/* ================================================================ */
+
 /*
  * NOTE 1:
  * -------
@@ -37,20 +51,57 @@
  * or fixed in this file, then, report it on the libcurl development
  * mailing list: http://cool.haxx.se/mailman/listinfo/curl-library/
  *
+ * Try to keep one section per platform, compiler and architecture,
+ * otherwise, if an existing section is reused for a different one and
+ * later on the original is adjusted, probably the piggybacking one can
+ * be adversely changed.
+ *
+ * In order to differentiate between platforms/compilers/architectures
+ * use only compiler built in predefined preprocessor symbols.
+ *
  * This header file shall only export symbols which are 'curl' or 'CURL'
  * prefixed, otherwise public name space would be polluted.
  *
  * NOTE 2:
  * -------
  *
- * Right now you might be staring at file include/curl/curlbuild.h.in or
+ * For any given platform/compiler curl_off_t must be typedef'ed to a
+ * 64-bit wide signed integral data type. The width of this data type
+ * must remain constant and independent of any possible large file
+ * support settings.
+ *
+ * As an exception to the above, curl_off_t shall be typedef'ed to a
+ * 32-bit wide signed integral data type if there is no 64-bit type.
+ *
+ * As a general rule, curl_off_t shall not be mapped to off_t. This
+ * rule shall only be violated if off_t is the only 64-bit data type
+ * available and the size of off_t is independent of large file support
+ * settings. Keep your build on the safe side avoiding an off_t gating.
+ * If you have a 64-bit off_t then take for sure that another 64-bit
+ * data type exists, dig deeper and you will find it.
+ *
+ * NOTE 3:
+ * -------
+ *
+ * Right now you might be staring at file include/curl/curlbuild.h.dist or
  * at file include/curl/curlbuild.h, this is due to the following reason:
+ * file include/curl/curlbuild.h.dist is renamed to include/curl/curlbuild.h
+ * when the libcurl source code distribution archive file is created.
+ *
+ * File include/curl/curlbuild.h.dist is not included in the distribution
+ * archive. File include/curl/curlbuild.h is not present in the git tree.
+ *
+ * The distributed include/curl/curlbuild.h file is only intended to be used
+ * on systems which can not run the also distributed configure script.
  *
  * On systems capable of running the configure script, the configure process
  * will overwrite the distributed include/curl/curlbuild.h file with one that
  * is suitable and specific to the library being configured and built, which
  * is generated from the include/curl/curlbuild.h.in template file.
  *
+ * If you check out from git on a non-configure platform, you must run the
+ * appropriate buildconf* script to set up curlbuild.h and other local files.
+ *
  */
 
 /* ================================================================ */
@@ -58,140 +109,477 @@
 /* ================================================================ */
 
 #ifdef CURL_SIZEOF_LONG
-#error "CURL_SIZEOF_LONG shall not be defined except in curlbuild.h"
+#  error "CURL_SIZEOF_LONG shall not be defined except in curlbuild.h"
    Error Compilation_aborted_CURL_SIZEOF_LONG_already_defined
 #endif
 
 #ifdef CURL_TYPEOF_CURL_SOCKLEN_T
-#error "CURL_TYPEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
+#  error "CURL_TYPEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
    Error Compilation_aborted_CURL_TYPEOF_CURL_SOCKLEN_T_already_defined
 #endif
 
 #ifdef CURL_SIZEOF_CURL_SOCKLEN_T
-#error "CURL_SIZEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
+#  error "CURL_SIZEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
    Error Compilation_aborted_CURL_SIZEOF_CURL_SOCKLEN_T_already_defined
 #endif
 
 #ifdef CURL_TYPEOF_CURL_OFF_T
-#error "CURL_TYPEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
+#  error "CURL_TYPEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
    Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_already_defined
 #endif
 
 #ifdef CURL_FORMAT_CURL_OFF_T
-#error "CURL_FORMAT_CURL_OFF_T shall not be defined except in curlbuild.h"
+#  error "CURL_FORMAT_CURL_OFF_T shall not be defined except in curlbuild.h"
    Error Compilation_aborted_CURL_FORMAT_CURL_OFF_T_already_defined
 #endif
 
 #ifdef CURL_FORMAT_CURL_OFF_TU
-#error "CURL_FORMAT_CURL_OFF_TU shall not be defined except in curlbuild.h"
+#  error "CURL_FORMAT_CURL_OFF_TU shall not be defined except in curlbuild.h"
    Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_already_defined
 #endif
 
 #ifdef CURL_FORMAT_OFF_T
-#error "CURL_FORMAT_OFF_T shall not be defined except in curlbuild.h"
+#  error "CURL_FORMAT_OFF_T shall not be defined except in curlbuild.h"
    Error Compilation_aborted_CURL_FORMAT_OFF_T_already_defined
 #endif
 
 #ifdef CURL_SIZEOF_CURL_OFF_T
-#error "CURL_SIZEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
+#  error "CURL_SIZEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
    Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_already_defined
 #endif
 
 #ifdef CURL_SUFFIX_CURL_OFF_T
-#error "CURL_SUFFIX_CURL_OFF_T shall not be defined except in curlbuild.h"
+#  error "CURL_SUFFIX_CURL_OFF_T shall not be defined except in curlbuild.h"
    Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_T_already_defined
 #endif
 
 #ifdef CURL_SUFFIX_CURL_OFF_TU
-#error "CURL_SUFFIX_CURL_OFF_TU shall not be defined except in curlbuild.h"
+#  error "CURL_SUFFIX_CURL_OFF_TU shall not be defined except in curlbuild.h"
    Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_TU_already_defined
 #endif
 
 /* ================================================================ */
-/*  EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY  */
+/*    EXTERNAL INTERFACE SETTINGS FOR NON-CONFIGURE SYSTEMS ONLY    */
 /* ================================================================ */
 
-/* Configure process defines this to 1 when it finds out that system  */
-/* header file ws2tcpip.h must be included by the external interface. */
-#define CURL_PULL_WS2TCPIP_H
-#ifdef CURL_PULL_WS2TCPIP_H
-#  ifndef WIN32_LEAN_AND_MEAN
-#    define WIN32_LEAN_AND_MEAN
+#if defined(__DJGPP__) || defined(__GO32__)
+#  if defined(__DJGPP__) && (__DJGPP__ > 1)
+#    define CURL_SIZEOF_LONG           4
+#    define CURL_TYPEOF_CURL_OFF_T     long long
+#    define CURL_FORMAT_CURL_OFF_T     "lld"
+#    define CURL_FORMAT_CURL_OFF_TU    "llu"
+#    define CURL_FORMAT_OFF_T          "%lld"
+#    define CURL_SIZEOF_CURL_OFF_T     8
+#    define CURL_SUFFIX_CURL_OFF_T     LL
+#    define CURL_SUFFIX_CURL_OFF_TU    ULL
+#  else
+#    define CURL_SIZEOF_LONG           4
+#    define CURL_TYPEOF_CURL_OFF_T     long
+#    define CURL_FORMAT_CURL_OFF_T     "ld"
+#    define CURL_FORMAT_CURL_OFF_TU    "lu"
+#    define CURL_FORMAT_OFF_T          "%ld"
+#    define CURL_SIZEOF_CURL_OFF_T     4
+#    define CURL_SUFFIX_CURL_OFF_T     L
+#    define CURL_SUFFIX_CURL_OFF_TU    UL
+#  endif
+#  define CURL_TYPEOF_CURL_SOCKLEN_T int
+#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
+
+#elif defined(__SALFORDC__)
+#  define CURL_SIZEOF_LONG           4
+#  define CURL_TYPEOF_CURL_OFF_T     long
+#  define CURL_FORMAT_CURL_OFF_T     "ld"
+#  define CURL_FORMAT_CURL_OFF_TU    "lu"
+#  define CURL_FORMAT_OFF_T          "%ld"
+#  define CURL_SIZEOF_CURL_OFF_T     4
+#  define CURL_SUFFIX_CURL_OFF_T     L
+#  define CURL_SUFFIX_CURL_OFF_TU    UL
+#  define CURL_TYPEOF_CURL_SOCKLEN_T int
+#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
+
+#elif defined(__BORLANDC__)
+#  if (__BORLANDC__ < 0x520)
+#    define CURL_SIZEOF_LONG           4
+#    define CURL_TYPEOF_CURL_OFF_T     long
+#    define CURL_FORMAT_CURL_OFF_T     "ld"
+#    define CURL_FORMAT_CURL_OFF_TU    "lu"
+#    define CURL_FORMAT_OFF_T          "%ld"
+#    define CURL_SIZEOF_CURL_OFF_T     4
+#    define CURL_SUFFIX_CURL_OFF_T     L
+#    define CURL_SUFFIX_CURL_OFF_TU    UL
+#  else
+#    define CURL_SIZEOF_LONG           4
+#    define CURL_TYPEOF_CURL_OFF_T     __int64
+#    define CURL_FORMAT_CURL_OFF_T     "I64d"
+#    define CURL_FORMAT_CURL_OFF_TU    "I64u"
+#    define CURL_FORMAT_OFF_T          "%I64d"
+#    define CURL_SIZEOF_CURL_OFF_T     8
+#    define CURL_SUFFIX_CURL_OFF_T     i64
+#    define CURL_SUFFIX_CURL_OFF_TU    ui64
+#  endif
+#  define CURL_TYPEOF_CURL_SOCKLEN_T int
+#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
+
+#elif defined(__TURBOC__)
+#  define CURL_SIZEOF_LONG           4
+#  define CURL_TYPEOF_CURL_OFF_T     long
+#  define CURL_FORMAT_CURL_OFF_T     "ld"
+#  define CURL_FORMAT_CURL_OFF_TU    "lu"
+#  define CURL_FORMAT_OFF_T          "%ld"
+#  define CURL_SIZEOF_CURL_OFF_T     4
+#  define CURL_SUFFIX_CURL_OFF_T     L
+#  define CURL_SUFFIX_CURL_OFF_TU    UL
+#  define CURL_TYPEOF_CURL_SOCKLEN_T int
+#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
+
+#elif defined(__WATCOMC__)
+#  if defined(__386__)
+#    define CURL_SIZEOF_LONG           4
+#    define CURL_TYPEOF_CURL_OFF_T     __int64
+#    define CURL_FORMAT_CURL_OFF_T     "I64d"
+#    define CURL_FORMAT_CURL_OFF_TU    "I64u"
+#    define CURL_FORMAT_OFF_T          "%I64d"
+#    define CURL_SIZEOF_CURL_OFF_T     8
+#    define CURL_SUFFIX_CURL_OFF_T     i64
+#    define CURL_SUFFIX_CURL_OFF_TU    ui64
+#  else
+#    define CURL_SIZEOF_LONG           4
+#    define CURL_TYPEOF_CURL_OFF_T     long
+#    define CURL_FORMAT_CURL_OFF_T     "ld"
+#    define CURL_FORMAT_CURL_OFF_TU    "lu"
+#    define CURL_FORMAT_OFF_T          "%ld"
+#    define CURL_SIZEOF_CURL_OFF_T     4
+#    define CURL_SUFFIX_CURL_OFF_T     L
+#    define CURL_SUFFIX_CURL_OFF_TU    UL
+#  endif
+#  define CURL_TYPEOF_CURL_SOCKLEN_T int
+#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
+
+#elif defined(__POCC__)
+#  if (__POCC__ < 280)
+#    define CURL_SIZEOF_LONG           4
+#    define CURL_TYPEOF_CURL_OFF_T     long
+#    define CURL_FORMAT_CURL_OFF_T     "ld"
+#    define CURL_FORMAT_CURL_OFF_TU    "lu"
+#    define CURL_FORMAT_OFF_T          "%ld"
+#    define CURL_SIZEOF_CURL_OFF_T     4
+#    define CURL_SUFFIX_CURL_OFF_T     L
+#    define CURL_SUFFIX_CURL_OFF_TU    UL
+#  elif defined(_MSC_VER)
+#    define CURL_SIZEOF_LONG           4
+#    define CURL_TYPEOF_CURL_OFF_T     __int64
+#    define CURL_FORMAT_CURL_OFF_T     "I64d"
+#    define CURL_FORMAT_CURL_OFF_TU    "I64u"
+#    define CURL_FORMAT_OFF_T          "%I64d"
+#    define CURL_SIZEOF_CURL_OFF_T     8
+#    define CURL_SUFFIX_CURL_OFF_T     i64
+#    define CURL_SUFFIX_CURL_OFF_TU    ui64
+#  else
+#    define CURL_SIZEOF_LONG           4
+#    define CURL_TYPEOF_CURL_OFF_T     long long
+#    define CURL_FORMAT_CURL_OFF_T     "lld"
+#    define CURL_FORMAT_CURL_OFF_TU    "llu"
+#    define CURL_FORMAT_OFF_T          "%lld"
+#    define CURL_SIZEOF_CURL_OFF_T     8
+#    define CURL_SUFFIX_CURL_OFF_T     LL
+#    define CURL_SUFFIX_CURL_OFF_TU    ULL
+#  endif
+#  define CURL_TYPEOF_CURL_SOCKLEN_T int
+#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
+
+#elif defined(__LCC__)
+#  define CURL_SIZEOF_LONG           4
+#  define CURL_TYPEOF_CURL_OFF_T     long
+#  define CURL_FORMAT_CURL_OFF_T     "ld"
+#  define CURL_FORMAT_CURL_OFF_TU    "lu"
+#  define CURL_FORMAT_OFF_T          "%ld"
+#  define CURL_SIZEOF_CURL_OFF_T     4
+#  define CURL_SUFFIX_CURL_OFF_T     L
+#  define CURL_SUFFIX_CURL_OFF_TU    UL
+#  define CURL_TYPEOF_CURL_SOCKLEN_T int
+#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
+
+#elif defined(__SYMBIAN32__)
+#  if defined(__EABI__)  /* Treat all ARM compilers equally */
+#    define CURL_SIZEOF_LONG           4
+#    define CURL_TYPEOF_CURL_OFF_T     long long
+#    define CURL_FORMAT_CURL_OFF_T     "lld"
+#    define CURL_FORMAT_CURL_OFF_TU    "llu"
+#    define CURL_FORMAT_OFF_T          "%lld"
+#    define CURL_SIZEOF_CURL_OFF_T     8
+#    define CURL_SUFFIX_CURL_OFF_T     LL
+#    define CURL_SUFFIX_CURL_OFF_TU    ULL
+#  elif defined(__CW32__)
+#    pragma longlong on
+#    define CURL_SIZEOF_LONG           4
+#    define CURL_TYPEOF_CURL_OFF_T     long long
+#    define CURL_FORMAT_CURL_OFF_T     "lld"
+#    define CURL_FORMAT_CURL_OFF_TU    "llu"
+#    define CURL_FORMAT_OFF_T          "%lld"
+#    define CURL_SIZEOF_CURL_OFF_T     8
+#    define CURL_SUFFIX_CURL_OFF_T     LL
+#    define CURL_SUFFIX_CURL_OFF_TU    ULL
+#  elif defined(__VC32__)
+#    define CURL_SIZEOF_LONG           4
+#    define CURL_TYPEOF_CURL_OFF_T     __int64
+#    define CURL_FORMAT_CURL_OFF_T     "lld"
+#    define CURL_FORMAT_CURL_OFF_TU    "llu"
+#    define CURL_FORMAT_OFF_T          "%lld"
+#    define CURL_SIZEOF_CURL_OFF_T     8
+#    define CURL_SUFFIX_CURL_OFF_T     LL
+#    define CURL_SUFFIX_CURL_OFF_TU    ULL
+#  endif
+#  define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int
+#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
+
+#elif defined(__MWERKS__)
+#  define CURL_SIZEOF_LONG           4
+#  define CURL_TYPEOF_CURL_OFF_T     long long
+#  define CURL_FORMAT_CURL_OFF_T     "lld"
+#  define CURL_FORMAT_CURL_OFF_TU    "llu"
+#  define CURL_FORMAT_OFF_T          "%lld"
+#  define CURL_SIZEOF_CURL_OFF_T     8
+#  define CURL_SUFFIX_CURL_OFF_T     LL
+#  define CURL_SUFFIX_CURL_OFF_TU    ULL
+#  define CURL_TYPEOF_CURL_SOCKLEN_T int
+#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
+
+#elif defined(_WIN32_WCE)
+#  define CURL_SIZEOF_LONG           4
+#  define CURL_TYPEOF_CURL_OFF_T     __int64
+#  define CURL_FORMAT_CURL_OFF_T     "I64d"
+#  define CURL_FORMAT_CURL_OFF_TU    "I64u"
+#  define CURL_FORMAT_OFF_T          "%I64d"
+#  define CURL_SIZEOF_CURL_OFF_T     8
+#  define CURL_SUFFIX_CURL_OFF_T     i64
+#  define CURL_SUFFIX_CURL_OFF_TU    ui64
+#  define CURL_TYPEOF_CURL_SOCKLEN_T int
+#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
+
+#elif defined(__MINGW32__)
+#  define CURL_SIZEOF_LONG           4
+#  define CURL_TYPEOF_CURL_OFF_T     long long
+#  define CURL_FORMAT_CURL_OFF_T     "I64d"
+#  define CURL_FORMAT_CURL_OFF_TU    "I64u"
+#  define CURL_FORMAT_OFF_T          "%I64d"
+#  define CURL_SIZEOF_CURL_OFF_T     8
+#  define CURL_SUFFIX_CURL_OFF_T     LL
+#  define CURL_SUFFIX_CURL_OFF_TU    ULL
+#  define CURL_TYPEOF_CURL_SOCKLEN_T int
+#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
+
+#elif defined(__VMS)
+#  if defined(__VAX)
+#    define CURL_SIZEOF_LONG           4
+#    define CURL_TYPEOF_CURL_OFF_T     long
+#    define CURL_FORMAT_CURL_OFF_T     "ld"
+#    define CURL_FORMAT_CURL_OFF_TU    "lu"
+#    define CURL_FORMAT_OFF_T          "%ld"
+#    define CURL_SIZEOF_CURL_OFF_T     4
+#    define CURL_SUFFIX_CURL_OFF_T     L
+#    define CURL_SUFFIX_CURL_OFF_TU    UL
+#  else
+#    define CURL_SIZEOF_LONG           4
+#    define CURL_TYPEOF_CURL_OFF_T     long long
+#    define CURL_FORMAT_CURL_OFF_T     "lld"
+#    define CURL_FORMAT_CURL_OFF_TU    "llu"
+#    define CURL_FORMAT_OFF_T          "%lld"
+#    define CURL_SIZEOF_CURL_OFF_T     8
+#    define CURL_SUFFIX_CURL_OFF_T     LL
+#    define CURL_SUFFIX_CURL_OFF_TU    ULL
+#  endif
+#  define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int
+#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
+
+#elif defined(__OS400__)
+#  if defined(__ILEC400__)
+#    define CURL_SIZEOF_LONG           4
+#    define CURL_TYPEOF_CURL_OFF_T     long long
+#    define CURL_FORMAT_CURL_OFF_T     "lld"
+#    define CURL_FORMAT_CURL_OFF_TU    "llu"
+#    define CURL_FORMAT_OFF_T          "%lld"
+#    define CURL_SIZEOF_CURL_OFF_T     8
+#    define CURL_SUFFIX_CURL_OFF_T     LL
+#    define CURL_SUFFIX_CURL_OFF_TU    ULL
+#    define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
+#    define CURL_SIZEOF_CURL_SOCKLEN_T 4
+#    define CURL_PULL_SYS_TYPES_H      1
+#    define CURL_PULL_SYS_SOCKET_H     1
 #  endif
-#  include <windows.h>
-#  include <winsock2.h>
-#  include <ws2tcpip.h>
-#endif
 
-/* Configure process defines this to 1 when it finds out that system   */
-/* header file sys/types.h must be included by the external interface. */
-/* #undef CURL_PULL_SYS_TYPES_H */
-#ifdef CURL_PULL_SYS_TYPES_H
-#  include <sys/types.h>
-#endif
+#elif defined(__MVS__)
+#  if defined(__IBMC__) || defined(__IBMCPP__)
+#    if defined(_ILP32)
+#      define CURL_SIZEOF_LONG           4
+#    elif defined(_LP64)
+#      define CURL_SIZEOF_LONG           8
+#    endif
+#    if defined(_LONG_LONG)
+#      define CURL_TYPEOF_CURL_OFF_T     long long
+#      define CURL_FORMAT_CURL_OFF_T     "lld"
+#      define CURL_FORMAT_CURL_OFF_TU    "llu"
+#      define CURL_FORMAT_OFF_T          "%lld"
+#      define CURL_SIZEOF_CURL_OFF_T     8
+#      define CURL_SUFFIX_CURL_OFF_T     LL
+#      define CURL_SUFFIX_CURL_OFF_TU    ULL
+#    elif defined(_LP64)
+#      define CURL_TYPEOF_CURL_OFF_T     long
+#      define CURL_FORMAT_CURL_OFF_T     "ld"
+#      define CURL_FORMAT_CURL_OFF_TU    "lu"
+#      define CURL_FORMAT_OFF_T          "%ld"
+#      define CURL_SIZEOF_CURL_OFF_T     8
+#      define CURL_SUFFIX_CURL_OFF_T     L
+#      define CURL_SUFFIX_CURL_OFF_TU    UL
+#    else
+#      define CURL_TYPEOF_CURL_OFF_T     long
+#      define CURL_FORMAT_CURL_OFF_T     "ld"
+#      define CURL_FORMAT_CURL_OFF_TU    "lu"
+#      define CURL_FORMAT_OFF_T          "%ld"
+#      define CURL_SIZEOF_CURL_OFF_T     4
+#      define CURL_SUFFIX_CURL_OFF_T     L
+#      define CURL_SUFFIX_CURL_OFF_TU    UL
+#    endif
+#    define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
+#    define CURL_SIZEOF_CURL_SOCKLEN_T 4
+#    define CURL_PULL_SYS_TYPES_H      1
+#    define CURL_PULL_SYS_SOCKET_H     1
+#  endif
+
+#elif defined(__370__)
+#  if defined(__IBMC__) || defined(__IBMCPP__)
+#    if defined(_ILP32)
+#      define CURL_SIZEOF_LONG           4
+#    elif defined(_LP64)
+#      define CURL_SIZEOF_LONG           8
+#    endif
+#    if defined(_LONG_LONG)
+#      define CURL_TYPEOF_CURL_OFF_T     long long
+#      define CURL_FORMAT_CURL_OFF_T     "lld"
+#      define CURL_FORMAT_CURL_OFF_TU    "llu"
+#      define CURL_FORMAT_OFF_T          "%lld"
+#      define CURL_SIZEOF_CURL_OFF_T     8
+#      define CURL_SUFFIX_CURL_OFF_T     LL
+#      define CURL_SUFFIX_CURL_OFF_TU    ULL
+#    elif defined(_LP64)
+#      define CURL_TYPEOF_CURL_OFF_T     long
+#      define CURL_FORMAT_CURL_OFF_T     "ld"
+#      define CURL_FORMAT_CURL_OFF_TU    "lu"
+#      define CURL_FORMAT_OFF_T          "%ld"
+#      define CURL_SIZEOF_CURL_OFF_T     8
+#      define CURL_SUFFIX_CURL_OFF_T     L
+#      define CURL_SUFFIX_CURL_OFF_TU    UL
+#    else
+#      define CURL_TYPEOF_CURL_OFF_T     long
+#      define CURL_FORMAT_CURL_OFF_T     "ld"
+#      define CURL_FORMAT_CURL_OFF_TU    "lu"
+#      define CURL_FORMAT_OFF_T          "%ld"
+#      define CURL_SIZEOF_CURL_OFF_T     4
+#      define CURL_SUFFIX_CURL_OFF_T     L
+#      define CURL_SUFFIX_CURL_OFF_TU    UL
+#    endif
+#    define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
+#    define CURL_SIZEOF_CURL_SOCKLEN_T 4
+#    define CURL_PULL_SYS_TYPES_H      1
+#    define CURL_PULL_SYS_SOCKET_H     1
+#  endif
 
-/* Configure process defines this to 1 when it finds out that system */
-/* header file stdint.h must be included by the external interface.  */
-/* #undef CURL_PULL_STDINT_H */
-#ifdef CURL_PULL_STDINT_H
-#  include <stdint.h>
+#elif defined(TPF)
+#  define CURL_SIZEOF_LONG           8
+#  define CURL_TYPEOF_CURL_OFF_T     long
+#  define CURL_FORMAT_CURL_OFF_T     "ld"
+#  define CURL_FORMAT_CURL_OFF_TU    "lu"
+#  define CURL_FORMAT_OFF_T          "%ld"
+#  define CURL_SIZEOF_CURL_OFF_T     8
+#  define CURL_SUFFIX_CURL_OFF_T     L
+#  define CURL_SUFFIX_CURL_OFF_TU    UL
+#  define CURL_TYPEOF_CURL_SOCKLEN_T int
+#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
+
+/* ===================================== */
+/*    KEEP MSVC THE PENULTIMATE ENTRY    */
+/* ===================================== */
+
+#elif defined(_MSC_VER)
+#  if (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64)
+#    define CURL_SIZEOF_LONG           4
+#    define CURL_TYPEOF_CURL_OFF_T     __int64
+#    define CURL_FORMAT_CURL_OFF_T     "I64d"
+#    define CURL_FORMAT_CURL_OFF_TU    "I64u"
+#    define CURL_FORMAT_OFF_T          "%I64d"
+#    define CURL_SIZEOF_CURL_OFF_T     8
+#    define CURL_SUFFIX_CURL_OFF_T     i64
+#    define CURL_SUFFIX_CURL_OFF_TU    ui64
+#  else
+#    define CURL_SIZEOF_LONG           4
+#    define CURL_TYPEOF_CURL_OFF_T     long
+#    define CURL_FORMAT_CURL_OFF_T     "ld"
+#    define CURL_FORMAT_CURL_OFF_TU    "lu"
+#    define CURL_FORMAT_OFF_T          "%ld"
+#    define CURL_SIZEOF_CURL_OFF_T     4
+#    define CURL_SUFFIX_CURL_OFF_T     L
+#    define CURL_SUFFIX_CURL_OFF_TU    UL
+#  endif
+#  define CURL_TYPEOF_CURL_SOCKLEN_T int
+#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
+
+/* ===================================== */
+/*    KEEP GENERIC GCC THE LAST ENTRY    */
+/* ===================================== */
+
+#elif defined(__GNUC__)
+#  if defined(__ILP32__) || \
+      defined(__i386__) || defined(__ppc__) || defined(__arm__)
+#    define CURL_SIZEOF_LONG           4
+#    define CURL_TYPEOF_CURL_OFF_T     long long
+#    define CURL_FORMAT_CURL_OFF_T     "lld"
+#    define CURL_FORMAT_CURL_OFF_TU    "llu"
+#    define CURL_FORMAT_OFF_T          "%lld"
+#    define CURL_SIZEOF_CURL_OFF_T     8
+#    define CURL_SUFFIX_CURL_OFF_T     LL
+#    define CURL_SUFFIX_CURL_OFF_TU    ULL
+#  elif defined(__LP64__) || \
+        defined(__x86_64__) || defined(__ppc64__)
+#    define CURL_SIZEOF_LONG           8
+#    define CURL_TYPEOF_CURL_OFF_T     long
+#    define CURL_FORMAT_CURL_OFF_T     "ld"
+#    define CURL_FORMAT_CURL_OFF_TU    "lu"
+#    define CURL_FORMAT_OFF_T          "%ld"
+#    define CURL_SIZEOF_CURL_OFF_T     8
+#    define CURL_SUFFIX_CURL_OFF_T     L
+#    define CURL_SUFFIX_CURL_OFF_TU    UL
+#  endif
+#  define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
+#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
+#  define CURL_PULL_SYS_TYPES_H      1
+#  define CURL_PULL_SYS_SOCKET_H     1
+
+#else
+#  error "Unknown non-configure build target!"
+   Error Compilation_aborted_Unknown_non_configure_build_target
 #endif
 
-/* Configure process defines this to 1 when it finds out that system  */
-/* header file inttypes.h must be included by the external interface. */
-/* #undef CURL_PULL_INTTYPES_H */
-#ifdef CURL_PULL_INTTYPES_H
-#  include <inttypes.h>
+/* CURL_PULL_SYS_TYPES_H is defined above when inclusion of header file  */
+/* sys/types.h is required here to properly make type definitions below. */
+#ifdef CURL_PULL_SYS_TYPES_H
+#  include <sys/types.h>
 #endif
 
-/* Configure process defines this to 1 when it finds out that system    */
-/* header file sys/socket.h must be included by the external interface. */
-/* #undef CURL_PULL_SYS_SOCKET_H */
+/* CURL_PULL_SYS_SOCKET_H is defined above when inclusion of header file  */
+/* sys/socket.h is required here to properly make type definitions below. */
 #ifdef CURL_PULL_SYS_SOCKET_H
 #  include <sys/socket.h>
 #endif
 
-/* Configure process defines this to 1 when it finds out that system  */
-/* header file sys/poll.h must be included by the external interface. */
-/* #undef CURL_PULL_SYS_POLL_H */
-#ifdef CURL_PULL_SYS_POLL_H
-#  include <sys/poll.h>
-#endif
-
-/* The size of `long', as computed by sizeof. */
-#define CURL_SIZEOF_LONG 4
-
-/* Integral data type used for curl_socklen_t. */
-#define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
-
-/* The size of `curl_socklen_t', as computed by sizeof. */
-#define CURL_SIZEOF_CURL_SOCKLEN_T 4
-
 /* Data type definition of curl_socklen_t. */
-typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;
 
-/* Signed integral data type used for curl_off_t. */
-#define CURL_TYPEOF_CURL_OFF_T long long
+#ifdef CURL_TYPEOF_CURL_SOCKLEN_T
+  typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;
+#endif
 
 /* Data type definition of curl_off_t. */
-typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;
-
-/* curl_off_t formatting string directive without "%" conversion specifier. */
-#define CURL_FORMAT_CURL_OFF_T "lld"
 
-/* unsigned curl_off_t formatting string without "%" conversion specifier. */
-#define CURL_FORMAT_CURL_OFF_TU "llu"
-
-/* curl_off_t formatting string directive with "%" conversion specifier. */
-#define CURL_FORMAT_OFF_T "%lld"
-
-/* The size of `curl_off_t', as computed by sizeof. */
-#define CURL_SIZEOF_CURL_OFF_T 8
-
-/* curl_off_t constant suffix. */
-#define CURL_SUFFIX_CURL_OFF_T LL
-
-/* unsigned curl_off_t constant suffix. */
-#define CURL_SUFFIX_CURL_OFF_TU ULL
+#ifdef CURL_TYPEOF_CURL_OFF_T
+  typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;
+#endif
 
 #endif /* __CURL_CURLBUILD_H */

+ 6 - 14
oxygine/third_party/win32/curl/curl/curlver.h

@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2015, Daniel Stenberg, <[email protected]>, et al.
+ * Copyright (C) 1998 - 2013, Daniel Stenberg, <[email protected]>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -26,16 +26,16 @@
    a script at release-time. This was made its own header file in 7.11.2 */
 
 /* This is the global package copyright */
-#define LIBCURL_COPYRIGHT "1996 - 2015 Daniel Stenberg, <[email protected]>."
+#define LIBCURL_COPYRIGHT "1996 - 2013 Daniel Stenberg, <[email protected]>."
 
 /* This is the version number of the libcurl package from which this header
    file origins: */
-#define LIBCURL_VERSION "7.44.0"
+#define LIBCURL_VERSION "7.30.0-DEV"
 
 /* The numeric version number is also available "in parts" by using these
    defines: */
 #define LIBCURL_VERSION_MAJOR 7
-#define LIBCURL_VERSION_MINOR 44
+#define LIBCURL_VERSION_MINOR 30
 #define LIBCURL_VERSION_PATCH 0
 
 /* This is the numeric version of the libcurl version number, meant for easier
@@ -52,12 +52,8 @@
    This 6-digit (24 bits) hexadecimal number does not show pre-release number,
    and it is always a greater number in a more recent release. It makes
    comparisons with greater than and less than work.
-
-   Note: This define is the full hex number and _does not_ use the
-   CURL_VERSION_BITS() macro since curl's own configure script greps for it
-   and needs it to contain the full number.
 */
-#define LIBCURL_VERSION_NUM 0x072c00
+#define LIBCURL_VERSION_NUM 0x071e00
 
 /*
  * This is the date and time when the full source package was created. The
@@ -68,10 +64,6 @@
  *
  * "Mon Feb 12 11:35:33 UTC 2007"
  */
-#define LIBCURL_TIMESTAMP "Wed Aug 12 06:10:30 UTC 2015"
-
-#define CURL_VERSION_BITS(x,y,z) ((x)<<16|(y)<<8|z)
-#define CURL_AT_LEAST_VERSION(x,y,z) \
-  (LIBCURL_VERSION_NUM >= CURL_VERSION_BITS(x, y, z))
+#define LIBCURL_TIMESTAMP "DEV"
 
 #endif /* __CURL_CURLVER_H */

+ 8 - 1
oxygine/third_party/win32/curl/curl/mprintf.h

@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2015, Daniel Stenberg, <[email protected]>, et al.
+ * Copyright (C) 1998 - 2013, Daniel Stenberg, <[email protected]>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -57,8 +57,15 @@ CURL_EXTERN char *curl_mvaprintf(const char *format, va_list args);
 # undef vaprintf
 # define printf curl_mprintf
 # define fprintf curl_mfprintf
+#ifdef CURLDEBUG
+/* When built with CURLDEBUG we define away the sprintf functions since we
+   don't want internal code to be using them */
+# define sprintf sprintf_was_used
+# define vsprintf vsprintf_was_used
+#else
 # define sprintf curl_msprintf
 # define vsprintf curl_mvsprintf
+#endif
 # define snprintf curl_msnprintf
 # define vprintf curl_mvprintf
 # define vfprintf curl_mvfprintf

+ 1 - 39
oxygine/third_party/win32/curl/curl/multi.h

@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2015, Daniel Stenberg, <[email protected]>, et al.
+ * Copyright (C) 1998 - 2012, Daniel Stenberg, <[email protected]>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -64,8 +64,6 @@ typedef enum {
   CURLM_INTERNAL_ERROR,  /* this is a libcurl bug */
   CURLM_BAD_SOCKET,      /* the passed in socket argument did not match */
   CURLM_UNKNOWN_OPTION,  /* curl_multi_setopt() with unsupported option */
-  CURLM_ADDED_ALREADY,   /* an easy handle already added to a multi handle was
-                            attempted to get added - again */
   CURLM_LAST
 } CURLMcode;
 
@@ -74,11 +72,6 @@ typedef enum {
    curl_multi_perform() and CURLM_CALL_MULTI_PERFORM */
 #define CURLM_CALL_MULTI_SOCKET CURLM_CALL_MULTI_PERFORM
 
-/* bitmask bits for CURLMOPT_PIPELINING */
-#define CURLPIPE_NOTHING   0L
-#define CURLPIPE_HTTP1     1L
-#define CURLPIPE_MULTIPLEX 2L
-
 typedef enum {
   CURLMSG_NONE, /* first, not used */
   CURLMSG_DONE, /* This easy handle has completed. 'result' contains
@@ -370,12 +363,6 @@ typedef enum {
   /* maximum number of open connections in total */
   CINIT(MAX_TOTAL_CONNECTIONS, LONG, 13),
 
-   /* This is the server push callback function pointer */
-  CINIT(PUSHFUNCTION, FUNCTIONPOINT, 14),
-
-  /* This is the argument passed to the server push callback */
-  CINIT(PUSHDATA, OBJECTPOINT, 15),
-
   CURLMOPT_LASTENTRY /* the last unused */
 } CURLMoption;
 
@@ -403,31 +390,6 @@ CURL_EXTERN CURLMcode curl_multi_setopt(CURLM *multi_handle,
 CURL_EXTERN CURLMcode curl_multi_assign(CURLM *multi_handle,
                                         curl_socket_t sockfd, void *sockp);
 
-
-/*
- * Name: curl_push_callback
- *
- * Desc: This callback gets called when a new stream is being pushed by the
- *       server. It approves or denies the new stream.
- *
- * Returns: CURL_PUSH_OK or CURL_PUSH_DENY.
- */
-#define CURL_PUSH_OK   0
-#define CURL_PUSH_DENY 1
-
-struct curl_pushheaders;  /* forward declaration only */
-
-CURL_EXTERN char *curl_pushheader_bynum(struct curl_pushheaders *h,
-                                        size_t num);
-CURL_EXTERN char *curl_pushheader_byname(struct curl_pushheaders *h,
-                                         const char *name);
-
-typedef int (*curl_push_callback)(CURL *parent,
-                                  CURL *easy,
-                                  size_t num_headers,
-                                  struct curl_pushheaders *headers,
-                                  void *userp);
-
 #ifdef __cplusplus
 } /* end of extern "C" */
 #endif

+ 2 - 10
oxygine/third_party/win32/curl/curl/typecheck-gcc.h

@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2014, Daniel Stenberg, <[email protected]>, et al.
+ * Copyright (C) 1998 - 2012, Daniel Stenberg, <[email protected]>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -264,14 +264,6 @@ _CURL_WARNING(_curl_easy_getinfo_err_curl_slist,
    (option) == CURLOPT_RTSP_SESSION_ID ||                                     \
    (option) == CURLOPT_RTSP_STREAM_URI ||                                     \
    (option) == CURLOPT_RTSP_TRANSPORT ||                                      \
-   (option) == CURLOPT_XOAUTH2_BEARER ||                                      \
-   (option) == CURLOPT_DNS_SERVERS ||                                         \
-   (option) == CURLOPT_DNS_INTERFACE ||                                       \
-   (option) == CURLOPT_DNS_LOCAL_IP4 ||                                       \
-   (option) == CURLOPT_DNS_LOCAL_IP6 ||                                       \
-   (option) == CURLOPT_LOGIN_OPTIONS ||                                       \
-   (option) == CURLOPT_PROXY_SERVICE_NAME ||                                  \
-   (option) == CURLOPT_SERVICE_NAME ||                                        \
    0)
 
 /* evaluates to true if option takes a curl_write_callback argument */
@@ -293,7 +285,7 @@ _CURL_WARNING(_curl_easy_getinfo_err_curl_slist,
    (option) == CURLOPT_SOCKOPTDATA ||                                         \
    (option) == CURLOPT_OPENSOCKETDATA ||                                      \
    (option) == CURLOPT_PROGRESSDATA ||                                        \
-   (option) == CURLOPT_HEADERDATA ||                                         \
+   (option) == CURLOPT_WRITEHEADER ||                                         \
    (option) == CURLOPT_DEBUGDATA ||                                           \
    (option) == CURLOPT_SSL_CTX_DATA ||                                        \
    (option) == CURLOPT_SEEKDATA ||                                            \

BIN
oxygine/third_party/win32/dlls/libcurl.dll


BIN
oxygine/third_party/win32/dlls/libeay32.dll


BIN
oxygine/third_party/win32/dlls/libssh2.dll


BIN
oxygine/third_party/win32/dlls/ssleay32.dll


BIN
oxygine/third_party/win32/libraries/libcurl_imp.lib