From 870d049bc884fec58755c5dea7b863472116bef6 Mon Sep 17 00:00:00 2001 From: remi-k Date: Mon, 2 Mar 2009 19:00:41 +0000 Subject: [PATCH 01/27] Bug fixed in sf.String Code clean up git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1037 4e206d99-4929-0410-ac5d-dfc041789085 --- python/samples/worm.py | 11 +++-------- python/src/Font.cpp | 4 ++-- python/src/SoundStream.cpp | 18 ++++++++++++++---- python/src/String.cpp | 3 +++ 4 files changed, 22 insertions(+), 14 deletions(-) diff --git a/python/samples/worm.py b/python/samples/worm.py index 2039f315b..685ff01f4 100644 --- a/python/samples/worm.py +++ b/python/samples/worm.py @@ -234,14 +234,9 @@ class Main: while self.win.GetEvent(event): # Event Handler if event.Type == sf.Event.Closed: self.win.Close() - elif event.Type == sf.Event.KeyPressed: - for key in self.keys: - if event.Key.Code == key: - self.keys[key](True) - elif event.Type == sf.Event.KeyReleased: - for key in self.keys: - if event.Key.Code == key: - self.keys[key](False) + elif event.Type == sf.Event.KeyPressed or event.Type == sf.Event.KeyReleased: + if event.Key.Code in self.keys: + self.keys[event.Key.Code](event.Type == sf.Event.KeyPressed) self.win.Display() self.win.Clear(background_color) self.next_frame(self.win) diff --git a/python/src/Font.cpp b/python/src/Font.cpp index 1458a0bd4..b506456a1 100644 --- a/python/src/Font.cpp +++ b/python/src/Font.cpp @@ -63,7 +63,7 @@ PySfFont_LoadFromFile(PySfFont* self, PyObject *args, PyObject *kwds) int Length; bool result; std::string Encoding; - if (PyArg_ParseTupleAndKeywords(args, kwds, "s|I:Font.LoadFromFile", (char **)kwlist, &Filename, &Charsize)) + if (PyArg_ParseTuple(args, "s|I:Font.LoadFromFile", &Filename, &Charsize)) result = self->obj->LoadFromFile(Filename, Charsize); else if (PyArg_ParseTupleAndKeywords(args, kwds, "s|Iu:Font.LoadFromFile", (char **)kwlist, &Filename, &Charsize, &Charset)) { @@ -113,7 +113,7 @@ PySfFont_LoadFromMemory(PySfFont* self, PyObject *args, PyObject *kwds) int Length; bool result; std::string Encoding; - if (PyArg_ParseTupleAndKeywords(args, kwds, "s#|I:Font.LoadFromMemory", (char **)kwlist, &Data, &Size, &Charsize)) + if (PyArg_ParseTuple(args, "s#|I:Font.LoadFromMemory", &Data, &Size, &Charsize)) result = self->obj->LoadFromMemory(Data, Size, Charsize); else if (PyArg_ParseTupleAndKeywords(args, kwds, "s#|Iu:Font.LoadFromMemory", (char **)kwlist, &Data, &Size, &Charsize, &Charset)) { diff --git a/python/src/SoundStream.cpp b/python/src/SoundStream.cpp index 89b040840..65bcb43eb 100644 --- a/python/src/SoundStream.cpp +++ b/python/src/SoundStream.cpp @@ -38,19 +38,22 @@ bool CustomSoundStream::OnStart() Py_DECREF(OnStart); Py_DECREF(Result); } + if (PyErr_Occurred()) + { + PyErr_Print(); + return false; + } return result; } bool CustomSoundStream::OnGetData(Chunk& Data) { bool result = false; - if (PyData != NULL) { - Py_DECREF(PyData); - } + Py_XDECREF(PyData); + PyData = NULL; if (PyObject_HasAttrString(SoundStream, "OnGetData")) { PyObject *Function = PyObject_GetAttrString(SoundStream, "OnGetData"); - Data.NbSamples = 0; PyData = PyObject_CallFunction(Function, NULL); if (PyData != NULL) { @@ -63,6 +66,13 @@ bool CustomSoundStream::OnGetData(Chunk& Data) } Py_DECREF(Function); } + if (PyErr_Occurred()) + { + PyErr_Print(); + Py_XDECREF(PyData); + PyData = NULL; + return false; + } return result; } diff --git a/python/src/String.cpp b/python/src/String.cpp index b95517393..7e4bc5c35 100644 --- a/python/src/String.cpp +++ b/python/src/String.cpp @@ -144,7 +144,10 @@ PySfString_SetFont(PySfString* self, PyObject *args) { PySfFont *Font = (PySfFont *)args; if (!PyObject_TypeCheck(Font, &PySfFontType)) + { PyErr_SetString(PyExc_ValueError, "String.SetFont() Argument must be a sf.Font"); + return NULL; + } self->obj->SetFont(*(Font->obj)); Py_RETURN_NONE; } From 2ec074b12a9f1b4e4c8e81e64a15a2657dcdd629 Mon Sep 17 00:00:00 2001 From: laurentgom Date: Wed, 4 Mar 2009 18:42:11 +0000 Subject: [PATCH 02/27] Fixed Window::EnableKeyRepeat on Linux git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1039 4e206d99-4929-0410-ac5d-dfc041789085 --- src/SFML/Window/Linux/WindowImplX11.cpp | 63 +++++++++++++++---------- src/SFML/Window/Linux/WindowImplX11.hpp | 29 ++++-------- 2 files changed, 48 insertions(+), 44 deletions(-) diff --git a/src/SFML/Window/Linux/WindowImplX11.cpp b/src/SFML/Window/Linux/WindowImplX11.cpp index 590f90af5..e63763d27 100644 --- a/src/SFML/Window/Linux/WindowImplX11.cpp +++ b/src/SFML/Window/Linux/WindowImplX11.cpp @@ -362,30 +362,53 @@ void WindowImplX11::Display() //////////////////////////////////////////////////////////// void WindowImplX11::ProcessEvents() { + // This function implements a workaround to properly discard + // repeated key events when necessary. The problem is that the + // system's key events policy doesn't match SFML's one: X server will generate + // both repeated KeyPress and KeyRelease events when maintaining a key down, while + // SFML only wants repeated KeyPress events. Thus, we have to: + // - Discard duplicated KeyRelease events when EnableKeyRepeat is true + // - Discard both duplicated KeyPress and KeyRelease events when EnableKeyRepeat is false + + // Process any event in the queue matching our window XEvent Event; - while (XCheckIfEvent(ourDisplay, &Event, &WindowImplX11::CheckEvent, reinterpret_cast(myWindow))) + while (XCheckWindowEvent(ourDisplay, myWindow, ourEventMask, &Event)) { - // Filter repeated key events - if (Event.type == KeyRelease) + // Detect repeated key events + if ((Event.type == KeyPress) || (Event.type == KeyRelease)) { - if (XPending(ourDisplay)) + if (Event.xkey.keycode < 256) { - XEvent NextEvent; - XPeekEvent(ourDisplay, &NextEvent); - if ((NextEvent.type == KeyPress) && - (NextEvent.xkey.keycode == Event.xkey.keycode) && - (NextEvent.xkey.time == Event.xkey.time)) + // To detect if it is a repeated key event, we check the current state of the key. + // - If the state is "down", KeyReleased events must obviously be discarded. + // - KeyPress events are a little bit harder to handle: they depend on the EnableKeyRepeat state, + // and we need to properly forward the first one. + char Keys[32]; + XQueryKeymap(ourDisplay, Keys); + if (Keys[Event.xkey.keycode >> 3] & (1 << (Event.xkey.keycode % 8))) { - if (!myKeyRepeat) - XNextEvent(ourDisplay, &NextEvent); - continue; + // KeyRelease event + key down = repeated event --> discard + if (Event.type == KeyRelease) + { + myLastKeyReleaseEvent = Event; + continue; + } + + // KeyPress event + key repeat disabled + matching KeyRelease event = repeated event --> discard + if ((Event.type == KeyPress) && !myKeyRepeat && + (myLastKeyReleaseEvent.xkey.keycode == Event.xkey.keycode) && + (myLastKeyReleaseEvent.xkey.time == Event.xkey.time)) + { + continue; + } } } } + // Process the event ProcessEvent(Event); - } + } } @@ -709,6 +732,9 @@ bool WindowImplX11::CreateContext(const VideoMode& Mode, XVisualInfo& ChosenVisu //////////////////////////////////////////////////////////// void WindowImplX11::Initialize() { + // Make sure the "last key release" is initialized with invalid values + myLastKeyReleaseEvent.type = -1; + // Get the atom defining the close event myAtomClose = XInternAtom(ourDisplay, "WM_DELETE_WINDOW", false); XSetWMProtocols(ourDisplay, myWindow, &myAtomClose, 1); @@ -802,17 +828,6 @@ void WindowImplX11::CleanUp() } -//////////////////////////////////////////////////////////// -/// Filter the received events -/// (only allow those matching a specific window) -//////////////////////////////////////////////////////////// -Bool WindowImplX11::CheckEvent(::Display*, XEvent* Event, XPointer UserData) -{ - // Just check if the event matches our window - return Event->xany.window == reinterpret_cast< ::Window >(UserData); -} - - //////////////////////////////////////////////////////////// /// Process an incoming event from the window //////////////////////////////////////////////////////////// diff --git a/src/SFML/Window/Linux/WindowImplX11.hpp b/src/SFML/Window/Linux/WindowImplX11.hpp index b4506fced..12f4f0450 100644 --- a/src/SFML/Window/Linux/WindowImplX11.hpp +++ b/src/SFML/Window/Linux/WindowImplX11.hpp @@ -200,18 +200,6 @@ private : //////////////////////////////////////////////////////////// void CleanUp(); - //////////////////////////////////////////////////////////// - /// Filter the received events - /// (only allow those matching a specific window) - /// - /// \param Event : Event to filter - /// \param UserData : Data passed to the function (here : the window to compare) - /// - /// \return True if the event belongs to the specified window - /// - //////////////////////////////////////////////////////////// - static Bool CheckEvent(::Display*, XEvent* Event, XPointer UserData); - //////////////////////////////////////////////////////////// /// Process an incoming event from the window /// @@ -259,14 +247,15 @@ private : //////////////////////////////////////////////////////////// // Member data //////////////////////////////////////////////////////////// - ::Window myWindow; ///< X11 structure defining our window - bool myIsExternal; ///< Tell whether the window has been created externally or by SFML - GLXContext myGLContext; ///< OpenGL context attached to the window - Atom myAtomClose; ///< Atom used to identify the close event - int myOldVideoMode; ///< Video mode in use before we switch to fullscreen - Cursor myHiddenCursor; ///< As X11 doesn't provide cursor hidding, we must create a transparent one - XIC myInputContext; ///< Input context used to get unicode input in our window - bool myKeyRepeat; ///< Is the KeyRepeat feature enabled ? + ::Window myWindow; ///< X11 structure defining our window + bool myIsExternal; ///< Tell whether the window has been created externally or by SFML + GLXContext myGLContext; ///< OpenGL context attached to the window + Atom myAtomClose; ///< Atom used to identify the close event + int myOldVideoMode; ///< Video mode in use before we switch to fullscreen + Cursor myHiddenCursor; ///< As X11 doesn't provide cursor hidding, we must create a transparent one + XIC myInputContext; ///< Input context used to get unicode input in our window + bool myKeyRepeat; ///< Is the KeyRepeat feature enabled ? + XEvent myLastKeyReleaseEvent; ///< Last key release event we received (needed for discarding repeated key events) }; } // namespace priv From bcbb754da9fdc59e910852194032fe0808884a1e Mon Sep 17 00:00:00 2001 From: remi-k Date: Fri, 6 Mar 2009 15:23:07 +0000 Subject: [PATCH 03/27] Fixed a bug with custom drawables Fixed wrong default color in sf.Shape git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1040 4e206d99-4929-0410-ac5d-dfc041789085 --- python/src/Drawable.cpp | 21 +++++++++++++++++++-- python/src/RenderWindow.cpp | 5 ++--- python/src/Shape.cpp | 2 +- python/src/main.hpp | 1 - 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/python/src/Drawable.cpp b/python/src/Drawable.cpp index 4ac64df96..cedc38b43 100644 --- a/python/src/Drawable.cpp +++ b/python/src/Drawable.cpp @@ -58,7 +58,12 @@ static int PySfDrawable_init(PySfDrawable *self, PyObject *args, PyObject *kwds) { self->obj = new CustomDrawable(); - self->obj->RenderFunction = NULL; + if (PyObject_HasAttrString((PyObject *)self, "Render")) + { + self->obj->RenderFunction = PyObject_GetAttrString((PyObject *)self, "Render"); + } + else + self->obj->RenderFunction = NULL; self->obj->RenderWindow = NULL; return 0; } @@ -226,6 +231,18 @@ PySfDrawable_TransformToGlobal(PySfDrawable* self, PyObject *args) return Py_BuildValue("ff", result.x, result.y); } +int PySfDrawable_SetAttr(PyObject* self, PyObject *attr_name, PyObject *v) +{ + std::string Name(PyString_AsString(attr_name)); + if (Name == "Render") + { + Py_CLEAR(((PySfDrawable*)self)->obj->RenderFunction); + Py_INCREF(v); + ((PySfDrawable*)self)->obj->RenderFunction = v; + } + return PyObject_GenericSetAttr(self, attr_name, v); +} + static PyMethodDef PySfDrawable_methods[] = { {"TransformToLocal", (PyCFunction)PySfDrawable_TransformToLocal, METH_VARARGS, "TransformToLocal(X, Y)\n\ Transform a point from global coordinates into local coordinates (ie it applies the inverse of object's center, translation, rotation and scale to the point). Returns a tuple.\n\ @@ -274,7 +291,7 @@ PyTypeObject PySfDrawableType = { 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ - 0, /*tp_setattro*/ + PySfDrawable_SetAttr, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ "Abstract base class for every object that can be drawn into a render window.", /* tp_doc */ diff --git a/python/src/RenderWindow.cpp b/python/src/RenderWindow.cpp index 0985201e6..221eee557 100644 --- a/python/src/RenderWindow.cpp +++ b/python/src/RenderWindow.cpp @@ -101,10 +101,9 @@ PySfRenderWindow_DrawObject(PySfRenderWindow *RenderWindow, PySfDrawable *Obj) { if (PyObject_HasAttrString((PyObject *)Obj, "Render")) { - Py_XDECREF(Obj->obj->RenderWindow); + Py_CLEAR(Obj->obj->RenderWindow); + Py_INCREF(RenderWindow); Obj->obj->RenderWindow = RenderWindow; - Py_XDECREF(Obj->obj->RenderFunction); - Obj->obj->RenderFunction = PyObject_GetAttrString((PyObject *)Obj, "Render"); } RenderWindow->obj->Draw( *(Obj->obj) ); return true; diff --git a/python/src/Shape.cpp b/python/src/Shape.cpp index fc4142cdf..89c016ee9 100644 --- a/python/src/Shape.cpp +++ b/python/src/Shape.cpp @@ -72,7 +72,7 @@ PySfShape_AddPoint(PySfShape* self, PyObject *args, PyObject *kwds) Col = ColTmp->obj; } else - Col = (sf::Color *)&sf::Color::Black; + Col = (sf::Color *)&sf::Color::White; if (OutlineColTmp) { diff --git a/python/src/main.hpp b/python/src/main.hpp index fa65683ba..dc4a5541a 100644 --- a/python/src/main.hpp +++ b/python/src/main.hpp @@ -27,7 +27,6 @@ #include #include -#include #include #include From 2c7c76a668c967b63f0ade07e93d82854067f246 Mon Sep 17 00:00:00 2001 From: remi-k Date: Fri, 6 Mar 2009 17:21:37 +0000 Subject: [PATCH 04/27] Fixed python3 compatibility git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1041 4e206d99-4929-0410-ac5d-dfc041789085 --- python/src/Drawable.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/python/src/Drawable.cpp b/python/src/Drawable.cpp index cedc38b43..99e6c419e 100644 --- a/python/src/Drawable.cpp +++ b/python/src/Drawable.cpp @@ -233,13 +233,22 @@ PySfDrawable_TransformToGlobal(PySfDrawable* self, PyObject *args) int PySfDrawable_SetAttr(PyObject* self, PyObject *attr_name, PyObject *v) { +#ifdef IS_PY3K + PyObject *string = PyUnicode_AsUTF8String(attr_name); + if (string == NULL) return NULL; + std::string Name(PyBytes_AsString(string)); +#else std::string Name(PyString_AsString(attr_name)); +#endif if (Name == "Render") { Py_CLEAR(((PySfDrawable*)self)->obj->RenderFunction); Py_INCREF(v); ((PySfDrawable*)self)->obj->RenderFunction = v; } +#ifdef IS_PY3K + Py_DECREF(string); +#endif return PyObject_GenericSetAttr(self, attr_name, v); } From 06b5299c2bd509b5c26ee6574d96be889e7f75d8 Mon Sep 17 00:00:00 2001 From: laurentgom Date: Fri, 6 Mar 2009 18:11:10 +0000 Subject: [PATCH 05/27] Added a high-level check to disallow having two fullscreen windows at the same time git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1042 4e206d99-4929-0410-ac5d-dfc041789085 --- dotnet/extlibs/csfml-audio.dll | Bin 102400 -> 102400 bytes dotnet/extlibs/csfml-graphics.dll | Bin 1159168 -> 1163264 bytes dotnet/extlibs/csfml-window.dll | Bin 40960 -> 40960 bytes src/SFML/Window/Window.cpp | 46 ++++++++++++++++++++++++------ 4 files changed, 37 insertions(+), 9 deletions(-) diff --git a/dotnet/extlibs/csfml-audio.dll b/dotnet/extlibs/csfml-audio.dll index 0727f7bf908810a3bf89bce5de00db4f7eb2663a..a15fb3d65be3085efd89c963fce50ecd35afdaca 100644 GIT binary patch delta 9464 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 delta 9313 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�EVwMqPz`c{em<|dzCEsa=nO&ZjJObVV|7O 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

~>k6`kLVEw&0Z%6<08=mQJ?I2&8 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 URX8VHo;pm)Z>hgHy0zs00vzA)fdBvi delta 167279 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

s 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

xX^zHh$5YLk|_3L_BqY}jPZX?CG&v?j4 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 diff --git a/dotnet/extlibs/csfml-window.dll b/dotnet/extlibs/csfml-window.dll index 2027a9eed76229b1958503b53c8f46efee8dc238..f3529bb3cd1ebb559271d2bd954ed8b70c2e5612 100644 GIT binary patch delta 9920 zcmeI1eOOf0zQ^|-1{`#hQ9(x;WYAGjK{qqQ%%0hM1~f!1z~M!}M5H1^Bt-)=C5J>5 znkaOsX}+6vsLUuliXKyZNiE5!Jmq_2W*g-grKy#tx!*MdO2>QdbD!tl=ehsf{qUK! z)^GjRTEF#MuX|J4AS-Q&DfB+s#f*i&Q!JB6J?er1QUb4i%&SvJ3Jt!yUCo+iHXh(OmM zhH1S2<=Vv7bysbO_4`DT{=oJ9D&%3AOn zO1|@ZMHZV$in_c+qKhw{452giR8#&p?`%RN2 z#F6}dBgy7|L4CUX=yoq@C?30I4IPB;EAi{dn@>*k)5ywyBrW|63a-WNb{&`eiLU<` z*_Ey&uYaWfZpkC7mdM8bgVZ&9SMk|n&&caBq z$7ot6T^&s>2Z#ICyWI>!0yLviVMNmZtcl_O(u9=|P4(n?4^|4ZGtf1K0YmMvdy%}d z1a>b{RxVOiE<)tK-4DZ&o$Y=!7K3@+m7vp*&6*%~KiQ=jKz4-m?ziVIJf5IaPQ%2> zt;En$H&gf4oexp4eID>Ho#MH4ihE|UJLtcf;*DcSQfN4vLY@sB8T#NPer!zp3V;u5 z$dS-j*cy_ioy#`W9n-$f%BGDX1p_nsx&_bN6n=m9J6F71I6SS$-yvNU>dp>)jFm03 z5}VG*CX>0k7`89@KxYp@Wv&N(mvsRK;}u2z8B#UziB4sAk&Niovd}NckI|wm z?2Ecc(_1pOfqcy`k-z`B+fAlf9`7*%5!Y#-Z}OQ`37Vf-o@e7pqSe$r0LKI>&S&x& zX>wh)RV8BNB89SDH>aB26cEEu|IZ`z5E)hVmJx9A-!TU z*!d(sraxOs%42H%*E?{G>dFHr*4bmH%beCkMimQ;;7|giss)P?4+kSbJV*d3AQM~y z*MS6Xf^3irzDQzJr@=*V8C(Tz;1;+GWD^;c0+Z!nO7%nv9*FQ5hklAMf6hsbci zfq78O2Zf*nRDhSkO7I%k4BiCW!3Uro><34{C!h&@1KYsdv9uvv%xL?^BL^n1?vyzVg(prpnc|&oQcjU_(in?ITtI3M7L;PQ&3MaE$ zTFJq&y`2^9siyBRLp}4&k$*SE9kirfUJrT41SxCf=uzoJv9s~VFa!|nCF3*=SsRH<8&IV0Ci=O0&7C+ zaGk_5(V#U(y4BpN7H{n|&xhtY&vwrAZUi(FJz%8$o${uamFVKwfbtW_a4p@5UpO=q zwshF-%edX{vOB&3%jm|JL01Vn2@B(}zi6mU*ke$&mhPw06R3I`iaI@g<~QzxaFVM) zmr$&@{So4^#knq9DXP!!g))J->oD%G0}eDClvDw$4(9i)pz9ujrh``@XvkMp#OXq) z;5d9U{$LA)hsy4#D$;cQi*%D5QZ779U4$DGyrhDAq;J1*yQey-5gr@zS!wfa^xz1N zRA>ekUB*bLFcQ)ps(4SYlUXXicC$LH=m{&-9xJ>Sz^pV~zYfD;SsaX~W+mwQ6b;4h zG~SuwkUl}PbT9MTrlhuwLzDMfOqCR!3{wRxnE+42I3+bMq_ZZ!@k3ZtZ1wEubQtM= z3D@hW-|3LLgVw;O@IW|PIlA;i#>p@&G9$VnQ~Kf})&Mnf_i@xf=aCZr_70m8rz72Q z1EuZI>TsH`8~1G6R%8V%`zwwMOzlkX)Q<2Dek^swfsgAeD=I2(xA=U1@Hao#p@UK= zo#j40h-!&XU8Uo2gXtF8Q2(eTts8JLzM ziSrRPTT9kFGHlfESbJNCY++QTHu}pzqo@})1}%288kD8?yF)4l%R!6Uj*zxT2D3v+ zp9H;($s`XaMB_41nh;16tC84A8WYlRG>0VyqkdcBKz0eqNsQ}LgqkX&wP>LIv~R-( zRY>+GTG)N$X5t|B?{(^=o@}qfxQdi{-<#IccQEM#B20XOO(L5nZe~BNi*;nOxH_#( z&S%dNd5V^;AcIq;%Jv43B`L}5cJfuq$e#6RD%I7LQt7!?xPyvFQ0fRaf{acb6Z($_ zuEk}o5#IMJxupDxY)y@0*OMPoL;EeQ!)kLVT=5EAvas!>IFjkAkdjDfnx;4PaC-i= zWcSzJQz;MKPf8msla-L-v{0G)?__n_1oW&qZ7*9u)=ko}&y$8p%VA+kdLmm-Hm9ef zo!jZ6EU<(`XAEUmlBpSk*sQu2GUl@Ve?4~33H0T${MNLoQ|PyVAACvo$%E*wEiY?T zmVf+gfZ^k0X%A_bJhJzL?<>a%`)KcB^RKzx_dX^hd)`XhKPEIb($g|tj^h`vC?;Zi zbhK<%ZC&Z3_-v6w!m>2@wPy|ON8iIQ{)XkDE^j#V@tFbV5PRP5v~LbsW@#-eBKMWFID#Glr73ydLaD;?C3J?L#{wR2KOG37auM z7P*5wHX}rK{aw;{C(7UQ?)68M)QlDvB=<+NkvbL&&4GoF_pC+4Sul)^BX1S(S>4vahxaw1 zD0eAZzJIm7czgPzPH83jNZ)wmj$~I?X(4jj`%Y`=7(o{nqJ!9;4#iMUeL9S_6X(+* ztcq-SdZ_I5DsuE`UA%;O(n4E9NVA{#5#76J;!1@S$g=@)gS9B$|wTt&r zaVk;G3hbtM-|eo~Rw8XAqhc2LpskDcvN zO-l--^+%}oMLG)5i@mS+(S5z)RF8QPdY;jOp8CGt2Ix6Gb!%E=R8gdgFSl3N25+@D zTztR6vyj%$r+U+=-q<#W6xrr>Pd;3~jS7=Hgley_i3-IIp^sO1mkNhM*jT^biTCvu z4UKyqSCs=7xt6he(MlW5VrkjL<1Gd%(Yyr7k3U0Fm4!=I%K$1IPlab8tV+Dxl64i5 zA}To!Nn@iFywdG{U4awOJ8|-2OR!HIL#2~Ff-T)t$n$Q-Pt_?4cd|~NFwA0505U;5 zpielyTn7RMTw05-Qeaj!!^F`q+6ZevJ@^7#2aiL(AIziqpav|0oIV>@F-$fP!5=Fb zW*^uH7O%wZQ;*0MG`b#Kg2KSn3^Nz(05<`BUV4>bwu8lB9>@U>5DO%*8pbUKc_0pq z1UjGrJ%Akiyax4yQ{X7r3u@Nj_PZI8YOoj-f=plnS|A6FXn;Ng(VJet5B&TJz88a? zpb^kVz8nn#4#a^pkOO9cMW7mN20Ot~a0)a#@$(z#u>uVOBNz`d!E`Vm41i~PfY%Ve z3$}y(;3~KTnm`4h&v+PT0v(SQ6MzF9=|eN`$Ej?2q@sJrzdGn$wSe?23Lelp3m+1C z<2}BoH>^h7Z#Le~5jONDV~W1$S~vnXrzpJA4<S0s}szC#YeFS-+?Fmr#Q}Jw>pAq{~ui0e!{A_hE*qV|WmwJ68H)o=A&6wRa z>dA7SVJpe``2&25<`&PINq(I_x?j^~eCsAwG&T8@Ts*m!9h4P^AfzCp*^%h8wkJmgS~H1hPqz9G%XL4uJGQt6F$ zP1=X;XdyI2fvYjqP$8rm!3e3BJRc%F8eF>u->&gcCk-8Wp(HdUvt1*nU1Me^jU1|h z4|Q8gMzE{Mr}%xF{8}CrvvLK_rYHGKN$|T6>cyc9*?%#Kk2a@*}1(VW+^6s}g zNn`Ixl~}jbJG71hkF;r#de|PUG6cHN4L)$ke6SZ#(HlV7D3% zz4M*)RzSu;FZN|`Ir?kF)|y)i@ykpAO?#eP?77=YmxuNF|Fh};_H3dD*#G+3RQLT0 zH&~)C4^+)!$30n;F=JNl>}L~Z&w6S!`Ks(Ua%qX9F24L^7o5x9r{i!cT<=|AI*2KX zbquoxghQ^vKHc^l_H4j`9N++jpcYgE1~kpb(goGP@hnbXPzrKrya;8BQP(__DZ;%( z3tVKu@+-~dga4ZHxOR)B4w9yEbV;3nv~fnf##8^{C& zU@3SFyao1vFE>2GFqaYe1@zd+Fj`;&6TlQu2o{5t;4k11xB#vL1v(qbj;jbXs(Fv@^OqdUy2E z=pUm05&cWFkICPpHVrUwrpHYMrq@i{Obw=^CWCo`Io156d4ajqTyB2VTxb5f`Kr0i z?BFNykMj%oQr>B0wCEi?f7ZCew9~ZLbi#Da{FC{%S;6;q@}u|+emY;qZ{-b^6iaWb z-ujdEi14M*BHR#s#r~pJ94wl}YH^jgRjd=Qh+SG)^&2Hx4r`G_5rCGf(DQEWXwNYnat+wOO5G ztZCL3!B13)14Ul6iw}vD#2Wj)m@_dxap7D9$8koE=R_`+i{r*~37msV<1)D{E{DtI^0)%7kSpTmb0u6Uw}h*JAF8>P z+#0SX>O$0&C|2J^AFL14hwDvxQ6Hzz((lzD)Zf%Q4I2y>49^%xMZXg5TpitNYBSw5 z-7(!YG3G$C+N?2a%{p_qIl|1Djb`2~nq$pz=JDnPv%{Qb4&jGm80Yc}`KA0z{09C# z{u+GJ$D*;sSkf$yTk%KYp0Ivyy<}AgJ%rDN zuZ0W3cfw64Mm|wY5i`XZ;!$yf?HyY!M!VJ4*B)jcYB$;A?Fsf2`xEwg_6qwpjDM@W zZ%k%PVa#(eRWYk#HpSG$?29=PbBfM}9PAA6WDjlt_YgOidz1T}Q$`u0vZ5-YHepa7 z)vwZjrEk&S)%P@549SLRhSv?d49*({jd73hYvUbbpJ;n@2G+v-=&jLziGDYFfAlcZ zNRwddW-c~s`FK8ue;$+fRsIeBL;fs(lkbLkFvc?3Qes(cdDqf}KC@Px)s7xdv33=D z34MhSVW1E$L<@G|Vc}6BM|e)yDAWk`!hYcsO#Ab~x56(@ffY5PPK?BqOcYbanW9r% zDXtYaiF?HZ;tBDzco8eXE&AHjwh-HJo5hx7OS3&;E43}Ny<}T%d(F1l_P*_;?VRm~ zE#Cf&{cm>3e%&sMQN;9!35&^&c@n;w7xN-K^>)mOm@i_!p`I$lF^wRE8^k$>aih3s zPT)mv+nPtmW1ht#4uK zxUEBliNdqOOTrdmmv9gcye{~NLE;cGN*pbwiP>VFh;EhQa)NnqKB_sYH7Y{S>5Y0G z^FJ0VV7y*q&>D1xOhc9-$B=8tGmt~;^iDdz)6ALX9P@nhdGlrLX)0dLYx!{A$fxm{ zd={U}&&U3@l3&l)^7Z@?{xaW+8E}VZEPP+%>xmRdJkw_6*nr>%FaazQ6V2u72@3!)GwWD0r0d|{igU1$<6 q3$4N(L5-OaCpyGJu|%vD>&1PT4>!d-VjyM%U-$0%RG;OX;y(cWS%aSd delta 9831 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 BT +//////////////////////////////////////////////////////////// +// Private data +//////////////////////////////////////////////////////////// +namespace +{ + const sf::Window* FullscreenWindow = NULL; +} + + namespace sf { //////////////////////////////////////////////////////////// /// Default constructor -/// //////////////////////////////////////////////////////////// Window::Window() : myWindow (NULL), @@ -95,20 +103,36 @@ Window::~Window() //////////////////////////////////////////////////////////// void Window::Create(VideoMode Mode, const std::string& Title, unsigned long WindowStyle, const WindowSettings& Params) { - // Check validity of video mode - if ((WindowStyle & Style::Fullscreen) && !Mode.IsValid()) + // Destroy the previous window implementation + Close(); + + // Fullscreen style requires some tests + if (WindowStyle & Style::Fullscreen) { - std::cerr << "The requested video mode is not available, switching to a valid mode" << std::endl; - Mode = VideoMode::GetMode(0); + // Make sure there's not already a fullscreen window (only one is allowed) + if (FullscreenWindow) + { + std::cerr << "Creating two fullscreen windows is not allowed, switching to windowed mode" << std::endl; + WindowStyle &= ~Style::Fullscreen; + } + else + { + // Make sure the chosen video mode is compatible + if (!Mode.IsValid()) + { + std::cerr << "The requested video mode is not available, switching to a valid mode" << std::endl; + Mode = VideoMode::GetMode(0); + } + + // Update the fullscreen window + FullscreenWindow = this; + } } // Check validity of style if ((WindowStyle & Style::Close) || (WindowStyle & Style::Resize)) WindowStyle |= Style::Titlebar; - // Destroy the previous window implementation - delete myWindow; - // Activate the global context Context::GetGlobal().SetActive(true); @@ -123,7 +147,7 @@ void Window::Create(VideoMode Mode, const std::string& Title, unsigned long Wind void Window::Create(WindowHandle Handle, const WindowSettings& Params) { // Destroy the previous window implementation - delete myWindow; + Close(); // Activate the global context Context::GetGlobal().SetActive(true); @@ -143,6 +167,10 @@ void Window::Close() // Delete the window implementation delete myWindow; myWindow = NULL; + + // Update the fullscreen window + if (this == FullscreenWindow) + FullscreenWindow = NULL; } From 26fd1b89e41eb5726ffb1c48b7d2fd33aa68a2fc Mon Sep 17 00:00:00 2001 From: remi-k Date: Sun, 8 Mar 2009 09:56:25 +0000 Subject: [PATCH 06/27] Bug fix (make shure a font object isn't destroyed as long as the string is using it) and code clean up in sf.String git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1043 4e206d99-4929-0410-ac5d-dfc041789085 --- python/src/String.cpp | 27 ++++++++++++++++++++++----- python/src/String.hpp | 3 +++ 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/python/src/String.cpp b/python/src/String.cpp index 7e4bc5c35..527233400 100644 --- a/python/src/String.cpp +++ b/python/src/String.cpp @@ -30,8 +30,6 @@ #include "compat.hpp" -extern PyTypeObject PySfColorType; -extern PyTypeObject PySfImageType; extern PyTypeObject PySfDrawableType; extern PyTypeObject PySfFontType; @@ -39,6 +37,7 @@ extern PyTypeObject PySfFontType; static void PySfString_dealloc(PySfString *self) { + Py_CLEAR(self->font); delete self->obj; free_object(self); } @@ -48,6 +47,8 @@ PySfString_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { PySfString *self; self = (PySfString *)type->tp_alloc(type, 0); + if (self != NULL) + self->font = NULL; return (PyObject *)self; } @@ -64,7 +65,11 @@ PySfString_init(PySfString *self, PyObject *args, PyObject *kwds) return -1; if (FontTmp) + { Font = (FontTmp->obj); + Py_INCREF(FontTmp); + self->font = FontTmp; + } else Font = (sf::Font *)&(sf::Font::GetDefaultFont()); @@ -148,6 +153,9 @@ PySfString_SetFont(PySfString* self, PyObject *args) PyErr_SetString(PyExc_ValueError, "String.SetFont() Argument must be a sf.Font"); return NULL; } + Py_CLEAR(self->font); + Py_INCREF(args); + self->font = Font; self->obj->SetFont(*(Font->obj)); Py_RETURN_NONE; } @@ -192,9 +200,18 @@ PySfString_GetText(PySfString* self) static PyObject * PySfString_GetFont(PySfString* self) { - PySfFont *Font = GetNewPySfFont(); - Font->obj = new sf::Font(self->obj->GetFont()); - return (PyObject *)Font; + if (self->font == NULL) + { + PySfFont *Font = GetNewPySfFont(); + Font->obj = (sf::Font *)&(sf::Font::GetDefaultFont()); + Font->Owner = false; + return (PyObject *)Font; + } + else + { + Py_INCREF(self->font); + return (PyObject *)(self->font); + } } static PyObject * diff --git a/python/src/String.hpp b/python/src/String.hpp index a036f8e16..f32e14250 100644 --- a/python/src/String.hpp +++ b/python/src/String.hpp @@ -29,9 +29,12 @@ #include +#include "Font.hpp" + typedef struct { PyObject_HEAD sf::String *obj; + PySfFont *font; } PySfString; void PySfString_InitConst(); From b2c751d0b25784ddd89d41767976f858147fdc95 Mon Sep 17 00:00:00 2001 From: laurentgom Date: Thu, 12 Mar 2009 19:19:32 +0000 Subject: [PATCH 07/27] Updated stb_vorbis to fix memory leaks git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1044 4e206d99-4929-0410-ac5d-dfc041789085 --- src/SFML/Audio/stb_vorbis/stb_vorbis.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SFML/Audio/stb_vorbis/stb_vorbis.c b/src/SFML/Audio/stb_vorbis/stb_vorbis.c index c092d9722..e34405f81 100755 --- a/src/SFML/Audio/stb_vorbis/stb_vorbis.c +++ b/src/SFML/Audio/stb_vorbis/stb_vorbis.c @@ -2037,7 +2037,6 @@ void dct_iv_slow(float *buffer, int n) //acc += x[j] * cos(M_PI / n * (i + 0.5) * (j + 0.5)); buffer[i] = acc; } - free(x); } void inverse_mdct_slow(float *buffer, int n, vorb *f, int blocktype) @@ -3504,8 +3503,8 @@ static int start_decoder(vorb *f) #else for (j=0; j < (int) c->lookup_values; ++j) c->multiplicands[j] = mults[j] * c->delta_value + c->minimum_value; - setup_temp_free(f, mults,sizeof(mults[0])*c->lookup_values); #endif + setup_temp_free(f, mults,sizeof(mults[0])*c->lookup_values); } skip:; @@ -3812,6 +3811,7 @@ static void vorbis_deinit(stb_vorbis *p) setup_free(p, p->B[i]); setup_free(p, p->C[i]); setup_free(p, p->window[i]); + setup_free(p, p->bit_reverse[i]); } #ifndef STB_VORBIS_NO_STDIO if (p->close_on_free) fclose(p->f); From 3b1abf635ea54ea7566b2a1e5678073cdcc30872 Mon Sep 17 00:00:00 2001 From: laurentgom Date: Thu, 12 Mar 2009 21:01:50 +0000 Subject: [PATCH 08/27] Implemented proper video mode depth detection on Linux git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1045 4e206d99-4929-0410-ac5d-dfc041789085 --- samples/window/Window.cpp | 3 ++- src/SFML/Window/Linux/VideoModeSupport.cpp | 27 ++++++++++++++-------- src/SFML/Window/Linux/WindowImplX11.cpp | 2 ++ 3 files changed, 22 insertions(+), 10 deletions(-) diff --git a/samples/window/Window.cpp b/samples/window/Window.cpp index 0f457413b..af9efd30a 100644 --- a/samples/window/Window.cpp +++ b/samples/window/Window.cpp @@ -5,6 +5,7 @@ #include #include +#include //////////////////////////////////////////////////////////// /// Entry point of application @@ -15,7 +16,7 @@ int main() { // Create the main window - sf::Window App(sf::VideoMode(640, 480, 32), "SFML Window"); + sf::Window App(sf::VideoMode(640, 480, 1), "SFML Window"); // Create a clock for measuring the time elapsed sf::Clock Clock; diff --git a/src/SFML/Window/Linux/VideoModeSupport.cpp b/src/SFML/Window/Linux/VideoModeSupport.cpp index d3287020b..b301fd124 100644 --- a/src/SFML/Window/Linux/VideoModeSupport.cpp +++ b/src/SFML/Window/Linux/VideoModeSupport.cpp @@ -63,15 +63,24 @@ void VideoModeSupport::GetSupportedVideoModes(std::vector& Modes) XRRScreenSize* Sizes = XRRConfigSizes(Config, &NbSizes); if (Sizes && (NbSizes > 0)) { - // Add them to the video modes array - for (int i = 0; i < NbSizes; ++i) + // Get the list of supported depths + int NbDepths = 0; + int* Depths = XListDepths(Disp, Screen, &NbDepths); + if (Depths && (NbDepths > 0)) { - // Convert to sfVideoMode - VideoMode Mode(Sizes[i].width, Sizes[i].height, 32); - - // Add it only if it is not already in the array - if (std::find(Modes.begin(), Modes.end(), Mode) == Modes.end()) - Modes.push_back(Mode); + // Combine depths and sizes to fill the array of supported modes + for (int i = 0; i < NbDepths; ++i) + { + for (int j = 0; j < NbSizes; ++j) + { + // Convert to sfVideoMode + VideoMode Mode(Sizes[j].width, Sizes[j].height, Depths[i]); + + // Add it only if it is not already in the array + if (std::find(Modes.begin(), Modes.end(), Mode) == Modes.end()) + Modes.push_back(Mode); + } + } } } @@ -120,7 +129,7 @@ VideoMode VideoModeSupport::GetDesktopVideoMode() int NbSizes; XRRScreenSize* Sizes = XRRConfigSizes(Config, &NbSizes); if (Sizes && (NbSizes > 0)) - DesktopMode = VideoMode(Sizes[CurrentMode].width, Sizes[CurrentMode].height, 32); + DesktopMode = VideoMode(Sizes[CurrentMode].width, Sizes[CurrentMode].height, DefaultDepth(Disp, Screen)); // Free the configuration instance XRRFreeScreenConfigInfo(Config); diff --git a/src/SFML/Window/Linux/WindowImplX11.cpp b/src/SFML/Window/Linux/WindowImplX11.cpp index e63763d27..a01c0b28a 100644 --- a/src/SFML/Window/Linux/WindowImplX11.cpp +++ b/src/SFML/Window/Linux/WindowImplX11.cpp @@ -659,6 +659,8 @@ bool WindowImplX11::CreateContext(const VideoMode& Mode, XVisualInfo& ChosenVisu glXGetConfig(ourDisplay, &Visuals[i], GLX_SAMPLE_BUFFERS_ARB, &MultiSampling); glXGetConfig(ourDisplay, &Visuals[i], GLX_SAMPLES_ARB, &Samples); +std::cout << "Red = " << Red << " Green = " << Green << " Blue = " << Blue << std::endl; + // First check the mandatory parameters if ((RGBA == 0) || (DoubleBuffer == 0)) continue; From f00e0ef6355649b02b0a0aa153d34b154c1efa46 Mon Sep 17 00:00:00 2001 From: laurentgom Date: Thu, 12 Mar 2009 21:02:40 +0000 Subject: [PATCH 09/27] git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1046 4e206d99-4929-0410-ac5d-dfc041789085 --- samples/window/Window.cpp | 3 +-- src/SFML/Window/Linux/WindowImplX11.cpp | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/samples/window/Window.cpp b/samples/window/Window.cpp index af9efd30a..0f457413b 100644 --- a/samples/window/Window.cpp +++ b/samples/window/Window.cpp @@ -5,7 +5,6 @@ #include #include -#include //////////////////////////////////////////////////////////// /// Entry point of application @@ -16,7 +15,7 @@ int main() { // Create the main window - sf::Window App(sf::VideoMode(640, 480, 1), "SFML Window"); + sf::Window App(sf::VideoMode(640, 480, 32), "SFML Window"); // Create a clock for measuring the time elapsed sf::Clock Clock; diff --git a/src/SFML/Window/Linux/WindowImplX11.cpp b/src/SFML/Window/Linux/WindowImplX11.cpp index a01c0b28a..e63763d27 100644 --- a/src/SFML/Window/Linux/WindowImplX11.cpp +++ b/src/SFML/Window/Linux/WindowImplX11.cpp @@ -659,8 +659,6 @@ bool WindowImplX11::CreateContext(const VideoMode& Mode, XVisualInfo& ChosenVisu glXGetConfig(ourDisplay, &Visuals[i], GLX_SAMPLE_BUFFERS_ARB, &MultiSampling); glXGetConfig(ourDisplay, &Visuals[i], GLX_SAMPLES_ARB, &Samples); -std::cout << "Red = " << Red << " Green = " << Green << " Blue = " << Blue << std::endl; - // First check the mandatory parameters if ((RGBA == 0) || (DoubleBuffer == 0)) continue; From 507fea97d93d6dc179864b9dd0d8087e0174c48d Mon Sep 17 00:00:00 2001 From: laurentgom Date: Thu, 12 Mar 2009 21:10:52 +0000 Subject: [PATCH 10/27] git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1047 4e206d99-4929-0410-ac5d-dfc041789085 --- src/SFML/Window/Linux/VideoModeSupport.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/SFML/Window/Linux/VideoModeSupport.cpp b/src/SFML/Window/Linux/VideoModeSupport.cpp index b301fd124..4a8320555 100644 --- a/src/SFML/Window/Linux/VideoModeSupport.cpp +++ b/src/SFML/Window/Linux/VideoModeSupport.cpp @@ -45,7 +45,7 @@ void VideoModeSupport::GetSupportedVideoModes(std::vector& Modes) // First, clear array to fill Modes.clear(); - // Get the display and screen from sfWindowImplUnix + // Get the display and screen from WindowImplUnix WindowImplX11::OpenDisplay(false); Display* Disp = WindowImplX11::ourDisplay; int Screen = WindowImplX11::ourScreen; @@ -73,7 +73,7 @@ void VideoModeSupport::GetSupportedVideoModes(std::vector& Modes) { for (int j = 0; j < NbSizes; ++j) { - // Convert to sfVideoMode + // Convert to VideoMode VideoMode Mode(Sizes[j].width, Sizes[j].height, Depths[i]); // Add it only if it is not already in the array @@ -108,7 +108,7 @@ VideoMode VideoModeSupport::GetDesktopVideoMode() { VideoMode DesktopMode; - // Get the display and screen from sfWindowImplUnix + // Get the display and screen from WindowImplUnix WindowImplX11::OpenDisplay(false); Display* Disp = WindowImplX11::ourDisplay; int Screen = WindowImplX11::ourScreen; From a5120cd681e7960e2e5af42ba062f08259a40010 Mon Sep 17 00:00:00 2001 From: ceylo Date: Sat, 14 Mar 2009 13:48:16 +0000 Subject: [PATCH 11/27] Switching to Cocoa way implementation. git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1048 4e206d99-4929-0410-ac5d-dfc041789085 --- src/SFML/Window/Cocoa/WindowController.h | 73 ---------- src/SFML/Window/Cocoa/WindowController.mm | 157 ---------------------- 2 files changed, 230 deletions(-) delete mode 100644 src/SFML/Window/Cocoa/WindowController.h delete mode 100644 src/SFML/Window/Cocoa/WindowController.mm diff --git a/src/SFML/Window/Cocoa/WindowController.h b/src/SFML/Window/Cocoa/WindowController.h deleted file mode 100644 index 4c40825df..000000000 --- a/src/SFML/Window/Cocoa/WindowController.h +++ /dev/null @@ -1,73 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2008 Lucas Soltic (elmerod@gmail.com) and Laurent Gomila (laurent.gom@gmail.com) -// -// This software is provided 'as-is', without any express or implied warranty. -// In no event will the authors be held liable for any damages arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it freely, -// subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; -// you must not claim that you wrote the original software. -// If you use this software in a product, an acknowledgment -// in the product documentation would be appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, -// and must not be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source distribution. -// -//////////////////////////////////////////////////////////// - - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#import -#import -#import - - -//////////////////////////////////////////////////////////// -/// WindowController is a Cocoa notification receiver -//////////////////////////////////////////////////////////// -@interface WindowController : NSObject { - sf::priv::WindowImplCocoa *parentWindow; -} - -//////////////////////////////////////////////////////////// -/// Return a new autoreleased WindowController object linked -/// to the 'window' WindowImplCocoa object. -//////////////////////////////////////////////////////////// -+ (WindowController *)controllerWithWindow:(sf::priv::WindowImplCocoa *)window; -- (WindowController *)initWithWindow:(sf::priv::WindowImplCocoa *)window; - -//////////////////////////////////////////////////////////// -/// Notification method receiver when OpenGL view size changes -//////////////////////////////////////////////////////////// -- (void)viewFrameDidChange:(NSNotification *)notification; - -//////////////////////////////////////////////////////////// -/// Notification method receiver when the window gains focus -//////////////////////////////////////////////////////////// -- (void)windowDidBecomeMain:(NSNotification *)notification; - -//////////////////////////////////////////////////////////// -/// Notification method receiver when the window loses focus -//////////////////////////////////////////////////////////// -- (void)windowDidResignMain:(NSNotification *)notification; - -//////////////////////////////////////////////////////////// -/// Notification method receiver when the window closes -//////////////////////////////////////////////////////////// -- (void)windowWillClose:(NSNotification *)notification; - -@end - -// NSWindow subclass used to allow full screen windows to receive events -@interface SFWindow : NSWindow -@end - diff --git a/src/SFML/Window/Cocoa/WindowController.mm b/src/SFML/Window/Cocoa/WindowController.mm deleted file mode 100644 index 286a3ed6c..000000000 --- a/src/SFML/Window/Cocoa/WindowController.mm +++ /dev/null @@ -1,157 +0,0 @@ -//////////////////////////////////////////////////////////// -// -// SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2008 Lucas Soltic (elmerod@gmail.com) and Laurent Gomila (laurent.gom@gmail.com) -// -// This software is provided 'as-is', without any express or implied warranty. -// In no event will the authors be held liable for any damages arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it freely, -// subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; -// you must not claim that you wrote the original software. -// If you use this software in a product, an acknowledgment -// in the product documentation would be appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, -// and must not be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source distribution. -// -//////////////////////////////////////////////////////////// - - -//////////////////////////////////////////////////////////// -// Headers -//////////////////////////////////////////////////////////// -#import -#import -#import -#import -#import - -@implementation WindowController - -//////////////////////////////////////////////////////////// -/// Forbide use of WindowController without any linked WindowImplCocoa object -//////////////////////////////////////////////////////////// -- (id)init -{ - return [self initWithWindow:NULL]; -} - -//////////////////////////////////////////////////////////// -/// Initialize a new WindowController object and link it -/// to the 'window' object. -//////////////////////////////////////////////////////////// -- (WindowController *)initWithWindow:(sf::priv::WindowImplCocoa *)window -{ - if (window == NULL) { - std::cerr << "-[WindowController initWithWindow:NULL] -- initialization without any linked window is forbidden ; nil returned" << std::endl; - [self release]; - return nil; - } - - self = [super init]; - - if (self != nil) { - parentWindow = window; - } - - return self; -} - -//////////////////////////////////////////////////////////// -/// Return a new autoreleased WindowController object linked -/// to the 'window' WindowImplCocoa object. -//////////////////////////////////////////////////////////// -+ (WindowController *)controllerWithWindow:(sf::priv::WindowImplCocoa *)window -{ - WindowController *ctrl = - massert([WindowController alloc]); - return [[ctrl initWithWindow:window] autorelease]; -} - -//////////////////////////////////////////////////////////// -/// Send event to the linked window -//////////////////////////////////////////////////////////// -- (void)pushEvent:(sf::Event)sfEvent -{ - if (parentWindow != NULL) { - parentWindow->HandleNotifiedEvent(sfEvent); - } -} - -//////////////////////////////////////////////////////////// -/// Notification method receiver when OpenGL view size changes -//////////////////////////////////////////////////////////// -- (void)viewFrameDidChange:(NSNotification *)notification -{ - NSOpenGLView *glView = [notification object]; - [[glView openGLContext] update]; - - sf::Event ev; - ev.Type = sf::Event::Resized; - ev.Size.Width = (unsigned) [glView frame].size.width; - ev.Size.Height = (unsigned) [glView frame].size.height; - - [self pushEvent:ev]; -} - -//////////////////////////////////////////////////////////// -/// Notification method receiver when the window gains focus -//////////////////////////////////////////////////////////// -- (void)windowDidBecomeMain:(NSNotification *)notification -{ - sf::Event ev; - ev.Type = sf::Event::GainedFocus; - - [self pushEvent:ev]; -} - -//////////////////////////////////////////////////////////// -/// Notification method receiver when the window loses focus -//////////////////////////////////////////////////////////// -- (void)windowDidResignMain:(NSNotification *)notification -{ - sf::Event ev; - ev.Type = sf::Event::LostFocus; - - [self pushEvent:ev]; -} - -//////////////////////////////////////////////////////////// -/// Notification method receiver when the window closes -//////////////////////////////////////////////////////////// -- (void)windowWillClose:(NSNotification *)notification -{ - sf::Event ev; - ev.Type = sf::Event::Closed; - - [self pushEvent:ev]; -} - -- (void)windowDidMove:(NSNotification *)notification -{ - NSWindow *sender = [notification object]; - - if (!([sender styleMask] & NSTitledWindowMask)) - [sender center]; -} - -@end - - -@implementation SFWindow -- (BOOL)canBecomeKeyWindow -{ - return YES; -} - -- (BOOL)canBecomeMainWindow -{ - return YES; -} -@end From e42882d2ca24cfb1b816d0da82a68a1454cbead3 Mon Sep 17 00:00:00 2001 From: ceylo Date: Sat, 14 Mar 2009 13:49:54 +0000 Subject: [PATCH 12/27] Switching to Cocoa implementation way. Updated copyright year. Removed WindowController. Added Cocoa window import support. git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1049 4e206d99-4929-0410-ac5d-dfc041789085 --- src/SFML/Window/Cocoa/AppController.h | 78 +- src/SFML/Window/Cocoa/AppController.mm | 469 +++++----- src/SFML/Window/Cocoa/GLKit.h | 216 +++++ src/SFML/Window/Cocoa/GLKit.mm | 1017 +++++++++++++++++++++ src/SFML/Window/Cocoa/WindowImplCocoa.hpp | 64 +- src/SFML/Window/Cocoa/WindowImplCocoa.mm | 1011 ++++---------------- 6 files changed, 1679 insertions(+), 1176 deletions(-) create mode 100644 src/SFML/Window/Cocoa/GLKit.h create mode 100644 src/SFML/Window/Cocoa/GLKit.mm diff --git a/src/SFML/Window/Cocoa/AppController.h b/src/SFML/Window/Cocoa/AppController.h index 365afc9d3..f56db4eb5 100644 --- a/src/SFML/Window/Cocoa/AppController.h +++ b/src/SFML/Window/Cocoa/AppController.h @@ -1,7 +1,7 @@ //////////////////////////////////////////////////////////// // // SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2008 Lucas Soltic (elmerod@gmail.com) and Laurent Gomila (laurent.gom@gmail.com) +// Copyright (C) 2007-2009 Lucas Soltic (ceylow@gmail.com) and Laurent Gomila (laurent.gom@gmail.com) // // This software is provided 'as-is', without any express or implied warranty. // In no event will the authors be held liable for any damages arising from the use of this software. @@ -26,12 +26,8 @@ //////////////////////////////////////////////////////////// // Headers //////////////////////////////////////////////////////////// -#import #import -#import #import -#import -#import #define SharedAppController [AppController sharedController] @@ -42,80 +38,50 @@ enum { CleanScreen }; - +@class WindowWrapper; @interface AppController : NSObject { - // Note: objc allocation doesn't call C++ constructor - std::vector *windows; - - NSAutoreleasePool *mainPool; - sf::Clock *cleaner; - sf::VideoMode desktopMode; - sf::VideoMode prevMode; + BOOL myOwningEventLoop; + WindowWrapper *myFullscreenWrapper; + NSAutoreleasePool *myMainPool; + sf::VideoMode myDesktopMode; + sf::VideoMode myPrevMode; } //////////////////////////////////////////////////////////// -/// Return the shared AppController object. Makes one if needed +/// Return the shared AppController instance. Make one if needed. //////////////////////////////////////////////////////////// + (AppController *)sharedController; //////////////////////////////////////////////////////////// -/// Reallocate main pool to release autoreleased objects -//////////////////////////////////////////////////////////// -- (void)resetPool; - -//////////////////////////////////////////////////////////// -/// Register our application and launch it if needed -//////////////////////////////////////////////////////////// -- (void)runApplication; - -//////////////////////////////////////////////////////////// -/// Terminate the current running application -//////////////////////////////////////////////////////////// -- (void)quitApplication:(id)sender; - -//////////////////////////////////////////////////////////// -/// Make menu bar +/// Make the menu bar //////////////////////////////////////////////////////////// - (void)makeMenuBar; //////////////////////////////////////////////////////////// -/// Get the events and put them into an array for each window +/// Process all the events and send them to the application +/// No event is processed if the AppController instance is +/// not the owner of the event loop (ie: user made his own loop) //////////////////////////////////////////////////////////// - (void)processEvents; //////////////////////////////////////////////////////////// -/// Add the 'windowImplObj' object to the list of known windows +/// Set @window as the current fullscreen window +/// Change the screen resolution if needed according to @window and @fullscreenMode //////////////////////////////////////////////////////////// -- (void)registerWindow:(sf::priv::WindowImplCocoa *)windowImplObj; - -//////////////////////////////////////////////////////////// -/// Remove the 'windowImplObj' object from the list of known windows -//////////////////////////////////////////////////////////// -- (void)unregisterWindow:(sf::priv::WindowImplCocoa *)windowImplObj; - -//////////////////////////////////////////////////////////// -/// Return true is one of the registered window is a full screen one -//////////////////////////////////////////////////////////// -- (bool)isUsingFullscreen; +- (void)setFullscreenWindow:(WindowWrapper *)window mode:(sf::VideoMode *)fullscreenMode; //////////////////////////////////////////////////////////// /// Perform fade operation where 'operation' is one of { FillScreen, CleanScreen} /// and 'time' is the time during which you wish the operation to be performed. /// Set 'sync' to true if you do not want the method to end before the end -/// of the fade operation. Pass the last used token or a new one if you are -/// using this method for the first time. This lets the method release some -/// resources when doing CleanScreen operation. +/// of the fade operation. //////////////////////////////////////////////////////////// -- (void)doFadeOperation:(int)operation time:(float)time sync:(bool)sync token:(CGDisplayFadeReservationToken *)prevToken; +- (void)doFadeOperation:(int)operation time:(float)time sync:(bool)sync; + +//////////////////////////////////////////////////////////// +/// Return the desktop video mode (made at the instance initialization) +//////////////////////////////////////////////////////////// +- (const sf::VideoMode&)desktopMode; @end - -//////////////////////////////////////////////////////////// -/// check that ptr is valid, otherwise print msg in -/// std::cerr and throw std::bad_alloc. -/// Must be used to check alloc results -//////////////////////////////////////////////////////////// -template -T *massert(T *ptr); - diff --git a/src/SFML/Window/Cocoa/AppController.mm b/src/SFML/Window/Cocoa/AppController.mm index a6b7310f5..3dced29d1 100644 --- a/src/SFML/Window/Cocoa/AppController.mm +++ b/src/SFML/Window/Cocoa/AppController.mm @@ -1,7 +1,7 @@ //////////////////////////////////////////////////////////// // // SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2008 Lucas Soltic (elmerod@gmail.com) and Laurent Gomila (laurent.gom@gmail.com) +// Copyright (C) 2007-2009 Lucas Soltic (ceylow@gmail.com) and Laurent Gomila (laurent.gom@gmail.com) // // This software is provided 'as-is', without any express or implied warranty. // In no event will the authors be held liable for any damages arising from the use of this software. @@ -27,14 +27,13 @@ // Headers //////////////////////////////////////////////////////////// #import -#import -#import +#import #import #import #import -// AppController singleton +// AppController singleton object static AppController *shared = nil; @@ -61,160 +60,120 @@ static AppController *shared = nil; @implementation AppController + +//////////////////////////////////////////////////////////// +/// Return an initialized AppController instance +/// Save the desktop mode +/// Make the main autorelease pool +/// Set the application observer +//////////////////////////////////////////////////////////// - (id)init { self = [super init]; if (self != nil) { - windows = new std::vector ; - cleaner = new sf::Clock; + myOwningEventLoop = NO; + + // Save the desktop mode + myDesktopMode = sf::VideoMode::GetDesktopMode(); + myPrevMode = myDesktopMode; + + // Make the app autorelease pool + myMainPool = [[NSAutoreleasePool alloc] init]; + + // Don't go on if the user handles the app + if (![NSApp isRunning]) + { + // Force our application to appear in the Dock and make it able + // to get focus (even when it's a raw executable) + ProcessSerialNumber psn; + + if (!GetCurrentProcess(&psn)) { + TransformProcessType(&psn, kProcessTransformToForegroundApplication); + SetFrontProcess(&psn); + } + + // Make the app + [NSApplication sharedApplication]; + + NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; + // I want to go back to the desktop mode + // if we've a fullscreen window when hiding + [nc addObserver:self + selector:@selector(applicationWillHide:) + name:NSApplicationWillHideNotification + object:NSApp]; + + // And restore de fullscreen mode when unhiding + [nc addObserver:self + selector:@selector(applicationWillUnhide:) + name:NSApplicationWillUnhideNotification + object:NSApp]; + + // Go back to desktop mode before exit + [nc addObserver:self + selector:@selector(applicationWillTerminate:) + name:NSApplicationWillTerminateNotification + object:NSApp]; + + if ([NSApp mainMenu] == nil) { + [self makeMenuBar]; + } + } } return self; } +//////////////////////////////////////////////////////////// +/// Clean the controller +//////////////////////////////////////////////////////////// - (void)dealloc { - delete windows; - delete cleaner; + [[NSNotificationCenter defaultCenter] removeObserver:self]; + [myFullscreenWrapper release]; [super dealloc]; } //////////////////////////////////////////////////////////// -/// Return the shared AppController object. Makes one if needed +/// Return the shared AppController instance. Make one if needed. //////////////////////////////////////////////////////////// + (AppController *)sharedController { - if (nil == shared) { - shared = [massert([AppController alloc]) init]; - } + if (nil == shared) + shared = [[AppController alloc] init]; return shared; } //////////////////////////////////////////////////////////// -/// Reallocate main pool to release autoreleased objects -//////////////////////////////////////////////////////////// -- (void)resetPool -{ - [mainPool release]; - - mainPool = [massert([NSAutoreleasePool alloc]) init]; -} - - -//////////////////////////////////////////////////////////// -/// Register our application and launch it if needed -//////////////////////////////////////////////////////////// -- (void)runApplication -{ - if ([NSApp isRunning]) - return; - - // We want our application to appear in the Dock and be able - // to get focus - ProcessSerialNumber psn; - - if (!GetCurrentProcess(&psn)) { - TransformProcessType(&psn, kProcessTransformToForegroundApplication); - SetFrontProcess(&psn); - } - - if (NSApp == nil) { - massert([NSApplication sharedApplication]); - } - - if ([NSApp mainMenu] == nil) { - [self makeMenuBar]; - } - - [NSApp finishLaunching]; - [NSApp setRunning:YES]; - [NSApp setDelegate:self]; - - desktopMode = sf::VideoMode::GetDesktopMode(); -} - - -//////////////////////////////////////////////////////////// -/// Terminate the current running application -//////////////////////////////////////////////////////////// -- (void)quitApplication:(id)sender -{ - // Close all windows - // SFML user has to detect when all windows are closed - NSWindow *current = nil; - sf::priv::WindowImplCocoa *priv = NULL; - - while (windows->size()) { - priv = windows->at(0); - current = static_cast (priv->CocoaWindow()); - [current close]; - windows->erase(windows->begin()); - } -} - - -//////////////////////////////////////////////////////////// -/// Returns the first full screen window found or nil -//////////////////////////////////////////////////////////// -- (SFWindow *)fullscreenWindow -{ - SFWindow *window = nil; - std::vector::size_type sz = windows->size(); - std::vector::size_type idx; - - for (idx = 0; idx < sz; idx++) { - sf::priv::WindowImplCocoa *win = windows->at(idx); - if (win && win->IsFullscreen()) { - window = static_cast (win->CocoaWindow()); - break; - } - } - - return window; -} - - -//////////////////////////////////////////////////////////// -/// Hide all the fullscreen windows and switch to desktop display mode +/// Hide all the fullscreen windows and switch back to the desktop display mode //////////////////////////////////////////////////////////// - (void)applicationWillHide:(NSNotification *)aNotification { - if ([self isUsingFullscreen]) { - prevMode = sf::VideoMode::GetDesktopMode(); + if (myFullscreenWrapper) { + myPrevMode = sf::VideoMode::GetDesktopMode(); CFDictionaryRef displayMode = CGDisplayBestModeForParameters (kCGDirectMainDisplay, - desktopMode.BitsPerPixel, - desktopMode.Width, - desktopMode.Height, + myDesktopMode.BitsPerPixel, + myDesktopMode.Width, + myDesktopMode.Height, NULL); - CGDisplayFadeReservationToken token = kCGDisplayFadeReservationInvalidToken; - // Fade to black screen - [SharedAppController doFadeOperation:FillScreen time:0.2f sync:true token:&token]; + [self doFadeOperation:FillScreen time:0.2f sync:true]; - // Make all the full screen SFML windows unvisible - std::vector::size_type sz = windows->size(); - std::vector::size_type idx; - - for (idx = 0; idx < sz; idx++) { - sf::priv::WindowImplCocoa *win = windows->at(idx); - - if (win->IsFullscreen()) { - [static_cast (win->CocoaWindow()) setAlphaValue:0.0f]; - } - } + // Make the full screen window unvisible + [[myFullscreenWrapper window] setAlphaValue:0.0f]; // Switch to the wished display mode CGDisplaySwitchToMode(kCGDirectMainDisplay, displayMode); // Fade to normal screen - [SharedAppController doFadeOperation:CleanScreen time:0.5f sync:false token:&token]; + [self doFadeOperation:CleanScreen time:0.5f sync:false]; } } @@ -224,41 +183,43 @@ static AppController *shared = nil; //////////////////////////////////////////////////////////// - (void)applicationWillUnhide:(NSNotification *)aNotification { - if ([self isUsingFullscreen]) { + if (myFullscreenWrapper) { CFDictionaryRef displayMode = CGDisplayBestModeForParameters (kCGDirectMainDisplay, - prevMode.BitsPerPixel, - prevMode.Width, - prevMode.Height, + myPrevMode.BitsPerPixel, + myPrevMode.Width, + myPrevMode.Height, NULL); - CGDisplayFadeReservationToken token = kCGDisplayFadeReservationInvalidToken; - // Fade to a black screen - [SharedAppController doFadeOperation:FillScreen time:0.5f sync:true token:&token]; + [self doFadeOperation:FillScreen time:0.5f sync:true]; [NSMenu setMenuBarVisible:NO]; // Switch to the wished display mode CGDisplaySwitchToMode(kCGDirectMainDisplay, displayMode); - // Make all the SFML windows visible - std::vector::size_type sz = windows->size(); - std::vector::size_type idx; - - for (idx = 0; idx < sz; idx++) { - sf::priv::WindowImplCocoa *win = windows->at(idx); - - if (win->IsFullscreen()) { - [static_cast (win->CocoaWindow()) setAlphaValue:1.0f]; - [static_cast (win->CocoaWindow()) center]; - } + // Show the fullscreen window if existing + if (myFullscreenWrapper) + { + [[myFullscreenWrapper window] setAlphaValue:1.0f]; + [[myFullscreenWrapper window] center]; } // Fade to normal screen - [SharedAppController doFadeOperation:CleanScreen time:0.5f sync:false token:&token]; + [self doFadeOperation:CleanScreen time:0.5f sync:false]; } } +- (void)applicationWillTerminate:(NSNotification *)aNotification +{ + if (myFullscreenWrapper) + [self setFullscreenWindow:nil mode:NULL]; + + // FIXME: should I really do this ? what about the user owned windows ? + // And is this really useful as the application is about to exit ? + [NSApp makeWindowsPerform:@selector(close) inOrder:NO]; +} + //////////////////////////////////////////////////////////// /// Make menu bar //////////////////////////////////////////////////////////// @@ -282,10 +243,10 @@ static AppController *shared = nil; // Create the main menu bar - [NSApp setMainMenu:[massert([NSMenu alloc]) init]]; + [NSApp setMainMenu:[[NSMenu alloc] init]]; // Create the application menu - appleMenu = [massert([NSMenu alloc]) initWithTitle:@""]; + appleMenu = [[NSMenu alloc] initWithTitle:@""]; // Put menu items // + 'About' menu item @@ -317,15 +278,15 @@ static AppController *shared = nil; // + 'Quit' menu item title = [@"Quit " stringByAppendingString:appName]; - quitMenuItem = [[massert([NSMenuItem alloc]) + quitMenuItem = [[[NSMenuItem alloc] initWithTitle:title - action:@selector(quitApplication:) + action:@selector(terminate:) keyEquivalent:@"q"] autorelease]; - [quitMenuItem setTarget:self]; + //[quitMenuItem setTarget:self]; [appleMenu addItem:quitMenuItem]; // Put the menu into the menubar - menuItem = [massert([NSMenuItem alloc]) + menuItem = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""]; @@ -338,11 +299,11 @@ static AppController *shared = nil; [appleMenu release]; // 'File' menu - fileMenu = [massert([NSMenu alloc]) + fileMenu = [[NSMenu alloc] initWithTitle:@"File"]; // + 'Close' menu item - menuItem = [massert([NSMenuItem alloc]) + menuItem = [[NSMenuItem alloc] initWithTitle:@"Close" action:@selector(performClose:) keyEquivalent:@"w"]; @@ -350,7 +311,7 @@ static AppController *shared = nil; [menuItem release]; // + 'File' menu item (head) - menuItem = [massert([NSMenuItem alloc]) + menuItem = [[NSMenuItem alloc] initWithTitle:@"File" action:nil keyEquivalent:@""]; @@ -359,11 +320,11 @@ static AppController *shared = nil; [menuItem release]; // 'Window' menu - windowMenu = [massert([NSMenu alloc]) + windowMenu = [[NSMenu alloc] initWithTitle:@"Window"]; // + 'Minimize' menu item - menuItem = [massert([NSMenuItem alloc]) + menuItem = [[NSMenuItem alloc] initWithTitle:@"Minimize" action:@selector(performMiniaturize:) keyEquivalent:@"m"]; @@ -371,7 +332,7 @@ static AppController *shared = nil; [menuItem release]; // + 'Window' menu item (head) - menuItem = [massert([NSMenuItem alloc]) + menuItem = [[NSMenuItem alloc] initWithTitle:@"Window" action:nil keyEquivalent:@""]; [menuItem setSubmenu:windowMenu]; @@ -385,127 +346,109 @@ static AppController *shared = nil; //////////////////////////////////////////////////////////// -/// Delegate method in order to prevent usual -terminate: -//////////////////////////////////////////////////////////// -- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender -{ - [self quitApplication:nil]; - return NSTerminateCancel; -} - - -//////////////////////////////////////////////////////////// -/// Get the events and put them into an array for each window +/// Process all the events and send them to the application +/// No event is processed if the AppController instance is +/// not the owner of the event loop (ie: user made his own loop) //////////////////////////////////////////////////////////// - (void)processEvents { - // Release the main autorelease pool every second - if (cleaner->GetElapsedTime() > 1.0f) { - cleaner->Reset(); - [self resetPool]; + // Check there is a run loop + if (![NSApp isRunning]) + { + // Get the ownershipt of event handling if not and run + [NSApp finishLaunching]; + [NSApp setRunning:YES]; + myOwningEventLoop = YES; } + // Clean the autorelease pool + [myMainPool release]; + myMainPool = [[NSAutoreleasePool alloc] init]; + NSEvent *event = nil; - while (nil != (event = [NSApp nextEventMatchingMask:NSAnyEventMask - untilDate:nil - inMode:NSEventTrackingRunLoopMode - dequeue:YES])) { - NSWindow *keyWindow = [NSApp keyWindow]; - - if (keyWindow == nil) { - // Is there a fullscreen WindowImpl object ? + if (myOwningEventLoop) + { + // Minimal event loop + while (nil != (event = [NSApp nextEventMatchingMask:NSAnyEventMask + untilDate:nil + inMode:NSEventTrackingRunLoopMode + dequeue:YES])) + { [NSApp sendEvent:event]; - } else { - - std::vector::size_type cnt = windows->size(); - std::vector::size_type idx; - - // is the key window a SFML window ? - for (idx = 0;idx < cnt; idx++) { - sf::priv::WindowImplCocoa *ptr = windows->at(idx);; - - if (ptr->CocoaWindow() == keyWindow) { - // yup, it is - ptr->HandleEvent(static_cast (event)); - break; - } - } - - // nop, it isn't - if (idx == cnt) { - [NSApp sendEvent:event]; - } } } } //////////////////////////////////////////////////////////// -/// Add the 'windowImplObj' object to the list of known windows +/// Set @window as the current fullscreen window +/// Change the screen resolution if needed according to @window and @fullscreenMode //////////////////////////////////////////////////////////// -- (void)registerWindow:(sf::priv::WindowImplCocoa *)windowImplObj +- (void)setFullscreenWindow:(WindowWrapper *)aWrapper mode:(sf::VideoMode *)fullscreenMode { - - if (windowImplObj != NULL) { - std::vector::size_type sz = windows->size(); - std::vector::size_type idx; + // If we have a fullscreen window and want to remove it + if (myFullscreenWrapper && aWrapper == nil) + { + // Get the CoreGraphics display mode according to the desktop mode + CFDictionaryRef displayMode = CGDisplayBestModeForParameters (kCGDirectMainDisplay, + myDesktopMode.BitsPerPixel, + myDesktopMode.Width, + myDesktopMode.Height, + NULL); - for (idx = 0; idx < sz; idx++) { - if (windows->at(idx) == windowImplObj) { - break; - } - } + // Fade to black screen + [self doFadeOperation:FillScreen time:0.2f sync:true]; + // Switch to the desktop display mode + CGDisplaySwitchToMode(kCGDirectMainDisplay, displayMode); - // Register window only if not already registered - if (sz == idx) { - windows->push_back(windowImplObj); - } + // Close the window + [[myFullscreenWrapper window] close]; + + // Show the menu bar + [NSMenu setMenuBarVisible:YES]; + + // Fade to normal screen + [self doFadeOperation:CleanScreen time:0.5f sync:true]; + + // Release the saved window wrapper + [myFullscreenWrapper release], myFullscreenWrapper = nil; } -} - - -//////////////////////////////////////////////////////////// -/// Remove the 'windowImplObj' object from the list of known windows -//////////////////////////////////////////////////////////// -- (void)unregisterWindow:(sf::priv::WindowImplCocoa *)windowImplObj -{ - if (windowImplObj != NULL) { - std::vector::size_type sz = windows->size(); - std::vector::size_type idx; + else if (myFullscreenWrapper == nil && aWrapper) + { + assert(fullscreenMode != NULL); - for (idx = 0; idx < sz; idx++) { - if (windows->at(idx) == windowImplObj) { - break; - } - } + // Get the CoreGraphics display mode according to the given sf mode + CFDictionaryRef displayMode = CGDisplayBestModeForParameters (kCGDirectMainDisplay, + fullscreenMode->BitsPerPixel, + fullscreenMode->Width, + fullscreenMode->Height, + NULL); - if (idx < sz) { - windows->erase(windows->begin() + idx); - } + // Fade to a black screen + [self doFadeOperation:FillScreen time:0.5f sync:true]; + + // Hide to the main menu bar + [NSMenu setMenuBarVisible:NO]; + + // Switch to the wished display mode + CGDisplaySwitchToMode(kCGDirectMainDisplay, displayMode); + + // Open and center the window + [[aWrapper window] makeKeyAndOrderFront:nil]; + [[aWrapper window] center]; + + // Fade to normal screen + [self doFadeOperation:CleanScreen time:0.2f sync:false]; + + // Save the fullscreen wrapper + myFullscreenWrapper = [aWrapper retain]; } -} - - -//////////////////////////////////////////////////////////// -/// Return true is one of the registered window is a full screen one -//////////////////////////////////////////////////////////// -- (bool)isUsingFullscreen -{ - bool isUsing = false; - std::vector::size_type sz = windows->size(); - std::vector::size_type idx; - - for (idx = 0; idx < sz; idx++) { - sf::priv::WindowImplCocoa *win = windows->at(idx); - if (win && win->IsFullscreen()) { - isUsing = true; - break; - } + else + { + std::cerr << "Inconcistency error for arguments given to -[AppController setFullscreenWindow:mode:]" << std::endl; } - - return isUsing; } @@ -517,11 +460,10 @@ static AppController *shared = nil; /// using this method for the first time. This lets the method release some /// resources when doing CleanScreen operation. //////////////////////////////////////////////////////////// -- (void) doFadeOperation:(int)operation time:(float)time sync:(bool)sync token:(CGDisplayFadeReservationToken *)prevToken +- (void) doFadeOperation:(int)operation time:(float)time sync:(bool)sync { - CGDisplayFadeReservationToken token = kCGDisplayFadeReservationInvalidToken; - if (prevToken) - token = *prevToken; + static CGDisplayFadeReservationToken prevToken = kCGDisplayFadeReservationInvalidToken; + CGDisplayFadeReservationToken token = prevToken; CGError result = 0, capture = 0; @@ -539,7 +481,7 @@ static AppController *shared = nil; CGDisplayFade(token, time, kCGDisplayBlendNormal, kCGDisplayBlendSolidColor, - 0.0, 0.0, 0.0, sync); + 0.0f, 0.0f, 0.0f, sync); // Now, release the non black-filling capture CGDisplayRelease(kCGDirectMainDisplay); @@ -549,8 +491,7 @@ static AppController *shared = nil; CGDisplayCaptureWithOptions(kCGDirectMainDisplay, kCGCaptureNoOptions); } - if (prevToken) - *prevToken = token; + prevToken = token; } } else if (operation == CleanScreen) { // Get access for the fade operation @@ -569,14 +510,13 @@ static AppController *shared = nil; CGDisplayFade(token, time, kCGDisplayBlendSolidColor, kCGDisplayBlendNormal, - 0.0, 0.0, 0.0, sync); + 0.0f, 0.0f, 0.0f, sync); // Release the fade operation token CGReleaseDisplayFadeReservation(token); // Invalidate the given token - if (prevToken) - *prevToken = kCGDisplayFadeReservationInvalidToken; + prevToken = kCGDisplayFadeReservationInvalidToken; } // Release the captured display @@ -585,15 +525,14 @@ static AppController *shared = nil; } } + +//////////////////////////////////////////////////////////// +/// Return the desktop video mode (made at the instance initialization) +//////////////////////////////////////////////////////////// +- (const sf::VideoMode&)desktopMode +{ + return myDesktopMode; +} + @end - -template -T *massert(T *ptr) -{ - if (NULL == ptr) { - throw std::bad_alloc(); - } - - return ptr; -} diff --git a/src/SFML/Window/Cocoa/GLKit.h b/src/SFML/Window/Cocoa/GLKit.h new file mode 100644 index 000000000..aa2125c48 --- /dev/null +++ b/src/SFML/Window/Cocoa/GLKit.h @@ -0,0 +1,216 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 Lucas Soltic (ceylow@gmail.com) and Laurent Gomila (laurent.gom@gmail.com) +// +// This software is provided 'as-is', without any express or implied warranty. +// In no event will the authors be held liable for any damages arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it freely, +// subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; +// you must not claim that you wrote the original software. +// If you use this software in a product, an acknowledgment +// in the product documentation would be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, +// and must not be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source distribution. +// +//////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#import +#import + + +//////////////////////////////////////////////////////////// +/// Window independant OpenGL context class +//////////////////////////////////////////////////////////// +@interface GLContext : NSOpenGLContext +{ + GLContext *mySharedContext; +} + +//////////////////////////////////////////////////////////// +/// Return the shared OpenGL context instance (making one if needed) +//////////////////////////////////////////////////////////// ++ (id)sharedContext; + +//////////////////////////////////////////////////////////// +/// Make a new OpenGL context according to the @attribs settings +/// and the shared context @context +//////////////////////////////////////////////////////////// +- (id)initWithAttributes:(sf::WindowSettings&)attribs + sharedContext:(GLContext *)context; + +@end + + +//////////////////////////////////////////////////////////// +/// Customized Cocoa OpenGL view +//////////////////////////////////////////////////////////// +@interface GLView : NSOpenGLView +{ + sf::priv::WindowImplCocoa *myDelegate; + GLContext *myGLContext; +} + +//////////////////////////////////////////////////////////// +/// Make a new view according the the rect @frame, +/// the video mode @mode, the window settings @settings +/// and the sf window delegate @delegate +/// @delegate must not be null +//////////////////////////////////////////////////////////// +- (id)initWithFrame:(NSRect)frame + mode:(const sf::VideoMode&)mode + settings:(sf::WindowSettings&)settings + delegate:(sf::priv::WindowImplCocoa *)delegate; + +//////////////////////////////////////////////////////////// +/// Finish view setting (after having added it to the window) +//////////////////////////////////////////////////////////// +- (void)finishInitialization; + +//////////////////////////////////////////////////////////// +/// Forward call to en/disable vertical synchronization +//////////////////////////////////////////////////////////// +- (void)enableVerticalSync:(bool)flag; + +//////////////////////////////////////////////////////////// +/// Forward call to set the OpenGL context as active according to @flag +//////////////////////////////////////////////////////////// +- (void)setActive:(bool)flag; + +//////////////////////////////////////////////////////////// +/// Forward call to flush the OpenGL context +//////////////////////////////////////////////////////////// +- (void)flushBuffer; + +@end + +//////////////////////////////////////////////////////////// +/// Cocoa window implementation to let fullscreen windows +/// catch key events +//////////////////////////////////////////////////////////// +@interface GLWindow : NSWindow + +//////////////////////////////////////////////////////////// +/// Technical note: this class must neither contain new members +/// nor methods. It is used transparently as a NSWindow object +/// by WindowWrapper. Not following this rule could result +/// in a segmentation fault or data corruption. +//////////////////////////////////////////////////////////// + +@end + +//////////////////////////////////////////////////////////// +/// WindowWrapper class : handles both imported and self-built windows +//////////////////////////////////////////////////////////// +@interface WindowWrapper : NSObject +{ + GLWindow *myWindow; + GLView *myView; + sf::VideoMode myFullscreenMode; + bool myIsFullscreen; +} + +//////////////////////////////////////////////////////////// +/// Make a new window wrapper according to the window settings @attribs, +/// the video mode @mode, the window style @style, the window title @title +/// and the sf window implementation delegate @delegate +//////////////////////////////////////////////////////////// +- (id)initWithSettings:(sf::WindowSettings&)attribs + videoMode:(sf::VideoMode&)mode + style:(unsigned long)style + title:(NSString *)title + delegate:(sf::priv::WindowImplCocoa *)delegate; + +//////////////////////////////////////////////////////////// +/// Make a new window wrapper by importing @window and according to +/// the window settings @params and the sf window implementation delegate +/// @delegate +/// @window and @delegate must not be null +//////////////////////////////////////////////////////////// +- (id)initWithWindow:(NSWindow *)window + settings:(sf::WindowSettings&)params + delegate:(sf::priv::WindowImplCocoa *)delegate; + +//////////////////////////////////////////////////////////// +/// Make a new window wrapper by importing @window if it's not null and according to +/// the window settings @params and the sf window implementation delegate +/// @delegate; or by creating a new window if @window is null. In this case @title +/// must therefore not be null and @params must be valid. +/// @delegate must never be null +//////////////////////////////////////////////////////////// +- (id)initWithWindow:(NSWindow *)window + settings:(sf::WindowSettings&)params + videoMode:(sf::VideoMode&)mode + style:(unsigned long)style + title:(NSString *)title + delegate:(sf::priv::WindowImplCocoa *)delegate; + + +//////////////////////////////////////////////////////////// +/// Finish the window setup (without knowing whether it's a imported +/// window) +//////////////////////////////////////////////////////////// +/* - (void)setupGLViewAndWindow; */ + +//////////////////////////////////////////////////////////// +/// Return a reference to the internal Cocoa window +//////////////////////////////////////////////////////////// +- (NSWindow *)window; + +//////////////////////////////////////////////////////////// +/// Return a reference to the internal Cocoa OpenGL view +//////////////////////////////////////////////////////////// +- (GLView *)glView; + +//////////////////////////////////////////////////////////// +/// Forward call to set the window position on screen +//////////////////////////////////////////////////////////// +- (void)setPosition:(NSPoint)pos; + +//////////////////////////////////////////////////////////// +/// Forward call to set the window size +//////////////////////////////////////////////////////////// +- (void)setSize:(NSSize)size; + +//////////////////////////////////////////////////////////// +/// Return the mouse location relative to the internal window +//////////////////////////////////////////////////////////// +- (NSPoint)mouseLocation; + +//////////////////////////////////////////////////////////// +/// Return whether the mouse is on our window +//////////////////////////////////////////////////////////// +- (BOOL)mouseInside; + +//////////////////////////////////////////////////////////// +/// Close or open the window +//////////////////////////////////////////////////////////// +- (void)show:(bool)flag; + +//////////////////////////////////////////////////////////// +/// Forward call to en/disable the OpenGL view vertical synchronization +//////////////////////////////////////////////////////////// +- (void)enableVerticalSync:(bool)flag; + +//////////////////////////////////////////////////////////// +/// Forward 'setActive' call the the OpenGL view +//////////////////////////////////////////////////////////// +- (void)setActive:(bool)flag; + +//////////////////////////////////////////////////////////// +/// Forward call to flush the OpenGL view +//////////////////////////////////////////////////////////// +- (void)flushBuffer; + +@end + diff --git a/src/SFML/Window/Cocoa/GLKit.mm b/src/SFML/Window/Cocoa/GLKit.mm new file mode 100644 index 000000000..71d4259a9 --- /dev/null +++ b/src/SFML/Window/Cocoa/GLKit.mm @@ -0,0 +1,1017 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2009 Lucas Soltic (ceylow@gmail.com) and Laurent Gomila (laurent.gom@gmail.com) +// +// This software is provided 'as-is', without any express or implied warranty. +// In no event will the authors be held liable for any damages arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it freely, +// subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; +// you must not claim that you wrote the original software. +// If you use this software in a product, an acknowledgment +// in the product documentation would be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, +// and must not be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source distribution. +// +//////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#import +#import +#import +#import +#import +#import +#import + + +//////////////////////////////////////////////////////////// +/// Window independant OpenGL context class +//////////////////////////////////////////////////////////// +@implementation GLContext + +static GLContext *sharedCtx = nil; + +//////////////////////////////////////////////////////////// +/// Return the shared OpenGL context instance (making one if needed) +//////////////////////////////////////////////////////////// ++ (id)sharedContext +{ + if (sharedCtx == nil) + { + // Make a new context with the default parameters + sf::WindowSettings params(0, 0, 0); + sharedCtx = [[GLContext alloc] initWithAttributes:params sharedContext:nil]; + } + + return sharedCtx; +} + +- (void)dealloc +{ + [mySharedContext release]; + [super dealloc]; +} + +//////////////////////////////////////////////////////////// +/// Make a new OpenGL context according to the @attribs settings +/// and the shared context @context +//////////////////////////////////////////////////////////// +- (id)initWithAttributes:(sf::WindowSettings&)attribs sharedContext:(GLContext *)context +{ + // Note about antialiasing and other context attributes : + // OpenGL context sharing does not allow the shared contexts to use different attributes. + // The point is that the default shared global OpenGL context uses default parameters. + // That means that all the other context *should* use the same paramaters. + // Fortunately some values parameters for some parameters are compatible, but some are not + // among which : the antialising level. + // + // I've no way to fix this for now. + + NSOpenGLPixelFormat *myPixelFormat = nil; + unsigned idx = 0; + + // Attributes list + NSOpenGLPixelFormatAttribute ctxtAttribs[15] = {(NSOpenGLPixelFormatAttribute) 0}; + + // Accelerated, double buffered + ctxtAttribs[idx++] = NSOpenGLPFAClosestPolicy; + ctxtAttribs[idx++] = NSOpenGLPFADoubleBuffer; + ctxtAttribs[idx++] = NSOpenGLPFAAccelerated; + + // windowed context (even fullscreen mode uses a window) + ctxtAttribs[idx++] = NSOpenGLPFAWindow; + + // Color size ; usually 32 bits per pixel + ctxtAttribs[idx++] = NSOpenGLPFAColorSize; + ctxtAttribs[idx++] = (NSOpenGLPixelFormatAttribute) sf::VideoMode::GetDesktopMode().BitsPerPixel; + + // Z-buffer size + ctxtAttribs[idx++] = NSOpenGLPFADepthSize; + ctxtAttribs[idx++] = (NSOpenGLPixelFormatAttribute) attribs.DepthBits; + + // Stencil bits (I don't really know what's that...) + ctxtAttribs[idx++] = NSOpenGLPFAStencilSize; + ctxtAttribs[idx++] = (NSOpenGLPixelFormatAttribute) attribs.StencilBits; + + myPixelFormat = [[NSOpenGLPixelFormat alloc] initWithAttributes:ctxtAttribs]; + + if (myPixelFormat) { + self = [super initWithFormat:myPixelFormat + shareContext:context]; + + mySharedContext = [context retain]; + + // Get the effective properties from our OpenGL context + GLint tmpDepthSize = 0, tmpStencilBits = 0, tmpAntialiasingLevel = 0; + + if (self) { + [myPixelFormat getValues:&tmpDepthSize + forAttribute:NSOpenGLPFADepthSize + forVirtualScreen:[self currentVirtualScreen]]; + + [myPixelFormat getValues:&tmpStencilBits + forAttribute:NSOpenGLPFAStencilSize + forVirtualScreen:[self currentVirtualScreen]]; + + [myPixelFormat getValues:&tmpAntialiasingLevel + forAttribute:NSOpenGLPFASamples + forVirtualScreen:[self currentVirtualScreen]]; + } + + + attribs.DepthBits = (unsigned) tmpDepthSize; + attribs.StencilBits = (unsigned) tmpStencilBits; + attribs.AntialiasingLevel = (unsigned) tmpAntialiasingLevel; + + [myPixelFormat release]; + } + + return self; +} + +@end + + +//////////////////////////////////////////////////////////// +/// Customized Cocoa OpenGL view +//////////////////////////////////////////////////////////// +@implementation GLView + +//////////////////////////////////////////////////////////// +/// Make a new view according the the rect @frame, +/// the video mode @mode, the window settings @settings +/// and the sf window delegate @delegate +/// @delegate must not be null +//////////////////////////////////////////////////////////// +- (id)initWithFrame:(NSRect)frame + mode:(const sf::VideoMode&)mode + settings:(sf::WindowSettings&)settings + delegate:(sf::priv::WindowImplCocoa *)delegate +{ + assert(delegate != NULL); + + // make the view + self = [super initWithFrame:frame pixelFormat:nil]; + + if (self) + { + // enabled auto-resizing + [self setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable]; + + // make the OpenGL context + myGLContext = [[GLContext alloc] initWithAttributes:settings sharedContext:sharedCtx]; + + // We need to update the OpenGL view when it's resized + NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; + [nc addObserver:self + selector:@selector(viewFrameDidChange:) + name:NSViewFrameDidChangeNotification + object:self]; + + // Save the delegate + myDelegate = delegate; + } + + return self; +} + + +//////////////////////////////////////////////////////////// +/// Clean the instance +//////////////////////////////////////////////////////////// +- (void)dealloc +{ + // Remove the observer and release the OpenGL context + [[NSNotificationCenter defaultCenter] removeObserver:self]; + [myGLContext release]; + + [super dealloc]; +} + + +//////////////////////////////////////////////////////////// +/// Finish view setting (after having added it to the window) +//////////////////////////////////////////////////////////// +- (void)finishInitialization +{ + assert([self superview] != nil); + assert(myGLContext != nil); + + // Attach the OpenGL context to our view + [self clearGLContext]; + [self setOpenGLContext:myGLContext]; + [myGLContext setView:self]; + + // Make our view the first responder + [[self window] makeFirstResponder:self]; +} + + +//////////////////////////////////////////////////////////// +/// Forward call to en/disable vertical synchronization +//////////////////////////////////////////////////////////// +- (void)enableVerticalSync:(bool)flag +{ + GLint enable = (flag) ? 1 : 0; + [[self openGLContext] setValues:&enable forParameter:NSOpenGLCPSwapInterval]; +} + + +//////////////////////////////////////////////////////////// +/// Forward call to set the OpenGL context as active according to @flag +//////////////////////////////////////////////////////////// +- (void)setActive:(bool)flag +{ + if (flag) { + if ([NSOpenGLContext currentContext] != [self openGLContext]) + [[self openGLContext] makeCurrentContext]; + } else { + if ([NSOpenGLContext currentContext] == [self openGLContext]) + [NSOpenGLContext clearCurrentContext]; + } +} + + +//////////////////////////////////////////////////////////// +/// Forward call to flush the OpenGL context +//////////////////////////////////////////////////////////// +- (void)flushBuffer +{ + [[self openGLContext] flushBuffer]; +} + + +//////////////////////////////////////////////////////////// +/// Send event to the linked window +//////////////////////////////////////////////////////////// +- (void)pushEvent:(sf::Event)sfEvent +{ + assert(myDelegate != NULL); + myDelegate->HandleNotifiedEvent(sfEvent); +} + + +//////////////////////////////////////////////////////////// +/// Notification method receiver when OpenGL view size changes +//////////////////////////////////////////////////////////// +- (void)viewFrameDidChange:(NSNotification *)notification +{ + [self update]; + + sf::Event ev; + ev.Type = sf::Event::Resized; + ev.Size.Width = (unsigned) [self frame].size.width; + ev.Size.Height = (unsigned) [self frame].size.height; + + [self pushEvent:ev]; +} + + +//////////////////////////////////////////////////////////// +/// Notification method receiver when the window gains focus +//////////////////////////////////////////////////////////// +- (void)windowDidBecomeMain:(NSNotification *)notification +{ + sf::Event ev; + ev.Type = sf::Event::GainedFocus; + + [self pushEvent:ev]; +} + + +//////////////////////////////////////////////////////////// +/// Notification method receiver when the window loses focus +//////////////////////////////////////////////////////////// +- (void)windowDidResignMain:(NSNotification *)notification +{ + sf::Event ev; + ev.Type = sf::Event::LostFocus; + + [self pushEvent:ev]; +} + + +//////////////////////////////////////////////////////////// +/// Notification method receiver when the window closes +//////////////////////////////////////////////////////////// +- (void)windowWillClose:(NSNotification *)notification +{ + sf::Event ev; + ev.Type = sf::Event::Closed; + + [self pushEvent:ev]; +} + +//////////////////////////////////////////////////////////// +/// Notification method receiver when the window finish moving +//////////////////////////////////////////////////////////// +- (void)windowDidMove:(NSNotification *)notification +{ + NSWindow *sender = [notification object]; + + if (!([sender styleMask] & NSTitledWindowMask)) + [sender center]; +} + + +//////////////////////////////////////////////////////////// +/// Receiver method called when a key is pressed +//////////////////////////////////////////////////////////// +- (void)keyDown:(NSEvent *)theEvent +{ + assert(myDelegate != NULL); + myDelegate->HandleKeyDown(theEvent); +} + + +//////////////////////////////////////////////////////////// +/// Receiver method called when a key is released +//////////////////////////////////////////////////////////// +- (void)keyUp:(NSEvent *)theEvent +{ + assert(myDelegate != NULL); + myDelegate->HandleKeyUp(theEvent); +} + + +//////////////////////////////////////////////////////////// +/// Receiver method called when a modifier flag has changed +//////////////////////////////////////////////////////////// +- (void)flagsChanged:(NSEvent *)theEvent +{ + assert(myDelegate != NULL); + myDelegate->HandleModifierKey(theEvent); +} + + +//////////////////////////////////////////////////////////// +/// Receiver method called when the mouse wheel has been used +//////////////////////////////////////////////////////////// +- (void)scrollWheel:(NSEvent *)theEvent +{ + assert(myDelegate != NULL); + myDelegate->HandleMouseWheel(theEvent); +} + + +//////////////////////////////////////////////////////////// +/// Receiver method called when left mouse click is pressed +//////////////////////////////////////////////////////////// +- (void)mouseDown:(NSEvent *)theEvent +{ + assert(myDelegate != NULL); + myDelegate->HandleMouseDown(theEvent); +} + + +//////////////////////////////////////////////////////////// +/// Receiver method called when right mouse click is pressed +//////////////////////////////////////////////////////////// +- (void)rightMouseDown:(NSEvent *)theEvent +{ + assert(myDelegate != NULL); + myDelegate->HandleMouseDown(theEvent); +} + + +//////////////////////////////////////////////////////////// +/// Receiver method called when left mouse click is released +//////////////////////////////////////////////////////////// +- (void)mouseUp:(NSEvent *)theEvent +{ + assert(myDelegate != NULL); + myDelegate->HandleMouseUp(theEvent); +} + + +//////////////////////////////////////////////////////////// +/// Receiver method called when right mouse click is released +//////////////////////////////////////////////////////////// +- (void)rightMouseUp:(NSEvent *)theEvent +{ + assert(myDelegate != NULL); + myDelegate->HandleMouseUp(theEvent); +} + + +//////////////////////////////////////////////////////////// +/// Receiver method called when mouse moves +//////////////////////////////////////////////////////////// +- (void)mouseMoved:(NSEvent *)theEvent +{ + assert(myDelegate != NULL); + myDelegate->HandleMouseMove(theEvent); +} + +//////////////////////////////////////////////////////////// +/// Receiver method called when mouse is pressed (on left button) and moves +//////////////////////////////////////////////////////////// +- (void)mouseDragged:(NSEvent *)theEvent +{ + assert(myDelegate != NULL); + myDelegate->HandleMouseMove(theEvent); +} + +//////////////////////////////////////////////////////////// +/// Receiver method called when mouse is pressed (on right button) and moves +//////////////////////////////////////////////////////////// +- (void)rightMouseDragged:(NSEvent *)theEvent +{ + assert(myDelegate != NULL); + myDelegate->HandleMouseMove(theEvent); +} + + +//////////////////////////////////////////////////////////// +/// Tells that the view can be focused +//////////////////////////////////////////////////////////// +- (BOOL)acceptsFirstResponder +{ + return YES; +} + + +//////////////////////////////////////////////////////////// +/// Tells that the view can become the key responder (ie. can catch key events) +//////////////////////////////////////////////////////////// +- (BOOL)canBecomeKeyView +{ + return YES; +} + +@end + + +//////////////////////////////////////////////////////////// +/// Cocoa window implementation to let fullscreen windows +/// catch key events +//////////////////////////////////////////////////////////// +@implementation GLWindow + +- (BOOL)canBecomeKeyWindow +{ + return YES; +} + +- (BOOL)canBecomeMainWindow +{ + return YES; +} + +@end + + +//////////////////////////////////////////////////////////// +/// WindowWrapper class : handles both imported and self-built windows +//////////////////////////////////////////////////////////// +@implementation WindowWrapper + +//////////////////////////////////////////////////////////// +/// Make a new window wrapper according to the window settings @attribs, +/// the video mode @mode, the window style @style, the window title @title +/// and the sf window implementation delegate @delegate +//////////////////////////////////////////////////////////// +- (id)initWithSettings:(sf::WindowSettings&)params + videoMode:(sf::VideoMode&)mode + style:(unsigned long)style + title:(NSString *)title + delegate:(sf::priv::WindowImplCocoa *)delegate +{ + /* + assert(title != nil); + assert(delegate != NULL); + + self = [super init]; + + if (self) + { + NSRect frame = NSMakeRect (0.0f, 0.0f, (float) mode.Width, (float) mode.Height); + unsigned int mask = 0; + + // We grab options from WindowStyle and add them to our window mask + if (style & sf::Style::None || style & sf::Style::Fullscreen) { + mask |= NSBorderlessWindowMask; + + if (style & sf::Style::Fullscreen) { + myIsFullscreen = true; + + // Check display mode and put new values in 'mode' if needed + boolean_t exact = true; + + CFDictionaryRef properties = CGDisplayBestModeForParameters(kCGDirectMainDisplay, mode.BitsPerPixel, + mode.Width, mode.Height, &exact); + + if (!properties) { + std::cerr << "Unable to get a display mode with the given parameters" << std::endl; + [self autorelease]; + return nil; + } + + if (exact == false) { + CFNumberGetValue((CFNumberRef) CFDictionaryGetValue(properties, kCGDisplayWidth), + kCFNumberIntType, &mode.Width); + + CFNumberGetValue((CFNumberRef) CFDictionaryGetValue(properties, kCGDisplayHeight), + kCFNumberIntType, &mode.Height); + + CFNumberGetValue((CFNumberRef) CFDictionaryGetValue(properties, kCGDisplayBitsPerPixel), + kCFNumberIntType, &mode.BitsPerPixel); + + } + } + + } else { + if (style & sf::Style::Titlebar) { + mask |= NSTitledWindowMask; + mask |= NSMiniaturizableWindowMask; + } + + if (style & sf::Style::Resize) { + mask |= NSTitledWindowMask; + mask |= NSMiniaturizableWindowMask; + mask |= NSResizableWindowMask; + } + + if (style & sf::Style::Close) { + mask |= NSTitledWindowMask; + mask |= NSClosableWindowMask; + mask |= NSMiniaturizableWindowMask; + } + } + + // Now we make the window with the values we got + // Note: defer flag set to NO to be able to use OpenGL in our window + myWindow = [[GLWindow alloc] initWithContentRect:frame + styleMask:mask + backing:NSBackingStoreBuffered + defer:NO]; + + if (myWindow) { + // We set title and window position + [myWindow setTitle:title]; + [myWindow center]; + + // Make the OpenGL view + myView = [[GLView alloc] initWithFrame:[[myWindow contentView] frame] + mode:mode + settings:params + delegate:delegate]; + if (myView) { + // Finish setting up the view and window + [self setupGLViewAndWindow]; + } else { + std::cerr << "Unable to create the OpenGL view" << std::endl; + [self autorelease]; + return nil; + } + + if (myIsFullscreen) { + myFullscreenMode = mode; + + // Using this because full screen window was not always + // in front of the other application windows when unhiding app + [myWindow setLevel:NSFloatingWindowLevel]; + } + } + } + + return self; + */ + + return [self initWithWindow:nil + settings:params + videoMode:mode + style:style + title:title + delegate:delegate]; +} + + +//////////////////////////////////////////////////////////// +/// Make a new window wrapper by importing @window and according to +/// the window settings @params and the sf window implementation delegate +/// @delegate +/// @window and @delegate must not be null +//////////////////////////////////////////////////////////// +- (id)initWithWindow:(NSWindow *)window + settings:(sf::WindowSettings&)params + delegate:(sf::priv::WindowImplCocoa *)delegate +{ + /* + assert(window != NULL); + assert(delegate != NULL); + + self = [super init]; + + if (self) + { + myWindow = (GLWindow *)[window retain]; + + sf::VideoMode mode([[myWindow contentView] frame].size.width, + [[myWindow contentView] frame].size.height); + + // Make the OpenGL view + myView = [[GLView alloc] initWithFrame:[[myWindow contentView] frame] + mode:mode + settings:params + delegate:delegate]; + + if (myView) + { + // Finish setting up the view and window + [self setupGLViewAndWindow]; + } + else + { + std::cerr << "Unable to create the OpenGL view" << std::endl; + [self autorelease]; + return nil; + } + } + + return self; + */ + + sf::VideoMode mode([[myWindow contentView] frame].size.width, [[myWindow contentView] frame].size.height); + return [self initWithWindow:[window autorelease] + settings:params + videoMode:mode + style:0 + title:nil + delegate:delegate]; +} + + +//////////////////////////////////////////////////////////// +/// Make a new window wrapper by importing @window if it's not null and according to +/// the window settings @params and the sf window implementation delegate +/// @delegate; or by creating a new window if @window is null. In this case @title +/// must therefore not be null and @params must be valid. +/// @delegate must never be null +//////////////////////////////////////////////////////////// +- (id)initWithWindow:(NSWindow *)window + settings:(sf::WindowSettings&)params + videoMode:(sf::VideoMode&)mode + style:(unsigned long)style + title:(NSString *)title + delegate:(sf::priv::WindowImplCocoa *)delegate +{ + assert(delegate != NULL); + + self = [super init]; + + if (self) + { + if (myWindow) { + myWindow = (GLWindow *)[window retain]; + } else { + assert(title != nil); + + NSRect frame = NSMakeRect (0.0f, 0.0f, (float) mode.Width, (float) mode.Height); + unsigned int mask = 0; + + // We grab options from WindowStyle and add them to our window mask + if (style & sf::Style::None || style & sf::Style::Fullscreen) { + mask |= NSBorderlessWindowMask; + + if (style & sf::Style::Fullscreen) { + myIsFullscreen = true; + + // Check display mode and put new values in 'mode' if needed + boolean_t exact = true; + + CFDictionaryRef properties = CGDisplayBestModeForParameters(kCGDirectMainDisplay, mode.BitsPerPixel, + mode.Width, mode.Height, &exact); + + if (!properties) { + std::cerr << "Unable to get a display mode with the given parameters" << std::endl; + [self autorelease]; + return nil; + } + + if (exact == false) { + CFNumberGetValue((CFNumberRef) CFDictionaryGetValue(properties, kCGDisplayWidth), + kCFNumberIntType, &mode.Width); + + CFNumberGetValue((CFNumberRef) CFDictionaryGetValue(properties, kCGDisplayHeight), + kCFNumberIntType, &mode.Height); + + CFNumberGetValue((CFNumberRef) CFDictionaryGetValue(properties, kCGDisplayBitsPerPixel), + kCFNumberIntType, &mode.BitsPerPixel); + + } + } + + } else { + if (style & sf::Style::Titlebar) { + mask |= NSTitledWindowMask; + mask |= NSMiniaturizableWindowMask; + } + + if (style & sf::Style::Resize) { + mask |= NSTitledWindowMask; + mask |= NSMiniaturizableWindowMask; + mask |= NSResizableWindowMask; + } + + if (style & sf::Style::Close) { + mask |= NSTitledWindowMask; + mask |= NSClosableWindowMask; + mask |= NSMiniaturizableWindowMask; + } + } + + // Now we make the window with the values we got + // Note: defer flag set to NO to be able to use OpenGL in our window + myWindow = [[GLWindow alloc] initWithContentRect:frame + styleMask:mask + backing:NSBackingStoreBuffered + defer:NO]; + + if (myWindow) { + // We set title and window position + [myWindow setTitle:title]; + [myWindow center]; + } else { + std::cerr << "Unable to create the Cocoa window" << std::endl; + [self autorelease]; + return nil; + } + } + + // Make the OpenGL view + myView = [[GLView alloc] initWithFrame:[[myWindow contentView] frame] + mode:mode + settings:params + delegate:delegate]; + + if (myView) { + // Finish setting up the view and window + // Add the view to our window and tell it to the view + [[myWindow contentView] addSubview:myView]; + [myView finishInitialization]; + + NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; + + // We want to know when our window got the focus + [nc addObserver:myView + selector:@selector(windowDidBecomeMain:) + name:NSWindowDidBecomeMainNotification + object:myWindow]; + + // We want to know when our window lost the focus + [nc addObserver:myView + selector:@selector(windowDidResignMain:) + name:NSWindowDidResignMainNotification + object:myWindow]; + + // We want to know when the user closes the window + [nc addObserver:myView + selector:@selector(windowWillClose:) + name:NSWindowWillCloseNotification + object:myWindow]; + + // I want to re-center the window if it's a full screen one and moved by Spaces + [nc addObserver:myView + selector:@selector(windowDidMove:) + name:NSWindowDidMoveNotification + object:myWindow]; + + // Needed not to make application crash when releasing the window in our destructor + // (I prefer to take control of everything :P) + [myWindow setReleasedWhenClosed:NO]; + [myWindow setAcceptsMouseMovedEvents:YES]; + + } else { + std::cerr << "Unable to create the OpenGL view" << std::endl; + [self autorelease]; + return nil; + } + + if (myIsFullscreen) { + myFullscreenMode = mode; + + // Using this because full screen window was not always + // in front of the other application windows when unhiding app + [myWindow setLevel:NSFloatingWindowLevel]; + } + } + + return self; +} + +//////////////////////////////////////////////////////////// +/// Finish the window setup (without knowing whether it's a imported +/// window) +//////////////////////////////////////////////////////////// +/* - (void)setupGLViewAndWindow +{ + NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; + + // We want to know when our window got the focus + [nc addObserver:myView + selector:@selector(windowDidBecomeMain:) + name:NSWindowDidBecomeMainNotification + object:myWindow]; + + // We want to know when our window lost the focus + [nc addObserver:myView + selector:@selector(windowDidResignMain:) + name:NSWindowDidResignMainNotification + object:myWindow]; + + // We want to know when the user closes the window + [nc addObserver:myView + selector:@selector(windowWillClose:) + name:NSWindowWillCloseNotification + object:myWindow]; + + // I want to re-center the window if it's a full screen one and moved by Spaces + [nc addObserver:myView + selector:@selector(windowDidMove:) + name:NSWindowDidMoveNotification + object:myWindow]; + + // Needed not to make application crash when releasing the window in our destructor + // (I prefer to take control of everything :P) + [myWindow setReleasedWhenClosed:NO]; + [myWindow setAcceptsMouseMovedEvents:YES]; +} */ + + +//////////////////////////////////////////////////////////// +/// Clean the window wrapper +//////////////////////////////////////////////////////////// +- (void)dealloc +{ + // Remove the notification observer + if (myView) + [[NSNotificationCenter defaultCenter] removeObserver:myView]; + + // Close the window + [self show:false]; + + // Release the window and view + [myView release]; + [myWindow release]; + + [super dealloc]; +} + + +//////////////////////////////////////////////////////////// +/// Return a reference to the internal Cocoa window +//////////////////////////////////////////////////////////// +- (NSWindow *)window +{ + return myWindow; +} + + +//////////////////////////////////////////////////////////// +/// Return a reference to the internal Cocoa OpenGL view +//////////////////////////////////////////////////////////// +- (GLView *)glView +{ + return myView; +} + + +//////////////////////////////////////////////////////////// +/// Forward call to set the window position on screen +//////////////////////////////////////////////////////////// +- (void)setPosition:(NSPoint)pos +{ + assert(myWindow != nil); + + if (!myIsFullscreen) { + // Flip Y and set window position + pos.y = [[myWindow screen] frame].size.height - pos.y; + [myWindow setFrameTopLeftPoint:pos]; + } +} + + +//////////////////////////////////////////////////////////// +/// Forward call to set the window size +//////////////////////////////////////////////////////////// +- (void)setSize:(NSSize)size +{ + assert(myWindow != nil); + + if (!myIsFullscreen) { + [myWindow setFrame:NSMakeRect([myWindow frame].origin.x, + [myWindow frame].origin.y, + size.width, size.height) + display:YES]; + } +} + + +//////////////////////////////////////////////////////////// +/// Return the mouse location relative to the internal window +//////////////////////////////////////////////////////////// +- (NSPoint)mouseLocation +{ + assert(myWindow != nil); + + NSPoint relativeLocation = [myWindow convertScreenToBase:[NSEvent mouseLocation]]; + relativeLocation.y = [[self glView] frame].size.height - relativeLocation.y; + return relativeLocation; +} + + +//////////////////////////////////////////////////////////// +/// Return whether the mouse is on our window +//////////////////////////////////////////////////////////// +- (BOOL)mouseInside +{ + assert(myWindow != nil); + assert(myView != nil); + + BOOL flag = NO; + + if ([myWindow isVisible]) { + NSPoint relativeToWindow = [myWindow mouseLocationOutsideOfEventStream]; + NSPoint relativeToView = [myView convertPoint:relativeToWindow fromView:nil]; + + if (NSPointInRect (relativeToView, [myView bounds])) + { + flag = YES; + } + } + + return flag; +} + + +//////////////////////////////////////////////////////////// +/// Close or open the window +//////////////////////////////////////////////////////////// +- (void)show:(bool)flag +{ + assert(myWindow != nil); + + if (flag && ![myWindow isVisible]) { + // Wanna open the closed window + + if (myIsFullscreen) { + [SharedAppController setFullscreenWindow:self mode:&myFullscreenMode]; + } else { + // Show the window + [myWindow makeKeyAndOrderFront:nil]; + } + } else if (!flag && [myWindow isVisible]) { + // Wanna close the opened window + + if (myIsFullscreen) { + [SharedAppController setFullscreenWindow:nil mode:NULL]; + } else { + // Close the window + [myWindow close]; + } + } +} + + +//////////////////////////////////////////////////////////// +/// Forward call to en/disable the OpenGL view vertical synchronization +//////////////////////////////////////////////////////////// +- (void)enableVerticalSync:(bool)flag +{ + assert(myView != nil); + [myView enableVerticalSync:flag]; +} + + +//////////////////////////////////////////////////////////// +/// Forward 'setActive' call the the OpenGL view +//////////////////////////////////////////////////////////// +- (void)setActive:(bool)flag +{ + assert(myView != nil); + [myView setActive:flag]; +} + + +//////////////////////////////////////////////////////////// +/// Forward call to flush the OpenGL view +//////////////////////////////////////////////////////////// +- (void)flushBuffer +{ + assert(myView != nil); + [myView flushBuffer]; +} + +@end + diff --git a/src/SFML/Window/Cocoa/WindowImplCocoa.hpp b/src/SFML/Window/Cocoa/WindowImplCocoa.hpp index 1b2e96b40..bc93d54ce 100644 --- a/src/SFML/Window/Cocoa/WindowImplCocoa.hpp +++ b/src/SFML/Window/Cocoa/WindowImplCocoa.hpp @@ -1,7 +1,7 @@ //////////////////////////////////////////////////////////// // // SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2008 Lucas Soltic (elmerod@gmail.com) and Laurent Gomila (laurent.gom@gmail.com) +// Copyright (C) 2007-2009 Lucas Soltic (ceylow@gmail.com) and Laurent Gomila (laurent.gom@gmail.com) // // This software is provided 'as-is', without any express or implied warranty. // In no event will the authors be held liable for any damages arising from the use of this software. @@ -32,13 +32,16 @@ #include #include +#ifdef __OBJC__ +#import +@class WindowWrapper; +#endif + namespace sf { namespace priv { -typedef struct objc_members objc_members; - //////////////////////////////////////////////////////////// /// WindowImplCocoa is the Cocoa implementation of WindowImpl //////////////////////////////////////////////////////////// @@ -88,25 +91,23 @@ public : //////////////////////////////////////////////////////////// static bool IsContextActive(); - //////////////////////////////////////////////////////////// - /// Handle Cocoa NSEvent - //////////////////////////////////////////////////////////// - void HandleEvent(void *eventRef); - //////////////////////////////////////////////////////////// /// Handle an event sent by the default NSNotificationCenter //////////////////////////////////////////////////////////// void HandleNotifiedEvent(Event& eventRef); //////////////////////////////////////////////////////////// - /// Return a pointer to the NSWindow (objc->windowHandle) object + /// Event handling for every event type. + /// 'eventRef' is a NSEvent. //////////////////////////////////////////////////////////// - void *CocoaWindow(void); + void HandleKeyDown(void *eventRef); + void HandleKeyUp(void *eventRef); + void HandleModifierKey(void *eventRef); + void HandleMouseDown(void *eventRef); + void HandleMouseUp(void *eventRef); + void HandleMouseMove(void *eventRef); + void HandleMouseWheel(void *eventRef); - //////////////////////////////////////////////////////////// - /// Return whether the window is in full screen mode - //////////////////////////////////////////////////////////// - bool IsFullscreen(void); private : //////////////////////////////////////////////////////////// @@ -182,38 +183,19 @@ private : //////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////// - /// Event handling for every event type. - /// 'eventRef' is a NSEvent. - //////////////////////////////////////////////////////////// - int HandleKeyDown(void *eventRef); - int HandleKeyUp(void *eventRef); - int HandleModifierKey(void *eventRef); - int HandleMouseDown(void *eventRef); - int HandleMouseUp(void *eventRef); - int HandleMouseMove(void *eventRef); - int HandleMouseWheel(void *eventRef); - - //////////////////////////////////////////////////////////// - /// Make some allocations and initializations - //////////////////////////////////////////////////////////// - void Initialize(void); - - //////////////////////////////////////////////////////////// // Member data //////////////////////////////////////////////////////////// - // An opaque structure that contains all obj-C objects - objc_members *members; +#ifdef __OBJC__ + WindowWrapper *myWrapper; +#else + void *myWrapper; +#endif - bool useKeyRepeat; - bool mouseIn; - float wheelStatus; - - bool fullscreen; - VideoMode fullscreenMode; - VideoMode desktopMode; + bool myUseKeyRepeat; + bool myMouseIn; + float myWheelStatus; }; } // namespace priv diff --git a/src/SFML/Window/Cocoa/WindowImplCocoa.mm b/src/SFML/Window/Cocoa/WindowImplCocoa.mm index 045803523..4d6746c91 100644 --- a/src/SFML/Window/Cocoa/WindowImplCocoa.mm +++ b/src/SFML/Window/Cocoa/WindowImplCocoa.mm @@ -1,7 +1,7 @@ //////////////////////////////////////////////////////////// // // SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2008 Lucas Soltic (elmerod@gmail.com) and Laurent Gomila (laurent.gom@gmail.com) +// Copyright (C) 2007-2009 Lucas Soltic (ceylow@gmail.com) and Laurent Gomila (laurent.gom@gmail.com) // // This software is provided 'as-is', without any express or implied warranty. // In no event will the authors be held liable for any damages arising from the use of this software. @@ -27,38 +27,16 @@ // Headers //////////////////////////////////////////////////////////// #import -#import #import +#import #import #import #import #import -#import +#import #import -#pragma mark Notes - -// ENABLE_ANTIALIASING macro : -// -// I use this to prevent the use of antialiasing -// as OpenGL context sharing does not allow only one of the -// shared OpenGL context to be shared. That means -// antialiasing could not be used without re-compiling -// the whole sfml-window library. -// -// I've no way to fix this for now. - -// ENABLE_WINDOWIMPORT macro : -// -// I use this to disable the import of Cocoa windows -// as it does not work fine for now and is not -// a high priority. - - - - - namespace sf { namespace priv @@ -72,81 +50,34 @@ make;\ __done = 1;\ } } -// Has the event been used or not ? If not, it must be sent to NSApp -enum { - UsedEvent, - UnusedEvent -}; - - -//////////////////////////////////////////////////////////// -/// Structure containing all the members I can't directly put in the class definition -/// because I would have to hide them in a #ifdef __OBJC__ block and the object -/// allocator would allocate space for it as it would be called from a C++ code -/// that wouldn't see these members -//////////////////////////////////////////////////////////// -struct objc_members { - WindowController *controller; - SFWindow *window; - NSOpenGLContext *context; - NSOpenGLView *view; -}; - -//////////////////////////////////////////////////////////// -/// Pointer to the shared OpenGL context -//////////////////////////////////////////////////////////// -static NSOpenGLContext *sharedContext = nil; - //////////////////////////////////////////////////////////// /// Private function declarations //////////////////////////////////////////////////////////// -static SFWindow * MakeWindow(WindowSettings& params, unsigned long style, VideoMode& mode, NSString *title); -static NSOpenGLContext *MakeOpenGLContext(WindowSettings& params); -static NSOpenGLView * MakeOpenGLView(SFWindow *window, NSOpenGLContext *context, WindowSettings& params); -static void ConfigureWindow(SFWindow *window, NSOpenGLView *view, WindowController *controller); static Key::Code KeyForVirtualCode(unsigned short vCode); static Key::Code KeyForUnicode(unsigned short uniCode); static bool IsTextEvent(NSEvent *event); -static bool MouseInside(SFWindow *window, NSView *view); -static NSPoint MouseLocation(SFWindow *window); //////////////////////////////////////////////////////////// /// Default constructor /// (creates a dummy window to provide a valid OpenGL context) //////////////////////////////////////////////////////////// + static WindowImplCocoa *globalWin = NULL; WindowImplCocoa::WindowImplCocoa() : -members(NULL), -useKeyRepeat(false), -mouseIn(false), -wheelStatus(0.0f), -fullscreen(false), -fullscreenMode(0, 0, 0), -desktopMode(0, 0, 0) +myWrapper(nil), +myUseKeyRepeat(false), +myMouseIn(false), +myWheelStatus(0.0f) { - Initialize(); + [AppController sharedController]; - // We just want to have a valid support for an OpenGL context - - // So we create the OpenGL context - WindowSettings params(0, 0, 0); - members->context = MakeOpenGLContext(params); - - if (members->context != nil) { - // Increase the reference counter for the shared OpenGL context - sharedContext = [members->context retain]; - + // Create the shared OpenGL context + if ([GLContext sharedContext]) { // Then we make it the current active OpenGL context SetActive(); - - // And set the current working directory to - // the Resources folder is it's a bundled app, - // or to the directory containing the executable otherwise - chdir([[[NSBundle mainBundle] resourcePath] UTF8String]); - } else { - std::cerr << "*** SFML: Unable to make the main shared OpenGL context" << std::endl; + std::cerr << "Unable to make the main shared OpenGL context" << std::endl; } } @@ -155,53 +86,30 @@ desktopMode(0, 0, 0) /// Create the window implementation from an existing control //////////////////////////////////////////////////////////// WindowImplCocoa::WindowImplCocoa(WindowHandle Handle, WindowSettings& params) : -members(NULL), -useKeyRepeat(false), -mouseIn(false), -wheelStatus(0.0f), -fullscreen(false), -fullscreenMode(0, 0, 0), -desktopMode(0, 0, 0) +myWrapper(NULL), +myUseKeyRepeat(false), +myMouseIn(false), +myWheelStatus(0.0f) { - Initialize(); - -#if ENABLE_WINDOWIMPORT - // Register ourselves for event handling - [[AppController sharedController] registerWindow:this]; - - // Make a WindowController to handle notifications - members->controller = [[WindowController controllerWithWindow:this] retain]; - - // Use existing window - members->window = [static_cast (Handle) retain]; - - if (members->window != nil) { - // We make the OpenGL context, associate it to the OpenGL view - // and add the view to our window - members->context = MakeOpenGLContext(params); + if (Handle) + { + // We create the window according to the given handle + myWrapper = [[WindowWrapper alloc] initWithWindow:(NSWindow *)Handle + settings:params + delegate:this]; - if (members->context != nil) { - members->view = MakeOpenGLView(members->window, members->context, params); + if (myWrapper) + { + // initial mouse state + myMouseIn = [myWrapper mouseInside]; - if (members->view != nil) { - // initial mouse state - mouseIn = MouseInside(members->window, members->view); - - // Initialize myWidth and myHeight members from base class with the window size - myWidth = (unsigned) [members->window frame].size.width; - myHeight = (unsigned) [members->window frame].size.height; - } else { - //error(__FILE__, __LINE__, "failed to make the OpenGL view for the public window"); - } + // We set the myWidth and myHeight members to the correct values + myWidth = (int) [[myWrapper glView] frame].size.width; + myHeight = (int) [[myWrapper glView] frame].size.height; } else { - //error(__FILE__, __LINE__, "failed to make the OpenGL context for the public window"); + std::cerr << "Failed to make the public window" << std::endl; } - } else { - //error(__FILE__, __LINE__, "invalid imported window"); } -#else - std::cerr << "*** SFML: making a sf::Window from a Cocoa one is not available in this version of the SFML" << std::endl; -#endif } @@ -209,65 +117,32 @@ desktopMode(0, 0, 0) /// Create the window implementation //////////////////////////////////////////////////////////// WindowImplCocoa::WindowImplCocoa(VideoMode Mode, const std::string& Title, unsigned long WindowStyle, WindowSettings& params) : -members(NULL), -useKeyRepeat(false), -mouseIn(false), -wheelStatus(0.0f), -fullscreen(WindowStyle & Style::Fullscreen), -fullscreenMode(0, 0, 0), -desktopMode(0, 0, 0) +myWrapper(NULL), +myUseKeyRepeat(false), +myMouseIn(false), +myWheelStatus(0.0f) { - Initialize(); - - // Make a WindowController to handle notifications - members->controller = [[WindowController controllerWithWindow:this] retain]; - // Create a new window with given size, title and style // First we define some objects used for our window - NSString *title = massert([NSString stringWithUTF8String:Title.c_str()]); + NSString *title = [NSString stringWithUTF8String:(Title.c_str()) ? (Title.c_str()) : ""]; // We create the window - members->window = MakeWindow(params, WindowStyle, Mode, title); + myWrapper = [[WindowWrapper alloc] initWithSettings:params + videoMode:Mode + style:WindowStyle + title:title + delegate:this]; - - if (members->window != nil) { - members->context = MakeOpenGLContext(params); + if (myWrapper) + { + // initial mouse state + myMouseIn = [myWrapper mouseInside]; - if (members->context != nil) { - // We make the OpenGL context, associate it to the OpenGL view - // and add the view to our window - members->view = MakeOpenGLView(members->window, members->context, params); - - if (members->view != nil) { - // Set observers and some window settings - ConfigureWindow(members->window, members->view, members->controller); - - // initial mouse state - mouseIn = MouseInside(members->window, members->view); - - // We set the myWidth and myHeight members to the correct values - myWidth = Mode.Width; - myHeight = Mode.Height; - - if (WindowStyle & Style::Fullscreen) { - fullscreenMode = Mode; - - // Using this because full screen window was not always - // in front of the other application windows when unhiding app - [members->window setLevel:NSFloatingWindowLevel]; - } - } else { - std::cerr << "*** SFML: failed to make the OpenGL view for the public window" << std::endl; - [members->context release], members->context = nil; - [sharedContext release]; - [members->window release], members->window = nil; - } - } else { - std::cerr << "*** SFML: failed to make the OpenGL context for the public window" << std::endl; - [members->window release], members->window = nil; - } + // We set the myWidth and myHeight members to the correct values + myWidth = Mode.Width; + myHeight = Mode.Height; } else { - std::cerr << "*** SFML: failed to make the public window" << std::endl; + std::cerr << "Failed to make the public window" << std::endl; } } @@ -277,28 +152,11 @@ desktopMode(0, 0, 0) //////////////////////////////////////////////////////////// WindowImplCocoa::~WindowImplCocoa() { - - // Release the notification receiver - if (members) { - [[NSNotificationCenter defaultCenter] removeObserver:members->controller]; - [members->controller release]; - } - // Make sure the window is closed Show(false); - // Decrement the shared context counter - [sharedContext release]; - // Release the window objects - if (members) { - [members->context release]; - [members->view release]; - [members->window release]; - } - - // Free the private members struct - delete members; + [myWrapper release]; } @@ -311,63 +169,6 @@ bool WindowImplCocoa::IsContextActive() } -//////////////////////////////////////////////////////////// -/// Handle a Cocoa NSEvent -//////////////////////////////////////////////////////////// -void WindowImplCocoa::HandleEvent(void *eventRef) -{ - if (eventRef == nil) { - std::cerr << "*** SFML: cannot handle a NULL event. Returning." << std::endl; - return; - } - - NSEvent *event = static_cast (eventRef); - int eventStatus = UnusedEvent; - - switch ([event type]) { - case NSKeyDown: - eventStatus = HandleKeyDown(eventRef); - break; - - case NSKeyUp: - eventStatus = HandleKeyUp(eventRef); - break; - - case NSFlagsChanged: - eventStatus = HandleModifierKey(eventRef); - break; - - case NSScrollWheel: - eventStatus = HandleMouseWheel(eventRef); - break; - - case NSLeftMouseDown: - case NSRightMouseDown: - eventStatus = HandleMouseDown(eventRef); - break; - - case NSLeftMouseUp: - case NSRightMouseUp: - eventStatus = HandleMouseUp(eventRef); - break; - - case NSMouseMoved: - case NSLeftMouseDragged: - case NSRightMouseDragged: - case NSOtherMouseDragged: - eventStatus = HandleMouseMove(eventRef); - break; - - default: - break; - } - - if (eventStatus == UnusedEvent) { - [NSApp sendEvent:event]; - } -} - - //////////////////////////////////////////////////////////// /// Handle event sent by the default NSNotificationCenter //////////////////////////////////////////////////////////// @@ -393,7 +194,7 @@ void WindowImplCocoa::HandleNotifiedEvent(Event& event) //////////////////////////////////////////////////////////// /// Handle a key down event (NSEvent) //////////////////////////////////////////////////////////// -int WindowImplCocoa::HandleKeyDown(void *eventRef) +void WindowImplCocoa::HandleKeyDown(void *eventRef) { NSEvent *event = static_cast (eventRef); @@ -409,93 +210,89 @@ int WindowImplCocoa::HandleKeyDown(void *eventRef) if ([[event charactersIgnoringModifiers] length]) rawchr = [[event charactersIgnoringModifiers] characterAtIndex:0]; - } - - if (mods & NSCommandKeyMask) { - // Application commands - [NSApp sendEvent:event]; - } - - // User events - - if (!useKeyRepeat && [event isARepeat]) { - return UsedEvent; - } - + + // Don't handle repeated events if we chose not to send them + if (!myUseKeyRepeat && [event isARepeat]) + return; + #if 1 - // Is it also a text event ? - if (IsTextEvent(event)) { - // buffer for the UTF-8 characters - const char *utf8Characters = [[event characters] UTF8String]; - - // buffer for the UTF-32 characters - Uint32 utf32Characters[2]; - - // convert the characters - const Uint32 *addr = Unicode::UTF8ToUTF32(utf8Characters, - utf8Characters + length, - utf32Characters); - - // si il y a eu des caracteres convertis ? - if (addr > utf32Characters) { - sfEvent.Type = Event::TextEntered; - sfEvent.Text.Unicode = utf32Characters[0]; + // Is it also a text event ? + if (IsTextEvent(event)) { + // buffer for the UTF-32 characters + Uint32 utf32Characters[2] = {0}; - SendEvent(sfEvent); + // convert the characters + if (!CFStringGetCString ((CFStringRef)[event characters], + (char *)utf32Characters, + sizeof(utf32Characters), + kCFStringEncodingUTF32)) + { + const char *utf8Char = NULL; + if ([[event characters] lengthOfBytesUsingEncoding:NSUTF8StringEncoding]) + utf8Char = [[event characters] UTF8String]; + + std::cerr << "Error while converting the character to UTF32 : " + << ((utf8Char) ? utf8Char : "(undefined)") << std::endl; + } + else + { + sfEvent.Type = Event::TextEntered; + sfEvent.Text.Unicode = utf32Characters[0]; + + SendEvent(sfEvent); + } } - } #else - // Is it also a text event ? - if (IsTextEvent(event)) { - static NSMutableArray *arr = [[NSMutableArray alloc] initWithCapacity:1]; - - sfEvent.Type = Event::TextEntered; - sfEvent.Text.Unicode = chr; - - NSText *field = [members->window fieldEditor:YES forObject:nil]; - [arr addObject:event]; - [field interpretKeyEvents:arr]; - - if ([[field string] length]) { - unichar unichr = [[field string] characterAtIndex:0]; - sfEvent.Text.Unicode = unichr; - SendEvent(sfEvent); + // Is it also a text event ? + if (IsTextEvent(event)) { + static NSMutableArray *arr = [[NSMutableArray alloc] initWithCapacity:1]; - unichar str[2] = {unichr, 0}; - NSLog(@"Char::%@", [NSString stringWithCharacters:str length:2]); + sfEvent.Type = Event::TextEntered; + sfEvent.Text.Unicode = chr; - [field setString:@""]; - [arr removeAllObjects]; + NSText *field = [myWindow fieldEditor:YES forObject:nil]; + [arr addObject:event]; + [field interpretKeyEvents:arr]; + + if ([[field string] length]) { + unichar unichr = [[field string] characterAtIndex:0]; + sfEvent.Text.Unicode = unichr; + SendEvent(sfEvent); + + unichar str[2] = {unichr, 0}; + NSLog(@"Char::%@", [NSString stringWithCharacters:str length:2]); + + [field setString:@""]; + [arr removeAllObjects]; + } + + + } +#endif + + // Anyway it's also a KeyPressed event + sfEvent.Type = Event::KeyPressed; + + // Get the keys + if (Key::Code(0) == (sfEvent.Key.Code = KeyForUnicode(rawchr))) { + sfEvent.Key.Code = KeyForVirtualCode([event keyCode]); } + // Get the modifiers + sfEvent.Key.Alt = mods & NSAlternateKeyMask; + sfEvent.Key.Control = mods & NSControlKeyMask; + sfEvent.Key.Shift = mods & NSShiftKeyMask; + // Send the event + SendEvent(sfEvent); } -#endif - - // Anyway it's also a KeyPressed event - sfEvent.Type = Event::KeyPressed; - - // Get the keys - if (Key::Code(0) == (sfEvent.Key.Code = KeyForUnicode(rawchr))) { - sfEvent.Key.Code = KeyForVirtualCode([event keyCode]); - } - - // Get the modifiers - sfEvent.Key.Alt = mods & NSAlternateKeyMask; - sfEvent.Key.Control = mods & NSControlKeyMask; - sfEvent.Key.Shift = mods & NSShiftKeyMask; - - // Send the event - SendEvent(sfEvent); - - return UsedEvent; } //////////////////////////////////////////////////////////// /// Handle a key up event (NSEvent) //////////////////////////////////////////////////////////// -int WindowImplCocoa::HandleKeyUp(void *eventRef) +void WindowImplCocoa::HandleKeyUp(void *eventRef) { NSEvent *event = static_cast (eventRef); @@ -509,46 +306,47 @@ int WindowImplCocoa::HandleKeyUp(void *eventRef) if ([[event charactersIgnoringModifiers] length]) rawchr = [[event charactersIgnoringModifiers] characterAtIndex:0]; + sfEvent.Type = Event::KeyReleased; + + // Get the code + if (Key::Code(0) == (sfEvent.Key.Code = KeyForUnicode(rawchr))) { + sfEvent.Key.Code = KeyForVirtualCode([event keyCode]); + } + + // Get the modifiers + sfEvent.Key.Alt = mods & NSAlternateKeyMask; + sfEvent.Key.Control = mods & NSControlKeyMask; + sfEvent.Key.Shift = mods & NSShiftKeyMask; + + // Send the event + SendEvent(sfEvent); } - - if (mods & NSCommandKeyMask) { - [NSApp sendEvent:event]; - } - - sfEvent.Type = Event::KeyReleased; - - // Get the code - if (Key::Code(0) == (sfEvent.Key.Code = KeyForUnicode(rawchr))) { - sfEvent.Key.Code = KeyForVirtualCode([event keyCode]); - } - - // Get the modifiers - sfEvent.Key.Alt = mods & NSAlternateKeyMask; - sfEvent.Key.Control = mods & NSControlKeyMask; - sfEvent.Key.Shift = mods & NSShiftKeyMask; - - SendEvent(sfEvent); - - return UsedEvent; } //////////////////////////////////////////////////////////// /// Handle a key modifier event [Command, Option, Control, Shift] //////////////////////////////////////////////////////////// -int WindowImplCocoa::HandleModifierKey(void *eventRef) +void WindowImplCocoa::HandleModifierKey(void *eventRef) { NSEvent *event = static_cast (eventRef); Event sfEvent; unsigned mods = [event modifierFlags]; sfEvent.Type = Event::KeyPressed; + + // Get the code sfEvent.Key.Code = KeyForVirtualCode([event keyCode]); + // Get the modifiers sfEvent.Key.Alt = mods & NSAlternateKeyMask; sfEvent.Key.Control = mods & NSControlKeyMask; sfEvent.Key.Shift = mods & NSShiftKeyMask; + // Guess whether it's a pressed or released event + // Note: this does not work fine is both left and right modifiers are pressed + // I did not find any way to fix this. + // TODO: fix handling of modifier flags for use of left and right key at the same time if (!(mods & NSAlternateKeyMask) && (sfEvent.Key.Code == Key::LAlt || sfEvent.Key.Code == Key::RAlt)) { sfEvent.Type = Event::KeyReleased; @@ -569,16 +367,15 @@ int WindowImplCocoa::HandleModifierKey(void *eventRef) sfEvent.Type = Event::KeyReleased; } + // Send the event SendEvent(sfEvent); - - return UnusedEvent; } //////////////////////////////////////////////////////////// /// Handle a mouse down event (NSEvent) //////////////////////////////////////////////////////////// -int WindowImplCocoa::HandleMouseDown(void *eventRef) +void WindowImplCocoa::HandleMouseDown(void *eventRef) { NSEvent *event = static_cast (eventRef); Event sfEvent; @@ -589,18 +386,20 @@ int WindowImplCocoa::HandleMouseDown(void *eventRef) case NSLeftMouseDown: sfEvent.Type = Event::MouseButtonPressed; + // Guess whether it's a mouse left or mouse right event if (mods & NSControlKeyMask) { sfEvent.MouseButton.Button = Mouse::Right; } else { sfEvent.MouseButton.Button = Mouse::Left; } - // Get mouse position - loc = MouseLocation(members->window); + // Get mouse position relative to the window + loc = [myWrapper mouseLocation]; sfEvent.MouseButton.X = (int) loc.x; sfEvent.MouseButton.Y = (int) loc.y; + // Send the event SendEvent(sfEvent); break; @@ -608,28 +407,26 @@ int WindowImplCocoa::HandleMouseDown(void *eventRef) sfEvent.Type = Event::MouseButtonPressed; sfEvent.MouseButton.Button = Mouse::Right; - // Get mouse position - loc = MouseLocation(members->window); + // Get mouse position relative to the window + loc = [myWrapper mouseLocation]; sfEvent.MouseButton.X = (int) loc.x; sfEvent.MouseButton.Y = (int) loc.y; + // Send the event SendEvent(sfEvent); break; default: break; } - - return UnusedEvent; - } //////////////////////////////////////////////////////////// /// Handle a mouse up event (NSEvent) //////////////////////////////////////////////////////////// -int WindowImplCocoa::HandleMouseUp(void *eventRef) +void WindowImplCocoa::HandleMouseUp(void *eventRef) { NSEvent *event = static_cast (eventRef); Event sfEvent; @@ -640,18 +437,20 @@ int WindowImplCocoa::HandleMouseUp(void *eventRef) case NSLeftMouseUp: sfEvent.Type = Event::MouseButtonReleased; + // Guess whether it's a mouse left or mouse right event if (mods & NSControlKeyMask) { sfEvent.MouseButton.Button = Mouse::Right; } else { sfEvent.MouseButton.Button = Mouse::Left; } - // Get mouse position - loc = MouseLocation(members->window); + // Get mouse position relative to the window + loc = [myWrapper mouseLocation]; sfEvent.MouseButton.X = (int) loc.x; sfEvent.MouseButton.Y = (int) loc.y; + // Send the event SendEvent(sfEvent); break; @@ -659,32 +458,31 @@ int WindowImplCocoa::HandleMouseUp(void *eventRef) sfEvent.Type = Event::MouseButtonReleased; sfEvent.MouseButton.Button = Mouse::Right; - // Get mouse position - loc = MouseLocation(members->window); + // Get mouse position relative to the window + loc = [myWrapper mouseLocation]; sfEvent.MouseButton.X = (int) loc.x; sfEvent.MouseButton.Y = (int) loc.y; + // Send the event SendEvent(sfEvent); break; default: break; } - - return UnusedEvent; } //////////////////////////////////////////////////////////// /// Handle a mouse move event (NSEvent) //////////////////////////////////////////////////////////// -int WindowImplCocoa::HandleMouseMove(void *eventRef) +void WindowImplCocoa::HandleMouseMove(void *eventRef) { Event sfEvent; NSPoint loc = {0, 0}; - loc = MouseLocation(members->window); + loc = [myWrapper mouseLocation]; sfEvent.Type = Event::MouseMoved; sfEvent.MouseMove.X = (int) loc.x; @@ -692,65 +490,55 @@ int WindowImplCocoa::HandleMouseMove(void *eventRef) SendEvent(sfEvent); - // MouseEntered and MouseLeft events - if (MouseInside(members->window, members->view) && !mouseIn) { + if ([myWrapper mouseInside] && !myMouseIn) { + // If mouse IS inside but WAS not inside last time sfEvent.Type = Event::MouseEntered; - mouseIn = true; + myMouseIn = true; + SendEvent(sfEvent); - } else if (!MouseInside(members->window, members->view) && mouseIn) { + } else if (![myWrapper mouseInside] && myMouseIn) { + // Is mouse WAS not inside but IS now inside sfEvent.Type = Event::MouseLeft; - mouseIn = false; + myMouseIn = false; + SendEvent(sfEvent); } - - return UnusedEvent; } //////////////////////////////////////////////////////////// /// Handle a mouse wheel event (NSEvent) //////////////////////////////////////////////////////////// -int WindowImplCocoa::HandleMouseWheel(void *eventRef) +void WindowImplCocoa::HandleMouseWheel(void *eventRef) { NSEvent *event = static_cast (eventRef); - wheelStatus += [event deltaY]; + // SFML uses integer values for delta but Cocoa uses float and it is mostly fewer than 1.0 + // Therefore I chose to add the float value to a 'wheel status' and + // send a sf event only when it's greater than 1.0 + myWheelStatus += [event deltaY]; - if (fabs(wheelStatus) > 1.0f) { + if (fabs(myWheelStatus) > 1.0f) { + // Make the event and send it Event sfEvent; sfEvent.Type = Event::MouseWheelMoved; - sfEvent.MouseWheel.Delta = (int) wheelStatus; + sfEvent.MouseWheel.Delta = (int) myWheelStatus; SendEvent(sfEvent); - wheelStatus -= (int) wheelStatus; + // Remove as much integer units as the one that have been put in the event + // (was a mistake to set this to 0) + myWheelStatus -= (int) myWheelStatus; } +} + - return UnusedEvent; -} - - -//////////////////////////////////////////////////////////// -/// Return a pointer to the SFWindow object -//////////////////////////////////////////////////////////// -void *WindowImplCocoa::CocoaWindow(void) -{ - return static_cast (members->window); -} - -//////////////////////////////////////////////////////////// -/// Return whether the window is in full screen mode -//////////////////////////////////////////////////////////// -bool WindowImplCocoa::IsFullscreen(void) -{ - return fullscreen; -} - //////////////////////////////////////////////////////////// /// /see sfWindowImpl::Display //////////////////////////////////////////////////////////// void WindowImplCocoa::Display() { - [members->context flushBuffer]; + // Forward flush call to the window + [myWrapper flushBuffer]; } @@ -759,10 +547,8 @@ void WindowImplCocoa::Display() //////////////////////////////////////////////////////////// void WindowImplCocoa::ProcessEvents() { - if (![NSApp isRunning]) - return; - - [[AppController sharedController] processEvents]; + // Forward event handling call to the application controller + [SharedAppController processEvents]; } @@ -771,13 +557,8 @@ void WindowImplCocoa::ProcessEvents() //////////////////////////////////////////////////////////// void WindowImplCocoa::SetActive(bool Active) const { - if (Active) { - if ([NSOpenGLContext currentContext] != members->context) - [members->context makeCurrentContext]; - } else { - if ([NSOpenGLContext currentContext] == members->context) - [NSOpenGLContext clearCurrentContext]; - } + // Forward the call to the window + [myWrapper setActive:Active]; } @@ -786,8 +567,8 @@ void WindowImplCocoa::SetActive(bool Active) const //////////////////////////////////////////////////////////// void WindowImplCocoa::UseVerticalSync(bool Enabled) { - GLint enable = (Enabled) ? 1 : 0; - [members->context setValues:&enable forParameter:NSOpenGLCPSwapInterval]; + // Forward the call to the window + [myWrapper enableVerticalSync:Enabled]; } @@ -811,24 +592,21 @@ void WindowImplCocoa::SetCursorPosition(unsigned int Left, unsigned int Top) { NSPoint pos = NSMakePoint ((float) Left, (float) Top); - if (members->window) { + if (myWrapper) { // Flip for SFML window coordinate system - pos.y = [members->window frame].size.height - pos.y; + pos.y = [[myWrapper window] frame].size.height - pos.y; // Adjust for view reference instead of window - pos.y -= [members->window frame].size.height - [members->view frame].size.height; + pos.y -= [[myWrapper window] frame].size.height - [[myWrapper glView] frame].size.height; // Convert to screen coordinates - NSPoint absolute = [members->window convertBaseToScreen:pos]; + NSPoint absolute = [[myWrapper window] convertBaseToScreen:pos]; // Flip screen coodinates absolute.y = [[NSScreen mainScreen] frame].size.height - absolute.y; // Move cursor CGDisplayMoveCursorToPoint(kCGDirectMainDisplay, CGPointMake(absolute.x, absolute.y)); - } else { - std::cerr << "*** SFML: uninitialized 'members->window' member (objc_members) in " - << this << " (sf::priv::WindowImplCocoa)" << std::endl; } } @@ -838,16 +616,7 @@ void WindowImplCocoa::SetCursorPosition(unsigned int Left, unsigned int Top) //////////////////////////////////////////////////////////// void WindowImplCocoa::SetPosition(int Left, int Top) { - if (members->window) { - if (!fullscreen) { - // Change the window position - Top = (int) [[members->window screen] frame].size.height - Top; - [members->window setFrameTopLeftPoint:NSMakePoint(Left, Top)]; - } - } else { - std::cerr << "*** SFML: uninitialized 'members->window' member (objc_members) in " - << this << " (sf::priv::WindowImplCocoa)"; - } + [myWrapper setPosition:NSMakePoint(Left, Top)]; } @@ -857,17 +626,7 @@ void WindowImplCocoa::SetPosition(int Left, int Top) //////////////////////////////////////////////////////////// void WindowImplCocoa::SetSize(unsigned int Width, unsigned int Height) { - if (members->window) { - if (!fullscreen) { - [members->window setFrame:NSMakeRect([members->window frame].origin.x, - [members->window frame].origin.y, - (float) Width, (float) Height) - display:YES]; - } - } else { - std::cerr << "*** SFML: uninitialized 'members->window' member (objc_members) in " - << this << " (sf::priv::WindowImplCocoa)" << std::endl; - } + [myWrapper setSize:NSMakeSize(Width, Height)]; } @@ -876,83 +635,7 @@ void WindowImplCocoa::SetSize(unsigned int Width, unsigned int Height) //////////////////////////////////////////////////////////// void WindowImplCocoa::Show(bool State) { - if (State && ![members->window isVisible]) { - // Wanna open the closed window - - // Register ourselves for event handling - [[AppController sharedController] registerWindow:this]; - - if (fullscreen) { - desktopMode = VideoMode::GetDesktopMode(); - - CFDictionaryRef displayMode = CGDisplayBestModeForParameters (kCGDirectMainDisplay, - fullscreenMode.BitsPerPixel, - fullscreenMode.Width, - fullscreenMode.Height, - NULL); - - CGDisplayFadeReservationToken token = kCGDisplayFadeReservationInvalidToken; - - // Fade to a black screen - [SharedAppController doFadeOperation:FillScreen time:0.5f sync:true token:&token]; - [NSMenu setMenuBarVisible:NO]; - - // Switch to the wished display mode - CGDisplaySwitchToMode(kCGDirectMainDisplay, displayMode); - - // Open the window - [members->window makeKeyAndOrderFront:nil]; - [members->window center]; - - // Fade to normal screen - [SharedAppController doFadeOperation:CleanScreen time:0.2f sync:false token:&token]; - - } else { - // Show the window - // Note: using these two lines instead of -[NSWindow makeKeyAndOrderFront:] - // in order to prevent the standard window buttons from not displaying - // the "mouse over" icons - [members->window orderFront:nil]; - [members->window makeKeyWindow]; - - } - } else if (!State && [members->window isVisible]) { - // Wanna close the opened window - - if (fullscreen) { - CFDictionaryRef displayMode = CGDisplayBestModeForParameters (kCGDirectMainDisplay, - desktopMode.BitsPerPixel, - desktopMode.Width, - desktopMode.Height, - NULL); - - CGDisplayFadeReservationToken token = kCGDisplayFadeReservationInvalidToken; - - // Fade to black screen - [SharedAppController doFadeOperation:FillScreen time:0.2f sync:true token:&token]; - - // Switch to the wished display mode - CGDisplaySwitchToMode(kCGDirectMainDisplay, displayMode); - - // Close the window - [members->window close]; - [NSMenu setMenuBarVisible:YES]; - - // Fade to normal screen - [SharedAppController doFadeOperation:CleanScreen time:0.5f sync:false token:&token]; - - // Do not sync but sleep so that the Dock and the Finder desktop go back to normal - // state before the end of the fade operation - sf::Sleep(0.5f); - } else { - // Close the window - [members->window close]; - - } - - // Unregister ourselves from the event handler - [[AppController sharedController] unregisterWindow:this]; - } + [myWrapper show:State]; } @@ -961,7 +644,7 @@ void WindowImplCocoa::Show(bool State) //////////////////////////////////////////////////////////// void WindowImplCocoa::EnableKeyRepeat(bool Enabled) { - useKeyRepeat = Enabled; + myUseKeyRepeat = Enabled; } @@ -974,270 +657,6 @@ void WindowImplCocoa::SetIcon(unsigned int Width, unsigned int Height, const Uin } -//////////////////////////////////////////////////////////// -/// Make some allocations and initializations -//////////////////////////////////////////////////////////// -void WindowImplCocoa::Initialize(void) -{ - // Allocate mem for the private objc members - members = new objc_members; - bzero(members, sizeof(*members)); - - // Needed to always have an autorelease pool as soon as application is launched - ONCE([SharedAppController resetPool]); - - // Register application if needed and launch it - ONCE([SharedAppController runApplication]); -} - - -//////////////////////////////////////////////////////////// -/// Make the window -//////////////////////////////////////////////////////////// -static SFWindow *MakeWindow(WindowSettings& params, unsigned long style, VideoMode& mode, NSString *title) -{ - SFWindow *window = nil; - - NSRect frame = NSMakeRect (0.0f, 0.0f, (float) mode.Width, (float) mode.Height); - unsigned int mask = 0; - - // We grab options from WindowStyle and add them to our window mask - if (style & Style::None || style & Style::Fullscreen) { - mask |= NSBorderlessWindowMask; - - if (style & Style::Fullscreen) { - // Check display mode and put new values in 'mode' if needed - boolean_t exact = true; - CFDictionaryRef properties = CGDisplayBestModeForParameters(kCGDirectMainDisplay, mode.BitsPerPixel, - mode.Width, mode.Height, &exact); - - if (!properties) { - std::cerr << "*** SFML: unable to get a display mode with the given parameters" << std::endl; - return nil; - } - - if (exact == false) { - CFNumberGetValue((CFNumberRef) CFDictionaryGetValue(properties, kCGDisplayWidth), - kCFNumberIntType, &mode.Width); - - CFNumberGetValue((CFNumberRef) CFDictionaryGetValue(properties, kCGDisplayHeight), - kCFNumberIntType, &mode.Height); - - CFNumberGetValue((CFNumberRef) CFDictionaryGetValue(properties, kCGDisplayBitsPerPixel), - kCFNumberIntType, &mode.BitsPerPixel); - } - } - - } else { - if (style & Style::Titlebar) { - mask |= NSTitledWindowMask; - mask |= NSMiniaturizableWindowMask; - } - - if (style & Style::Resize) { - mask |= NSTitledWindowMask; - mask |= NSMiniaturizableWindowMask; - mask |= NSResizableWindowMask; - } - - if (style & Style::Close) { - mask |= NSTitledWindowMask; - mask |= NSClosableWindowMask; - mask |= NSMiniaturizableWindowMask; - } - } - - // Now we make the window with the values we got - // Note: defer flag set to NO to be able to use OpenGL in our window - window =[massert([SFWindow alloc]) initWithContentRect:frame - styleMask:mask - backing:NSBackingStoreBuffered - defer:NO]; - - if (window != nil) { - // We set title and window position - [window setTitle:title]; - [window center]; - } - - return window; -} - - -//////////////////////////////////////////////////////////// -/// Make the OpenGL pixel format from the given attributes -//////////////////////////////////////////////////////////// -static NSOpenGLContext *MakeOpenGLContext(WindowSettings& params) -{ - NSOpenGLPixelFormat *pixFormat = nil; - NSOpenGLContext *context = nil; - unsigned idx = 0; -#if ENABLE_ANTIALIASING - unsigned samplesIdx = 0; -#endif - - // Attributes list - NSOpenGLPixelFormatAttribute attribs[15] = {(NSOpenGLPixelFormatAttribute) 0}; - - // Accelerated, double buffered - attribs[idx++] = NSOpenGLPFAClosestPolicy; - attribs[idx++] = NSOpenGLPFADoubleBuffer; - attribs[idx++] = NSOpenGLPFAAccelerated; - - // windowed context - attribs[idx++] = NSOpenGLPFAWindow; - - // Color size ; usually 32 bits per pixel - attribs[idx++] = NSOpenGLPFAColorSize; - attribs[idx++] = (NSOpenGLPixelFormatAttribute) VideoMode::GetDesktopMode().BitsPerPixel; - - // Z-buffer size - attribs[idx++] = NSOpenGLPFADepthSize; - attribs[idx++] = (NSOpenGLPixelFormatAttribute) params.DepthBits; - - // Stencil bits (I don't really know what's that...) - attribs[idx++] = NSOpenGLPFAStencilSize; - attribs[idx++] = (NSOpenGLPixelFormatAttribute) params.StencilBits; - -#if ENABLE_ANTIALIASING - // Antialiasing settings - if (params.AntialiasingLevel) { - samplesIdx = idx; - - attribs[idx++] = NSOpenGLPFASamples; - attribs[idx++] = (NSOpenGLPixelFormatAttribute) params.AntialiasingLevel; - - attribs[idx++] = NSOpenGLPFASampleBuffers; - attribs[idx++] = (NSOpenGLPixelFormatAttribute) GL_TRUE; - } -#endif - - pixFormat = [[NSOpenGLPixelFormat alloc] initWithAttributes:attribs]; - -#if ENABLE_ANTIALIASING - // If pixel format creation fails and antialiasing level is - // greater than 2, we set it to 2. - if (pixFormat == nil && params.AntialiasingLevel > 2) { - std::cerr << "Failed to find a pixel format supporting " << params.AntialiasingLevel << " antialiasing levels ; trying with 2 levels" << std::endl; - params.AntialiasingLevel = attribs[samplesIdx + 1] = (NSOpenGLPixelFormatAttribute) 2; - - pixFormat = [[NSOpenGLPixelFormat alloc] initWithAttributes:attribs]; - } - - // If pixel format creation fails and antialiasing is enabled, - // we disable it. - if (pixFormat == nil && params.AntialiasingLevel > 0) { - std::cerr << "Failed to find a pixel format supporting antialiasing ; antialiasing will be disabled" << std::endl; - attribs[samplesIdx] = (NSOpenGLPixelFormatAttribute) nil; - - pixFormat = [[NSOpenGLPixelFormat alloc] initWithAttributes:attribs]; - } -#endif - - if (pixFormat) { - context = [[NSOpenGLContext alloc] initWithFormat:pixFormat - shareContext:[sharedContext retain]]; - - // Get the effective properties from our OpenGL context - GLint tmpDepthSize = 0, tmpStencilBits = 0, tmpAntialiasingLevel = 0; - - if (context) { - [pixFormat getValues:&tmpDepthSize - forAttribute:NSOpenGLPFADepthSize - forVirtualScreen:[context currentVirtualScreen]]; - - [pixFormat getValues:&tmpStencilBits - forAttribute:NSOpenGLPFAStencilSize - forVirtualScreen:[context currentVirtualScreen]]; - - [pixFormat getValues:&tmpAntialiasingLevel - forAttribute:NSOpenGLPFASamples - forVirtualScreen:[context currentVirtualScreen]]; - } - - - params.DepthBits = (unsigned) tmpDepthSize; - params.StencilBits = (unsigned) tmpStencilBits; - params.AntialiasingLevel = (unsigned) tmpAntialiasingLevel; - - [pixFormat release]; - } - - return context; -} - - -static NSOpenGLView * MakeOpenGLView(SFWindow *window, NSOpenGLContext *context, WindowSettings& params) -{ - assert(window != nil); - assert(context != nil); - - NSOpenGLView *view = nil; - - - // We make the NSOpenGLView - view = [[NSOpenGLView alloc] initWithFrame:[[window contentView] bounds] - pixelFormat:nil]; - - if (view) { - // We add the NSOpenGLView to the window - [[window contentView] addSubview:view]; - - [view setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable]; - [view clearGLContext]; - [view setOpenGLContext:context]; - [context setView:view]; - } - - return view; -} - - -static void ConfigureWindow(SFWindow *window, NSOpenGLView *view, WindowController *controller) -{ - assert(window != nil); - assert(view != nil); - assert(controller != nil); - - // We need to update the OpenGL view when it changes - NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; - [nc addObserver:controller - selector:@selector(viewFrameDidChange:) - name:NSViewFrameDidChangeNotification - object:view]; - - // We want to know when our window got the focus - [nc addObserver:controller - selector:@selector(windowDidBecomeMain:) - name:NSWindowDidBecomeMainNotification - object:window]; - - // We want to know when our window lost the focus - [nc addObserver:controller - selector:@selector(windowDidResignMain:) - name:NSWindowDidResignMainNotification - object:window]; - - // We want to know when the user closes the window - [nc addObserver:controller - selector:@selector(windowWillClose:) - name:NSWindowWillCloseNotification - object:window]; - - // I want to re-center the window if it's a full screen one and moved by Spaces - [nc addObserver:controller - selector:@selector(windowDidMove:) - name:NSWindowDidMoveNotification - object:window]; - - - // Needed not to make application crash when releasing the window in our destructor - // (I prefer to take control of everything :P) - [window setReleasedWhenClosed:NO]; - [window setAcceptsMouseMovedEvents:YES]; -} - - //////////////////////////////////////////////////////////// /// Return the SFML key corresponding to a key code //////////////////////////////////////////////////////////// @@ -1295,7 +714,7 @@ static Key::Code KeyForVirtualCode(unsigned short vCode) {0x36, Key::RSystem}, //< Right Command {0x3C, Key::RShift}, //< Right Shift - {0x39, Key::Code(0)} //< Caps Lock + {0x39, Key::Code(0)} //< Caps Lock (not handled by SFML for now) }; Key::Code result = Key::Code(0); @@ -1316,6 +735,7 @@ static Key::Code KeyForVirtualCode(unsigned short vCode) //////////////////////////////////////////////////////////// static Key::Code KeyForUnicode(unsigned short uniCode) { + // TODO: find a better way to get the language independant key static struct { unsigned short character; Key::Code sfKey; @@ -1415,43 +835,6 @@ static bool IsTextEvent(NSEvent *event) return res; } - -//////////////////////////////////////////////////////////// -/// Return whether the mouse is on our OpenGL view -//////////////////////////////////////////////////////////// -static bool MouseInside(SFWindow *window, NSView *view) -{ - bool res = false; - - if (window && view && [window isVisible]) { - NSPoint relativeToWindow = [window mouseLocationOutsideOfEventStream]; - NSPoint relativeToView = [view convertPoint:relativeToWindow fromView:nil]; - - if (NSPointInRect (relativeToView, [view bounds])) - res = true; - } - - return res; -} - - -//////////////////////////////////////////////////////////// -/// Return the mouse location in the SFML coordinates according to 'window' -//////////////////////////////////////////////////////////// -static NSPoint MouseLocation(SFWindow *window) -{ - NSPoint location = [NSEvent mouseLocation]; - NSPoint relativeLocation = {0, 0}; - - if (window) { - relativeLocation = [window convertScreenToBase:location]; - relativeLocation.y = [[window contentView] frame].size.height - relativeLocation.y; - } else { - std::cerr << "*** SFML: tried to get mouse location from no window" << std::endl; - } - - return relativeLocation; -} } // namespace priv From 1fbf7046e02b743882515e710c9f141e3c8dcfc7 Mon Sep 17 00:00:00 2001 From: ceylo Date: Sat, 14 Mar 2009 13:54:54 +0000 Subject: [PATCH 13/27] Initial import of sndfile framework (dynamic library) git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1050 4e206d99-4929-0410-ac5d-dfc041789085 --- .../libs-xcode/sndfile.framework/Resources | 1 + .../Versions/A/Resources/Info.plist | 20 ++++++++++++++++++ .../sndfile.framework/Versions/A/sndfile | Bin 0 -> 663964 bytes .../sndfile.framework/Versions/Current | 1 + extlibs/libs-xcode/sndfile.framework/sndfile | 1 + 5 files changed, 23 insertions(+) create mode 120000 extlibs/libs-xcode/sndfile.framework/Resources create mode 100644 extlibs/libs-xcode/sndfile.framework/Versions/A/Resources/Info.plist create mode 100755 extlibs/libs-xcode/sndfile.framework/Versions/A/sndfile create mode 120000 extlibs/libs-xcode/sndfile.framework/Versions/Current create mode 120000 extlibs/libs-xcode/sndfile.framework/sndfile diff --git a/extlibs/libs-xcode/sndfile.framework/Resources b/extlibs/libs-xcode/sndfile.framework/Resources new file mode 120000 index 000000000..953ee36f3 --- /dev/null +++ b/extlibs/libs-xcode/sndfile.framework/Resources @@ -0,0 +1 @@ +Versions/Current/Resources \ No newline at end of file diff --git a/extlibs/libs-xcode/sndfile.framework/Versions/A/Resources/Info.plist b/extlibs/libs-xcode/sndfile.framework/Versions/A/Resources/Info.plist new file mode 100644 index 000000000..4ae5f883c --- /dev/null +++ b/extlibs/libs-xcode/sndfile.framework/Versions/A/Resources/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + sndfile + CFBundleIdentifier + com.mega-nerd.sndfile + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + FMWK + CFBundleSignature + ???? + CFBundleVersion + 1.0 + + diff --git a/extlibs/libs-xcode/sndfile.framework/Versions/A/sndfile b/extlibs/libs-xcode/sndfile.framework/Versions/A/sndfile new file mode 100755 index 0000000000000000000000000000000000000000..70749517e42b25c47fd0b175ed2d6c2dab42fbd1 GIT binary patch literal 663964 zcmeFa3wTu3)jmFx3}nE-88DTgC{eKmK>O)*NuXt733b*7Wns0bla@_*m8&za2Rf@uA|-}iqW z@;sAs*?X_O_S$Q&z1G@m@3Z63E1O*|R}y|H_$9ksK9{T4sb1Wt;x`b#zOG(bE|=&1 zN9}jG9Q`{=fuj^SN`a#kI7)$|6gWzOqZBwwfuj^SN`a#kI7)$|6!`xW1$MUm^N?-$ zyLtn08vT#-a=A+22XN!Q4*%xOo8_M~t5d6P^QafNvOJ1NdA^)CFK@xJJl?6l&gFe@ zF`ThC*~P03MP>B3itHkQvEWDZ7Tz)cmId9z$ntnxSxDlQ&I{-77?=YHP2>lf$U zannz3v|n__qX=dH1o*th!-&71H*e8Rc?<5Czi6BS(iz6oAA4Lgki=_zIXF^ce=!*2 z)vL}h9zoeKl6Z|T7f&0s<<_4p?jUMs7)3XG&w|*QyxZpI{b=-=XO5o2p}X|fJ8oV)dht(gSa{Q-1!u}==Bv@O zL4upW&ZD!PMAr#6+`mlqzx&oT$Gx`yj~gHT^L_mnk`AnI+-n}!Q+TL4;BieJ;c{V| z%eceEwGn9WSAqNG$TJGp#!o!*-1vn@a829iaW&(8%fCFXiMYo8(AH~E_9VPu*R|{b zd~_e>Acs8bmcH<)-W(lVe8=cTH(kfy;=CKKA35^ObI$~8-*jC!Wu#`eE56K)*Iz$x z@tI?tB3oHSQMT_fz~X$M0_ZnA=>r8YPX%!%~S!_KX?RqSF)KP0!BtN6$-q zH~jh$8PV@1zRM2Gni?J0>D~0{ms$Gp@KK-!k1=sr_zx?9VRfoiT7k+lTeOlf?d|P) z)uzmHv}-)j~PdmH%rA1J8^rmQ<5vIxeM z8Solu!@^^>F`>)|tTKbCCHu7EoorvO*GL@}ezg|2L9em0t^t`Is^|Y|<1M6)d_Iha z6E-&U)yvC(jq!(k{(ruOZ#M45e`GVCZ{^L#gM4|Q&!>4KN3;xX8&SdngCAr8Qwp0> z7>F9{qRXoKW{g(iPXZ;k5N(&XYCIka`{`TQ7MHei1RjAyP0<`a z;}4xnORR&yH;a~4SX0$Lw+L-r}HhM*?{zf~w0*Ls?8B;F1JlA^ld!M5x^U;$a z>E}hr9rT8(i%O+3j4GWK`krG|eGjks>-R4Y>UeQ;7 zLzSB~%u8wl&;8p`ig=P9=Dnnc5OLP9R7)R4%*bQF>?&f0GDnWkBN!gt(u)XXd(D}t z0=om3n;l%F*Y0Jn=@njubBtzJTrqvJL#;m*qJ{!59=j5$)FILuP+JJ(B|dB_`_sIa zotzn1RX8-iSEj#gF@=WoW(+BC_PAlu)AfQ?u0n7A_w<4?*OHT+T&BOw46KUfRfFZX z7%XEeB4_kf6&cTxnz_ZH_t9%(LI?Q29RGZpztZqOhJH3zl7TB5lNTEPr_G0?4}>R; z-TDDne#)J_He(R98^K4l4gO-iHAgE=2P;4b)xZ}gLTDEx+`FBAO>mXW!S84IG5v7A zUm;H=eg(Y`pRXqvSAN5CJ;D3B?^96!5d3oRE9WqY{2sDDRPY!Hoi|F|WCW)OC+4F= z@RzYA`{F4VZcfK-jsKCnrME7QJV~+!yfrKAEWU&+i*H?;7YQ*-uD2!>4`s?`Mxg-; z;YR4JLATbdjL#CQXv(y+&x%Z7mI7~0X%AV>9T$-v|jhN4qI{(=GGIq0Z_e3P)F0L5HykW*0#z z(?8|gpg#!}jzA9UB8P2hck|D{L+#{};Q2=0upt1Qe&J=gxwxif%`AExS0C%bHFe5t z|K+%PncLFG*fJ9>r1;1{Y0COkmWH76TKae=hmyc9R0X1$D=4t^uou$Na2wT?hlU!r zdusf9q(%NlUO0Rcp#U-W8{}GyKouzFyw1bK_0A;eTl}8x~rg!LoU$ zBYij0jbHp&g5L|cQnvUysT+?vfhO2N|8Y%~My%$fvVwR;(b?B+O;J#%5y21YrGH2l0fa?%+ z@@`zy@m!B<8m@2P>cjgwTvKt~i7PtiatD~|96x|9)DI zyUFywgz}>RcO9<7@p_obc)iM)fj2``#%Ga%h&+QUCw1WwTvJc6Ta}xA`K6Y=$VP-L zvSleG?`uc~Djux_1D?&lR%$Q>m1)D~;>{dYLlq#;LJbwT&cN$wlJR~)W!A8%cr#gL z+=L8S$XJf+M7);9L9zU*W3!OuHCmH7p&mP>-P%RyD$#I z*`GrxrV_IW2^~`(uVb8x$LKphK6l0Nt^P8ZqHI zIWaY%_wGoMHy$Oy!q+16*nQTk_W{G`B*=zF55z$73L;?6NH?brp*jn?qY$}R9LEmpf@t~?XoRi3IE`?Q_~cboRGJ68j7nHQx0|9nt}#lfC>jrcrJ^WpRElE$ zS%tktQ9KbY2q~?WXz(Q}$$m^rG!b16g z`a`a_I;1AS5N8eku|A3&T*+a)k_lWS|3Fp;EJLkq(7gxwzgqvuZM+rw7+H!++LsT~ ztJ{qhecPc|MB#)PhyK#va^YQzyH9J-kG=z&bkVa}9ofdIE=JU!zk)ggUVR1YbnExA zQXi7Wc`X=Enn{_F4GoO7=Oj4qt3hNYLo z5;W$p{Ou?9uw-|@ARWc=0GcEiZlIq>StHwGWLmsYbs1@B50=YY+S|ug#F_76w+}&% z@YUBRVZvNxl%%1ToGH-!1D`(s9jL8sxKC`32dCi;yM_iM=tbz^X;`H+N~R)3c!4HA z1;`zctmeJTfVbY}%R5bP1Cy=Aile@XXekyIkEM9@D!sYD(q;v;Z!-Hg@-;*xjPoU7mesoeUqr^Y9%+L z>5*mW$VCl9E4~b1CtWvx@%38C3?`io$!-3DeOJ=1m7JJ?IYsmeuPMF3Q2iw@b3jV7)cPJN6Ap7Dmh;UFgjecgm8}gn`MAhIm$#<``io z12`mJ^iGtQDTbNM`v|}gw~`@lCEFGA>DbCXujid_N(xkOL-e6k1#Yhmj&(tX?)m`$ z1sjZDeU0=jhg4)Z`ZKX|d(wOgxud%k7r3?JONSz#Xi)u|6q2@xDnP!m6`_JX()ABi zSe_CJ@jg;TWP1wgRHS<5C5*_5gK!|37RMe;gqfV7t9!dlkp_w_$?jxJI)twH5lgQ! z>hwmpaE8GPqO?^suF{pMk!Lgb0Zpmqux4b$pXv&fr4%49OC2@>nOYqIRTzfD6Ih4 z#aa&{&VjXt2eB{-Y?g5F;z?Sz9L2Qt{tv1>XuT?K=@|}aMX*z^k~}{zu2}9F`$ly3 z#0!?Dyuwb4UOF*rNeX5smnWK~tnnI$xskThh{|1UpfxBq%ATQYR(WO)3I9OJ8^NI>6BPR%3+~=bcKp#2 z76G==-XONpT11 zEB4AgT?bn63%FO*deNy^wQMXZ+YBLy8lS}QDjE;p{WfHdJZD2Xcbrzd7wJnutebvv z_F2)niU3;i-vkT#7lKblu9fU(o&A%W@|G+e5o!xe%f3=8eps^5@u3y(lKX7FFS#9j z8CfMS=q1X#aB2Tg8(m6T$!sJ=GeT{2$K)*vwb65<2_r|R!NU&qF4r49jdvLo8!I_= zM-BiK-p9O5KBoJOkR;L>fUGr=wKpI{cJK{-MNIecO}PVrZwBzq)A6NJ_~wE5QoZqHrM}zZ=V(!N)<8 zIUlL`%TUMxu;n$FQhx4w*&h@D8$JU;NhG1P&wv6`M23~gie zqqwOlqPv`b9Hc}~%r9a7t@_rK<;m8J{*`UXQc_kb_Gu+a$3uEroE?3U2sq6YQLi^1 ztG6Djm5joaZazr;gv~T9k>}GeVX6UGbRB!Ufl?7lg&N<<&~6>Uc;+mmKST@5%x$nd zZ(@3KWp2|--b;rb@qx$6@iC{P5Kj0L)Sa!y%1y{mP4Gv^Wo1##PqlJ93i>PiJD?}A zcFApKdGuCy-mxl=IZ3H_^mobH8=3_>vfO^n=0g_TcLhq*&&BFYsRq*N&rVsW1GgcE zrN8GCQ=|Hacv<5|5sZ!hB3yBVV7A((DnHY1zD=QP<^#CD0Y+-FU4R^T(um*o=!HqFdRM;$)&1lB^@s7^ZbRF;~jmR5OO)hpXC z01!-4GBrJmbwJ(U;08A+V|;?YK`Xro9a>Xz1O7{eu>97)M52Qq?nK~YWIrgTlm$=T zN$SQM{Enrc?KDo2@G=0m^?^s8MLqHQ0Bq=)saBxE@>j)>7WWN^tnagx4#h?1T}v9( zQQ=wH0yJt??iKo~Mx77HvW$m1*NFwZx*5rA(7nuU8q94xNL|mcX5qiIRTM4J#<+%; z`5+St)AGHUq7*LeYf4tQd9O-b(*Yu?BNsSrRY+bxlSq0^LBT913Pz<_lvs@sB1VQR z6-7tJKouo|O799vP?pw6S$E5Twh4lK;oyAl1ko}VYhXj#p%pJg z&QKd!SSy|I9W>R^7Aayx;CjuMMfW0u1OC6SCT4W=S9`E_jI6-Tw4+X-bTk{szj|wlA?NABG~{Ft$Cik;Di#C~*cI+}4wA zsn+bkQ=M8i7wTp;Jjke@eqbN2QowY?;O9;OHF{110@{W^t(D`R0q}exY$8BwEO_{svk^J>uhw!-rFJq>Mb+v$ip?1D^}x@JZ{0 z51W{1pS^w6S0kfe+CdyFKa1VBVg~xPz7;&xGg1W#w%(eSM<1&X(t-1GhZI^G$3Q2c zlF03F@KdHTXG~W8{d-Dhu_fXcmmrN(wpwNi9v7~jiZ`J2O7%u7zQh*Ibb48Su2aOd z+6L1&2SaVW|9K=1!F3(3aNhXW;+lr*?{W3v`W&vQxC#(Uzu(5#W`moE3si)MSTl2# z<#=Kb&z0r$iaq?kET<#e+OnKJv6OXXIlW^K&zI$-m?a)?E$YR9Zi}PPnZVf2xCNpm z3Cb%4408QDF4yjhk?TPhA;8yfS^^8YxcM@DWQqakAwx-Lj(L-2Afy!R26x^G_@9*5 zZy~(v>6V!Wk6QE;%N)$>ILkbR*P)W}Sjl+2WuA_AxC_r~M#{chQT`Ipzuy6UpRz=fOvi9h9bM%}KL~K{=n3?m!hikwOm* zYMJ7v(U>^?e{L%~zAflVqQ-N3kbn|F2POAX}Y4q{%TN=^&Crp^R=QG%TJ% z!yPE2Kv!pW?14gy6DhRfB1|PEbnLn#je8F}<_#EloCk!^zqi5AQFK0Fa1sqXYsnHL z=24D0+eUmPvBC=h#qz&`bYv@MHp{PW@kL6r`4)%Yf+LEeBkzNy z1xDbyCX@lG)O5!4ADygfE?zT5vaZ)Q)CqTwTH1f19(LyqvGha889g0ulk-l(e^0R4 z(hu<6ahC247$py_Y$F@Uufy8kd%veK{q8TvfE8eU-GAvN9@l5uH4m!i z(^o!;)X%i5>K1B0*|t#oq++3VT_t|{&B(V$iAQROZ9Gq zTmf6&1D38|%sNirfqE(l8^8NadG~`iKGz1!BoSXSvVD;$pMf)bp0YooMb=3dj7=@7 z`+q)JoMyF->56`d7r@T}f>Dj?YK;=EXi!<8*-qW#=P!ew>`Ro`t%< zmO5o^rjX#yJ`U$^jF}L_t$m%Hry-$|73%=8GN5B1ZwI8?@_h zvVgN};Nc5D(y8!k-~#9?h{ZXg;#YMlzFHMOqOvC@l+BxS7>@rpO{h*B|9gjR6vsc4 z?PLLe2mwK0I)`#?HR-Rv0Dt=%o=ML0TUiH%og72z&kiWX+*bn>MuZnuDhyhI1v}Ih zdUpVo$W#A9ielGdf>ja{GTCvDMeKQ50Zb)8@x-8Opc}HZ!g>lyQw4lpTnw`KsaLn^ zZ?$K(!H?m|Y+2mjl!ENoPd}ts;N-=pfq-QSr}ByG;WZ_EnrI`gug8mD+waj+P0#-zvKq{YF}iV30vR#QBz++qMq2cTp}R}g(b z9*h!Jq)WYS(_$MG&J!+4)mD9vk0QA^(U>o@1)Q*>*!inG9#|Dif{~>jl7f9VV=8w= znqsefcm*BG6~QXMQqAd$QenHs?mpF8$zL#uYz7M;;uBf)HbzKr@%l9O20TaQt5Be% zJ+JR(xLjQk!+}Gm^l2_vyEch_ZX^pQ{8+&VW}79`*sySKD6UJ-CKXrGp^84yD|{3c z&a8KEEksAmc{&o<)VNMZO{iNhSL?uOdU-v{x(ct!@1vKKvA(zT3UF)93f}XtW`$&s zJNl#eSF?g1Hg(5Ft2=tY)E%cwb?5k>!M8P`X?#sAfFqOXt?69{x>tiMOYTAnwA2>G z?<`6b$-p5Uzv1}Fs#9cm66hpS zCfeJUDd!;|*r<;5XNpX`(Pmp#ZN41KAWbTJ_)9lTo44#T*FS-W9kz)3`;B<`1ACN) zjVc@M&u1T>l}vlN7?~d7%XGdJaTbll*w7c8gPHdcE2kAIrnYpnwq%CeO*A5(*{X)tSzfKxFlk+g#-3`JHgbZwr-yWg{r z_^Kp=11Q+l&4Aqs4chjNQ2?b9>+_I5nvW_vyaq2g{xfM@bh@o-C0ORs@!c0u1V5qs zM5S*%h$=Uqz-oJKhD#V>RiP?I^mK~(D!2fPf)HJ+DLxpE(+d(Uc($d_L0;*gxiV0% z1Vb62Yvukb3~VEGgWTVRfp3I5DS7ekgl1wl4My3_F$^DZlyw8*S2-Hqv z#WLKZrkW5JtWc{RQ)q--OrRw#^P>u>@Hb-X6mpxg-^Y~wKACO#=N4kRTr!3U5^`p$ zkh9nOR0eyS{zmMr;u?XphceIh->XHzm=G*-grHQ)+QGHn*zTV0_V!HsE&O;68ym8j zrE?&a-n=M0=zLPyX9f_xTW197Yy6F9Csvu7)Mbw=3v6@$-^W6}2Wlg~!ds{lYq%(q z8K{RcfDI#ci~E@Y6y9UhNdoCRYnYgf2tH&SF4X`T76eKaxX**QVx6Em8FNZ*qkDUD zZmKmc`;f6UI#63brQIxmcI>%mp^=@W|I4jMlJtMLmw$wng*683q`*sVf8zj9J5ZGw z*i(24Y$r4D(g=Uu;6S}zP!A99986pJef5GmxbiuLDN5^AixQY@Q8<0l5jFp#F{=5$ z`IegB_ko1wSH7Pl?GGJ9`{5i@?cd_LsIt)q(@-ejAqAR_oC1M33S8VH1@gnkP3)k+ zHgqvMPk&_w`90Y8bIqrZIt7NXmv_T)2Yb-pWG_L+;_>T+NA#xAAdLn4u7wt;0P z3BjMM`d?2b#dx<1cUV64H}*iW7tj3mDYo|B zP83TP)~aj;YsFIx7JmgSeSaem%=QY4dC6kmI>jc2U(D>FSOdgFqKw%>?uk53!O*&f z!?`bHN%WHKkf!H+)qd`lZ(}z!XYF4 z4TE#{=mmSgDYI-&X#l4%{>%|B6B9UPV)#{Tnsj7qPwoDBPwlR3Op0rGIT}97%sz-_ z_p5A$h$v3J37TzG+usoP*wJ2*7Ox#?d)utTwwDGAM+VzFqsR763;+519qsK-l>FvI zN0dB;JBpI-2ZkNUQx9&aE$qh`X4~T4W&j}TVQo8vsZWOZ;2cnIOjoNJ4hQ8p1NUNVG;O1w-K#_@dT@AY(J2-!YgXq5+kFj8{Fb$T*HO!U=H+Sx8W1WKtp- zDOr~PE=I=MuOj2EW{iw=19Iy#{k0@x#o*j3y`YLqw>B9oK*pg$#yW6-UNu+9xVmFM z`^50Xb4W?ppASHsO=f6X`~vT83*ucqh6x8#i-eWuG7L;{G zQ@1DsWXm8tp$ocfAu&U%Kv1mFWjK}?)mUWiP-Edz_!GEQdW@Z}`bKYaElr{RP`D&z zGcN5>uTdTPh%Y#lWlt@fEiS~vuTjua(`~3{;s7>FKmS!b!~jC2C0npl(Nmnd%n(-q zaOaarERXK&9H#&f+QI@sF2i@(abd2Uql()5E?Q#yF1{>9p_O?|-3le<_DDStB96Y` zY_{IP?}nc&J`GxY^o~64IDvVCsuW+2~0ZBX$_cj+_3Pya1QF5_Yf{DWCVjZ z@OH^a%JMesl=v%XYU$r~3aMt!MWJ$pK)NC=NH%lp^#kpBW5x8WvOEI}EcMA&;ov5S zW>ciKDLzLtuxV_Y=`SDK(r0UMu=0+a=fIZfJMsV^W)^HJJPYbZuzWG%=gLuvLn;15 z5AmxwCDD$^)hISHSjE**1$L$bR-ydgBf!qsei5uQ_E)wKC9A$5EdC0)o9r5QC{-;$=MS#t)dfPJm#&5WgGoy9Ym}AL;LkPI>7f&&IpYa6JxJ zIN4pH9X_;*o%s-PtdWx@C=e{&LR+FYgm$=@0pwgQ8HyZ-4}utxK@KVi?MPxCs0GqE zyV+!rdZ@e)Ee5s(_=eT1}u^9EmpP@x1k-qyH=+1{KJ8@ zMe?O|t&;)-Yv)AjuF#GFT`N;fPlpg;)5mnJ2><}$bY^%Uv}0`7DpZDv$PgI@c^=wv zR@Yiop6SQ~5nwMWBE&_X@4OKW3&AgXiSq_MgrzYo!>@JTC=S2wyTZUql)U1kDdwIc zX%tLg&7Dq~(%w#I8Z@fAIXP)-?`F3ecZ>IKB^9P)M0pBcRI)wqLgtgPZp!IBBV{T& z;h|<^cK(Jv9`oQn>DUZG#e^IooCGP5`~?@_u)xF_iql>MOpRXr4dyX&ZKw#1 z$5ud2zpRPN9Htx^_yb|I@Tlz;Pgcypj}CHw27Q^cf@S?hUf z5Y%TZJvPGt(Hl=iPi{iUp=0AX`pCra53$OEI(jg0o}k=SO;}n0$ngfwdf;c{owP#m zPMGGpIk*bD{R;Mc)sa<0<;W^{N?_Im8%&xw-5*osa2&>L%!%Fo5mhDkcQSDbyw#;@ zySMC2C#B8ORUqAAb#)w#Ft|wQp;#W~@7R4?xGJr`LfMdHv}tniLmGO3YG5i@MO6K> zaxTWn5rK6H%GjK90n6`QsF!oP=%xAhqlk~-Sd=(%F1GZ3&&CVC@X08K4C%~(YZ|ZU zhE4}giI*X!=mX09-zzBO+rOQoKxEk<2!nOw5~~}}#2$nF8V7A*@$hd@7>FIlG%#wQ zr9g-98Xe}ro}U5Bn0XMy>1}h+Xro(IeKfcHLskDCa1c6}!A7&736**Xl?POzEAGA% z5Fe(DGV0=Va@pIx35bV7r**4oBTltL(>@*#ahmoqc(h)=0n&}lFIMEhJJbPvbN#&@ zp*ZPc{eiIxK*vXM-a#z$xr9E>I1@-pkb|09?s1Y8EngdoS^5vGj~t?v6k@osi3nkJ zGOFSKG%{LhzbzHWWm+sjaeKFIRB~kr3T}UANT6^1Cy_s$bW1-aE^P$T z)Mj27FLw(P&K}vb|Jxo_05J~LgAvlQ$Q}hxlQ+n~99&lLJ~fujO$ivgQ3UyHBkKEh zowmSz;Y6U6Fjvb#Yej%p6QV}JKW&5b3|!gEFGmOr=MG8}HwYPdfy>0sR>mZfR#Z~( zm@D!a(kwmdbf997EYw*3bEHQeLYL?jDR7P_KccO5XewSQb&Q<7!~B$v9p;026#+2L zn>Y}4Xcps_N^9a5HjUTE9)LAfndjIbX~>gkgQR?7(@P=vI*d1f{~uAsuC=;V z#e|%WA~w*Kmm-Q-bQwCyvEgmQe?nqs*@_kA?cJ@SRUJdrMFvJQEj`@{6;UeHyAU(N zxS~?YVzIVX>?^fWOgIxUc0yGYZjQhAt340{QMc`ZPzQN>u7x?_gxnabJUGA;+Q4kR znE_4|WK1{xso-&6c8zoXrQSR-oDP>7o90htX!?>nZewhE zp^Ov#i)W+*Wy=QV7ptH_gg1a%`p+9BF&+LYbv6K3RbV1ADhT8A%eb<1@>nacrF;Z4 zU54Vu)=8KuU3Xp>J!fo1bUIeYZn^a*x7z*?gmm~DaE|^RcwTTT+UsvbUR;`Z0TR&= zn#7R+xY1OILT>1nHwjLjIA8GG@R*@EETmwYbJ_+D2vMwkbsn(ti=W+}%7C?(0M{PG z;bllus*oX8x;kJ1Jv~xJ^9gcnBE1fQP4Q+sGIU<*cig_^gA3rB5YGZ-cgLU<_M&xy z^HRngiRuPw+S?Zv+~_-=wRQ;%F8h1)zf{l07X83k*(nE}S)`BhiK*=^IxU zrw!sk<;PsD>O!~$89fF->dU~pNFDygu&md&yRkkG>}$j_6c7*(vW?pE^bE!74vK>a zJKRC!P26`uBn$7Nxxj*_1H>vPVU$}rdOXs2VgP!)OE6AHql79_8JZxj(joM8LF-Zx zuxW5Z;fd#SrN$hSlN{~^%YqH>Vr$_k-4GDSy-FUwB~u~nSKu0;_wwhv=NsAHWv?1x7o#BKYbQjQc8 z`(cf3K!}5dOO$fEY5QN>PdGS zOzjT0f2esCs1yD)y<2<4f=?sn`7gploIP?o9uv-HR1SWq#608C$Ag-3SCbRTKkNeR zYI$6VLwj!e^~u!9g^zjspgJ1T3FSV)$*cGz8#`KYat@_8{7s?<{;-egUNs=NLjfvq z9S*i;=bC}l;0@^ElWaKb-7`_4&Aa_Fu?ywu$FLae$3L84hdDh*WmTusWFf1XLhmew z@&zow%@|Y+{IMA?7Ir?>!Bz3yg98OuP9DJZ7Z8b&wLp@ATZPBw!+xwAy7U-JzY(P( zSjxu|w?YC_$ZlQLB}+_dcmEIz)3>Z}aB~vK%l$rR=}SaIZGl2F4?$4lg@+3}7iAE4 z@(jd-lr?2z6VR8k>V!r}h;_(=gHZP~!fzRhPjOi{y8y z&yjzooPp!04C^3_2+5$-GIAfq3W!-yZ+R}Z#pfEwg3wB?fS0jy!J`n7k9LYGe>!A$ zHw7oPvy+ikub@0e6R)zH$Ua?68<2XJh**)>$T8Q+0p=bGgs}A|kt}`j(vHoFJcj;= z?G$QMRUG4Vy`oe<)*?q|psr-8i)U&yVuavKja-DM#mRa9HlD13Gf-y^aWZilQD>8? znFxdGZiP_Cpi(uBV9POFu-k?s^E$|SIZ1<-3n|KzH13&B+gOeeQNi|+bH!?mAA{^1 zGLM=22w_G3Ny{Z+lrjfd$QDQV7@RHR2u&sity5^+I%!Wi1XW{uBg^S8I4>3R zJ&Big*?;~>`pFOl+7Jbr-4?gcM2yIUqw!zbSD6%)!@@J7XX4zm7Hvfp0-teS)RPHA zZ4#=1`yb-uT1bs@-1ubJQ4=(S6~+rB+!jQt`$VTihIE(aZ#4t!LTyywf^+s&y7R7p zXuyaLo@#ks1_)QCzdU#Wa8!DS%>1qTw%(Dmpq}WhS4l-ijG!4pc+9&RlSM_uxtNbNA2nq*De@%BI{5T#}N^OCBRZE`6XVU|CIJe zLJ)&w+1akQ`hr6&&$(>Pa!^I7cNoi(Cy6JNd4tzN08a2%1n0ymqY6eK?&uVCbW`wn zOvB#bxv^@T90Q`m)S*sxj8bP;>K z3FKu+Q=)cZ%i=Fp7doai!AkzgpENSsY5#dYC`npt2;JD-R+It zg=2S)H>gJ1rSds@4us0nm=!Hh`)D$P=UY?SxE<$Q!I3=Obvw>2`8KT_!5Ib&B_uH3 z$;2cG&GEOf&4pWH&Oi;8{vwngfHhVq$HrC)81@()8~ULETB)0)EPinibPHL@UA?+* zUwoeskMTdgy9e(c#gF%g``wB>h4|U{q>aMr%VWe(4U)&7~~Rb&tS1W}k~+~on&B3-?u zWzNmfjE!uJF#HWn&khm~hkf<%qqem8&VL#El4_LKET)Welnk^poQMnr064tL=)sjD zUI4uHJOE%mL|}7AHC=K&k6baNq&NUL1;oArE(03eE^KZb0+rXZ)4Kmx_^!=DZC27} z+B{J*{Egh4Sef5gQc<|cDT}EXVT6#LVga#5Q-}~;(^89#w9}XwFS%Xs0#3&VafHGX z!~Jn$GCN(?FG0(+4hol(%#rIj^fwEo+nrQWS~)@{e+88rUL=vQe?c6C-C?#KIh^f< z$(#(3NlB_eD%Fn9m&y`OkKHf>N6vqBH=K@KV`YhmbF@Q4hyM5CaC*aEk1iOcxrBMA-Fzw!f9>uR5Hfb1o7D9zbhV5 zxhsll_GFvL%l-{`=wV{7&1EXZCJJcu~5tp_(^ zmS{I>##Vgx`~9!$5x241y%X*!&ls!-}T*a9LS(v8>6`#787 z#UX1N(5)%rYU41lYm^Qq^DdDi+ZklR1d$`xaEV;LB9se04ewvjh`oTh&DvV*Pr~l} zFcwpqtcmXAV9T)ud!23;&f&_Ynyy}&kBSeBeO=Z@P5{MKnB#DcLVuWqs_{4T0(fSi zS+5!sYZ<=5H7#7`#V9QB;;`W2i#gupJ5zU`k6Sp}AA!2-ui&hWuP^{!6`;DTz+3P? zM`WY5|E&!C)%gFaF7K(!hrHnHRvF6Z^;r4^gaj~a^GN@y zqu|ui5Bc)W1XGOkS7lZQL#VrOC>A#|kT*=|(E*lznT=^LJhRjx?aqIw4|UPnM^mn_ zGc=(}-CqTbKNZd-ZB>hyLPD%vOsa~-+1pDgJ_;=RH1P8U-@LTyEKhrNR&V@L@blu= zr`-+!)tfWSpwBFT0f(cJ!_gn=?XLXq7J5U6fUa-Jkd3^cZ`GwmUH0OFb4!d*jbO9U zvc?Fu7=gXC&w(Yx0F1>jyJ0Y@2Q#<>;gP|X6AJbMbm7|kUiu-|(lw|~ugb8Qgx_hq zHhcqI*;a5bCH-iWR5q)Orx)%Z-Scvlk%|7U1(D$7U<@XFp!CcDfAN9BIn!$qTvT`k zEA-rl#FFAV5MI!TC0NkgpZ>a0m!zdV54|(h{}w68$Jw& zJ*KV;@SB2PE`GD@XI{tQSI&7fdJ=@u@giuV$Cg9M!op5DEf`zbvelv=_rmDN^;+4j zuzQwJfDJNssKZ5P@^Dd0ACB;HbMoqgN~O9YJpL<7^iC)tlVN_?&0->bMSL|y?t=DL z)OMOy@-%2xwA_7KUV62E1IFO9Koae))7JZn+C~P?j!rOF&Vodl#N*rw2Ui!5DY^*q z1*`RjytiMt^vWb7w=ObT;GU7!zo;!Ec$|)ps+0vbMAz~Lu)(6P=;OuMk#K_K8&jTv zHya^XVYqH9%Uv&DUV(r_cINs5wA4252pxdZ!GD zj7M=t+8b}#^M>hvX2doeo#THN>c>1|M|4D7y)jZ|bS33K+$C=m?y@dvkB-p&>)i3B z(#sx@4(L({-aT|#@f*RveC>)NKLwQ%+Vo_}8_SR1{|+`878R@?lXr}2f=9pQ88^7( z4B2wP@1Da{wLDv_iRgVCaBeWBj}wGJB+}#qJj+>!PDbg;IL3P?Y?Cj zppaP8rP`?&_BcxkAP`2qO`BYY9b+9GSBTAjx$DbTbx#iL`~wZ^a8XE%%TxhiJ|3_t8lF?e( zI@EY;L`_M1;fvo0lgLB8&<1EPI7$|L%TETXh2B0}IcIG`%*HLz32KlJ!$Ilmdm;;t zKaf5kFPH_-0HGa`*CE;Bo8@%z8C|$^|JCJsV3TYA)tiKeYWx-CB75eKjuXdnmG3#*mF7xr!Rs? zZ*vv?SN=F~<(`P=S49^rJ?e zVyDCls>ga5wvUZ{WB-1VCu$Gc+OIcgYda6x+Ss72{pN#~NPLq)3v66w9Ek z{f2|K7AFh(g)-LEF^L`9gTyfckM%TUUxwrS>*Epm5Mv{*2jj5N?x{hVJwzkFP0WW~ zr6q6VjmF^A+r0&W==85UssqnJbncK++C4br#AVO%V`MFV3#K~PMmm9Bp|u?Ctw%ii zC$QUgHJ146^FD<{7#+PW4p|E7p5;kwoJA)>q1)9uOq2haoPQusjDqH!jJNf^<{QscZ|DnsueJ?tkQ&!w;(&K=IUV&Nl_2?X%3a57wYKp$& zdy<$c*^!A|i!0s5%68+x3TP@N3-&QKIzPc-G$ech&XIuzXT6$jLbc@=WuY#gfUNP6 zf;TXYjuWJ{BYfVJ?Et3irF4Xsr7w@m^|s^^!yh6C%Qtape~`3iq5QF|r9Tmu_8UoC z7fX93F0Dk;#2~F;1m|l=V+3ct%7ZuW#O1ycxt;c0ihJw=PH6hH@Z>f)G4LH{EHF2i zWi+5e2a=&P-Z{KnY;qok7jv%Av$AGkhi3)m0X}9Kz=8P#CNcM&1)HVNPSmMR^!QYL zQaH9(&hcfKrE^i0Rh;5{O6;_moCtVWoxd?TNDoyYhsmA<7tJP`wS63nzyA@{Z7=g=-oHw}e=4ebu#5P2A)M8}tJ2f@m0 zV<#->=Xf0=G&`^|Y#Jnwk=w)*HF7z_Wxka^11HYxTyhDWf>@I`T8y@l{)!W1I(7m= z63%0hO~_4FabKt77F~wzUZ5BNtRQ?;WIWGyiI)K=+FxDvSKw$3M!&g()nGeG=J_*oH=F1J9tz3~VYq9{cce%a~9 zm(VSt|5!P%>8%%QrPWk5i}j0@ zWk*`(Kh1{)Y^jT3`nRM0*KE9Z*|_`_t#;~o(0<3~m*d_;9gXF2@;X<3s~JwWnia+5 zBRF3oPa?N?-0U|Qk^A^2rqi9Z5s%opkNyeo#F6W6|0ZqyaX3WAUD@d6r;Mf~;k+HW zNv>>6kIVp882=VlHE_(tcq>@H(H8??DF9>N7>iG*ddBW*9J>`Wq<+8$AJ3r3;Dm|? zRwuc{{EPeyo!J3$%t9`IY{WYotMLjb5Db+&jnGPJK{+5=`2o(poZ{|Nx6tSvp>rgz zWojA43e<1Jd(_|!{}U^DXdoyQdc^@1L}UH+Xd@JiHvz5>oB)B{JaEXryVKkHK6R+& za@G=~z!+6a92Lv#N*IS3tK>An6-RxOu8N$Xt0Hi6pRLAm5uQt+t)C4Og}GuxM|R28 zJNkB)rr96XV+*NIv4zLjmB$k+I20{v5V-!g?b`kC*l_)S#h04a2i{W2Y_WXG>P;uP z9?0PUtKL|{iZDX-a4lz8co*{ar5<5Iv|-CX?#5&Od;6paR<62&vfCq#Q5-qZhL}K0 zffzz;mx6dJylU^B6nPbliS@KnXUd?siEsfoj%*#beWBgoU4~RuPyK$uJhCJqKO8eK z1Y@coR)p{7d3TthaH5l0P!7uzWOqd#Ch_4vm!L!Q1(}>%3epW8V1{#4ycC;dDY^(r zcl28H6XwV+v4RlN2{VudFBuAQ9&MS*iMuzz+48o{6kr{|&3HLn<1RX{Zyp?H*bM_W zvcE!Gbv3=~f%4=)1%@50T{pbr2GGVS?heJ&if%tR;-hzTwE8R@>OtiOUSYPCJa#@h z#RzVSPU|)o2qd}E*>%YEU0T(aKB6qXW5Q2Ii4O!77aDl#1f~gXy&KZP$W6tk3`;%* zBg3W8c}|%Y{#lDVHgnVxrAR5Nl$oPZZ~cK*dNsU)m^scslFS@W;`z@1@b`CAF$65j z7{XB)|MBpkh9*46r}cEd0q}ZCJKXyx;bdF$4a+_a89~_NAzq&XjGdS(_e9SGgC%{`(}|J(C~3)Np(irz{mo; z?cgqT7(G>;Nl9bii#?WBQYo1CHt;w0QZj`HL`TXJ!C<_^iQuuuPSar4&;d80T#6+= zSa!u@Wq3X?HbjWGC&eH}Pe*w*&L&BLlEL5O7!j9npk$Tz{HW$pzf$dCd>g7# zLVuEK(ZA6~>+PuyH}oxdi*m{j(;Y$@y|pw{+T$&KNCkj3vj{nHk_eB z;zpJO2Sf|IwUVDg-@^2U6&suNR2TmXh?C{gPx8Vjxg1ofW5<`7&SUS#zKhuPXf9fJQ_SvZL774 zdy}HHEY;yUD_bmL-l4!#>Jv!n;3(-T<)F&$Tv@2hIUJ{|7Q>C>-= zn(TB9aaFOJyr{_=Npfm}cU)F?Vr%$nRma%I?O7AuiA|kgt|uXl&q9Yt%EF)0U(Zh( zmKFDx#^Dj&)L*&@_k1s$-x|Gugpl5km7XXkah0u7bYpe}$tg`pssyM!Rlgx0r12%pu3Y4c>!LFk)-DnJ;w5W^j;Ro;M@20G9ks6`YG*4z=1 zL}sBkk+mjFgb0S(5!@3k?5NY3K8&5#DmM$51I;AEZDRQmpV)x(&i0x)sYZ6HE>L~o zVjq|)X5&!Kxkb4({I!lk_h!ge=#<|0CW6|4mx_-Pg)RVv4rkG0?MxK9AJEO{uXS8N zX6i86risOSU--X162BxC+RcZ&h+AP`?q%l6iMXA#7xGLixgV|M8fh`%MO8{}ak9%dU72N#{r@a2omm7_Xf(#ZrT_c${rOO;wAr6#Kf9)E1+ zOjQp&|Jcl#rXF|zGET`z17djb1p@DeQFot_1%1Yjok+SIyt0x_;o)Ig@rS5N+aMeH z5T%-5skipJ^LRuB6mBqA5^*C3N5K4*vxhvI(ljGyjHOdQQZ0>|sI3&W(SMXs+XFM> zYs*{i)TB$i-EepGY$9BrQoqVG< zA0YH9fI#ee@FhK#7#ui~%axRIsfb(HjUfb!C8D(8uT;H6>nt z&Hh8$+G<2_!2_mO&M2pw#6X~6ylpw)h5mQlGz9qX)4<;~39TX>v0 znwO_6I7jpH^P$dxt89ikpY2XYEZl@=Fz&iDz5o1G^q$-uy){K| z-#4Q7NmiOg!h`0fkUU25kG>AYC-+S8>*6Tx?}6giejA*9;y0kU%s7YR@Tq#$wOu$o zj^f9>cgwc7ude!B8wKaak#PD;4yX4-`Iqv)7Uie*O!*(gQJ%+0I=s#XCGvWs$do-w z-l)^t;k$NZN|TZ)jqx%iOr}vmYS>yQly8iaDc$mVLK#K*I*Jrqw(Jqv(kQZ}$-Hb@ z2d~%LvZam|GGz;l<|rs%_wLo(J_F?;V;ar7xRkbL{{d}nC1p%OlU_5!D5%04dK|!Fuy!+e&UJEiD1O=B(BbC+`zx=#b;aAU*zdiZM16Z3wu?5?1NNY zpVgZwHQM^@lslI(`Ihk?tHI@pZefTTM>>-WEN!V8H&j6JA~eU;}dN-o+<% zI|Yc33jgz6yWLqSv4;0P!iM*vvsK#bG(6dEc#_j_@&2OW?yqe3*;O6wo`Cy~c3+66 zj&@%PD*VUoo*VuGJM_VHoIHIsU}cP;i=Y~Ci@|Vwdu^6}J!<8F$yfX_+4a-j+KTri z?M(BBcwXG^r^m1l785hANbLcpJ%vquEmJ+%W4jKp@%e&aQ>gk7RhD3r(Smc$hZTBL z*vZ!eh?r;i=PwUGA!YE1wo&-t!lxDQd-`6+5b)OYVVbwHOx^p+E=p34mWz_huJk~K z!pH;GvN@sU0@hb9Aj3b1!+@3D>{J$>ASoQDICdNG0kfA4vv=8*DV=?lbHlGerBhV$ z`)XJnJ}{X;rKd46*H?6LN+Q`d zg8E-cwn=~*N47;$CXQ?nntiACj!_PeW$F>zIDKW=c3ZPOWiyixL%-wWP$B*NPOafD zrx3|F`UzOOTe96{13FW1V%WmT#&SrTtlML|8Z<^k?(&lyO{6DRIVB<==bS$=L2B~- z;!<2AuQD~*1T6|~1P@8!%GbOJZ0?qi?@(k+7*kV~w zWo$DG8rSUKA|VnyOw5hIvjPO6RUjY?CZpOA%TvK*hl1{Ja$^l%TQw0=UEJOWdsE8t zw?*b)y%`lC&@pA>sc35ydnxz-*tW@3+3?bAvYAxkui zSu*lYFYL#+8CuC~zRhIr46XPt%ng8e&&d7Auknl-qo$|`HSsSx1Qpkm#vU(^r6M~P zDrQ10L=%)TWa-s#yeMnQ(jS16##l+C51+J5V~5Rn&|OBKdxY)5eiF)3>!CS`5JSk@?I z(>lIob{(Cl&>FnS>Xb~?W!SdV(Pb{wV0YO#-l{Gefh^H+s>^OF^x0i@EZ#t7 z%mS*{5UJscoP&SxP}GE+ZnE^BV%@+9(QLHz;~-Rx5baCscZOAHgw&UV-W`ClbUccS zpi@~fIqkAyc-m#f%(QeVySHmsO1-6V^_IrfTN+pI{`js0{=ki8K{I1TTygt@M}oHf z!6T^}+h994`I7XGCjWhKN0STT_;8w>1y`{VqKzEcObGOibTnKb*bNs5cEbgN-Ee^* zRyLeDiQFQ^?Y2vCyX{ikZo3pOB?8f`PQ1$Eam^P9cJl>--F$(dzV}q%H8*e@ueqfj z{|%hn3@eL%r7&O0mURT#Ohb@O^^z$-*4)r4xerS2Mgux5wuWdp7vhj>33gmHLa_29 zXgvQwLQmRI$k@PL!N$XT@jv?YKK9i8Ihj{uwv9gzDq$xX{SY9G@;x-lM>FtIiA|^* zPN5<8dMD;NnXnOo4|f3;Kj&jz(pJE0{Nze89l-XHR`#;L8DExYQeT#6s>Qr;|JIsLjskhQcp2ONSQV<@AZ$0rl zMC2lOa4I96g3Zwh+WMJLmb2T-vRlh$w&Uplo(`2|A1Ir72v2Qz`gd7&TiMKiunOC@P4CY=LP`_zVTrBWIQ;uOL7vJRH5Fz5vrQAa`%3znPz*XdIl| z#1rYYdk(<`M2|!xY=zHct5J&?*n60bYKes0LSraGZ-adErdfUSCd_Z%goSwg_KP*G z{2K`Mh_6cg%uYO=$qxGW5{WFI*$EHMZPp8# zLF4yr8izsSH{)pBv1P8)X25TQ#xRb$r}1igxE!9wyC-&`@$vKqcQEt+GL46R_dlj_ zOmc9;Wp^~DC!t$DmTxy%dCLxwjnmp7cnoY1_2OGb{j@Dpu&tSfsC<1Yi9-}$p91$E zDLdahp$nAH$(u_@ur4-IHwb{x35S#txNa&NO?eq(fu@3t4~yUPq`{;7g>E{SpKNr&_5k|2Y98Cg91aYErX9BWH)k*wkvJ zwtgGDjT+nqEdv63M-(&;4#@0QXz&oOM%U61D&zbi)NnQ|Cz3agwuv;Mml4#Byick? zRp3FI>_YiqWFtQqNp+#;4@SoK47;V_6i@>mF`Ra;7!~o&%~mQuS@mtG1=h6I){cpH zR{25Bw>+E=Up^d=;}PlPk@>b0!7>Y)xk^Eu;5)YGmO4Qn@!WRS3E)4R8-5DM@;f}q zh;0lL^MzvSV*7&f{lNR5NBsXFesS@B9Nf396qRE7+g|0yqd;9(ue3U#brU228Y zG=BKKFGcDqMd}KY8r9SuIjL_snIoVnk=C`}8m$pm?zJXEE+DF!-yx%_!v);@)d$g; z$J0I40M`QiDOq%sK~HGp!6O%8J7ptOL-{V-J6N&BVo}|IK>Y}O9E?P4;>Y696IJMm zeYR+*Ku_=kyQqgBma#t)<{Y3uH+(z-ygGNqE7BG1sw=$c0M!-a)_$F?pv2(mUmc&o zRNWC^cOXt5eh>ugADN8)8oVLiB%* zU0Q~pd-Nmx9&xuS4dyDuZ(3>I2?1|#8lYRLhrSIt9Gz`>{>{;BrTPdpZ497Jg4}@> zlTwyLv!_>C4lSJIvYdmsxXW^2^WZ=1pzPjdIW&blWjVBZlFD-aP4fVqvl*k9CeK&u z;`?dO#~D1Gba5W1KzoO}IG4ZG%+Trhin-zKf9g7*?vequT@9!W&pHF@!{2?K0d)$y z@>`H?_evN4kIA;$PCCzKeD^I*=i#23IN8_zcuNp{f5(T1yBlv*j41tVxhJ1UEU>q? z*2j&wZQYMJnTUo|b?vN#iKs8SNJ+oGzx{vFSxv_)$(Jzce|r;A=gu1N_rrD8kxW$I z=NFK>PE`M4XLa)3bk?)NGWk<>K*)8kXN8Y^^1qEfK7VuKn)^n@ z3|kyO1cJd)^Cox`;fP&bWrI|W?cmACt?wft5ckP=@bU`;g)A+&vm7X~v?eIPGTwKrm z=9~9S%HamhSNBZ!-p#HYUxx6@{~J!?KMp)RT|bGV>xbRYRWIi^ka9ptg0fQD&FRCz#fa8K9xN^5G#{iHQkQX?2jK_dq3)K~Ta6@Z z3J$1gf|-eQ_5Bc>A=9+0(Lf;Wr@I!^^GK5^TGKk?7-mpQVl{HF zmc-uU`lu`mS^D3&bXQsia$@b6YpA99xUVUF6tse^-dnuE2Q%2Dz-h$;rW6JQFDMC!WJ*6DaSr%uY9_51TN3cmZ~CP98f7 z`!uJd^Du-d!%(YU={2UOWgf_10ly8_c04%W@9Yr=@D8PSwMndxabQ;?JQ*i%jh^@l zTNyo$XZ9h-l=NM#&$xprJo@jr{D1J%T=A~<46p*eQ-N<>n>j zpc$cSskWM9&h+ARj9@d28RJvC_%asvx2V>9x~s8|za<{}RZ=zM=4N=Uoc2tAOE97K zOr%4DV7)WFCHwM@*?)Blb1(B?na)P0#qEd3ac}-Htn%{I5rMr?-~M;-rl1eAT%798 z-McXZ4IhEefbYeKz@iyke|wD7)hzMT;U(?C6!VTWfJcmZ7>BHcGqFSR9{PZxx1c&> z#t<`iuQ4?P1>G}zq;^Kk5iD{b9}T1&uzhS2GyE_Gf}B{wxLW$X$mpC+> z=W;cuMLqD;Kun{ahv64cXP>u%W%LR!V(~tPU&Ec-FaR6wTh@#SZW|n^&D_yU+{TH3+v!Lnj0Nl*T~gko9n_D zm*Bd1{30d7f$^`RH-fw6yWPT7joooo7+m!fzDp{W1{7-LQo)9gRBg-Tdy*C!IfuBL zerrTd{-!=P2Hz%6PZJ3_ESkpEsn%Vscr2TI)+lc2m_1BCkW%<@sO=zHdM6G9*(?4O z9OA0Hd-$vdr`K*o`IDHU966qNf~gAgvg5jNN=t-WA9$|DGLIuv5S2V|7go%|W>&_C zt-Ru!nwNNuZTlNC{o#WCwDtBMu+jz~DViJ9tZWc7Y|lT@KxS_E&Ot1agX1;BNWp<+ z=k9O7O>}f{kbVm!QY^O}5FGs;UX@fVO9d#vk*T3+|JC7+M`UC(QGd{<7wl~>#{&)` z1VylfL~z0e2$YA7^m;3pd7pI3o{>32DA#urpCse65p9{(+GU^ZZ?MwN$KABgjQu71 zmM86h530@B?abtF44+3q>EAP9eBN=k)*>R_*viBck%;Jug8uPI(PQpRv!7#7_F^FG z1ud>T92(nFkhH%66Q2wbAtxa1LIxOFb~(H5&3x(K3tD`~Nyvq@DR@1OH0dKekG#ag z=<%dot#~kUGEj$+GlU^+_*Mgw;F5;OAEsJj%lM8N6*7KQ_z@iX%h9$$6uo_U^ObIt z5uAgXp}x2*^Xb1r@%sz|hG@Z$hlzR^STL2AV^6F%0`5<a z+rwz@Am{&vK%JO~;SmZ{natO&Lr2HYuUvos!$x&4owM z7!pzHCQs zs0BexvDXKdML<6smz{6ozPCO9F$Tpx3AniUoO1;(IIJ+LaF>G5IX<|g$Kk?r4<33H zcB=EI+mWB%1s8uRxSWsBEvE=Ba1$iB1t`{YiZFm5u5{u@#J*+j9oQK8GL|(dgvV`} z2Ew3%Xu-aG6pYmy3xh18x1q*DC7Ts0*{m>2y;HJTVGe(duLZZ0sXj&#q=x%|$O&+E z)BGuSQznee36C^7$Axhh3=gRpjnc6ZH5c)c)wtkp!DrkLQuo|B#@9A3plKcdYg|C{ zI{v4;=EUaAT+V9h0SrMZ`0G$JTtV4~%TicvHdmMK^z`%q-EtusU|;wOfY1GefivpEP8w6ved)7N+hyz~69fTr{Kwiu9MWS;b$MC&~a|bTrAfnDN8bd;y6R;8$6&%9DkmeE)F@fMqpT>;?E)G4dmbksoQZCyX~EIGMtW7QtKwJQvq#E0W!{W*vr1JDIWrVjW5& zL1mQKPECStwERvI2i_hBF1LaHpmq0DhyF zDOkxVSo$wa!DxOjX$n9};H-U+s@Jk0*Fd#^{k8C?p#P{)t2WcbB7s#wS%zgkDa)6# zbJw4tZW~}6PK%VphC;EE{v4Ot8Io%|hMZyto%BsvSikgHNQ6X`y(c!sdER54$>uZGLO3jJYeErRkJ!WY?O+=b{4W5sZ_2iVA3fU6i64lz8!pJGGC ztdSlsWshUyjIF$SN-snP^R0a0nUig8B|Blg*o?nK!okY^-UrF)6Ouin{{Faj&Allh zdC=EUg=Du;2rBlUE-=T4!A^iit6(9GvpwMFkm%8%9?HWA_?0Mab|$rq%?OTyk}DiN z^O%RD=_n3A9rmnqZ{!^Hj_gvR4b44~eh-PRalXR@;O16BMCDJ_-$|LobVve8euVlu zZN--=4?KwvMaO}SaIr%wAhNyHQ$TLOlaFo+r|{nAT$}=sl&sbd&{|?Rw36(Mjwe*M zBZ7i}?xDNvP_^(0U^_;jIERtp+IafwFyo6_QQlnBMo1inkWheqt#lxj#EZXx+mAyT zaG8=ocG7ax57X%c%Vuol=k_|ehX_CcTRYFbF$(fDp$gng;mtxTRDnJL_ZO(aysu+Bq$$orfm4VD!%+#|5L<1yDc%9~Pmw?B{7o@K89x zta_F8oMcC+PkF2~HhS@o1qBeD(QLk;0_CC4XOKqtEqiw((0*O}h;8L~e10Qba#dVL z@kB06AJ{nX^|%XivDt}5Tfrn;J}B(c?Q1Hb8*PFZX$?l;JLvwgmIlC!^Pgt2`z=b< zqExcmv3mGbR3BQ@^4kz>^jx|L(U8pfk?!`a^rU{L_1164k+}cycKb$z1%$GO^c&s2 z@li=k7I-E*~kmfQZXaF;!p$G%1A$Zc3Nxz{#49JtEdi`O$@j+)r)I1=ug{q)a)3E z06Q)Iw4Mt4-~BN4Afp(VGsw$1Dh%>bHON=0oI$q42ib|@`jD~5Ab&HsmqFH|Aq=v) z636TuWDC$P9WK`KQO)pTR5QF4_`e!smT+I<7>!|h)v)|%MfT%?Z&BdJ?SV_`=JX4UYBKATvn{6SmbzXXZu6DH zEfUH~;;(;~!|gTL=X#Fb{{yOHAbH0fZgIvf4!7@Is?MJw`cS%TejIwx33z8(g^gH0 zly9B}d4_)J_#AFS;#jL4ZpBYiIozU6$Ke*APB`46h;q2a(}cq24WKyh8&yB%RAobGveUab9ruL5XNIoz_k(=n;5J0^8?$5{7R4!3H` zw8O2MG7q}1-K7~&c9NR1(O@0ma4SxNQ&P59CC*!|f7y z8aocRf6wH-I^|a$r(rOqwowe1<5Ui}Qdj$(N?q-Ds(ejdbq^9-lATVau68<=y4t!x zIhwlarf|4rT`m&sa4Xfd$Eor%byZJtxW(`>oR`i@4Ec-06GPrXV@T~|ya~#p-W_hG z1wC+SK@VJ7&11#5OU{C*J&Y@elta_G?}MKetyueOcuQ;j+~WPpZ+9R4cG15!@ISD;#37!t)3T=o zkI12(-!2Uv!R8i2N~wd^H9qt8y7#h#MYzDz1xthNW|Q0?tc!Ph-Ji3(ubZ>ssBsV} zPQ+2;HH-)SgIcjI$>lb=pR%Jw{)T?4lZEKeq64`h?eB%SV`cjxEPN3g7EcuD@AU=T zqq8_SN|xW_Fz2y#vTBG>B={~TmFeAnFkRbrPH%=k5Ntb_)3y`#gAgQ9s~4Xjl#Kh} zey&d++!qm?LaV#tww)Carf5Gnl;S*+?m{iKiHSYlXP%gO?*VljN9a7T6nM zBw~vDA28)OaQbz4e`uWEqj6e!JtCK@-uM($E!q`uHPe zQ3vdH>i(RT4v&vg{BFQ9fZ@=zFcyYp^@$)VO zzbGYwLm;{}dehpD~9w=D{`0jMAiihA*Rvxm&khU90ysygu4?!)-z-q{nu%Q=iO6^tf3vG z6=Bc{?REYua23CW*STzhhz)qcwB+u8o;WR`u{U=}(vrQYaalDh$4 z6PTXNQ#3ty(C_3FlJf4;lZjo|H9ZMhL;jQ0{@App@sks#HE+A-XHV++anYJoyks=N zil2njRdsfwX#jzH0CM1B*``-^b;djledv;IRCc z+jEcnn(Cq0Hn*H8A_AKo8 zkQxEx$z+WfNdh2NktDF_EGMc^-%?}6!JbgQ21x0K^1oj$Z23dqPYO zJCaN9P*$8pFTR(`0|9cstp)T6%N-b}jMhOIJJGTFhH>^sJz@L~n3Ml3jPKvyH;f(5 zf-qK`MIV&6cNpiM2(eH)5cs$H9RJqdXvXuekhT2y82+u#f6x=srErv2{;e)8$g|?x zDxBMYUJLTh@A{sJS6wvaxs#_UeW;^)(v)JQN0qD8kveNOhpBcWw^Z=O^MTzwLV>PDmZaCBfb8nDIqo7;ow~FWwDE z&jS5qO78|b*rCdfedsVe=rEOq8F``B@VTr3zdKsm*~YaafYjt>VZ1WBl>Kcr3w`z? z_JHevDsvdrDoyL2P@3{=?S2+o8a+}$>CA6!)V>)b;I4XxY8og+o#AgDar|&sVmxwo zwF!%j{~0fF*?Gf*YUm-={vEuhVb?+sUhPv7Z90I)LYtU0Wd^H9aQ?_oHRflsg~t3W zUYrako#VrqM(1VW&(JRF@)|~#Z)awz#?X#*mJT&tESGxzijBqNe(LeH>M?)C&ctKX zVd;tLF@Ir@jTJt88J+VqRxn&L?+EHPEIuk`D`{6{t`Hk5*rq=h#ZT*{1NfVJxctmg zUv9^D0>tx;Qm)1+w}L+{lRwSkr_G}Eqdy$}iOzs*F7M#u>Vqu8_^O?}S#bn^8EoxS zFyQL+%sFRt=;`6b>&HZ%KBsKGd_ii}NG-Cdw2p$6SfJ`g+0!<`4^bvLggYP6fCg!> zmiYa(X#nvivp?beCmc}1QNk>Qb#xgZ!}(mGLM5NYv$X{(RPx($ue^|%!w;6+fDJNp z^GtXF9f;ZS=h!3bCFxOUla=p-z>LJmR8g@fz_kp==(FKHO!=;Xb>Xi-6M>gO#{?Ee z+R3PO|2zVIlQo%R@IxzobOg#GjSB!J-&?`&VTy>#(c92279Gb|7>wn_b?8YSzXFBO zq&XP@hBjG+!N7(>tOX4GNw!4x+59e@pt-g9qo0QDYdek4VT>23dZIVrMs{Fq(T@n+ z;!S26fxCcZkxc3u0QX|}zzJf1TL9OHpQb*Jd`=G8)nVx0TD8TRu+weRKq({~T zHk7s46R$MO)>)yatm1XB+3auB4ls5jPsD~Fq(Mh&})4!a`=q@SUat^8(jZWGxMef=U)Uf z(a``uOxbH`QCfDu&YZ!4Iu@xUdG}(Vv9DOOv+`#9OHYG2X{aOG$#cuuS=LalNPXL38r<|y}TT;lH6 zbd~{%YK)1hn zDi^h9F(6}`%RlW?w*xiA{rWuIQCZpD{rdiH&S@zI+>8NVM@PrFw_0(AcRS3f&g6KN z;GvwbUE^+p`4=qolibepA}!kQ{JYxke1YSGHa)Q>z`0D1o-ywv20k5_s2%MG%E0M> z=EYqK2Q)-5NcPI>W#Gl2xz51TVQHHfxC)i4-0cfGWy1ZK@RJ=lhMgJBehBG>jfI0W zOQX2d&IjomHGVf-L%yt?u7tb$`&?xfx7U6!TQPIk<>DM}8hM2&leh_x3Cpyma@$JH z#F1v1Z-8RV@a5Klb(@au5k$r|LT5TXX=QW&g`PA{%>tHrjH#L4?z|%`7D$i&@R#%y z{F|H9)oM}~n`zAu8ug}&M%hbdkSKvXu@AIy2!ZNdPXa}z;bF868kIgb%bc5)H`iY} zNKrf$0uSCkeg=v7`G1;TWsyoI^j-fly-MZk`!j&W+Du;XC9w~0V&1nJn8zPgAE61xi|4bj?hwq1H!Is6j#`=5BxD$%TU1(!6 zR5VDiIg`Tk{84hDFqJrR7;A^P;n4Qo-Z3F@P}MUV++y zqp3R)*tv*e`7MMUiQ?aJCq(hz13MB*4ZH4+yFdR^GVH{2w>#{90}rE91Uq`}I?nu# zBmY>$)uDHZ(K)w#p!o6s{4j`Ll5@VG44w0pOuGAz>0sd!zN})IJU#mD2W6Xr9T*sF zxc3v6(ehbHXX#UvlM?S2?giie6bf{U1N9?_JdKMt36|mxf>9fv=!j4g@kz6R+L zRV*k{Tq%RH(nAtul#Bj!8eAOV{n3h|tTGu_OEObl0N2^TB#+1E34aZCpOhoR=i`#* zi3DRaaWmKx9*WBu9tg$~z-kccYNK!Vi60_aUs{rez3HzM5fI+Uc$b|j%xo;o$j8{> z)I1sGVmY>PkyD~SYN`@X;T1}pkBbg86{rfLmL+kWEJ?YcEoWvSKc)mm7B-(d00=)A z|61fKazv{${s73p^T}*NF1DbuN^nZXMwoDC@(yf@Tm-N8^CdZ|pC86hAklE$yPJAx zKbAzUZ4By{n6Bz?0T~K|Y*Fdw+`ZJ&T_x&KrP3ejj=+ZgrUb28Yd$8z8f?Ze?On4n zZQ~h8vW}ha6pF6e&UYw9S8eATpy;X+>*!!wS2iM775iL>SCnoiiMg;6*!If3GP->f z5{0P^Kp&$CvJS2FBy5LF9a`&jv4N&!OkDigYgk%~n}KuYV=eeQW-;{!=R8Kefhhx3 z8BkpEN-}RYHahn{AU)ji3Vnn?p-=ZRuRnB3h1o>W3g8A&hn*+i@EgR-5Sx5^>yt!G zIog!)TSOX^M0ZsUAO(NRu-V;k1Js*wG`rn~b5A}e}`3e@j!se!56E^27*s!n~ z;-0}t-Q0prB_(YBIwkcmFY+eUe;D<<4b#oa#iiEoq66SD^9Gb&X3h5J&CVz-I3D43 z<8Lu`2(MBjNH<*Y4w$;G*_n7~&CN)bUm*j78_bvnPLT5JjkDFHQ{i$4S`y(EVfs+Y zpBsYkde6UEc=e`?@1hH$9*x09m&G$w?GPwG9>wwC{N9v zoP_WSV`GM)0y~XV6j5R2dWf$Kat(>@I=2LyR}?LcCPY|RO088%I{BUQW#spoJ#!cL z!tWJ*E5WnWYP(3y@9jttVdYmup>7dYzBUv1ArkCuxJxC$J_w4=81rh>wMnCHc1Dfh z?$P{IGAuM5GU!xdY+g}wX=_4`1#~fZhPLPD%Bwl}TF=~y-elMr_w*ROvBkxXg=A=C z$0p$}&W>q?$_^-0y2q1SEprY^&8ZizHujz49eqKPAS?0GA;LSuPbJLuJ^aOvH5C-@ z(C7DHT8(-DCg@779mnPtrc$S$Ix&2KsI4EB?ML*pcv<~|mx!=qaHJ_v^+Or#K|FD7 z;o2Tq;;K-^2KMBQI&`C`rE#+CI#wk)A#MS0Tty`_T%pzjZVod99%z8DK9L+-qKAn> zjWuClYAtZ;KJgXQMZ|>Zph^)xWTCE^(0R2q=F9#h0T0e+SBrto51q%VHz1{WtI046 zfel_5_3tPhUfwS^)HDa72y}Y-k@!k`D?b%#mDtcE+rs21PwmW+{9bfK3&?PYtHzP) z5te~M3)myggbbDYu2 zSPTC;`U-{73l1{jZEPHSDq-ur$gt?9F5c?5Q|tN+>QCJJ3Hm9nep(3g@HA zURecnx9OFX+u?ULBd%G6|GtAN44FS;s!voHZf=EV06?0v-%6#zkgm@wIgYM>5nZE^C|(I1zkJkafq`5?j!5C=IpB`lCm$OK@nB}>b=Qfkd@~scS|^eWgxT1?PX-7of>h$j ze7qC&WSBL}4+r}|-mHwWK~NhroK+V>8EYLvSR|{vr>2SCL&uNO4%v}A2vI4p;YF~z z>foPg(Zgr!?f6O%EbInJr_>RD!=ef~bXjzhFfoZO9fV!>ZCsV?2ZH|3m!t_x4!SKl z=*B5@`CuFdc4o|Fq=OuK7#R%*jlEsS3}ZHr-z{;nhaSdJop;w^vrg?7Fej*3^EkPH zwTHH@! z)^NWAH#}fF7hBmMNY}I1zf%sCP2>2y!!`nmmnSxY1Kq)Ux(auDM80 z8gxCa_<9Bd?AV6)qr@j$ZpO|hEM6MSz#A9QbOPhV9cP0OZ(PL5;D3#aO4VJCC7rU? zu!~0RL5WpHGHJ@WuDRwQo+}@EI}<@tsAIMkQN=S@yi6mPV*QK}oDfGc9GfIFXkUIE z+q26dRe{}FLsm4f`7mSZ0GG!_rdGa9EnOvikAvV$mEz&fL_Yy$SsldEIiLejF@m8b zlEfz3#&k-Xiz?7L+ki>{_e-Rsgh60~095(^8(nDyvdm6QfUj1!qcJ zR5j!!b1*d$v0mKJl+{|O1xKEvx0`VKT6?Ihg(@I0f#i3a%%T=M^J@FXD=r62e2yM7 z{2G8zNADID+5YF40%cXBKxn6EZTC$&J@wqZ<*fyN^G;4r{3+6-ZP{hURY~#!i z63Dc8wzeU1EkK^t_tYehw+gc{8G*dQpr)bJ`}ve5N0yUw-K`w#p+ue-y$}nImR9hN z+^OImbm0CJ*D73<7jRX8Ll10d4s58ieff4c?Q&wnH<|!k2HJ=W*f^y90T#!e3qHP5 zj#a`gO99ZUFQPQw8?~2{eJ_~6&{O*Z8zhB2j@a#FxeGmyLX>kRX9~2rJ{?gp%@bHy13Xk%hp>mhxVO)C*MdYO|=-j5)DDnMEyQ+z2s?0*c>Z8=oY9{1-R!_|WeeigQZS111Vo|j$(l4v1lC!|i2BSxA z(yi-*mf^7fizOEBn_tp>ip_F%IMsov$sMQ=8X6hjtpoqSDG)kvwrzYT-T~YAD#5&n z`g2*kxFSZsJQteF#t z6LFG`t$Tev)Z@2t?IH^~qe-(F94nw5Zgw&gDPo#i1>?ws%-jHAZHF`sWvST_*f7O}gISiuaf8f$r)iuwD^VW-G6-Fq-II0i6Ah{|iku;Ew<$S{g+gD(QngZL<-`bM& ziPb&3XLgj-b*2ZlHGf>^4G)xGX^(rie_WRa{<))MSEu~&h5H4zH6SuW^PznefA$AL z%_ZLAJ%PXB0#Ba?4Hj3?3MP>KtSX`DM#e3HtEPPa8?)KVa2?G2pDfP9o38npmyV9Ic9OK zHDiJawG^~b+kE2*%o`sYWfpI;BClAPYv|~ojuf9`LbVV1OBzGFF*N_7eZ2E~wvxAc z3G~pDyS;p1$-v0&(aqlC9lH*f>^h1*MA`$}ig$m!-H%v`ksYI{5UVA(GJSDQ>@*-o zI+jNSoc!h-ZedfFVimtA*!6?;;Qv88s@hC>>g>5PfN+AbK ze+&s_=Aq7Gqhz>4jj~NQ&DT{%$y(T4v|9`+TT09fBrs`WE(RVG0FX_Xq9C-4fh9~X z*cfV+Hm=348rU!!L_uc{vTsaFvu5b&x_@M#+BY|V$z+)l8 zM2{09!WZHL?W;(H)fg4Iz~GKafSWl=oQGbQk!(D5OGgsn9bd$$*~F=73^nm$m$kv* zum~#MjPz^91zsGFM4=KYuK^JgJzZTTRUZeYb%5BW2{kM+4&NM@zP-d8P%$sv6Fw8C z);NUcvZtU8wqoaWbcCay0IVu8CrpDKk6ER~&ZTijgw6qLnw#x7Z#8F}+F$}-HddMBRVKC28m>Z_pV zwpR|ihMUmS?M$X_l&zDs-$F3O&NMrFE`4yh+)JUL_U##ykgRE~fJI939fh>TS?}!uZz_!oB;$hRMO)#=sKhc};=tn)`Tf200?6W)h6T?l~I>1v-tX11q0D z0p1LO%|3s%?+VwWjU?cHZ}pTbWR6j=a3p?64+_RLOc{Xw7YM;N3qh?xY8ruK05^KK z16c@iiM-0+V(3+vdfy2Y4(nu6NfFfjg8&70%W`1x>}L#{g@x{ zf%*+7_bVi`nJdh_bzSLWLiIwn5m-i(?LFPdwjX4B56Jf3IMsd+RC|w5?a{!+qI!k{ z41sEG%!%Qkv)=Z7f#f;@aU>{;WKN=3dmt=v~gP4_D> zU01Kn8!Jb_R2&q%Qc>_sqwJNN<_}SyZJe@E6Y+?oTq&x-^2D~kLlN=)GB*G&L>*`5 zLpuUXm<7<>0|zD?^A$Cx7qxDaHHx{-2UoUA5N3i|ydJynH6sIHdbl5lGPp)ROxM%@ zGyppdrta8|pHk$VsDW^cWQ+dpjXX#4F3C|M`*Mq0OV{8_vR>H}Ycj|-R%`?eK`WM` zC-z%S9!VHeI|Q+oQ2#IdBsE>k|63AW96n7`tsrdNZ|Fhzmtkinf)^^N_w;cII^$Q4&`^3?Gg? zq-zA!IR;PByUxNh>}uBR;OGwn8+JhvIwsVSyFGB-c6z)QgX*BU>mi@QcGbH(u;Bx2 zuD0)f(G!7KM{85@pIXTXe52Hw~&y#e%cgF=G zmGMIEzcO-Hq!Aq~&1H!bo`)50iH}^>Yk}%(vF$ni|3bc0FM#n~r^^eWeqwPTR?)@#X(zFh?P1Tn zCP;3*Ad^u9O9O#roAEpsg4kj@gqUxdJL|ee@VrAQzBtjKWB9x;`qHnsdDGm8en@fM zn7hbNS)>7^%_z$VMs7=t11qHsU(LX&RCFj4D5eT)aiG)4*QF{HBtMK&AK=VqH~uTUr0n6XUQr1{WI01A^sCxaEB z7ANCpaC5hF;uA?A$j~Gyh;)Cmb6`hgvqQezzFOlPGn`h((OOi)#i>#Ut_9G$b#AVl zUkQ0`b;$Dphdd+oDCS+9pduM|<~Xd#A#@@Dt#tVj6dfpk4`diPCqz67BL3OrVIZ5R z&RNwuysV8G5kZ@gN^q4EA_NX~aoU{N73GXOIt3IewWU!irvh0s-HgoA#yI5p@I@)f zb30Ehg+dD;njAp1Xh6VkHGb3`H+}E!Ht^g=?ECJs?%cAL^6sYZXOqD9uHi!ii~mCEztFfErM>&QT9+>$f#Uo}lQv#|rmw%$SLc0i*A*!DIR0((;%qZ^ zHZERI?2K(_$rHF@`+Q0GkvpJsqDtYlukIu{&%yG^koRfAFddB!kdntan zPTKFqPkSp*-{J@DSv(Km={qzR`q*7m=dP3YnwA9gyF`|1Lso{aE>G8_um1!oy2hBz z;|^j5fAV$c-{eGKo2$kXR{*N_Vt(6w0B!upIan$E0D^hu-vKpS%vSSNi`C zuKn$mLvY0>GYQ`~)>6F*^g4_0H2yt+PB>og$or*xmBoz`}KSA>R&< zuep!odjWqE1_|m5I44|0YXZk)VGzI&FUEDLis7W)UC!qj%Tc_zyH*r51*5S~U=Z{Q=!%7SY%VP#>h;rXyK z|ESzf;%)5eGS_tAp(*b3$(9tBzyoLL7Z6v>MslnmBhD%B&|hGkCs|TF$<`&zw^YF4 zl5Na(P1p7>K;4R_*elzZJ1{{fei!1hr+q_DONeYC+ z==+$aZbl)~ql@y$M~Jys?Q-sPA`~(6VqoD$j7AGF*RIAp8V7VU`zrD$+X0BQArUi7 ziI_pA&=qM!4)aGat=s5G^YF43&>9?6OQV83stzr>-3Bh0Y2~aXraP9H?l?kD%g?$Y z58^#+UOR|eZ_8{ z9!0#AeVVdmj*Omrbyt_RNyNrZ`?nx`_<*E8Zk9qq=hc&6swa?x1ReeYQjg+U{FY3k ztV*$7AUP#jRpuo4#nfmZsn6>ccwn(kRS&`t0$+Q{^)>ZmJD#*-SC}Pj&7gxHE}J7K8E51tC|64x?p?&@_`v9 zcHo^)SYQ$6o8xwfZ`i2H6+yvSc$t~K8YAxal!`IpK9AcNQ3QU?;^^gEilxpujTl3qmdB+N@K-B>NJ4gje_dDgR$EV?BExWrrv^;iGDOL(8Yp{ zvanGsXd8P`43Govy|3-@p(1nh=Ajz5GI81V*L zsk&X2)ase&va8t97VHOT{nID`hQb)dl4K@??}4QeZ72PB;i}b43P* z{8;2SejFQibSj!ef(S31cR(M(RpV|o?wqE;dO!6e>cC+hES8-@7=FiL69s_)Uy#1< zV;Z`Jf;P**$&w1Be;8PJRNo#6Ec}DMjRqF}47c{LwjkO^gYjGZRS+^-T|I_!S$5*v z@Nt#@68_BUy)zw4E(Oq53qBxyhh+;g(5|yeFabcaRtpX!;A}x~R5;a=QGd!z& zu+cdvQ1xE`bnHf>^E_-2+ztX&oO`gKg1GIa_@R)qogsE?;{kM~y+m#o^Y+Vf`xI}l zm)jS43+4r7ck&i2G;aGwJ4-(5n(t>WL3eGzHsG~YC3u!VhgT;G)(D>c4yy_^#oX4i z1-*PC4J?H5yQh2*ra1COJ98vrh64-X z>&GU2{UbH)U&Vdp>jQKbRKb0?qDlD6A1~$m&ka<`> z71&V4+O`i?!V7b&*yX^o4uBzcOXchRdqM~^jU6A`eC6vtzQrUg7x+mqJbC-FyiMy_ zmwJ%)@8fOhU@KISD^U8*eO7UWRkRSKDF`~AX~|P-H9Nxj#&gIG!`{?n59kH@wRnt% z%?e_M_a zMP$}3nf1|v4Z{T+IO{7|%raSQ^lBo?aGQu?NioYQX1e(7#>$N-4BRAGEdgsn+R2DZ zJDi=s<`4Oe%7;)PZl#XcSUC4sf=5-aK{Ps>;Qk-{(V`JB2m$!;7R$ghF6_g?J`IgD zR`MDC6C)wsa8j`aJo%B5hbr*MHuk~zQ(91V>^rekP}!^$Q+8QAfem7qY*tcmHjetj zXO#~yj;2L2Vnd9h{lmkIqXWX{LCpEAZvQLS0?R(bHZi5YTn@@RoGoH^xfJHNv5XoR zz(ZkH^9U}L^<-xpqqt)`TeN0Cvf#3QprGCHVk#a61`9 zQCx|~ybAZDdwAMn06_Kc%c#y{cJWRy#XEtOb)}@r6x!ZeB%n(o9oW#}#-N0;F%lZ` z90?6+N@PS+MMmTd3l>R)N0GY_+mX&yV=8l1O^a?rr8wqSw5$>xZ;3kMt@K6_}FkQ7WBtaJHn6Q99k5Wm6p zZBiS`J-<#OE*tZ@y0&s#Gm*&%lJQLh7f^v{k;BJ8&?g=TcU0ydvsqq(Q&#-j(r5MV z2rJKTq8V#3mzKGhOfMH*PGmG%2@)2zai99EVzL21+jvlS1V*AU`XT9pkzNbxg>)2r z28w5+Swb%hoE)#2#9lU|e`n;Y-~J)E!WlzrTr?bCQjKJyCsIjYGjt<i)*%qLzW&= zCVyk}%6Y>KJ*{@*qV?AEPoguhO*`}s?51b~RrEB4YPy zXJRAFii_&3-EC%;=~jrIf5V1l{pv$Zi!&AGp~Pflq6^$>1;(5dSgit%j=ZsvmHB;P zQ!p}#qZ(Ony~GZgWv`f>GD7N+Tww8jVufD8NY`Veai|~&>3R)En5C}|Y#68}r>S;bbAKo z&BrJc;`nvFisOjZaVbw6nmuzaB-Dva3`ttnLKNn@*J%8=3bgo`2>5Uebj1*bAHoh) zind;e{f9~bwP`yC4mqHa@dJl5@WXZB;KNURG$`ZS64$} zSP9hArWaju&A z_!5jL+e#)~UBsm9aiL$duIN}!NnPk2e{5vQq@t_Af|TJ=yAOJ_cu{C!NfYs3u%xoA zt?24VKdA!81O2@TuJ8Tee4bP|6_AkGD8yUJ@I|T=9TxQA#Y|Vd64bMCA`@DIF=W`V z%qgzM0`l80XL$fOxV#f?4^ozta~o_1JTF1}_qbZgK`WT}A%UuifT5)tvs6n?8<(VL z!(i0~Q=DLBjkH^C#+rhk)_I+(N%0>DFodA>I1D$YrhUxjNW^0^z4@a<#|= z5a8H(15Kvx(i2jj$5GC(tfbCdtvb^$P<5Ad2Fl_J)e}g36e0)-r!&_{WBXKNN>8$~ zPCD~-H2~?%$0Hnt!eBIse3MWpcyVV*j(haqOR&cUbN2rqklSE*VjM=%$AJ!NEH3Gt zg_>C?X@-)AG9TZCyNmJ3h`_Q7!7Z4tSH2D2gFXoFd5zaQkqf>C-SCWVzCb^wYeFY& z&#|gV1MT9c%+>d+p66sbBuI22C$fIZXr)Vhk?7liy;8uB=QM+&VH8y^z^S`Dh+R&aMceqAtGSwU^*UR)3ZrS?308wdPuL_Gh0wht zm?Yb{)K%|!h=HI+dYqqiy(vM9eA9jxDydHc67CXHPy#R7MI=*wQ`1@CYGwoqwdbNc zsmFC0#n7a2C1Yo6wzKMw05`4G&XTv1*Lw_!E1?I(969UVN?Pe_(M;+NJSR1KU+K50 z4q&A}!VaiqZuMB>_eeADHEuadR$1Ly(t&ECQ!+k}XGOh+Y5Smh*{x8>B95f

(>R!BSMq}~bt`;v`rre8nKB7PV$+c*6(Sdfv+f1>Z&tu=>3pIK06YvGh zez(P}H5Ymr|M6^=kxi)EzVY!WsjVhm_MT+iStm93i}I~(UsV^CZzWq3D|sQ_*Hm!1 z{1ofN6k`sk(bN&_T9sZ|nTSBub{YzZo{e)gFt8XtttHX;f7;@}9K%G^S(vr+g1SM0tL#^{x5f|1RAXn}3=r=>l;VNi} zmeCUJ_~_8`;dl~S4paFgAAj-4Pbfo9^8~7DIQUob$2L~FdiAa0POtjM;C=ct*Q@K} zuY9V*SQMW2YlNk(q8613=jsK6aID$#T?` z|3D!nEXQz%C<6{dsACP>Vl7Qp;nbs;R^h1A?S%fueYy=2kAgA*{=X~D4MYAxto#Ji zp--|0;FPeB@B;(pj>X~jvtZZ+FW$rr|Lt~NdA}e3-oZa8b1ve9ugrx^pToO%z*fhG z@$Oq+#9c;BIl2HH&U{=d>&XTmzYeG1eRsf&$^+|BJNiU6een@eYm?P2XG+|kH)H+< zRsp0n#C_jn&CDU$!giv7lQ}Z_r)v0-ZNhT5L<-GBo&&4E$A##e-1YR9D;P@p*CD+BUYrFV-oi9E@eYJfS#c|zA>RhVY}-v{O;tYRR4%Te674=# zW&(_n=9|{lIq>sL54@P~(=E(QgBOu?9Uu3@`^)>B7NEP&_hv9>5__`O} zeg{;ve|bPUKk#v=%>vsF$1c)00yh~*zZdmDRA2sbrs~TB7|3;LXeyoGt1B^!S}`&o z9`tiY_O=>RCOp1G(2F!fGSMTv#A#K*)@G}mu#wg^97ul*WPme1oQk=}?#H`<&O5|` z)ngxo$Ak6bq4B2~czT*sI1M17l7wGMvnN*J)??32i+x^w01jMm!1IgqUK1fUEyrvw zsf)tj&X+4ia^Uj}=eu!m%YrwS#2nd_SKuq%W(|TvwD&c{xV9qe;5Q^bwI+kOhc?

kj*Cs5ilM1_CpHQd5dr4>gczhX;XKdeevoQ9Q71It1+^_%79t zfu~#1D}im9GZk}c!J~;nd}gKddmTK2it9&jmtww|5M)5Op%w^i@U2igAu`+_##%gT z`>yE2F%M3HCFU@?9UGw*WP{pd0U+z>W>>t4?&7&{a$fS$QIJrQ*vfh?D~FKiNY4wh zM7yifUEsWT1UU0&9E=nd^UO0)Ujis^1VM+2!+433cn*%YRDccN|3R~m72wS@y20#- z$BIZZVZDt15r|SnYq5R#aP6|g!BM1i3m0jnC>L`6X zN*fKM;F-tm`u-fT|3$;1v9*1L;(!je1oxyt70f&NSp%Xz6{2bS+=yQ?0Ms!#% z-EN46uHC!}9EI;g20F`ZI=w{WxEk*v9zpeD7G(4mjbkJVNk7>+Ynbi30eEno&wNvZ zZ4ct!qlLTze|QARFOJ-wcc`2w_#1{|8KWxdK&9h&DfgDC=Y<6XuqfgH=KK9(iEcsB z2K5}A;Gk&RNwpHxat)$ZYN0~|Vt+tCv_^DROBoW#Hg43N;51BO4=~7%==ZTb+Qwzr zAIwE6oe@s9aDO{aF>GTsxPNoe*X4d06o%%ayKxT%qZ6g;8pc*ZL)YZ!++BJfLii&r zHaR8uw$xsWpH3d1n}_mV1-!Y3(Lf~Njcq)92C6^}C>d#Nqnc8ukXGx_-KyEotIsDGh$uN%zE$!E7CCW_&fH-x98#D<1!>ooA#a696 zY%_~DV!}p;@VE8QT^pI%K%DX#0@pQYr#!|cnu%S^Z1iFWgch|GG*PKh+c3QmxXQyT zlv>wKAZR2!`_c^SY=>xfFV);l?C=*(=4)r=f~k}kIlu6s#*lb!d-~8{1r79KV;5L8W56g*!1CRJjU3 z;2;8a4>P<}rW!PjGrpgfaThuA z2#Pd_m)`A(k-#IFUV6U1y!2K;^Xqu&WvY?AgA;BV+1#IHepq*Sgn2z2^$x;O5Am*s z9iN*XTy4fiuMNP}=2vI>;q3A9Cpc5U5g%h#gjyMr9zON`$>3W9xIZWz6*v*G4lvJy zoZa99hnp8^i|jS($GRA@$^)+eUeWgt6$#agPSL|Qa@CLD6La&fFe9}Td88r1&V~8_@YEM&0w~AI7 zbuhJ|D%EBQ9K;_yPqDSH_>54k4}r-C1gc>9j^luhfw=*=P)F*`NYfTD2c8&KBsR!( zLX?`!>HS*G8~g1uLhBI8=kZ)*zFQ#ai$#BDTn_0{vIbs15))IMrmR-1nfSG@y1=V$ z>N@?^1!=sWoDl&P~Prqy*J@c+KR zHt*<8@P|fcXW4));2*kTgSYTIMyEe89q|=}iyNSYg_l$mkC!|+T*D)1b!Rl$1wrF* zSKzwl+Pf^D**r4f4_P0FmV3jOD%Ga-5Jb+9WknWN`@Vo63T9*>$Dm*4=a^N}VRU7~ zrj`5A&$^>ZFfxupE&@A(HM_}@Q6ZAgWd@p-NIsja;^nH5yzBjeCI7^Z-u@nmld|k0 zagC9E$VJgrM?bm=0?U#pfz~}n_^~C)2t1cMe%t?O#Y6Q)adF0d$s4f`j zyu#ECir=fL8|?h%j3X)tr(e(bX^o*4ina}*w=kVLv8kMqv=8D~B0G$C0I?m(7qx^e@W&q;zPxFL(Qc zgW2&=Tl9wz)!Yu=fh9Owz>^NJ^Vk1J+4-d>#m=8dtn%{Y`HS7r2QRNZymj)!zO%%& zklA+x5qQ&&ji67z6y;cV-r|Y}~+UVxYea--?S)g*rMBqI#@UWlhBSTyR zv5vyBD`5HO{^qdp7vnA!8(-Et8z1M|d-dXuJqSV2?Zur})>8UAo}{}XmcK~}fKXum zOT5!D%X5obBEu*^1eVPMW;s6G_X?Jgm2<_?)S57t*F z5lO|}{}?cXAq@WFqPY9gV*;f2;N^QBNQOts;N>D0^a+oLUGVs?)bJ2F8sV%dqdJj0 zFGXY@3rT=N6ki8!509{>!Ve6gEQ$~27PplLOObq|6%5m1Xku#rp**}3!4V{Wz|%0! z)J*5wH&c8ONm$u!zD)d5c2oC$74MG2yN$w#+v-+qojL(-l}Fp{-L`Ld8MSnncTw(9 z#il*tXf;O5ud3Sld0KZz7TGyL$Vg>t`Tl*F2r3ChC#53DvK^YYDC}JzjXbPM@enB9C;~8SIXsOOJS^pZG7!NS>BE*pAEG~!rgl2*tEQIV zp?Kk=;+O?upDGnk|3d--Zv?SxqBwXN%AtUz7+lEb9D7$COCPGz;A|;vN!}Q7Ub{k+ zO2-#6e-D-{p&j>9bNk^}9w2>-Hh8eY3F~Cbxc$(*#=X@3fFCX|wKwq-M#SuLW2luE ze5A3Gr`#UT05u%I5kqtt%{|_#VSwq13`D=m{0)l%UtoSun zjO98cgm_3A4ZE9NTU=J+*$14j%`eJ z%BnR!676yZm93Cn^tf5HoFG!2xJei0BKh;TVAC5~Lf9O!U%sDjUKOc2viv1J{OD&j z_{)={7Yn-rFV5&1-Na_ejy8s>F*%Uk!>qN_LJj^-S%ZNQS3w!>X@68|E@a6gwl(kA zRl~P7hUlw^56zF4=I@jr3SVN$P_c}wSegvDg7p=kT<8QUih=qn_J9WJt0TP0Ui2@iL5NI=XEi{?x!dNFIT6cLWy4_RZI}kJ+6x1mWolQqMG0P@es&3 z*2Zy>eCiYDz3TrL@E)5~Qie<0IPLp-kgAa}NncOU#T;FX-G2X@Xo!f!4GI6jGxKxK zYb=T=UMt*LPQXMS2hwCP4u*8s=omfj0msVv&O2>apg;excTY<+P$^?OamRJ2Bq&P1t*sX)I7^vum`Q@8)bbJM|R2 zU&cdxW4Il9T#cy1c`v<-{Y=Om(FfdvOveIx&B#-i5>&afiZPaqx)~KzqLnf7>KtXK z<@O2tyZCB4bBfH3M?k1at(=*+b9Qa)?;bcGracZC{(0^Plv0CpYwA=$f$?F%vn zHY}EPyOev7(r_Q3UdKHpb~sf zU~v_Sg7?`E`mTAOFQMp2{2S}~$7jd;FBfGC@eh#0971QPP&|7WpgaNqqGbI`sBdDY zvqM;c@4bZ35&eW!s;uW0>!=8h?K!pZVBG4)DD!)V*B)Yc;Y3>dvC*tg(36PR-rsN? zu<0-}J3?WH4oc9a`!Ojx)&`6V5&=izp_kIanZ&X)fN|k7Yi>sO+9#q8Bg-RX62{bT z8y1@dmcU^zKwBpd>YbI+H<0kX$A_uo+hgSj;cQuEsZ%GsYKT~TDjbmht= zU>RpCru)|9hS?u?!zFjzpJN+0Elo6B(MQA6ewQeB6Utd)2{*77TC7<<+xI9mUv;JR&^uJtIAk(1#hxfu637X{c1nkhjg7Kq z_{`Vq-pk@SzW)Lbe0UH^ze#RjQ3DH*KWBMgH)s2dzx#}P+r0C3qDfH2Or&PUr8f=Q zSYq|6=@?=6xZO>w6wIu$RxZ(bAAkXxpJ_rDS?IT}%l0;{&7C!}{4|J`g*o5pZx-g5 zvqt7!=Z~CbPenRpWW>%U5{LrLb*gS0;DNZcTueB2hqJ9}p;4dEEbo(Xh(3HxcGYY1 z`$gA6^%KwIQY;@DmF2^8j;b-C_d&2|Zr2)(-IfnH z67G>{nHz4mE`Fn%w$z24Fg<~3SNzl;W)1~MnNiud41^B{Jvi+@07Rs5!~xg}oS8fT z^8<{9I@6*yFs@2xx>D;*EoUIzbf)iqfJFh#lu;1$>XT^e8k{xb)Hk>`Z}!O23(NcE zP0g8;gX{`EYw9RSWO1u862XhV3S*oO5)5n(7IJ;`N;Ibm(QKWDWiW%u4$cRS8R;Q=J;u+BO*S)b)I-q&PZ3*xan(s!m= z(wohMU^?uIXN(HGIIQk%SY;L>heB}RcHF?YHESRa>RZjsN;>5rqs?r+^MqPUYcz>= zYYdD7w?-cWEI_KYwuC%JvbH2yi;xdqF0MuREPlAO2;}qZ$c`f~fmeeyvw7&F|JLqr zWFiO<+xX=iz1t|xei9X3j?dYZnh(%C*x%oicaz9{L~@mEl&w}Z<%2?JF!vHb|gu{fG#C()zlq%+Q?x31m zIHvm`;iFhm%rln+WvL)2(z92gbwnR!W1b>9I@lJ1<)`>g)r=TzHcF&2kEb6VX%YP$ z-AnS~zl$EF?;kkn3-I+IKJE$P^8-a}MGd3V8(8QCpGi4v1eGWoQ3T#f&Vq&1wgzpq zhbVy>|8xML09}eV=u)Eykz`hl?~1^t4M;_*B$N}HX#z-$MI}xf=nFZI=**k3^#J~E z<+NZO=4YbriN^AQ{3Hy^I@1DG2$kk(?}zU~ z62YEHR5)?evW*<44K=tQvJGc&u-MmwOK+56;WxXSG#XIZz`8?T@5h04+hK5??rj*l zS9vmnti``Z@(yRq_Ws}(%0EvrWKsg&dX%45-&Q(Fen!H?AnpdjZA30-#0{E9<5JX9pmKumvbO?I@=d%LfM--0mXN;ri;XLDgF9?f>Tz8|KP*F}0F$buC z%o`54Ib}rO%@FI_C$cO-O~Kjr)!Gw&Jr3_1D}$)Z|ESCrEfxM6jgZ2XOnRvUT@TmgF(4@%_uvw!p_{q=QGE0>LzD2PWHp)MAdO9 zyd>wGf*Ke|)PgaIZQKkQPzJ7Sc_|W_mCBa)ayq|MejQ!5jp=C1th^id-GZom);4|% z7E4B<40o?0$F<;osdgc`fd$HNH$Ypu1xl8Y8$Tj}K0)pPa~D7>Dn&g_^<$5Sxm+eWtLw9? zcF!NAtlu&};1qRO4=Q7D;+L|w6T3h?;<6iwkO^bF;;2=`F!5lDe9`;(QjGDiG|Dn^ z0t;7ju+GOv;zte0L)RAmX(xS_c_6~)pp*Fa!`U!L=@&ISM6n>M2MA;q5`=7+jJ&!< z{&d+%&QRGkT{^h`$!F&w_jQ=p2i16XLd}Gl<^x&kg=5IqUd>LyHn*rFZ}P~}(*w(H zL3d!bn>RBjuo&7GP-0+*t5=j#(W{T(0_Nx~j;~i2yLzQ<40D}cWea_F%bGm}-}WD} zt4^{r;cG7wzV<=r4iBnqE@Ihs5W(c_%%!Bp4ox7TnffI}GQTHpMppT0O45B9nkY%* zk~MmlaKl!BG0WlfJ z;z|h27zO&KB;O|~`GStpIypT(lrercTz`rfQq;EsLNq1mq4{)eH){QP#Vw_O!CG`% zGQhZ;cI7LTbhX40h+XajP!u5k^x9!Av**Mbc->nzC_O_tNd@4$xbiYp6j7Ty$$X=K3GCJZhX-1-_W;C5`6`d z5xyPgK?}5eB|KmI#b6guD-8va9f7y$!N_mhnE;)SL8sTUevtKZ!Z~a+C-PG4CKklY z|Hez)`f?&aZQq4^oYi1xRG2ST48dYD0gDwwkViM1#fl*qi*RY?Vlo8ACpm#Cx=6P( zkf3d>p$wF0poAQSZeSXHcXR`}*so%*+JQt@f1os}N_|;HC#+KT~bL1Qn zt!E&Vp;LU`nTg`}oQMA03bJJz^w4(IxVR`$W7k=U8rySFgZ6Q@@lf(N#=-#9`Np@f zhdW)m^<30|$cP&2Aa1$7F#!1M)c7e*9h@3#MxaK6)OZFAm8(XYfL4L|tl^0o>7PQ4 zRj462L+xYT+ier}Tpk#J>2fNU~ka;hh+KiKE&w%}qOo|dNAv3Ec(3Z672>_rdrazm{lcU%jlLM~^_Xh%c(3a9 zzn1q>?>5wf|5~VdPNB?GCz;f3N64^Bl5@2;_cM-q=D>2b)k5}9nCCYm)Ds=Hz?7hu zn<+Y*k1>Xx&V|GW{I9Ws5BVQC+Ma@U>HvJdy&7z&D{ekq>ic!i+MVP}LuF|4W<$5L ze1LPQeEI-W>5ee>m^*We+R8I=2vXeo9h`*1B=~?1Xh}>!;BPR^P9!phKjbkNRy{@s zX6*YDuq`3$G7`-q$9#wPwRCt%O`m+!+>ZP~TMN5zu2W)8PJ=jUw5K7~&b;@`&b8h$ zZcVvm2ghet)K06ctdH>V$@dj7~#9U zkC0JjoDss@smBP71EWCV!0>{t6w_HKa4`cS!GmPQAZ)p0Up&})18q9bNehcm@ygIzlLXzWrh(rL$`|F1h7 zEHP)N8TWSJc$f5G-mf9SDootzEshRF{;{HiBt_YyixXG?@)E~_Q7$Y<@U6$B2?WU! z0m;dcyzU@*29ewp$qQE==|=OwjTa(<2ML}}6TH9mP7dzTgKGtfe^mz80hky`8S>)u z-8;cMmGu0LOPs+8J+J$7nh^BLBOvIfDT1B_4V=((AL)6l_u>8jkep(y)BR|XT(Pso_rM8nKZ;9fz5?!C3Urao?~(r zL6>9}``EL-=0Z{!`1aVdj&qF5PT?3wAx@lLfj!4K2ul#8H+g)0VCgqp?GeP_u#J7eP(Njtgj{RMr1@|cONQi0VVvyVFY^V-kjcqZH&l&;#djC(qa-92sOt@#=Xp<=T}> zpL1aKIPM55C=!~1Lr^48>50n@5i!vY5Ojy$mFm^5RLfln&F<)ZS8{Kiv)7r2if*3WV^RjOo<_DZjG~MkTsi!BIXy& z@``p))~p>~R*z^K&^UnW5?WP@)j2{it{M3Xla8ciZ_j@{0Y&ZFoCL+sBW#?)xEpYn z8sh|t-xDaF_}<?Y6o;Otn&C;$0Z`(aNkAiAB-y%7NV3B4 z;GDG9IVPR#7m3zSiM9{=eY_0Mc};x-!?%GLLSSUzt`A_GDu(Cd^Lht{!|?P5k5j<# z3~4+DJf3ynapaf1!XxJtGCc2`>%c>#Ei?sT)R%I8kO-RDzH4e)|9zsj|!%ADMv{FR~R3M==8!c);s@T#tTGU;aYD6o6 zLh}E9&z;$wO*RoNw*G&7K4kCA+~+yxo_p@O=bqESggH5Z=eE#4cEz9(U6>r)Lx0+a z#t)DpH1@Yym>dGn=U*JoPp2C0kqYU{j=(z#~S=6nMJs1eEaqX77IV zast>2cH=4BjYkEZ`d;v;LV<_Nk2kjb*a8oiA0_Z4T7GT|)%>nwSltM3ri!^tM(RHR zt5s*56s!^mJYPDjmhbEsR>PjMVWlIL7*?`W*PbGQ=ezv`R#APrl6AN=QK4Sbbn>!J zE7*yw!&U6$WF4sWqp}WUd#HXA5! z2emYjAE1Hk{6j_EaEw|Qnw1QV9S%m^)v#0w_~t?no8mrd9E)^^bFJ~ol{qb72voj8 z+W3d9yJ3v(niA`oRkE~JwpBR4(Wx5AiVy-LTCu%_?{qC zoh8Jsn4H8g3Qleq@PR!(*;5=h4w`4mVew~;raf=Pkao_0EAxP|FBBIuLOmwoSm7xVb$Iy~Ew9{*I zPFUk=R^uYsCR<~B`((%VuihPwjW_YQz2Mkx{~~0|(>*ic*wDj3dQ}u*ljd?%XJ9Bf zaAVAU2IMxXH_4xhoIKBDaC0W4&#(? z%)++p0uJR5$khhVh-tv=TJV*pS~X( z(X^`L#?eSGu(>XkSGEc6N8V}= zS*@3+D|&Q@tS@tUYHw&6_P9>SxSHiJSRJg3gb*7}c5Jt$b~v`rTAn(RMx5(~C5?R0 zJt~brlQ=x|>GPDX({aO5jOEi;Q<$c)dw#wZp!zvL zfjV4<2V9)A6wLdSg1MdwW>k70reHSbQ+*AY87{QthACt$57fnq1B2DHAOOK7QG}d3flz&!MHlblfZwls>h}Zs`f661Ft3bxZFL z6qL4ZY=7&B5RCm5hof>7wo*^^MJG%KWQEKEso(AB2{AiW`6mTHcp7Zj(82O zcC5CrqYk2=;0P!p9kP?V2^tSSMPp0pVZ|=k8c60wi zDsgjd(0ehO6ZE!iF#&oPJ=1pjJ|@$5FQ=~qy%7ArGU%=GoEr2l`87tLmyY#EIOQTZ z1ybmJ5-A05%w5k^_|Sp#9%}**X^r4*XAr?B42G$ygzb^cEz8!5^Z3=)vkLyN*l=ty z=p1eMj1C&Uuyw=Z(6H62w4NrdtA$uBz1aFoty`ZI`r)tIB7LhMy@g2k#pW~})F)bq zMdtjH7veZs6LWfZ(y2lE>h&CblxP1C9$^*Ie~naoNWY*p?CUZV>;dyA=4EA$0{-RJ zfFB+@JHBZx+Vr^{G~EX6c~;XIR?`aYVC9etqOB)D`;$+%MZ1HQJJ1gQBwrb{|Iu}7 z(Ec-+VLH&hbg_;0%}Cj3uX#I3glU=UX~!cYTcdr?=?d+DJ?x%gx!xN6%0n6E-S69? z|D5hpBrx-Z^^NumFJszVx}de{=z;NK@94T#GAOP>19{Sg)1dz#@)St+>x zt>yfQbr^kYv$F_(P}J0a4ypENU_@&gcsZT?UeFJI--h!>DInOE0y5cw*n-nD+JTXu zrvsC|Xa|7*U$n*lv%>m6CF|#A#=?K&R|)^ePZ9oqj?t@~5iKl!5g`7VT7;CGP}!U6 z`X*~rjj!GY92`wRK5nZ2&|9Q+*@2~qn4Vx$oy~UC62sd2M%#I2K|Af7?QG|kYS1Fu znt`?)8*9~En_a=A&`UpSi&O_=*JDUMMSC!w@+I0>)78L9Z>*2Q>GY|X)VtTl0ei1$ zBXuiM36VO$32XxT(=_MCTERKN#`>G_Esc$~wExj|S{m58r3GjSD2;8bRbvS@*8hC6 zL!_SijrA!(>iG~IP6bkr{4@@!|1@l*zJrv7ROiOJz9|wng^1NmO{S`IW8Kaa8Xl@( zdunCijJ+q?-r#oIJGV7%H}p)fu~sc6*m<2MBaGizJG5bro!2SaSbrh>w%%AzfCsZv zf#1GQ0N!c?M0lT8Y2&vOQYVSuu|0_2W`$o-%)^|f9mUBn)}Xx@=P#?U+w&roxV<*` ztxrv`vu+o^m$Jq76=Ppf{C@kNrv|^5!;_C=1^i2y4e!C_HoRNytTBU!w4PCSbSH+R z`zy!JT7f;m&U*V#;u>BZZTNnq6r$TUd|~T`-|5!j&RVseV2d?YT92R9j+NN4#X3bh z>n}8^TkotNMp*1qF{yKZ90&W5ZX!rwF52!~q}s#z@C5CCfEbomqtZBbcW68#*7zSA% zxT*KYqA320+XMfIHu&$v+1}B9T46uIe!3pl+#JiyucOUxM=CM)+cbaF^97rS|1)Vm ze(pQiJ#7`N-Sj8z%>B=)O*tjF*Z=Wv;pPsh4+_-n{%?TK8DM*c$eKBSX1&Gsnms?XB&e`nBl>~!Lq4LYbK|e1S7m-kyQJFqH??d zBYm-~4BO|vtt}FreW&8-CTPJdHkrt>@?jv@Hc^|2bYf!^+ZkYMKso261*m(88hB1Q zLTLG(J^uMTXn%;+kr%u5T~2G5u{L)~cuiXf5NEiUMh9W1dO%_xc=ylhY~~~XK^$d6 zCkh8Emfh00wBzWXr5-i?2NBc-p5(4Q2`?WE-tgT|>|0kaq6)%8?ie{-*~GyFhx5R} zKKO{Xa6nfe* zsNh^6GN6KNAe2Eledeh!ap}?6AZf7>BJdJ6N<7$!H%rFl!|gJTeU&TOb$km3g>Vt@ zA$9oINA|#&%2>$G!1q#{FduYF$`Bef6^3<))Uk~IttG;T1YY}wsX~EB7!iT1vG5S8 zlXz^yi{J#X!8Lo3JvLLU8Bm*w{)3TSgDGLI@Ua6B#p3UC-xj(GcTVUSt70yzY)bPD zmf$>HF|l-UXXert90!o$Kz#>&oVm2}f8Y_#rQyelj^qfp_QFWz*^fawI>W0a=!HWI z=z0BPAATEvFZ#lRQ>Ks4f@k6q)DylK4RQ>btkhpc=dJ<0+ELk-9|1w)Ya5Q#X&w@b zL$%Y+hS8qcl7wL-quTkbc0W3)JanfiqY|77(yuxyf7vdDo?d_s@q+{jV#W&P?Hi7| z(|i}e`!l>KH>IFbot5eYK!v#6cJ)Mx#6n=eXSuvhioPX#ilnQzp6FZ78Nw$8?xt0w zHx=lO{esO)D*Opv5(C!41&CE<$LGp4A14;fMf>n~*yD6C*MAYI!FZfL$&5wxM`muO z%VzDF&Fq-5*@eHR1Ul+2fsgz{Vbd~L+~+nb%1Z_5ii6y%PM}@MWIQhJe1$B`$2nHz z1{;A<;LdtN$=fbhi&k>Xg+ckch|m7W_hP*SCOJqMW!7=}sP=)xNQ04U0{T*}tyV-O z3=Zi9(nWSRE>M%+?3vR;DmOlQtzq5ieh*xwr4V$d{R-X$EeFGk7sG4TblB{qg&tar zq0;l7>Tu&=^kIY{A;ZuGD@0VcpuE7RG_yptSwes*N0>qJ+Q-fZO9)v0b9$F|h7r}9 zbG3@TB(c)xija??pG-V1Pw@X`y!$h=e#ZYN@%=ZSk*A|N7)?n7-F1}b%lsBb`yb=~ z3H%q-i92HhLBn>X-FnCE;ai^u!lO?Ss2yTY=TF9jh<>|(x7eaj#W>%HJ-MI9qyUkn z0_u_8Or^K7{y5Qcs2LZ8q#>!-F1y7Ss(9K%wKv&LHXLx7`?znJ0c>_VUvHEbb zL}?mTFFFP;^8sR}A51Q6$oe$m)i!lmSB%h&OSd9$q&aT>sG3l3y}=#HP^CO{v>uA! z8yv4LuhuqIBM1&CvNwE-LC`u-=^2Tj^`rd<3pT}XSW6C#0WL$UVDgUzI2O7N@=)u@ znMMkRxAh=NR$EYj2gbZ;kjL`x;*mW8PB=dZo$DLG@-Q;+%uRm-Xlw29(c>XzSQfsQ zed_NY&}Us3V@B@E=9Zb;m$<^OXpS1ii)*L_)dUI`9N&UZ2(0n((-hjUCf2=+>b;A} zvK8lDYE@|UD8CJmFk~e)^A>2EdWnaF97ZLfhl3pD;SGso#Ied>rfs_3 zqjGezb95FT2*}ZeIaVV_iptT|&e6@z(VaO~B1fvq(ZkNs)6StW$C{GDWnE71rmSYg?_4QL#g*Vt0PO~e_4@^s%syaSh<+;($bCaFt zW|fCszeVM_)y{L9o#%GD>vyOeciK7bvUA)mT{pdJfGLQBjCF{$bv1slwl2dD*4Ec- z3@gg`Lm82<%*}*4 zPNdP)7KWFisQEl|1Uw%Z-t}eGb33v6998`}c5dl- z_#WhjfB*o$YJU&_hbQraK>i(k2s7eM(7SLC0u5&pb8nCYw@3FJnPm^@Mv&P84_mQ4>YY7=+q@pNo=XH%yxf-^ov~ zytH9>HzfPl1*UtnO`g6erEQwl*Buy_hDbjf1A4aIam5>cqm#0$jKFX-6)YQszwBeM zY?74SpqZ-KduIkZiqt}u?lHF)4Uw|?~O9hu0h<-H0>nlhx&*N$ORSH`S?aU~fx1<6V zHOo~0eQuAroQN})r?CSs={q|G#=G^Vv$rUi)PVV!0e(|OLYYUIl*|Y#gas`F4WygP zIdWcRGo@>g0#nWBNgYZ8FS5s^W=;~uw1sQ#@qqqoe6q3z6NcaQUugPYz!GvERu&24 z5nW-VUtEM9`g@=AD z_LcWA3Ftj8;eV|S#tVjQ8W{cOLhe>Br{DD)drxsX*ngi97N1bWWE3~IK+bpwoKl4z zN^+gcf z+?&%8_hvhn^>76;l)TNEZY@SCIcbToANpa+r#-!G=koS$&k_)=8VvTyM zl`;TSYHk0$yNt$8B8Yew1igzXwXh-U*YiHcK*8gFG-G;S07_B=&kZMZEg3Qs83Nl% zImIAmeMhoYOE!H3v!N~mU9y$cGaG8lk!-t|Ev}w2$jFi*6B)8TwI+DkCm_YZ@)<0= z%|i$W_{PkcSXS*Hr1TS}e8{S{R21em<}fBtEDpOXCl671j5pNx;&77sUO71ha;jd& zIw$EnC+WdSh7`n3&HqD2)CRb-_6EHxF-TX|i>g1#(^4h|ay`aQ!@E+inN)I=Nb&z2 zp@Q9YhIcjDGE^WLl}Y?btIT!tH>DESaIZ}^^J3poh04&$%Fwy;+Aa_Uq7~#Kz@F65 z)ymMV^4jj0G9^1*<4J6d7~*!WidlP)8y}h5_-xeM5b!RjoHznYjb5Dvkhl5H03&9Z z6ajid6(1143u?zsan+8!UL~jAP&@X98MR}ljjSD;KU2O=zrS|ujk9XU-ZZmz?9Evi zG6bAxe?24JhpisB8gt+w&u8aaiMsS!sEsW6wO3vKYIbE@QkvV$U#;)##V1c%Z+Cs| zSof&fu}RZw$0pB}Pp7F*PuF6(ep%l1Rc~B;1F>s$Am=Q@yKd&tIz5D-u^Fa+fw6NY z?WogxR*viG4tm#Ot%5cT?F?`fMQow9X8yW>2Q;uA)u4R!7>H7O%^7X0*vRuvKc}Lfnc8OmMr^&zymfkwz^GB|2|V45#>#QsFv4~E&d!dO5gr+DxE;WlXGvYa zP*NW1nk1jV$N0$_Av5=MytxcRfq;Tow#&zGBKemY&yPhSST+iON#((^E3A~cO_tYf zusQ{6e*)D6@RTcxjY4FQz}f($A*a{X>Q}o=zJ7v3-A>cGvr&R9|FNi-P-0k z9y7rDEukhJ1ls23*(0+|a(LJ4)$qr)z&NbX$&i!MM1{~=r^>5_YrUOUNVPOm710eL+wIqUQ_A{ez!K=d%)VU@R^&b6@!%I4~j;NIRg4^BnVV5amG!F z^M{!6qNI`_17;c5O}N8=1TnkIc5b*MjC@X+>ewpK40rRC)0A$PYC`jIYO@5k*g1KWoS*Q>$k+z^*i|0FG`2*d#M$m#@;MU#nrd7p$0K?QxP9EC3*fD0Mv?* zKr3Qnp(rE$2h8pKQr0qWg3)MhTFqSCOGzhMrZ`dIDFFxp1l$_~DAg#h`Xhyx1IAXV z{#h1BS8GeSm_yqaJuvvq0)>)H8;JPDj!Lcb{3VzV?-P`QE6RHTHrt!mNCZw9Yr#hi zc8b~D;s}L4kTTz3#vtrgMTZCBU$851(C31l1`1sPL(I6o7zY z3jySUHScv98l<=;0Vyzoj3a0bzv=j4w6u4N+|@=+$y?ISD{e-#L^HJzL+IN?#*Ho6 z+eHD-Rf8qZPPmgSc~5d3Q@hoJHnk``~Y`- zfX)TkI_8K)+g&kt+2}%Pv`*g@ADXrxbo>#tNfDM|@c1t%%63ViD%=5e*$S-_?|>}4 zRp@w^4L!r7DA0PVj0y&+YJCE86(}xx0y7d1juV)3@fbiy^VbuG0q?u$a#|qoZ6j|3 zufeSK;7tj$y=lTpR20>xLh0zv?@z z0gk+-UundM>iASgSE?T7sSX+QX+kk1T>f*O@8~-t`kt1!lO6wlqcN+#Yn|_6LW@&f zRs9o3)wiQ+vx3J&!=wRPG@P!o{lSs#GG_Cx2e5$5lpA9(om@ zwaWE(NAV*MVF2D2*yqTdR3&f{fxSo9K|IHWm@)G=aH+Wb6_UzKz3^?9Zw$*=4Ag^l zhGoeC<=kiq)+D{QQ1`w731ijh$M<1C1uKeDMoX-vhZmT6FJS!W`$vvm-Hl$E`7dx* zO-VIV^qS6Fmkzq-F{AFt`|g)&j>!&V;Lx2_bJ+;PRh#)$2DS|Xgf3^rfRMq8u;4SpHTL4MXFUg8DAnBRocV!I(2Nbf@_j>ES#y1{k}n*qC0}0HxX?X zM;P7JxnB6&$R5z^p-fOmdmVLd)5`>2m6;aEZPJ_4XXAvF%#}-_S`W`aW%{umMP~){ zZqz0aNofInPcK3?J(!y^23aFl>BrKUWjSbuj3WnG+3u1{+P zsu2Obp9D?2Ukd$E(ho|yn*?lAk*ZoG%}7-N{Yi*%MuiF{>!)TzjzxnNJip~X2@~}w z68f%!I3aC7=#g0%P3#okLf3uK@Q3{ZdjHd7#69`}OI(XwW3CX1YVW)Y&G9Kiv0x?z zmYu#9;3qXk(T#b#`fn)jQ=^^E$u5(d3rqb!xo^>T4T$U1n9#w8Rj0hE`q&J2aO?mM z!kmHy9WfX&t1?FCc;*cWc$V|M@lwgoHT-SW>|it-K98h`YN|8o8rR}ASV!9BHB_0r z@*?<0Q<3j1QX(^}`Ss1T7#uG7F6b~nRoj%CIi}Hfn&NYwfIg}(@}P>%f5nyyecklX z*+%1-dA`2JVQte+)Pp?ZtUODZ$D6wK`)EPiH1V9QR}j=5-r)R)jl;!n!<`F?m%z@} zb;VBK5Y+;rlduwe$Qh(MHJz2AT7vT@_oGvV2lZg5tWS-PYQh8EAMH7cQ-#ZG-UcTg zcR4iiy#u&)jP;vFNXshMAgR|T>CJQfugcVIEuxGG-TcrgK*bOL0#uA~prYYqQE_!$ zLR7rbGdAjV|C1OMPo1VvF&vGzhl(v$o)qT!cTw>NR%W514?BgZ=hdA+cUcgb54w+5 zP0!EIKk^}ht*71qeF& zXCNr&iy-Kyi07DKu3Xk528%BDB}Pz6xFqaD1Uj!Zz(r>@OoPpwX*Auvqb|OZ$V2S~K0bi) zV&6@B#X6Y$=GBFM2xW#u1ct9475y0X=G9>%91DS5gRHR#$Oj7GPKgna8+t*30OvxC z*2oCRkE#gBy4uRMws)HpntXo(7}P5mKm;KS4)7-i1BXw2?^M7blm1m5Fu)kn^eX`! zzyO_;yP#f#YjoCjl97=gqdxk-9vL|mz4$LhMqWbk@ym>i+{$|%h&(LH}6o{i&`ZYeTH$*PZ>R* zdxC;q+9E^Vg+|Y(u3*kQ33Pu3t&kU6VptEdHWa~D2?{NKd9b5!_Y40BX6U6BjaJAw zVFF8mLOX=;ikM}>AHFYHXiLo2d;{<|Q!Ay)3(W-QbF>^s7y&3D41wJ=j-HaLE$Yih z|0gx?b{Xb}eRECAKx9vTmOIuyTL}qUz!#wq2jJY?{iOyvhND?~vKqVA`28{m8;#ry z_Ct-y%x`R&3iZ@}vb`w-RH*w{qd%p}_VYIS9Y>?S-cjUG{tw^53cb)jG#c|oC6u@) z0)0CwWy}^^6rg8*2aqaEt*xL`+*n)jGyKe}t@t^9An;YN)Z@M8b^Z0O^THkrP?U03kiw(Qb zo6^e-`X*LW84y~(js@ zLQDx)AMiv0yL5Be;{;j>cfiHiE{FP6y7@z}LEL)3JLK!i>yz}_WW6St;x7#AYzU&9 z%YxueH-UJp!2jXD2gKvQO$bD@dmIq|cGsx@;<|gjI1r6SFsbCg_~e?VBy*Y2T{|Eo zFuN0&Nj2|#1enQstq1371ZGtXnB3c(N^*R5YeGnl?-mEi<%r$xC;m|}E3jY@Db13wC|U_8JQPS@Ox{I(|Ks%{W+iWCc|-n=o|970!zsf-ai5Z% z|4G3QajC;8eR0*n?%cX6BWE6ui}aO$2qq_K@m|OyKWO!QJGUT+s$7s()U~9rffqn# zcdFu#Q42Qeu7=nRm!VlNBC6+(T*e_XJd5-ix4tte`=f$GQ1}~Aa~(38LNLT^fy~5+ z%}}Wg_1p29i+)@n*9hh;=Yqqqr7<1|vudmFo7rWYRCUg(&e|J6Baq@!jl-ySA?ww5 zrQLC7?B)jc|KB7HM~5vg=dEGy!>}QAVik!AT)#wG-{Fw9_D+Pf1=GTPQE5ws>4GcG z_@a>+rnin^>=cCRT0v+(lp5IOyLSRY>9%i}+~Xf>!>esTc>t()EI{qUfVNQta(fxi zN&scY$tzkxK-IbCETkZe6}8o2z?jg7cYlFF^Ol$uTj%9AgH~d8uh!1^KYP&0(Lvi6 z_;Q;LI|iN7YS48MzCO>O#qJ)H2ui@tw}%(J(A*Nk{(#WCcL5Ool#=FEz$=bV^eb)w zI>*h?vR(`<9fh>ie;qMz5WaycWsWkrIq%?v$kkHvOy6GgWuAf;5J1g@c@J0(rj>)qHcI_yTa8f zPcmLVjn{bTfuYj^ln+Bk#OD-zf};#qQGYyi#=~Ouz6dM9KF(LkG<@>#Q@MIR9iQH0xeS!+jfd6h zeIMjIfMkUI>x=ilQtvbHeixGA;TV@*_(>1dX^`D_>(j_QvC! zu6j$7ws3*UoT-)m7^6b55#h&>kWxv|qif~&AxFtk05DA}y~R$C&`PgUCDGtSm2zvP zUq?!cc9sS&wja~vk!N=Dbu21o`zQft5^NRipFk5x_14NhVNaUf;rH#1;6NVTf6IPU zquFaes>*+7KdPoT;*q1#N`I#6&C*J7Nt^FRs$kcIi>esDHXLB8_%R?E_Nnq1-F+&B zzTTx$0POU*66F)@N7eQf_M__AQ2Ws_Y^cLz*gm+-{p4(|%+2Qy-Qm~Jwtz_W>;wBT zIea(q`yoyiUq`~m$4hn^@0*xr7 zW%|2v^rciIsD?O}bHlsUXLM$#N})6C0Y>1_N_hi7a(BkIGluZTtqhTG3q(upTvJeI zWR3!^?;$l_-@VA=pAosjdVP!adMaP%MaEjMueM%~#;hv346S$ajly5I?;`w7@(+rf zr?;fc>mBKD+~m-azp1Q9y3Fkx!Nbd1{F-_Po{Q^w zC<@mx`g`St|?z4igBj?x^P%+YH1@$EnYgrzI5~K-bfdS1**%NqE zws&st(UPy=bQ}tc^~!9EOjsgPWG>`c8hpk64+x~QDP%y=9uj>jrFKwX%N~%3FGFt` z;X9iok!{ET3^jmZhV;--Jv`I-&G}^qcizVKG!7#@2CORTgSPTd{FN?hVqd%w5W_4f zgsuj&1jYpEMt*&u!qte}O_yjDI2pmELj7XYY|$V&4h*~hYyZh(zlZLCq;MBDU%g8~BvGEWVn0AZ zaRgS;@F>>f-A4fw{@gvj^q_uuNs`pIgH?uCbi*yOvI)2cn5FXl75P&Au$$i}_X6cM zboc>eP@i|O8vmBia=w8DNK*J4s6l;uQi}dKzUb^|(NY%G${6z~w2Ce6kYZXXqf)V` zR(1zc@x{N-;)VOlTC~!fXf|~xexKpRl}XjX1;_?2`ansG8?@%X(e&@bW1kr8W@5PE zr*PLHpx+1pfXV^5TW!F>QiWR?zX$jwt!U}rivEgZWG#3h=e$n5b ze0s?*gil+HmLhccVq|jgXzP=dPiJ)^Y$Kzqq~&h(TPx-LC2bK;7fM>j${Pw=MK_hS z^pYp)(29nsQEH{HfNDxw(&UQ>0t-uJK5L~*&_?(n{3&VaBcH#9g4%-X@VBHT9dG=v zg&&fKaq{_LwsKBMORhY%pk8g!V2XI8L9O&AR`+{pZHnZml(Kh8dI|ECw0M~ogBUh6+ns)<{N#vuFuZVl8QDkdI5)8tSi?rl`<<&+xAH%oM@M1f+rj9Rs43CvBlIhZD zrtk%lEX8bgx- zSNIKfu6#WT7&~cwrEZ+NUA}bQJn!T3rSg||Cf6e8VA^BrA(3n=mg0rAzH4RWQcsoY zOW9mLd3ok@mRbISy!4$#o-%(sZidJk_9`;c{^}p1u72ReP_ItIsiU|8`JRV>)B(-b!l*P-t4Ze+Fi z$g@ZSLn*jmgOn3?C$0t;$=mmre&HWS^ORb7K*<8%H<`z~?=KnQNASg}@=hkp*8v1L zcgyzHYh`&XMqjtH&b;=bx{qvkN|piwOIE1>~W+;V5`B3tDi-CK*}cU>#n?LPW1zv~DuCPb1B8 z2W^e|UL?_}G_CATqyj63<2(9lx{Y#4=6GPeWy0tyH-#3mxv92PlOkwf2eD+Er>D6RTB{?be!R)%q4@I%_5HIU_#$4vfEc<7MmSU%)#>2+#5>B9JDT zQ$0%7Mg?LLMj{2%7fb6qKjE@-Fl)~x-iEF0i8N@LSc??Jl0+rDfFJ&XX{oMs zUPoK)R09%y41pixu*MpD-)N8E;nAA0gDtZ&sxOX!w+e*K>ph0@VITVM}O1X6>v5;tl%Z1NHvZS#7F3^Bh z)|=g+Y^IfVVN%-R(^2N<_7LnP$}et5)hJ49dadjYhbpvor%@Pu&TASf-v`kC97)8ZiJnr{vY6Zyo%~e zkb~icnjd{nGYTF2tmQ3iDPW9xhZ4HDxd`n8r&24!q~z;&eEm`ZhcXz4cq4B1=bh|w%eQyXiy-`ZH;78Te;=h^V%HagF*Iixk` zj{2OKsAd#G<9^U))e>ALe3|s5^)6;iDB1204s_FDNrEG0)uo4^lOpqgt%SYTA4-7a zsV<$VnxhOEZ!;1u0BG9j;~!&vG#Aoqi|8M)8@#U0-0s3Ngy`#&ZDU3l~ksrZ6 z1o!H(*vIy)qgQ+ankpE~>AVBNGnEOwa6z7MKxjT2t7mu$9z@!EF~=$I^8!xB-qon#$L$C&cmmnC=}f|&*!ND3!$Mlp<$t~=OOxOPmtU4 zlnCy<3NA0|lNOY3R$;Gy zIGdk|n^%yoGNCe8_5}*l05cJOfIr~~`C?v5$rhXBeW}3`ZUu#I_M%Q@h{4Qy)m(hY zM5|((AxPaoeZ0C6#Vx&cStJ!y#;tv*3|dveLd+gO5HTBwfSFLikfKg{vupO*v_mQp zvRFb@#^@zfJP28oP!aL)dD_||Zns=KK)t+Kp~wP@AqLtl2V`+Bszf#VmfKK)%h$s+ zsCF>&HUdtu)-?{g2@e~g_symG{b5g9_GdAp3dRYsm1H{#_I4#+e(KhYnqmn~47t09qcd4FOBhTMu z>>c}QK66rS)eHBz z3WoApRDHXX<5uuYH94;5Vx;5*?}k-I{zhQq$UPfyDxFskBG^c{Yyc7L3yg8MgL}pC zc3z2j^ffh)OqoZFg{LM`+gZfGR%lrlja!v0l=INhRb!n;9niM)=w z88x9o$3$nsE0rxv9CHrLZiCFZDkmYnz%Yiwv)hnwwUGxh75^5M^VpW25tT zX$z{YiB_$Z)7aC5`+@vjLmT@YGir@DILQ>%VUE2@=pNLbskNw%pl^Wh6$Sf)_==lY z&-nKRMr9fPjcRre&EL?E!w2)+sIA@U#>GAd?9d(>j7`SjxH_A7G`Q5bLMG!v;X9ab zAT6_4<|OXScwYc4$cyaS<9W-UevJXw_Id+#8^4iiwy>IDi9P#97w#(fdQqp*{_5G6 z5A#>|F9iJRtdZAQBi|hxd49DC2*>wH`j8OZx1n|0a~#}&-N+N<+d^05a^}P>a6kW_ z=nQPVz?Cig>;>+FFL!}k`>TIvfy;`{;qx&ulWN{gvI)P{3OD3yn3?C;E8JZ`Q^zYD zq79tn3WqB|?X7TZ=1X7Urs0^}vBEuxky$I;N|^^=bcIU{OxmERSSz7F;&y$TX{FZV zxYg(ju5krVf7RBw179a!NwCIU`<>_vYrV#uyQIA}?)?A68h2ZCeoXy*Yg|I?t3~cF zmtiVp+lw4&yrV^qF+@&kk$dlyEpm=&cgh#Jch@-1SBfrc=4vzhJ6Fw>- zplz;lvH9q|G{Jn7MLT{;p;-BOmbs6A@!wqL{Aj)HGI#yxHp|?O8PQ4DdYSu4;J?1i zZTtCuWSPsk#JSAzp67pHnPW3w`ZD+3pZ%AXxeu}uOsiA3%q?I0Ra@r%d3ig_+_&zI z&al?Y+!%Pmz_==91ySwVmDEEjVR~?dHDopIPSE z%$L5*mH*_+S>_T06VjsXx}*!`At$rLpXp)y^_k0GobM-s32xmBun3 zUVi_7T;>vDU+w0!q0VKFH2xJ^<{Z=RlrM7`aLOE2S^h_NbGWsioNza1&&N6ECzy|? zV3`~I!~fzp0IQ)vGdoDVD+Eq{PpD`nTPG4zm7Y(^Vby~(7QT+ z-K$+!-{$-^%|3sn54p&Xv}aa`YMAyYazG;|l5!Gi9n8GG(pvv4>mT^}afR=q3dB0u z_xH6;ew1kyzAK}Hpk$B}^^-kc9W~!RUyVB>wNFP!qc2X=WT&ZbTZ7{`6B;>3%|zFf zzTa_Y(16Rs%mE1O5i5&{7ON};uZ(Y$oe$`1hyJ#+) z#-YCGJJ(!TtWy1`8y8Ar_nqVGm@Mo&m6_4&WO7gX_d`i1N-fH%3*C}B`nv?aB-&X> zQw!Q#NdJnCffuwx3kPryQ~B7!&|LZso~Lt?irX!jq+6-lsuJ|_=&h1x*f@IAu$HSc zd}25P@5R=++sR`1PGXn~kXYz^>hEXlG>ZkGmXRboL}v#$G{tcya}mU*ipT?N8}Zo) zcYEIbNAAHBY&3ARSkJ?+{npW1I_p5FI4&ZaD}NW*ZH#ibK=1 zDi3*=fhsBnVAOpc&%|Ft(uSmi6+D^BWVaSsRBh?=mk-3Bw znZIGn$Ua&kDi!pDYFWI+&4$a_6hlr@4KX{AanR9%I`o$lLyJHDVk!B5)bXU^CZ*@2 z-WdCjag)PS5_6MR9{DeElOwpOC)OCPxXFWn&sUL~uwN(1O?qHx?X4F7Np3O+W`PO0 z$vfAz%T2b!Yj0w){M2w0LGS+&ZlXxyWVy+aMPFrZax;3@hMQb=Zads$?WDxqq}cyo z;wDcmOw3JuUr}ztew`#Y*#U#)uL3t2dUiY9=KE zHMq&2Vg8;_Hn|43t=rk@ob$aemzxNB|BrAJMG_~=O>V9DDsz)<<#F8P#_8}sgk4{8 zrJ9bNxZAHsNN49G-i5vaX@tK+>C(4+koqjKE!Lw(vwVo-%@5^Gs^d+iyh(AqnJsUu z+ksNg40%(B%^bEY@@A^Mk()l&o3ZjnT~|?gE|NF99i;~F&5FfrYp?GT6^A9O+IYi` z6^*L}wh6+?r zfk`Ia_0h{2a$jTvoZX57BIYCK;&#*tePeeq;N(-qb)5`5BxyOO#8oMY96w6RoF z;0e|7+SRT!|D_1GhC5XDjVO=He>y>S4X)m!uD;u+BV%{~>N>s!_fG*Bvk+lPgZj0+ z!-apf`h9YnE3dAkhSu>0Ov3%uW@odoPI+`U$IF$i@p5Hryj6V0qmJn5Xu1RlhmUc513_m7D>g>+ z*CVCc*r!rO^o3a$oX;#AAEEpaJ>VmjWC?Q{OPJI2*Euid>Bn#lI*jay+1`XZzkfv% zpfwj!{iGkw^nFJ^I>OgoKZ>iEKf||3x9$D#6TS~uu~4)58`f-YVa>R+p)D%GN4j?% zHs||L;G{v>lWyyN0{X%?-Re%5zm5~(rd|kO*O#>oU~PqU!HWH;hyQ{V2kaEoK%@kF zCgGPeL)_c<#sWkreM_Lkvc}^qXX`Qp`tx>+plwXechdk5Tq}51dcBpsHjb4X1{{lw z#v}Dzclvt=^m@At0GB!_k`e3w+x8dL|COi>G@j|}i@ziM7ZGk1th2jBcJQBRdUvzc z+n*<`Yh`OXxm@(C1NTZj6!ezJy=es8Q11V653|&|6r9Q{q5*`G@V~(J;bVW5f*r3q zU4IsR^QHPUfte32;^ML^a=Yo@U(!7Fn(^a(@acu$oBVy?jPAyq>0W=gDpE!GepqIf zG>@M=HP3$;6yR6pAhT9VLl!2l)=CF3dBqLWZ_-LLn9REDhUvH(j$~GK_#*t2G+#99 zff-t`cELJqiN!ul6)iVrs73gwe%a!Xt99mlnJSOTRDr4&S8Ez;LK$#+e>A1!Ef;R{BR=3qDpm7V3Lk3T%5c{O#<@~g z;f@V&G}pt?EWrRT050iHnk)Qw0Af%{Sb91)N4bXs0jLN@qy=?)(1d+wc-0>5;kDO!L2pvGsOE<`uyw7F;Hj zUx`oTAy{e1xHye|4mpJL@*I4^?S)RRT!0Sj1>s8KC;Bs~h{fPy_|A**gFB`}@YC59 zIU7I8uE-hq>Ew#^!B00=Bo#lYF8E%;H^fuK6g4Eq2V0`^45O(NBOStL8y?uBi_jyo zi8JO&=<(9~@IElbivH%1I`pHOR*|O)rEnOcNk{lflzp=>$yMup4;Ca^l zft1sqAe_(4!~X#Oug3qUt!Msj#eaV9=s(Nye@A)#FMqRPCkW!1HEAjGHCfsC2%h1J zz-xb9u$YgeV7Ry^;qj4#il}--E*~iw#G={KYvPS4uPyp1-eVD=Cq{ZqE}D#oWIWL2 zT+uK*xbbif9+0HB$Mccg-W!F&xT6Z@f%`}*L^Qs0k>+3lk3%MIB_ifwMuq(`Im;@Q9YzD#>1@TT4bjS$P4*EFOBr_ z__!)SFOPRXW(hA-&v3GGFLKb?<0AD2t{%(AFb9MNb~M?el_n!8HNnYa>5tU=B#%~> z&U~M$=DQ-_A5^jjl62OC(jMgc0LwwR0iVdvAacF>Bp|}^0yAVb7d~|Yx3Bq}Uq{LF zu|MN^ET0vxJ@EsSAHioOJLTn}d?ue&eVh8@JADRN^&JKD!!ACn`et;;_eQp_>f8MX z*!D<&RDG4hk-t9HKlfwEU(ILLzu))9^9DYv`Z}M9{A>8E>Ra}6JTK<6s&6RvO5tKY ztNwi*p#&qdtjf0i9S<|Dnx@TdX^GryRrBUL(BmYlj$b~FY*$$o)E6S#NUMTOJ`A=h zc;%fFEs+eXf)qr{h;+9q7Un2ioB0$aXyE*KKLvuy7pePfxYTbVIqBH3u!Tw)q^X zPb5O+!UbKWVM;*XZg&^^y5eNa9o(RU+cdzYQDE~4{_?)>bL1lkHAFlFi@A;FzhE)9 z(fp_U2tdTk1zVB}(-V2~+Z7Tn75F zLmmC#WWRMoi`mdt)*!kc&ma_Wh1SnPJ($J3GR{t6uj`8Znl*pp7CIkUhM_Z~*~KVd ziL^NZ4tQ2eBE=|QBZ*X_e61wXjPi9%c+-vY^-RE^VgNVJJTKBNX&icUs4s~jjXL6wN+jRVL{98hD(jc6KS zaKe_riq-6ZxOZeXPRff8l~VE1$OeR_cSbdEZZaXNE;`*ssO`Eq$wl->2DOIml!q)Tr};GaRz8to8J4f2bXe7N3zpBo zD=nAypRaG@>p}^HeBwcQ?J=4n$&7qK z;~;N?Jz1; z^IfUD^L0iXb|}9P^sTmnmAbZ|4(yTiRTw-@(Trf?JrbO;Fa)Rv1qqu+^Rc{RWuvzc z#4ljS;Pmkz2VQ|VC}b#@K_EAbCUgsE0Q7dRA=n|k4do#1>1-AD_ zWVB|n15gBfKz|g-CYTnfjG@aB9tZA%uLN>ScFJ7NJ7|j46K3N{5*>o>#yid!5W*n_ z`aw=R&@}%!3{&Q4lK<-B-=20qKKQN;=uF5yG3Hgthu!y3&`e~uSxLnfi=-7-am+4X zUm1Jk){>*E@Cd^<{mp+N>o)`!ktF!7|1_}lk9cKEJpg<_5AVbaj5Yx9Q0h4n^IKmB zsi!vTxBgd<{o6978cby%7>cA6)4Uj?h+G|2%8S>{{?i0;POqCw(Y!J&F(gUG_cP@;IMIrWB97^{lkH;6g6f@A3m1ijDn|L@_Nj)=THI1EAFv=XAT&o zq6COpCl*Ou+=g#1t@M46V)T6Hh<(13huBAOmcez^@Yd7Kawm8d^beO?6O-`v(_Qc$ z{yfTlx(hDC*CPR;AQ>_zW3_3eFjOQzGsRXC^xrk;J;=Rk)$Pb>0JLlS^J5?~YG z@cc|!#+w2c%2ky(D!@&J({x6~NyTZ5KTP0+SGj65tdR z0V(=?=5a^v;8620)Dp}#L(pt4Nio49X)ul8;{J$CE56&!aLPyON$MIL}RR<0A*7t*h zP4Ra%)aiR|1-Bl?LT)`wQ4eX)BrrUex=pDYjE5Kw9r!lZM-gWY**4Xd7gwOm!Sb6> z75_nKNVR@3tChgSUk<7e%YoC)B~I9idf-T`smmM{m8Y{_-K6hr0eRUT=2Cbd6Zq|F zxYompE~4trZcsV%97f+x#g==k9K?7TlNLO_X@Cg$Ty}5i z=2x?Od$>H7^Zl*}2Cp9=-&dj0(sHi5ZgQZUDsjA__qLSla`L^1LGqyz-7TyAzj-D9qxzybbx zjVXw>yr7EPx`l`ENdi0#r{}E(*KBS@ga*Jf$fF1~R7uGFV5(i2QSa~|sUOO~L^9`d zqD7aKsDnYWvhA2NS=BFED^I{s#1K+bf8Y!9Q|i0REJq%oc&4IC!Q4HRxTZ zYTz8k(?z;kJwU5>L15`qIuiLS1K`Ga%L2~@S-pR;Sy)Md)$}ePv@j-) zxr}Xj_g{JS#GLE2(sUe=&bjJJQh-)E4RdSGSyvAE*3e9?bRoXr;7Qw5Us|mh)p!cO zj6YZAnD+I>0|y3%Tj~3qto0`DL$jBlLT4e2GmML>>QXb;B*^vH~_`CD+iZVXzk7k=rim$ z0@nxvANcJzii8)VA}l|ug-ZLILa~pHpvzneg?W|~t|MFb_t6)w2i>^U!3EJ9ITPQ= z=KbktTwlb`Nx=%Te^90ixb%b}zO?|I9=P@e5t!a(Y&0I7qngp1!UJq@I~TxUITt|w zBcQIhmdcJ0-WamLq9t=Pvza@X&G4@=3fEG|a2R$lZf|zs+Jal*=G4Dt_B7Bb!y>1f z{xxRdT2d{ZAcg5^__cgv}aD*lgrn)4RsZU(3;e zGEvtyyDkOd3sDyUfZ3R0ZrO+u*sP@5^WmG28OeMG=LY$B7 zsLQIY$UiWX#h)~)U&-p(gDxoO_QKuZKIj#R4jJuh)@YgIIh4bIhIu#go9SJQA5ZvM zz*_a`JM2^bGU;|4t6cxD_Q4oF1LaNqwHXj-$1NU(aG`pGJCXq;0$d(3UHax76xqc; zd^Kf8YT_`F{v->)+}<4*9^9(%??@SNC>2UMsp9Y69^ZDUDt=OBe;HTSHz^^$79VR1 zn}arqDSVASWM{F-Au?7GM92r9)mT~9C1dk9_P9dXhxQ7t=F5o)Rt?|_>;iLev10{0 z4NZrirA%Sd_PN$ZNpZZ;P8RiUkjcdTjm$Pglmxm{{MptV`H0TB>FzRqe(Tl8A=zfX zQPiuzlU+NjyP3BE-k(d8n_60m3tx5lx>emlI-f`E^Ohp{0FGxz;<=!QzMaegLHf?c zW7X}<$lzccpAodL+_61jSHd?iJ-CpChTR520^A%jdsIB*29_18^BGbvX_Z^J*Ct}& z6T?4>V=8VyF`DJlzIXwO;8>ws)fwyv#U_rmmBChL4hem9g`dVBIeA9JL3X47#c|?= z9o6;x8R5G&DDRNYRAi3)m|lN?@fmie-wWtZaq>&dgn+)2Xyd+)Hni;Oi#Yy_Tw8T3 zibt-lI+H(R(9K{m+rhs~kq|k9wP)sY#W3c}NfTrl#C&WC^Z2&vP8RD_Ma^c(F3Ohn zaf)7;f<5Drdc8q&`Z5nfPa?1oi4{hnonQ}2jlxYBGN56U+=iAA&IZeqQF520Zw5Os zN@hse-o9!}EVcR%tj-2gwrZf`>`Z0PfM!2x;^B7<#!zgo2ur@fZ8=q8YG zfwH}-m_%|GNb9@qw~0=?y51l9CJt3jV)$v@)$pGf4-b#}3mmJ6V)9vx^ z@JwK&-W-oWz(WW?g>kYF$ag^Cnsy;j5V|W8g8(eBcLRC)RA&#y-SRlsKnMfT5#2VtG z5l12R7lcGR)et*6wiU#Zg|up#Kw3_Ssi46(dmGTfoD?Ck6q48}huE0V2^{d)5ThT1 zcpkHZ)D!+G8AH=5PUmjmDTVuIB||rgX)B)JL6m_}eFLd;jbo8Zwaq!rFtM1c%|!U} zmD;A#Wb-}HXu4jV%r{5&N8cfEIjj$(`~$JDc^I1xrj%+Nt2s6hT&gX1!sd0<*8xK^ zSF)MBgW18N0aWef9e^z_n9DSaQuc#VXdhrRm#9Wln9G<@r;`}>58E5JazAPhyb1#! zZsr`vuzS=rfkl=kFMSt-){g9VJjTW=+=9+XPinm5;9b3g@!sYbFGE};9`B^kY464G zoQRe5f7xaw1Cb&tNjx#aFOh?I_kkLAQ+b)~t((=E=1SDFT7Fr(?6*G+DuO1hGPgzl z?m@TyA-V1&>n#YfGk~P6?ekC;u$MEgc39C|@P%%{aDT771KHkvB$~Q@dAk{RTw65U z0wUQ$y-B1@O|70-1v7xv-Fs2?*oPvrcG|dDUFB32x1{e`@ zjbME8dIiQi4ib!x50B!50wX`ggOQx&k*A|z-2GW#+yZyv78vV$nG~5EUaC}nXYycao1Gx zQsR^a61m2yGDslK`36!`G1R}mAJiWb#if-{2g$t6L4b0s6DFz(Jpii2a~ii1%*V(m0e!+#qPv1d>QM4Mk*1vQjwXd|WY_I% z`O_ow^yW0J)Q_6xm z4Qwlwp#uWE9(mjF+VlNUTFW79NHXI>>OjMVS5!FKQS6T!ikO_ zbWUmlH|RpD)fM8^ zWzOex1fV>^y`b_)G3q;Urg9qoogTzF{e8@|6I*Uvt&{>v8QSWUXQXw?a{*hC+GYD9 zwNpW-R-DJ|Fac62&U&1io03CR8ieNmP1vAWDGG%bp)a@}ufuC$^3R3EIt{WDS-}{ED%in*KFvBXqy7P!h2bF>4|~@^?{bD#HUiDn zdS7*IVPRM;ja>`=Qw#NHLaQaM3>R5I@N57qYTQq)g9TOb6K_(JNc||3{(mK9TE_}d z46s^a0PU}T52*65bJuD+ybZVtgpDw_<%TGKwH-JbnlvaKzkkJV8VXs8U!PTlwRDU^ zV^I73b>@}b+_3AtGTjXb-h)Aeze#X-22BHjhgMyStu}BnUtJ;gciGT0oU6c+_wjwhofgVeqnUPTbi1}R zO_nc}ahp{UCs*AY;K&Sv7V!QZ%>WSZ;s@BZ8hy`hR8{&1*sZ%8u{VUZ$Gh99pB?(j z4p|kNRvl>ub)n}Q$ZT;i!}@p;Gz}nxZJSl$A-h5~iiv0+yTxShK0V|n#W)WkpvXB# z6gjw|nfWs(K}OEVK2~%O6poFv?hNR2?Qg2iPhLlzFk|7=7gdpMx17#J0j=T28iuO6 zwGl}GZ>&`XsdyvGSACmkIt)7EUbYn_>$NTV8!g6fs97?$P_q=f5*3C+N>}kQgoFJh z5(=s~FMEeADyXIg3hNaj*4X`4_<9|bXy zbTy1!_FGls`+qzECG6i_w6J>%pJ0%xzoW9G0z>Q+zJ%;Ts-5TULbzOoDMJM#mp^TD z-o9YjgCG?V9Rf^MQLtEbWE;~)*$n)RToNrrMxD422qs$SE)EhcFz^`*1e@z#Cp+At`(HZEVLB1D~5Yv1H#+LLuO zs}Yw*hvBXM!9eg0*rcshG_W?lh4j||Zht*Z1=nImqYJOv85G7p-Ye(7HtyK zfIbshA{XFgXWv=)+r@td89s3tfdyM49Ao z?Qe>{&b7uP*yVhL$-*k<(uxn}5&^QY51)+LQmtghLE?s0aq6+LtoOt^yc$^ZB-IG;R_ z{~|YxE?iKM%^+cwv(IyIZH1UySc}b;_0T}n5;+?siUt(0#H`Z-`X}-24nYY*Uci1u zQ5S+eBa$ir&n3Wpw^qrey$N79=wNU@mv~ZjP|ifigd()SQ{+w;8!?FiI8HRTvscdMJv!Q~39yw+)#$q0Ouo=!=+#4bR7;+dA&}$*H86`Y1;c(pQdjoaNNEw8_o(}hL?~P zQ-?rS{O(w>1*M2M5U&k!JHzJrmEGY`*oW(o(T-I+GN4}pdD0N)x&eK+q}8F-Qv`dt zI<)#-ccyu06`2;$YgR{DM(F-mu%7E5Io{kNZ*E6(M!7miJ0fXyj`jwYC!<`QqwRs@ zVU+V6O>N%Fs*7+th5U=Rtz%YNP6@{f9q7vZt{J%fa(K0li~bbIaNF zI0|gSiJ;yvNEgpBmUb-k{9df>Zx|5ibCa~q%dXZx#t7?Y!W=I-klV$mnOSo**=W?Z zHy)`aQhjOBkD?fM*Bq%Of%tmheN9Mn*U#M3|D}+^WZiE&LNX4R4wX@dn4rTlgoEtnH|qX>`%w?V@d-kd(D|W^(DQZ=rA6 zHT5%%8#+XOCtg)@Wz_70=9}dmMeAnO(!TNi&Dm81;cE$zVc=aJ-XBaO1H4k{jQ(yu$*K z|Hs?cfJaqa{b!R976{x8L`6l37OjZ3P_>$3YCsmSC4x#2tZ(aQYAd$3WC1N9gqsD{ z>s6{o(W>=r)vCpBJ|gmwq%nz>YEY`w(l+u^yUS9WB85OH`Tu@rX71kI1k|?AKhKlB z_s*P|Ip@roGiPSb%)}02SI=rJ!vat4(8*6jV?q2Xq5;(z?H4d5ag=qUKd z@$TP+gM0 zjhPeSGl8XxX0BIYq7{`<)0B@SKvuTg&=macg%}6U2nODZ0W=aUj%>5;T#ov|%wgJ+ z6AlH}w@z}Rgagc2IF9*)P;0mobYZerlwa~&8Q&N44&x!!IEe*7p}E)su$wQ*oLFSH z6W$H>V{4F89!LGg{{hPMoNH%6*Pl5~n=|RccVCM6y&I~8NXD~@(8Tg!Z^p{vP9zSc zzzzo$D-YtY*crpa;VFmC~E|rcyM5pkk+~Tr$H7MH+>FF%Mf#2cy zgKBZuDc@aO9*+!W$<;qL3&fQ){KK72`ChxZ)T2-Q$j85lDEM&b6>?eCctBCvuBa5P zX6~$h9#qt*#c`2#KwEEr5Kv{HZIoBz0<_i}mzABXS?aO%UWfk<(Qhwz>Qv7)u36oH;Q?``QHtA30#J(Us2Q!YCN6l74+a`=`nVHm zcMC5yja}~}zx@Kv5pBiZ$)`Az)LJ{98UfOR-Gt+zFSf?2b{eg8g|${xk2}pusr1|x zNFM(cT&H3!&^_obmQoG%0`pVAG=7-duM>L^mrcyamL(`Xt){|T$4(0__$k!hCTfc{Wh9L)TCUE=&7#Tw7Nd|6i#ApbuP^(i>XSs8lcv#2)oCB3P(yjWMi&d6HR=!?8YZ|}yW zhw_H$kOd=8sl|IyY7e3UGmx7nZu+9sI*d}=ZIoI^tjwsd2-MeTsINgVW)4HcRK#+p z8s)XSdY4hrP=cQ5k=E$#-Za`OmMU!4#6xP;witVX(W!tjx7)1&yCt`{YHRiT5J1x>w1Y7d zsTS2rJy%^Bs~FREeAQ;G!ICl1cD2T_InZb-5==XOl zrot;uciNG5=tq|Sf~2XJG#vPH7>ZH&SKxIhLs8mSvXnyI^loonaf`l`v8-AZY*{K3 z(ydEpN>_fA0Se5@lZSHy(VcP8ctbJcq~5U48lz&`rH*)-r|+?H?Uf1)%JK`#wT%iJ z@M=yX!g^UN<9-Yqt))Dr%*_W6MGHHmKncJa`5ez{R zj5r#Sn0t5~6M9mYq*9-ZVkSDIv-9vo{XI-z&H!Yfnm7jBI0~=&9vuzvYCLoPRJjTgmNMa$c*HLhKEkHp)Q~j78sM8V3cdh7+8Rh(b__=~WYV^iv^5yoG!nsS8W}t= zd7MGppW8o?wkCjpn4y$Z9uT2fSA@@W8mFbv7{7yAqdH%D5j!#|P>C0r1JuR?QX3cz z=ehZzjo+@QsKETnN3nMs5BH6=;l7=bE$RA%8@7*JOPnV-*^ps0lD~csfA}q-p|BKu zM@}JALC9Eg9*3uEn@VDin~|cPGeH}XL`Lhb{p3%zajT|{p9V;DU**Np>>sASmo2(5 zgk?pK%qc=zmWK!OU*Ku}Sw?oipX-o~2st}6=K*$TcEeE4dm{rH;jTT~OZZKb5GamB zLe8zQAR=iBa-{b{YPGc#hn%oeqd9)lG2CWQi4w%`;8G1Kn-WxKdG~G>56{L0U!>o` zwye3IXZFM&V*|{bpdsW^q=7Nnbiz>N_<-aHr-Q3~GfCJp3NFV7Zi2bMhNEUijd#IH zNR#JX@Kb#FybG4&({)j!-7)t*`~rbs7V^TA6_Uj%lM6@5c_}h%a_w`L>55U)$?IED z+tKw%O7PZbgMM?dU2?<2_;Bs>m?FA@@8#QKb*uQ|oX#Qce3Oi!!!>&;V zTtWY_!fH^DoiJz1PMFUlo$Q(8fQ_9g`dh<3CD&iC#{~RIsp#n@T5rOU^> zJn)u0ZiN79Y45Z<`l|Y>T!6XKj=r(zQ%rP_ODI{3Vs$I=g-Pcx+7jOF$ir^yT8F^} z7M}%JfD}N$mX9oDq`W;!08W&!6#DlX-l+QcD>!VeT`dh_HKkfHDmSqR16sA-neS{6 zkr0oII+I+n_BkZS+8QS%pozf4!c2Dk#3WE+`t>!avJo7lOO=6WENEHLl{ETXDTdA` zt3~pl4YVehgkq=>uEkN*F{M%D7&^m9Zc2`G)sKS$vE9|aDIbS#&>Vg&jl++79A-F> z;v>aj0j?vEEivFQKe9%xX3U8jB&H>3zlR;Arsh%S5c}d4Y3h9XY9oS}WeqwTSD}q# zZ>QColJFI%bE-oMzQ;t_#HE=q04+R`z&MmT3lC_TR}FJjZF~dE5C-a>;X6Cre4C{*2AMr&@MQM~& zvMb8o!1k4A)$$mj>a*1+cIfg`ePH|gyWU5jvP2Dt>Y(~mJlsKRnRbBs>>K%GvP8X( zfrdv+jTCVhDl^$AEa!lM_tc_){^?8q>K=#+z#1FZY!gcW54u|A)aDSvaqOX4`z_$- zP3T$F+VT*5T5H|yq|b$h?#AIeW)*p`#BGqc4UDtaZh$jMck(H?uyw>J zXx-P)Cl8@9S-NhGG9A##!htf7s*K%-1H5Hq2fY>6ntffq+0S?qL{^gC3DQ#g8F3FZ z+EQx&AZDZVXx@zEW&fZ%@gpn*T1#a^kqqffH28K5*dG%NQ9!GVz0th7TWcs^c&Tm` zjibW$>M;8ide&ww7*Kts{R%}OYu=?4)TJV*4V9l`3sgSYK4~=~ck!t>6$+=`16~@K zh;oKBZIS}D)uIOzFJmVo`?Cb%aE!rE|;yJOZvewJ(1i zJ(J7S01Gop(bR8& z&btrn(-cl@!7fj>0TNb-GdLqKC+3kgu-oFtVx|APDu?)YaWZf6f1r%f6;r%?UGZ;l z5@K?^MAb4-NE>jRj7fgVDYQ(|2B|Sec9MoPyHR9muzI+zVclZp(lM^n*dmoN}k~s z4)PX5vC1^|!X|9*oPd+Xj<148a55NcaZ3ZZm1%5QXZ1U-{fDIi9Dx)xNMdGoMEu>C zDHwFA9ZDP5#W9N*R#5d_xxJP%9;W!Wl}{ zeb>=3GFepe-YoS6#v})?%Yv3K`4jx}WkJ`P+8%2+J8$)|FJA*L?6UkeIL{44!&^NZ zjtNyEtNPgb3xH;#89jhg{sM_jtU>_5?1n)=ZJ4}qkpP~K2orMTjf8~cjl{saN_*J- zZHcBybtCatVP1qga9owO)*9<<+ZxDPFm+!Q#$=K;&x`cJ-j4k&CUhSE86n*_hQR zZi<`>Z)RVDl}O;)n|&b+0*6#h#BZKuw;>X5=!Q>*$l@)ha%Kg58Y^+Q z)S)}lq+~gZstVy4HS2DA#w7j^KS+VTw;$wu-T=H8MA{OA&=T-kic2ccyzq87@^a!0 zKq$6hf)U7G9>m!hCr~Ik@PJplp;vK*gM5VEWCDnPIYdqbIjZO|6bfxd6M<~TQEuV(HvemB6jeh#W2)Yj#8vgJ_AbG!82=6 z!)91u-PKLAoefO<*j>BIQT(9{J^@9FO^ninCh7Pe1N%fNE&DLM*X9q(wW5CoM`BIZ z+R|+B7_333`vHUCoi~`wu;W_%Z`XNiy*yE8AA#Ua1P3SPT5D$vj=cvO_rts42)q;# z0gdUr6w2dGILRHEr#$0u037o6p$>d<*{!VLneTrUOTv)B6PYu}I6;%a_05nXBSlSv zsYk`%`4~2mSvYbIjv}4b+PNrt^59sP^?VC!4eK71>C3V05J#-wCaH7+B$MQnSQlZf z=R1od+anlOaCJ4GvnVo9Yc@qHCYm4v`#D>h_f#}fI%_c+LWxH3K-WO zVFFcaAIR*ha3ao52qjJn5Gldf^RV3#a-E9_T-Kiau8Ui;AWZH=c4+Xa;NaA3WjKV9 z7WQNPM0OYEhSW;oxu6`E#pzBB(n(li&cFsc-3Hu5GMk~fXqH;fD@ zCXK}~)roWju&oCaNbP~#Zy6v(?#?FwBsGk26R*@n1Sm)&qO>)o`})}gVg^{VAO zldgJx{W1gwuJIkN?V5}fCeR?2X1Y?m@gv6 zwg2P`ISC=L!#rjaEGmkH>)m^2aFVusmFs*=xUvSPyxz@~v-q8|RUCS1OSzC}L(bPs zEMiIAkDD@cU&F+OtaS(M?qFoSYn!QGZTUWdc*S1b(a>d2dV^Ou-He@87hsivckA?i z9(3g>*Es_av9dNv07y8)^|}cQ-tXbfdWd@H=Q2bcBBKBqrMmV%H9Hcw(G60S{_0TX zjRU-nbY%~&nb6+PLvR~|YY#+Ep7;ou>kM8FGJ_*t`BQo7Ct`gn#vrtmvX>`(FHX+I8GHtxbfd}kq zL?`+cgVM9>eg;vf3JtODszFYeBs+qNqIPeas$-6UQ=O7xl^Yi_wq+19@@uSutI|)SNog4u`;x1UZ`+T(kVA!1l@aohK#V?;NGl@ zQ6RLU*QvZ@N)WY>xBw-%_GS|(`XKQ+2|O#k)&Kl|u|yLAN0QT^Y(_>xJR)2=*7gNy zM6G<@5CvC3tOklXrhL_L6z!1uQs$9gKaP(+_2cpI9ZIx(xj7)`!g%SE7^Jr15P3&7 zT-yz~I4}_$4qbBT#Ho1ZKl}T2oFEKN!9{bfeHBiZB5zqQ3(#+1!ETA1sN7)Ha=rn+ zqQ&>~Kw&Fdk53xAOP^fNq%-Fd9nRe{2KSaR|)~s7Vae>Qj z^IRI(p*)L;TKefvg`+YS;Uza zIJ)+SBXp}$UF$QLtW1vTHGe;_s=_J&6UB;KaCazBT)K4*g)65LN#r7 z7g$Tr#+a-gZ2+5qaM92qoXKs~9?x+aroPPyz=e)EFi;K+;M6LMI0LC%yIU8*4!`R~ z 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 z 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�bnOrSvF}TL2$6}U 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%0D7`Aqm4;nJgD^IWlQ4*QGSxJPM1 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≧{2AG0j^nQ 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 I_ZWQt3;e7P*#H0l literal 0 HcmV?d00001 diff --git a/extlibs/libs-xcode/sndfile.framework/Versions/Current b/extlibs/libs-xcode/sndfile.framework/Versions/Current new file mode 120000 index 000000000..8c7e5a667 --- /dev/null +++ b/extlibs/libs-xcode/sndfile.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/extlibs/libs-xcode/sndfile.framework/sndfile b/extlibs/libs-xcode/sndfile.framework/sndfile new file mode 120000 index 000000000..1e01cac9a --- /dev/null +++ b/extlibs/libs-xcode/sndfile.framework/sndfile @@ -0,0 +1 @@ +Versions/Current/sndfile \ No newline at end of file From 3a09a275f72089be4ceea928a5d809e0cf164f87 Mon Sep 17 00:00:00 2001 From: ceylo Date: Sat, 14 Mar 2009 13:58:13 +0000 Subject: [PATCH 14/27] Removed WindowController. Added GLKit. No more statically linking against libsndfile, using dynamic linking with sndfile.framework. Added Initializer.cpp. Reordered build style list (avoids building single architecture binary as first choice). git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1051 4e206d99-4929-0410-ac5d-dfc041789085 --- build/xcode/SFML.xcodeproj/project.pbxproj | 153 ++++++++++++++------- 1 file changed, 104 insertions(+), 49 deletions(-) diff --git a/build/xcode/SFML.xcodeproj/project.pbxproj b/build/xcode/SFML.xcodeproj/project.pbxproj index f3936f26f..95fcf3f3e 100644 --- a/build/xcode/SFML.xcodeproj/project.pbxproj +++ b/build/xcode/SFML.xcodeproj/project.pbxproj @@ -54,13 +54,11 @@ A04C59B20EDDBA9C00935061 /* Joystick.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A04C59A80EDDBA9C00935061 /* Joystick.hpp */; }; A04C59B30EDDBA9C00935061 /* VideoModeSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A04C59A90EDDBA9C00935061 /* VideoModeSupport.cpp */; }; A04C59B40EDDBA9C00935061 /* VideoModeSupport.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A04C59AA0EDDBA9C00935061 /* VideoModeSupport.hpp */; }; - A04C59B50EDDBA9C00935061 /* WindowController.h in Headers */ = {isa = PBXBuildFile; fileRef = A04C59AB0EDDBA9C00935061 /* WindowController.h */; }; - A04C59B60EDDBA9C00935061 /* WindowController.mm in Sources */ = {isa = PBXBuildFile; fileRef = A04C59AC0EDDBA9C00935061 /* WindowController.mm */; }; A04C59B70EDDBA9C00935061 /* WindowImplCocoa.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A04C59AD0EDDBA9C00935061 /* WindowImplCocoa.hpp */; }; A04C59B80EDDBA9C00935061 /* WindowImplCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = A04C59AE0EDDBA9C00935061 /* WindowImplCocoa.mm */; }; - A05EEF700E5CF18F00572B7E /* sfml-window.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A0C93EB40D9A9CA000B9E0C8 /* sfml-window.framework */; }; + A05EEF700E5CF18F00572B7E /* sfml-window-d.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A0C93EB40D9A9CA000B9E0C8 /* sfml-window-d.framework */; }; A093E3D00D8BF918002236B4 /* dummy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A093E3CF0D8BF918002236B4 /* dummy.cpp */; }; - A093E5480D8BFEAE002236B4 /* sfml-system.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A093E37F0D8BF87A002236B4 /* sfml-system.framework */; }; + A093E5480D8BFEAE002236B4 /* sfml-system-d.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A093E37F0D8BF87A002236B4 /* sfml-system-d.framework */; }; A09EEBF70D8C19BF00F6C625 /* Platform.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A09EEBED0D8C19BF00F6C625 /* Platform.hpp */; }; A09EEBF80D8C19BF00F6C625 /* Randomizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A09EEBEE0D8C19BF00F6C625 /* Randomizer.cpp */; }; A09EEBF90D8C19BF00F6C625 /* Mutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A09EEBF00D8C19BF00F6C625 /* Mutex.cpp */; }; @@ -70,8 +68,13 @@ A09EEBFD0D8C19BF00F6C625 /* Clock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A09EEBF40D8C19BF00F6C625 /* Clock.cpp */; }; A09EEBFE0D8C19BF00F6C625 /* Lock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A09EEBF50D8C19BF00F6C625 /* Lock.cpp */; }; A09EEBFF0D8C19BF00F6C625 /* Sleep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A09EEBF60D8C19BF00F6C625 /* Sleep.cpp */; }; - A0BE1A200D917332007D4CAD /* sfml-system.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A093E37F0D8BF87A002236B4 /* sfml-system.framework */; }; - A0C93F930D9AA9FA00B9E0C8 /* sfml-system.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A093E37F0D8BF87A002236B4 /* sfml-system.framework */; }; + A0B617730F66936F005E0970 /* sndfile.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A0B617720F66936F005E0970 /* sndfile.framework */; }; + A0B617780F66938D005E0970 /* sndfile.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = A0B617720F66936F005E0970 /* sndfile.framework */; }; + A0BE1A200D917332007D4CAD /* sfml-system-d.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A093E37F0D8BF87A002236B4 /* sfml-system-d.framework */; }; + A0C93F930D9AA9FA00B9E0C8 /* sfml-system-d.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A093E37F0D8BF87A002236B4 /* sfml-system-d.framework */; }; + A0CE9FE70F46F72500FD00CE /* GLKit.h in Headers */ = {isa = PBXBuildFile; fileRef = A0CE9FE50F46F72500FD00CE /* GLKit.h */; }; + A0CE9FE80F46F72500FD00CE /* GLKit.mm in Sources */ = {isa = PBXBuildFile; fileRef = A0CE9FE60F46F72500FD00CE /* GLKit.mm */; }; + A0EEDE990F59D49C0023A7F7 /* Initializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A0EEDE980F59D49C0023A7F7 /* Initializer.cpp */; }; A0F1E68A0E75440800778F12 /* IPAddress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A0F1E6800E75440800778F12 /* IPAddress.cpp */; }; A0F1E68C0E75440800778F12 /* Packet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A0F1E6820E75440800778F12 /* Packet.cpp */; }; A0F1E68D0E75440800778F12 /* SelectorBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A0F1E6830E75440800778F12 /* SelectorBase.cpp */; }; @@ -306,6 +309,19 @@ }; /* End PBXContainerItemProxy section */ +/* Begin PBXCopyFilesBuildPhase section */ + A0B617500F66926C005E0970 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + A0B617780F66938D005E0970 /* sndfile.framework in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ A018A2790EA21866005FFAC3 /* Http.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Http.cpp; path = ../../src/SFML/Network/Http.cpp; sourceTree = SOURCE_ROOT; }; A018A27A0EA21866005FFAC3 /* Ftp.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Ftp.cpp; path = ../../src/SFML/Network/Ftp.cpp; sourceTree = SOURCE_ROOT; }; @@ -406,20 +422,18 @@ A04C59A80EDDBA9C00935061 /* Joystick.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; name = Joystick.hpp; path = ../../src/SFML/Window/Cocoa/Joystick.hpp; sourceTree = SOURCE_ROOT; }; A04C59A90EDDBA9C00935061 /* VideoModeSupport.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = VideoModeSupport.cpp; path = ../../src/SFML/Window/Cocoa/VideoModeSupport.cpp; sourceTree = SOURCE_ROOT; }; A04C59AA0EDDBA9C00935061 /* VideoModeSupport.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; name = VideoModeSupport.hpp; path = ../../src/SFML/Window/Cocoa/VideoModeSupport.hpp; sourceTree = SOURCE_ROOT; }; - A04C59AB0EDDBA9C00935061 /* WindowController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = WindowController.h; path = ../../src/SFML/Window/Cocoa/WindowController.h; sourceTree = SOURCE_ROOT; }; - A04C59AC0EDDBA9C00935061 /* WindowController.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; name = WindowController.mm; path = ../../src/SFML/Window/Cocoa/WindowController.mm; sourceTree = SOURCE_ROOT; }; A04C59AD0EDDBA9C00935061 /* WindowImplCocoa.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; name = WindowImplCocoa.hpp; path = ../../src/SFML/Window/Cocoa/WindowImplCocoa.hpp; sourceTree = SOURCE_ROOT; }; A04C59AE0EDDBA9C00935061 /* WindowImplCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; name = WindowImplCocoa.mm; path = ../../src/SFML/Window/Cocoa/WindowImplCocoa.mm; sourceTree = SOURCE_ROOT; }; A093E3750D8BF86E002236B4 /* SFML.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SFML.framework; sourceTree = BUILT_PRODUCTS_DIR; }; A093E3770D8BF86E002236B4 /* SFML-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "SFML-Info.plist"; sourceTree = SOURCE_ROOT; }; - A093E37F0D8BF87A002236B4 /* sfml-system.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = "sfml-system.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + A093E37F0D8BF87A002236B4 /* sfml-system-d.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = "sfml-system-d.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; A093E3800D8BF87A002236B4 /* sfml-system-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "sfml-system-Info.plist"; sourceTree = SOURCE_ROOT; }; - A093E3880D8BF885002236B4 /* sfml-network.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = "sfml-network.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + A093E3880D8BF885002236B4 /* sfml-network-d.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = "sfml-network-d.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; A093E3890D8BF885002236B4 /* sfml-network-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "sfml-network-Info.plist"; sourceTree = SOURCE_ROOT; }; A093E3920D8BF892002236B4 /* sfml-window-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "sfml-window-Info.plist"; sourceTree = SOURCE_ROOT; }; - A093E39A0D8BF89B002236B4 /* sfml-audio.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = "sfml-audio.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + A093E39A0D8BF89B002236B4 /* sfml-audio-d.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = "sfml-audio-d.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; A093E39B0D8BF89B002236B4 /* sfml-audio-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "sfml-audio-Info.plist"; sourceTree = SOURCE_ROOT; }; - A093E3A30D8BF8A2002236B4 /* sfml-graphics.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = "sfml-graphics.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + A093E3A30D8BF8A2002236B4 /* sfml-graphics-d.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = "sfml-graphics-d.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; A093E3A40D8BF8A2002236B4 /* sfml-graphics-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "sfml-graphics-Info.plist"; sourceTree = SOURCE_ROOT; }; A093E3CF0D8BF918002236B4 /* dummy.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = dummy.cpp; sourceTree = SOURCE_ROOT; }; A09EEBED0D8C19BF00F6C625 /* Platform.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; name = Platform.hpp; path = ../../src/SFML/System/Platform.hpp; sourceTree = SOURCE_ROOT; }; @@ -431,7 +445,11 @@ A09EEBF40D8C19BF00F6C625 /* Clock.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Clock.cpp; path = ../../src/SFML/System/Clock.cpp; sourceTree = SOURCE_ROOT; }; A09EEBF50D8C19BF00F6C625 /* Lock.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Lock.cpp; path = ../../src/SFML/System/Lock.cpp; sourceTree = SOURCE_ROOT; }; A09EEBF60D8C19BF00F6C625 /* Sleep.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Sleep.cpp; path = ../../src/SFML/System/Sleep.cpp; sourceTree = SOURCE_ROOT; }; - A0C93EB40D9A9CA000B9E0C8 /* sfml-window.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = "sfml-window.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + A0B617720F66936F005E0970 /* sndfile.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = sndfile.framework; path = "../../extlibs/libs-xcode/sndfile.framework"; sourceTree = SOURCE_ROOT; }; + A0C93EB40D9A9CA000B9E0C8 /* sfml-window-d.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = "sfml-window-d.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + A0CE9FE50F46F72500FD00CE /* GLKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLKit.h; sourceTree = ""; }; + A0CE9FE60F46F72500FD00CE /* GLKit.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = GLKit.mm; sourceTree = ""; }; + A0EEDE980F59D49C0023A7F7 /* Initializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Initializer.cpp; path = ../../src/SFML/System/Initializer.cpp; sourceTree = SOURCE_ROOT; }; A0F1E6800E75440800778F12 /* IPAddress.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = IPAddress.cpp; path = ../../src/SFML/Network/IPAddress.cpp; sourceTree = SOURCE_ROOT; }; A0F1E6820E75440800778F12 /* Packet.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Packet.cpp; path = ../../src/SFML/Network/Packet.cpp; sourceTree = SOURCE_ROOT; }; A0F1E6830E75440800778F12 /* SelectorBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = SelectorBase.cpp; path = ../../src/SFML/Network/SelectorBase.cpp; sourceTree = SOURCE_ROOT; }; @@ -600,7 +618,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A093E5480D8BFEAE002236B4 /* sfml-system.framework in Frameworks */, + A093E5480D8BFEAE002236B4 /* sfml-system-d.framework in Frameworks */, + A0B617730F66936F005E0970 /* sndfile.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -608,8 +627,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A0BE1A200D917332007D4CAD /* sfml-system.framework in Frameworks */, - A05EEF700E5CF18F00572B7E /* sfml-window.framework in Frameworks */, + A0BE1A200D917332007D4CAD /* sfml-system-d.framework in Frameworks */, + A05EEF700E5CF18F00572B7E /* sfml-window-d.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -617,7 +636,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A0C93F930D9AA9FA00B9E0C8 /* sfml-system.framework in Frameworks */, + A0C93F930D9AA9FA00B9E0C8 /* sfml-system-d.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -820,10 +839,10 @@ A04C59A70EDDBA9C00935061 /* Joystick.cpp */, A04C59AA0EDDBA9C00935061 /* VideoModeSupport.hpp */, A04C59A90EDDBA9C00935061 /* VideoModeSupport.cpp */, - A04C59AB0EDDBA9C00935061 /* WindowController.h */, - A04C59AC0EDDBA9C00935061 /* WindowController.mm */, A04C59AD0EDDBA9C00935061 /* WindowImplCocoa.hpp */, A04C59AE0EDDBA9C00935061 /* WindowImplCocoa.mm */, + A0CE9FE50F46F72500FD00CE /* GLKit.h */, + A0CE9FE60F46F72500FD00CE /* GLKit.mm */, ); name = Cocoa; path = ../../src/SFML/Window/Cocoa; @@ -846,11 +865,11 @@ isa = PBXGroup; children = ( A093E3750D8BF86E002236B4 /* SFML.framework */, - A093E37F0D8BF87A002236B4 /* sfml-system.framework */, - A093E3880D8BF885002236B4 /* sfml-network.framework */, - A093E39A0D8BF89B002236B4 /* sfml-audio.framework */, - A093E3A30D8BF8A2002236B4 /* sfml-graphics.framework */, - A0C93EB40D9A9CA000B9E0C8 /* sfml-window.framework */, + A093E37F0D8BF87A002236B4 /* sfml-system-d.framework */, + A093E3880D8BF885002236B4 /* sfml-network-d.framework */, + A093E39A0D8BF89B002236B4 /* sfml-audio-d.framework */, + A093E3A30D8BF8A2002236B4 /* sfml-graphics-d.framework */, + A0C93EB40D9A9CA000B9E0C8 /* sfml-window-d.framework */, ); name = Products; sourceTree = ""; @@ -895,6 +914,7 @@ A093E3B90D8BF8C2002236B4 /* sfml-audio */ = { isa = PBXGroup; children = ( + A0B617720F66936F005E0970 /* sndfile.framework */, A01A3AD70E75181300D0BA9B /* Sources */, A093E39B0D8BF89B002236B4 /* sfml-audio-Info.plist */, ); @@ -920,6 +940,7 @@ A09EEBF40D8C19BF00F6C625 /* Clock.cpp */, A09EEBF50D8C19BF00F6C625 /* Lock.cpp */, A09EEBF60D8C19BF00F6C625 /* Sleep.cpp */, + A0EEDE980F59D49C0023A7F7 /* Initializer.cpp */, ); name = Sources; sourceTree = SOURCE_ROOT; @@ -1247,8 +1268,8 @@ A04C59AF0EDDBA9C00935061 /* AppController.h in Headers */, A04C59B20EDDBA9C00935061 /* Joystick.hpp in Headers */, A04C59B40EDDBA9C00935061 /* VideoModeSupport.hpp in Headers */, - A04C59B50EDDBA9C00935061 /* WindowController.h in Headers */, A04C59B70EDDBA9C00935061 /* WindowImplCocoa.hpp in Headers */, + A0CE9FE70F46F72500FD00CE /* GLKit.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1290,7 +1311,7 @@ ); name = "sfml-system"; productName = "sfml-system"; - productReference = A093E37F0D8BF87A002236B4 /* sfml-system.framework */; + productReference = A093E37F0D8BF87A002236B4 /* sfml-system-d.framework */; productType = "com.apple.product-type.framework"; }; A093E3870D8BF885002236B4 /* sfml-network */ = { @@ -1309,7 +1330,7 @@ ); name = "sfml-network"; productName = "sfml-network"; - productReference = A093E3880D8BF885002236B4 /* sfml-network.framework */; + productReference = A093E3880D8BF885002236B4 /* sfml-network-d.framework */; productType = "com.apple.product-type.framework"; }; A093E3990D8BF89B002236B4 /* sfml-audio */ = { @@ -1320,6 +1341,7 @@ A093E3960D8BF89B002236B4 /* Resources */, A093E3970D8BF89B002236B4 /* Sources */, A093E3980D8BF89B002236B4 /* Frameworks */, + A0B617500F66926C005E0970 /* CopyFiles */, ); buildRules = ( ); @@ -1328,7 +1350,7 @@ ); name = "sfml-audio"; productName = "sfml-audio"; - productReference = A093E39A0D8BF89B002236B4 /* sfml-audio.framework */; + productReference = A093E39A0D8BF89B002236B4 /* sfml-audio-d.framework */; productType = "com.apple.product-type.framework"; }; A093E3A20D8BF8A2002236B4 /* sfml-graphics */ = { @@ -1348,7 +1370,7 @@ ); name = "sfml-graphics"; productName = "sfml-graphics"; - productReference = A093E3A30D8BF8A2002236B4 /* sfml-graphics.framework */; + productReference = A093E3A30D8BF8A2002236B4 /* sfml-graphics-d.framework */; productType = "com.apple.product-type.framework"; }; A0C93EB30D9A9CA000B9E0C8 /* sfml-window */ = { @@ -1367,7 +1389,7 @@ ); name = "sfml-window"; productName = "sfml-window"; - productReference = A0C93EB40D9A9CA000B9E0C8 /* sfml-window.framework */; + productReference = A0C93EB40D9A9CA000B9E0C8 /* sfml-window-d.framework */; productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ @@ -1476,6 +1498,7 @@ A09EEBFE0D8C19BF00F6C625 /* Lock.cpp in Sources */, A09EEBFF0D8C19BF00F6C625 /* Sleep.cpp in Sources */, A01C69C90E3E63CE00ED3F04 /* Unicode.cpp in Sources */, + A0EEDE990F59D49C0023A7F7 /* Initializer.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1625,8 +1648,8 @@ A04C59B00EDDBA9C00935061 /* AppController.mm in Sources */, A04C59B10EDDBA9C00935061 /* Joystick.cpp in Sources */, A04C59B30EDDBA9C00935061 /* VideoModeSupport.cpp in Sources */, - A04C59B60EDDBA9C00935061 /* WindowController.mm in Sources */, A04C59B80EDDBA9C00935061 /* WindowImplCocoa.mm in Sources */, + A0CE9FE80F46F72500FD00CE /* GLKit.mm in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1715,7 +1738,7 @@ SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = static; STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = ../../lib/xcode; + SYMROOT = ../../lib; }; name = Debug; }; @@ -1742,7 +1765,7 @@ ); SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = static; - SYMROOT = ../../lib/xcode; + SYMROOT = ../../lib; }; name = Release; }; @@ -1800,6 +1823,7 @@ OTHER_REZFLAGS = ""; PRODUCT_NAME = SFML; SECTORDER_FLAGS = ""; + SYMROOT = ../../lib; WARNING_CFLAGS = ( "-Wmost", "-Wno-four-char-constants", @@ -1828,6 +1852,7 @@ OTHER_REZFLAGS = ""; PRODUCT_NAME = SFML; SECTORDER_FLAGS = ""; + SYMROOT = ../../lib; WARNING_CFLAGS = ( "-Wmost", "-Wno-four-char-constants", @@ -1842,6 +1867,11 @@ COPY_PHASE_STRIP = NO; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../extlibs/libs-xcode\""; FRAMEWORK_VERSION = A; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; @@ -1854,7 +1884,6 @@ INSTALL_PATH = "@executable_path/../Frameworks"; OTHER_CFLAGS = ""; OTHER_LDFLAGS = ( - "$(SRCROOT)/../../extlibs/libs-xcode/libsndfile.a", "-framework", OpenAL, ); @@ -1875,6 +1904,11 @@ COPY_PHASE_STRIP = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../extlibs/libs-xcode\""; FRAMEWORK_VERSION = A; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; @@ -1886,7 +1920,6 @@ INFOPLIST_FILE = "sfml-audio-Info.plist"; INSTALL_PATH = "@executable_path/../Frameworks"; OTHER_LDFLAGS = ( - "$(SRCROOT)/../../extlibs/libs-xcode/libsndfile.a", "-framework", OpenAL, ); @@ -2041,7 +2074,10 @@ INFOPLIST_FILE = "sfml-system-Info.plist"; INSTALL_PATH = "@executable_path/../Frameworks"; OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; + OTHER_LDFLAGS = ( + "-framework", + CoreFoundation, + ); OTHER_REZFLAGS = ""; PRODUCT_NAME = "sfml-system-d"; SECTORDER_FLAGS = ""; @@ -2069,7 +2105,10 @@ INFOPLIST_FILE = "sfml-system-Info.plist"; INSTALL_PATH = "@executable_path/../Frameworks"; OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; + OTHER_LDFLAGS = ( + "-framework", + CoreFoundation, + ); OTHER_REZFLAGS = ""; PRODUCT_NAME = "sfml-system"; SECTORDER_FLAGS = ""; @@ -2157,21 +2196,29 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(NATIVE_ARCH)"; + CONFIGURATION_BUILD_DIR = ../../lib; COPY_PHASE_STRIP = NO; + GCC_DEBUGGING_SYMBOLS = full; GCC_OPTIMIZATION_LEVEL = 0; GCC_VERSION = ""; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_MISSING_NEWLINE = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = YES; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; GCC_WARN_MISSING_PARENTHESES = YES; GCC_WARN_SHADOW = YES; GCC_WARN_SIGN_COMPARE = YES; GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - OTHER_CFLAGS = ""; + OTHER_CFLAGS = "-g3"; SDKROOT = ""; STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = build; + SYMROOT = ../../lib; }; name = Development; }; @@ -2226,6 +2273,11 @@ COPY_PHASE_STRIP = NO; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../extlibs/libs-xcode\""; FRAMEWORK_VERSION = A; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; @@ -2238,7 +2290,6 @@ INSTALL_PATH = "@executable_path/../Frameworks"; OTHER_CFLAGS = ""; OTHER_LDFLAGS = ( - "$(SRCROOT)/../../extlibs/libs-xcode/libsndfile.a", "-framework", OpenAL, ); @@ -2324,6 +2375,7 @@ FRAMEWORK_VERSION = A; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; + GCC_VERSION = 4.2; HEADER_SEARCH_PATHS = ( "${SRCROOT}/../../src", "${SRCROOT}/../../include", @@ -2331,7 +2383,10 @@ INFOPLIST_FILE = "sfml-system-Info.plist"; INSTALL_PATH = "@executable_path/../Frameworks"; OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ""; + OTHER_LDFLAGS = ( + "-framework", + CoreFoundation, + ); OTHER_REZFLAGS = ""; PRODUCT_NAME = "sfml-system-d"; SECTORDER_FLAGS = ""; @@ -2385,9 +2440,9 @@ A02679DD0E5CDB03008D4C81 /* Build configuration list for PBXProject "SFML" */ = { isa = XCConfigurationList; buildConfigurations = ( - A0C9DDC80E8BE5D10084CFD8 /* Development */, A02679C20E5CDB03008D4C81 /* Debug */, A02679C30E5CDB03008D4C81 /* Release */, + A0C9DDC80E8BE5D10084CFD8 /* Development */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; @@ -2395,9 +2450,9 @@ A02679DE0E5CDB03008D4C81 /* Build configuration list for PBXNativeTarget "SFML" */ = { isa = XCConfigurationList; buildConfigurations = ( - A0C9DDCA0E8BE5D10084CFD8 /* Development */, A02679C80E5CDB03008D4C81 /* Debug */, A02679C90E5CDB03008D4C81 /* Release */, + A0C9DDCA0E8BE5D10084CFD8 /* Development */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; @@ -2405,9 +2460,9 @@ A02679DF0E5CDB03008D4C81 /* Build configuration list for PBXNativeTarget "sfml-system" */ = { isa = XCConfigurationList; buildConfigurations = ( - A0C9DDCE0E8BE5D10084CFD8 /* Development */, A02679D40E5CDB03008D4C81 /* Debug */, A02679D50E5CDB03008D4C81 /* Release */, + A0C9DDCE0E8BE5D10084CFD8 /* Development */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; @@ -2415,9 +2470,9 @@ A02679E00E5CDB03008D4C81 /* Build configuration list for PBXNativeTarget "sfml-network" */ = { isa = XCConfigurationList; buildConfigurations = ( - A0C9DDCD0E8BE5D10084CFD8 /* Development */, A02679D10E5CDB03008D4C81 /* Debug */, A02679D20E5CDB03008D4C81 /* Release */, + A0C9DDCD0E8BE5D10084CFD8 /* Development */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; @@ -2425,9 +2480,9 @@ A02679E10E5CDB03008D4C81 /* Build configuration list for PBXNativeTarget "sfml-audio" */ = { isa = XCConfigurationList; buildConfigurations = ( - A0C9DDCB0E8BE5D10084CFD8 /* Development */, A02679CB0E5CDB03008D4C81 /* Debug */, A02679CC0E5CDB03008D4C81 /* Release */, + A0C9DDCB0E8BE5D10084CFD8 /* Development */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; @@ -2435,9 +2490,9 @@ A02679E20E5CDB03008D4C81 /* Build configuration list for PBXNativeTarget "sfml-window" */ = { isa = XCConfigurationList; buildConfigurations = ( - A0C9DDCF0E8BE5D10084CFD8 /* Development */, A02679D70E5CDB03008D4C81 /* Debug */, A02679D80E5CDB03008D4C81 /* Release */, + A0C9DDCF0E8BE5D10084CFD8 /* Development */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; @@ -2445,9 +2500,9 @@ A02679E30E5CDB03008D4C81 /* Build configuration list for PBXNativeTarget "sfml-graphics" */ = { isa = XCConfigurationList; buildConfigurations = ( - A0C9DDCC0E8BE5D10084CFD8 /* Development */, A02679CE0E5CDB03008D4C81 /* Debug */, A02679CF0E5CDB03008D4C81 /* Release */, + A0C9DDCC0E8BE5D10084CFD8 /* Development */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; @@ -2455,9 +2510,9 @@ A02679E40E5CDB03008D4C81 /* Build configuration list for PBXAggregateTarget "All" */ = { isa = XCConfigurationList; buildConfigurations = ( - A0C9DDC90E8BE5D10084CFD8 /* Development */, A02679C50E5CDB03008D4C81 /* Debug */, A02679C60E5CDB03008D4C81 /* Release */, + A0C9DDC90E8BE5D10084CFD8 /* Development */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; From 4ccfd57c5b961a0fcecc81e942488aba30292d98 Mon Sep 17 00:00:00 2001 From: ceylo Date: Sat, 14 Mar 2009 13:59:31 +0000 Subject: [PATCH 15/27] Updated e-mail. git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1052 4e206d99-4929-0410-ac5d-dfc041789085 --- src/SFML/System/Initializer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SFML/System/Initializer.cpp b/src/SFML/System/Initializer.cpp index 161ae999c..0d3dbeeae 100644 --- a/src/SFML/System/Initializer.cpp +++ b/src/SFML/System/Initializer.cpp @@ -1,7 +1,7 @@ //////////////////////////////////////////////////////////// // // SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2009 Lucas Soltic (elmerod@gmail.com) and Laurent Gomila (laurent.gom@gmail.com) +// Copyright (C) 2007-2009 Lucas Soltic (ceylow@gmail.com) and Laurent Gomila (laurent.gom@gmail.com) // // This software is provided 'as-is', without any express or implied warranty. // In no event will the authors be held liable for any damages arising from the use of this software. From 7a2cb409fe9ab24948b463d97943b3417e868383 Mon Sep 17 00:00:00 2001 From: ceylo Date: Sat, 14 Mar 2009 14:06:32 +0000 Subject: [PATCH 16/27] Replacing libsndfile.a with sndfile.framework for dynamic linking. git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1053 4e206d99-4929-0410-ac5d-dfc041789085 --- extlibs/libs-xcode/libsndfile.a | Bin 991100 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 extlibs/libs-xcode/libsndfile.a diff --git a/extlibs/libs-xcode/libsndfile.a b/extlibs/libs-xcode/libsndfile.a deleted file mode 100644 index d7181c6d53d24fecd29ec50dcf58ac6bb699aaf7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 991100 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%0A5$D?H7Cd9@rtiADvS@E=HZgN=YI+{B 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

9e%cec!mXl2cmn}H6Yc4i1 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 Date: Sat, 14 Mar 2009 14:07:34 +0000 Subject: [PATCH 17/27] Added GLKit, Initializer. Removed WindowController. Updated linking for libsndfile (now using dynamic linking). git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1054 4e206d99-4929-0410-ac5d-dfc041789085 --- .../xcode/SFML-bare.xcodeproj/project.pbxproj | 70 +++++++++++++------ 1 file changed, 47 insertions(+), 23 deletions(-) diff --git a/build/xcode/SFML-bare.xcodeproj/project.pbxproj b/build/xcode/SFML-bare.xcodeproj/project.pbxproj index 4cd20dd13..3b211f5b0 100644 --- a/build/xcode/SFML-bare.xcodeproj/project.pbxproj +++ b/build/xcode/SFML-bare.xcodeproj/project.pbxproj @@ -25,12 +25,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ + A011E8070F65B35400FAE48D /* GLKit.mm in Sources */ = {isa = PBXBuildFile; fileRef = A011E8060F65B35400FAE48D /* GLKit.mm */; }; A018A2AF0EA21A2C005FFAC3 /* Http.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A018A2AD0EA21A2C005FFAC3 /* Http.cpp */; }; A018A2B00EA21A2C005FFAC3 /* Ftp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A018A2AE0EA21A2C005FFAC3 /* Ftp.cpp */; }; + A01BEF080F6BF0140095262C /* Initializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A01BEF070F6BF0140095262C /* Initializer.cpp */; }; + A01BEF0C0F6BF0550095262C /* sndfile.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A01BEF0B0F6BF0550095262C /* sndfile.framework */; }; A04C5A9D0EDDD88B00935061 /* AppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = A04C5A940EDDD88B00935061 /* AppController.mm */; }; A04C5A9E0EDDD88B00935061 /* Joystick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A04C5A950EDDD88B00935061 /* Joystick.cpp */; }; A04C5A9F0EDDD88B00935061 /* VideoModeSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A04C5A970EDDD88B00935061 /* VideoModeSupport.cpp */; }; - A04C5AA00EDDD88B00935061 /* WindowController.mm in Sources */ = {isa = PBXBuildFile; fileRef = A04C5A9A0EDDD88B00935061 /* WindowController.mm */; }; A04C5AA10EDDD88B00935061 /* WindowImplCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = A04C5A9C0EDDD88B00935061 /* WindowImplCocoa.mm */; }; A0660EBA0E89051400D39DEB /* Clock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A0660EA90E89051400D39DEB /* Clock.cpp */; }; A0660EBC0E89051400D39DEB /* Lock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A0660EAB0E89051400D39DEB /* Lock.cpp */; }; @@ -197,21 +199,23 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - A01269660E6318C000B96A5D /* libsfml-system.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libsfml-system.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; - A012696F0E6318FE00B96A5D /* libsfml-network.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libsfml-network.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; - A01269760E63190F00B96A5D /* libsfml-audio.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libsfml-audio.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; - A012697D0E63192000B96A5D /* libsfml-window.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libsfml-window.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; - A01269840E63192B00B96A5D /* libsfml-graphics.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libsfml-graphics.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; + A011E8050F65B35400FAE48D /* GLKit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = GLKit.h; sourceTree = ""; }; + A011E8060F65B35400FAE48D /* GLKit.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = GLKit.mm; sourceTree = ""; }; + A01269660E6318C000B96A5D /* libsfml-system-d.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libsfml-system-d.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; + A012696F0E6318FE00B96A5D /* libsfml-network-d.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libsfml-network-d.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; + A01269760E63190F00B96A5D /* libsfml-audio-d.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libsfml-audio-d.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; + A012697D0E63192000B96A5D /* libsfml-window-d.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libsfml-window-d.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; + A01269840E63192B00B96A5D /* libsfml-graphics-d.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libsfml-graphics-d.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; A018A2AD0EA21A2C005FFAC3 /* Http.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Http.cpp; path = ../../src/SFML/Network/Http.cpp; sourceTree = SOURCE_ROOT; }; A018A2AE0EA21A2C005FFAC3 /* Ftp.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Ftp.cpp; path = ../../src/SFML/Network/Ftp.cpp; sourceTree = SOURCE_ROOT; }; + A01BEF070F6BF0140095262C /* Initializer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Initializer.cpp; path = ../../src/SFML/System/Initializer.cpp; sourceTree = SOURCE_ROOT; }; + A01BEF0B0F6BF0550095262C /* sndfile.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = sndfile.framework; path = "../../extlibs/libs-xcode/sndfile.framework"; sourceTree = SOURCE_ROOT; }; A04C5A930EDDD88B00935061 /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = AppController.h; path = ../../src/SFML/Window/Cocoa/AppController.h; sourceTree = SOURCE_ROOT; }; A04C5A940EDDD88B00935061 /* AppController.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; name = AppController.mm; path = ../../src/SFML/Window/Cocoa/AppController.mm; sourceTree = SOURCE_ROOT; }; A04C5A950EDDD88B00935061 /* Joystick.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Joystick.cpp; path = ../../src/SFML/Window/Cocoa/Joystick.cpp; sourceTree = SOURCE_ROOT; }; A04C5A960EDDD88B00935061 /* Joystick.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; name = Joystick.hpp; path = ../../src/SFML/Window/Cocoa/Joystick.hpp; sourceTree = SOURCE_ROOT; }; A04C5A970EDDD88B00935061 /* VideoModeSupport.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = VideoModeSupport.cpp; path = ../../src/SFML/Window/Cocoa/VideoModeSupport.cpp; sourceTree = SOURCE_ROOT; }; A04C5A980EDDD88B00935061 /* VideoModeSupport.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; name = VideoModeSupport.hpp; path = ../../src/SFML/Window/Cocoa/VideoModeSupport.hpp; sourceTree = SOURCE_ROOT; }; - A04C5A990EDDD88B00935061 /* WindowController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = WindowController.h; path = ../../src/SFML/Window/Cocoa/WindowController.h; sourceTree = SOURCE_ROOT; }; - A04C5A9A0EDDD88B00935061 /* WindowController.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; name = WindowController.mm; path = ../../src/SFML/Window/Cocoa/WindowController.mm; sourceTree = SOURCE_ROOT; }; A04C5A9B0EDDD88B00935061 /* WindowImplCocoa.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; name = WindowImplCocoa.hpp; path = ../../src/SFML/Window/Cocoa/WindowImplCocoa.hpp; sourceTree = SOURCE_ROOT; }; A04C5A9C0EDDD88B00935061 /* WindowImplCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; name = WindowImplCocoa.mm; path = ../../src/SFML/Window/Cocoa/WindowImplCocoa.mm; sourceTree = SOURCE_ROOT; }; A0660EA90E89051400D39DEB /* Clock.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Clock.cpp; path = ../../src/SFML/System/Clock.cpp; sourceTree = SOURCE_ROOT; }; @@ -406,6 +410,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + A01BEF0C0F6BF0550095262C /* sndfile.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -441,11 +446,11 @@ A01269670E6318C000B96A5D /* Products */ = { isa = PBXGroup; children = ( - A01269660E6318C000B96A5D /* libsfml-system.dylib */, - A012696F0E6318FE00B96A5D /* libsfml-network.dylib */, - A01269760E63190F00B96A5D /* libsfml-audio.dylib */, - A012697D0E63192000B96A5D /* libsfml-window.dylib */, - A01269840E63192B00B96A5D /* libsfml-graphics.dylib */, + A01269660E6318C000B96A5D /* libsfml-system-d.dylib */, + A012696F0E6318FE00B96A5D /* libsfml-network-d.dylib */, + A01269760E63190F00B96A5D /* libsfml-audio-d.dylib */, + A012697D0E63192000B96A5D /* libsfml-window-d.dylib */, + A01269840E63192B00B96A5D /* libsfml-graphics-d.dylib */, ); name = Products; sourceTree = ""; @@ -453,6 +458,7 @@ A01269870E63193B00B96A5D /* sfml-system */ = { isa = PBXGroup; children = ( + A01BEF070F6BF0140095262C /* Initializer.cpp */, A0660EA90E89051400D39DEB /* Clock.cpp */, A0660EAA0E89051400D39DEB /* Platform.hpp */, A0660EAB0E89051400D39DEB /* Lock.cpp */, @@ -482,6 +488,7 @@ A012698D0E63194600B96A5D /* sfml-audio */ = { isa = PBXGroup; children = ( + A01BEF0B0F6BF0550095262C /* sndfile.framework */, A0660EDB0E89054E00D39DEB /* AudioDevice.cpp */, A0660EDC0E89054E00D39DEB /* AudioDevice.hpp */, A0660EDD0E89054E00D39DEB /* AudioResource.cpp */, @@ -554,14 +561,14 @@ A04C5A920EDDD88B00935061 /* Cocoa */ = { isa = PBXGroup; children = ( + A011E8050F65B35400FAE48D /* GLKit.h */, + A011E8060F65B35400FAE48D /* GLKit.mm */, A04C5A930EDDD88B00935061 /* AppController.h */, A04C5A940EDDD88B00935061 /* AppController.mm */, A04C5A950EDDD88B00935061 /* Joystick.cpp */, A04C5A960EDDD88B00935061 /* Joystick.hpp */, A04C5A970EDDD88B00935061 /* VideoModeSupport.cpp */, A04C5A980EDDD88B00935061 /* VideoModeSupport.hpp */, - A04C5A990EDDD88B00935061 /* WindowController.h */, - A04C5A9A0EDDD88B00935061 /* WindowController.mm */, A04C5A9B0EDDD88B00935061 /* WindowImplCocoa.hpp */, A04C5A9C0EDDD88B00935061 /* WindowImplCocoa.mm */, ); @@ -765,7 +772,7 @@ ); name = "sfml-system"; productName = "sfml-system"; - productReference = A01269660E6318C000B96A5D /* libsfml-system.dylib */; + productReference = A01269660E6318C000B96A5D /* libsfml-system-d.dylib */; productType = "com.apple.product-type.library.dynamic"; }; A012696E0E6318FE00B96A5D /* sfml-network */ = { @@ -781,7 +788,7 @@ ); name = "sfml-network"; productName = "sfml-network"; - productReference = A012696F0E6318FE00B96A5D /* libsfml-network.dylib */; + productReference = A012696F0E6318FE00B96A5D /* libsfml-network-d.dylib */; productType = "com.apple.product-type.library.dynamic"; }; A01269750E63190F00B96A5D /* sfml-audio */ = { @@ -797,7 +804,7 @@ ); name = "sfml-audio"; productName = "sfml-audio"; - productReference = A01269760E63190F00B96A5D /* libsfml-audio.dylib */; + productReference = A01269760E63190F00B96A5D /* libsfml-audio-d.dylib */; productType = "com.apple.product-type.library.dynamic"; }; A012697C0E63192000B96A5D /* sfml-window */ = { @@ -813,7 +820,7 @@ ); name = "sfml-window"; productName = "sfml-window"; - productReference = A012697D0E63192000B96A5D /* libsfml-window.dylib */; + productReference = A012697D0E63192000B96A5D /* libsfml-window-d.dylib */; productType = "com.apple.product-type.library.dynamic"; }; A01269830E63192B00B96A5D /* sfml-graphics */ = { @@ -829,7 +836,7 @@ ); name = "sfml-graphics"; productName = "sfml-graphics"; - productReference = A01269840E63192B00B96A5D /* libsfml-graphics.dylib */; + productReference = A01269840E63192B00B96A5D /* libsfml-graphics-d.dylib */; productType = "com.apple.product-type.library.dynamic"; }; /* End PBXNativeTarget section */ @@ -868,6 +875,7 @@ A0660EC00E89051400D39DEB /* Platform.cpp in Sources */, A0660EC20E89051400D39DEB /* Thread.cpp in Sources */, A0660EC40E89051400D39DEB /* Sleep.cpp in Sources */, + A01BEF080F6BF0140095262C /* Initializer.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -918,8 +926,8 @@ A04C5A9D0EDDD88B00935061 /* AppController.mm in Sources */, A04C5A9E0EDDD88B00935061 /* Joystick.cpp in Sources */, A04C5A9F0EDDD88B00935061 /* VideoModeSupport.cpp in Sources */, - A04C5AA00EDDD88B00935061 /* WindowController.mm in Sources */, A04C5AA10EDDD88B00935061 /* WindowImplCocoa.mm in Sources */, + A011E8070F65B35400FAE48D /* GLKit.mm in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1104,6 +1112,10 @@ GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; + OTHER_LDFLAGS = ( + "-framework", + CoreFoundation, + ); PREBINDING = NO; PRODUCT_NAME = "sfml-system-d"; }; @@ -1119,6 +1131,10 @@ GCC_ENABLE_FIX_AND_CONTINUE = NO; GCC_MODEL_TUNING = G5; LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; + OTHER_LDFLAGS = ( + "-framework", + CoreFoundation, + ); PREBINDING = NO; PRODUCT_NAME = "sfml-system"; ZERO_LINK = NO; @@ -1161,6 +1177,11 @@ ALWAYS_SEARCH_USER_PATHS = NO; COPY_PHASE_STRIP = NO; EXECUTABLE_PREFIX = lib; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../extlibs/libs-xcode\""; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; @@ -1168,7 +1189,6 @@ OTHER_LDFLAGS = ( "-framework", OpenAL, - "$(SRCROOT)/../../extlibs/libs-xcode/libsndfile.a", "-lsfml-system-d", ); PREBINDING = NO; @@ -1183,12 +1203,16 @@ COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; EXECUTABLE_PREFIX = lib; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../extlibs/libs-xcode\""; GCC_ENABLE_FIX_AND_CONTINUE = NO; GCC_MODEL_TUNING = G5; OTHER_LDFLAGS = ( "-framework", OpenAL, - "$(SRCROOT)/../../extlibs/libs-xcode/libsndfile.a", "-lsfml-system", ); PREBINDING = NO; From 15ba8f9b3c106cb5e07867e696e60a330c3f6372 Mon Sep 17 00:00:00 2001 From: ceylo Date: Sat, 14 Mar 2009 14:15:04 +0000 Subject: [PATCH 18/27] Initial import of C binding. git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1055 4e206d99-4929-0410-ac5d-dfc041789085 --- CSFML/xcode/SFML-Info.plist | 20 + .../xcode/SFML-bare.xcodeproj/project.pbxproj | 1793 +++++++++++++++++ 2 files changed, 1813 insertions(+) create mode 100644 CSFML/xcode/SFML-Info.plist create mode 100644 CSFML/xcode/SFML-bare.xcodeproj/project.pbxproj diff --git a/CSFML/xcode/SFML-Info.plist b/CSFML/xcode/SFML-Info.plist new file mode 100644 index 000000000..9e2fead0c --- /dev/null +++ b/CSFML/xcode/SFML-Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + com.sfml.${PRODUCT_NAME:identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + FMWK + CFBundleSignature + ???? + CFBundleVersion + 1.0 + + diff --git a/CSFML/xcode/SFML-bare.xcodeproj/project.pbxproj b/CSFML/xcode/SFML-bare.xcodeproj/project.pbxproj new file mode 100644 index 000000000..798466d95 --- /dev/null +++ b/CSFML/xcode/SFML-bare.xcodeproj/project.pbxproj @@ -0,0 +1,1793 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { + +/* Begin PBXAggregateTarget section */ + A011E39B0F6574D600FAE48D /* All */ = { + isa = PBXAggregateTarget; + buildConfigurationList = A011E3AB0F6574E400FAE48D /* Build configuration list for PBXAggregateTarget "All" */; + buildPhases = ( + ); + dependencies = ( + A011E3B80F6574EF00FAE48D /* PBXTargetDependency */, + A011E3B60F6574EF00FAE48D /* PBXTargetDependency */, + A011E3B40F6574EF00FAE48D /* PBXTargetDependency */, + A011E3B20F6574EF00FAE48D /* PBXTargetDependency */, + A011E3B00F6574EF00FAE48D /* PBXTargetDependency */, + ); + name = All; + productName = All; + }; +/* End PBXAggregateTarget section */ + +/* Begin PBXBuildFile section */ + A011E3E30F65776B00FAE48D /* Sleep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E3DE0F65776B00FAE48D /* Sleep.cpp */; }; + A011E3E40F65776B00FAE48D /* Thread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E3DF0F65776B00FAE48D /* Thread.cpp */; }; + A011E3E50F65776B00FAE48D /* Randomizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E3E00F65776B00FAE48D /* Randomizer.cpp */; }; + A011E3E60F65776B00FAE48D /* Clock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E3E10F65776B00FAE48D /* Clock.cpp */; }; + A011E3E70F65776B00FAE48D /* Mutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E3E20F65776B00FAE48D /* Mutex.cpp */; }; + A011E3F10F65777800FAE48D /* Ftp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E3EA0F65777800FAE48D /* Ftp.cpp */; }; + A011E3F20F65777800FAE48D /* Http.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E3EB0F65777800FAE48D /* Http.cpp */; }; + A011E3F30F65777800FAE48D /* IPAddress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E3EC0F65777800FAE48D /* IPAddress.cpp */; }; + A011E3F40F65777800FAE48D /* Packet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E3ED0F65777800FAE48D /* Packet.cpp */; }; + A011E3F50F65777800FAE48D /* Selector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E3EE0F65777800FAE48D /* Selector.cpp */; }; + A011E3F60F65777800FAE48D /* SocketTCP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E3EF0F65777800FAE48D /* SocketTCP.cpp */; }; + A011E3F70F65777800FAE48D /* SocketUDP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E3F00F65777800FAE48D /* SocketUDP.cpp */; }; + A011E3FF0F65778600FAE48D /* Listener.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E3F80F65778600FAE48D /* Listener.cpp */; }; + A011E4000F65778600FAE48D /* Music.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E3F90F65778600FAE48D /* Music.cpp */; }; + A011E4010F65778600FAE48D /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E3FA0F65778600FAE48D /* Sound.cpp */; }; + A011E4020F65778600FAE48D /* SoundBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E3FB0F65778600FAE48D /* SoundBuffer.cpp */; }; + A011E4030F65778600FAE48D /* SoundBufferRecorder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E3FC0F65778600FAE48D /* SoundBufferRecorder.cpp */; }; + A011E4040F65778600FAE48D /* SoundRecorder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E3FD0F65778600FAE48D /* SoundRecorder.cpp */; }; + A011E4050F65778600FAE48D /* SoundStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E3FE0F65778600FAE48D /* SoundStream.cpp */; }; + A011E40A0F65779900FAE48D /* Context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4060F65779900FAE48D /* Context.cpp */; }; + A011E40B0F65779900FAE48D /* Input.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4070F65779900FAE48D /* Input.cpp */; }; + A011E40C0F65779900FAE48D /* VideoMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4080F65779900FAE48D /* VideoMode.cpp */; }; + A011E40D0F65779900FAE48D /* Window.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4090F65779900FAE48D /* Window.cpp */; }; + A011E4180F6577A500FAE48D /* Color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E40E0F6577A500FAE48D /* Color.cpp */; }; + A011E4190F6577A500FAE48D /* Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E40F0F6577A500FAE48D /* Font.cpp */; }; + A011E41A0F6577A500FAE48D /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4100F6577A500FAE48D /* Image.cpp */; }; + A011E41B0F6577A500FAE48D /* PostFX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4110F6577A500FAE48D /* PostFX.cpp */; }; + A011E41C0F6577A500FAE48D /* Rect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4120F6577A500FAE48D /* Rect.cpp */; }; + A011E41D0F6577A500FAE48D /* RenderWindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4130F6577A500FAE48D /* RenderWindow.cpp */; }; + A011E41E0F6577A500FAE48D /* Shape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4140F6577A500FAE48D /* Shape.cpp */; }; + A011E41F0F6577A500FAE48D /* Sprite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4150F6577A500FAE48D /* Sprite.cpp */; }; + A011E4200F6577A500FAE48D /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4160F6577A500FAE48D /* String.cpp */; }; + A011E4210F6577A500FAE48D /* View.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4170F6577A500FAE48D /* View.cpp */; }; + A011E4370F65780E00FAE48D /* Clock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4250F65780E00FAE48D /* Clock.cpp */; }; + A011E4380F65780E00FAE48D /* Initializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4260F65780E00FAE48D /* Initializer.cpp */; }; + A011E4390F65780E00FAE48D /* Lock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4270F65780E00FAE48D /* Lock.cpp */; }; + A011E43B0F65780E00FAE48D /* Platform.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A011E4290F65780E00FAE48D /* Platform.hpp */; }; + A011E43C0F65780E00FAE48D /* Randomizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E42A0F65780E00FAE48D /* Randomizer.cpp */; }; + A011E43D0F65780E00FAE48D /* Sleep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E42B0F65780E00FAE48D /* Sleep.cpp */; }; + A011E43E0F65780E00FAE48D /* Unicode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E42C0F65780E00FAE48D /* Unicode.cpp */; }; + A011E43F0F65780E00FAE48D /* Mutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E42E0F65780E00FAE48D /* Mutex.cpp */; }; + A011E4400F65780E00FAE48D /* Platform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E42F0F65780E00FAE48D /* Platform.cpp */; }; + A011E4410F65780E00FAE48D /* Platform.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A011E4300F65780E00FAE48D /* Platform.hpp */; }; + A011E4420F65780E00FAE48D /* Thread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4310F65780E00FAE48D /* Thread.cpp */; }; + A011E4540F65782800FAE48D /* Ftp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4480F65782800FAE48D /* Ftp.cpp */; }; + A011E4550F65782800FAE48D /* Http.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4490F65782800FAE48D /* Http.cpp */; }; + A011E4560F65782800FAE48D /* IPAddress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E44A0F65782800FAE48D /* IPAddress.cpp */; }; + A011E4580F65782800FAE48D /* Packet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E44C0F65782800FAE48D /* Packet.cpp */; }; + A011E4590F65782800FAE48D /* SelectorBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E44D0F65782800FAE48D /* SelectorBase.cpp */; }; + A011E45A0F65782800FAE48D /* SocketTCP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E44E0F65782800FAE48D /* SocketTCP.cpp */; }; + A011E45B0F65782800FAE48D /* SocketUDP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E44F0F65782800FAE48D /* SocketUDP.cpp */; }; + A011E45C0F65782800FAE48D /* SocketHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4510F65782800FAE48D /* SocketHelper.cpp */; }; + A011E4740F65783900FAE48D /* AudioDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E45F0F65783900FAE48D /* AudioDevice.cpp */; }; + A011E4750F65783900FAE48D /* AudioDevice.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A011E4600F65783900FAE48D /* AudioDevice.hpp */; }; + A011E4760F65783900FAE48D /* AudioResource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4610F65783900FAE48D /* AudioResource.cpp */; }; + A011E4770F65783900FAE48D /* Listener.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4620F65783900FAE48D /* Listener.cpp */; }; + A011E4790F65783900FAE48D /* Music.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4640F65783900FAE48D /* Music.cpp */; }; + A011E47A0F65783900FAE48D /* OpenAL.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A011E4650F65783900FAE48D /* OpenAL.hpp */; }; + A011E47B0F65783900FAE48D /* Sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4660F65783900FAE48D /* Sound.cpp */; }; + A011E47C0F65783900FAE48D /* SoundBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4670F65783900FAE48D /* SoundBuffer.cpp */; }; + A011E47D0F65783900FAE48D /* SoundBufferRecorder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4680F65783900FAE48D /* SoundBufferRecorder.cpp */; }; + A011E47E0F65783900FAE48D /* SoundFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4690F65783900FAE48D /* SoundFile.cpp */; }; + A011E47F0F65783900FAE48D /* SoundFile.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A011E46A0F65783900FAE48D /* SoundFile.hpp */; }; + A011E4800F65783900FAE48D /* SoundFileDefault.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E46B0F65783900FAE48D /* SoundFileDefault.cpp */; }; + A011E4810F65783900FAE48D /* SoundFileDefault.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A011E46C0F65783900FAE48D /* SoundFileDefault.hpp */; }; + A011E4820F65783900FAE48D /* SoundFileOgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E46D0F65783900FAE48D /* SoundFileOgg.cpp */; }; + A011E4830F65783900FAE48D /* SoundFileOgg.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A011E46E0F65783900FAE48D /* SoundFileOgg.hpp */; }; + A011E4840F65783900FAE48D /* SoundRecorder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E46F0F65783900FAE48D /* SoundRecorder.cpp */; }; + A011E4850F65783900FAE48D /* SoundStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4700F65783900FAE48D /* SoundStream.cpp */; }; + A011E4860F65783900FAE48D /* stb_vorbis.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E4720F65783900FAE48D /* stb_vorbis.c */; }; + A011E4870F65783900FAE48D /* stb_vorbis.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E4730F65783900FAE48D /* stb_vorbis.h */; }; + A011E4B80F65784E00FAE48D /* AppController.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E48A0F65784E00FAE48D /* AppController.h */; }; + A011E4B90F65784E00FAE48D /* AppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = A011E48B0F65784E00FAE48D /* AppController.mm */; }; + A011E4BA0F65784E00FAE48D /* GLKit.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E48C0F65784E00FAE48D /* GLKit.h */; }; + A011E4BB0F65784E00FAE48D /* GLKit.mm in Sources */ = {isa = PBXBuildFile; fileRef = A011E48D0F65784E00FAE48D /* GLKit.mm */; }; + A011E4BC0F65784E00FAE48D /* Joystick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E48E0F65784E00FAE48D /* Joystick.cpp */; }; + A011E4BD0F65784E00FAE48D /* Joystick.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A011E48F0F65784E00FAE48D /* Joystick.hpp */; }; + A011E4BE0F65784E00FAE48D /* VideoModeSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4900F65784E00FAE48D /* VideoModeSupport.cpp */; }; + A011E4BF0F65784E00FAE48D /* VideoModeSupport.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A011E4910F65784E00FAE48D /* VideoModeSupport.hpp */; }; + A011E4C20F65784E00FAE48D /* WindowImplCocoa.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A011E4940F65784E00FAE48D /* WindowImplCocoa.hpp */; }; + A011E4C30F65784E00FAE48D /* WindowImplCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = A011E4950F65784E00FAE48D /* WindowImplCocoa.mm */; }; + A011E4C40F65784E00FAE48D /* Context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4960F65784E00FAE48D /* Context.cpp */; }; + A011E4C50F65784E00FAE48D /* glext.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E4980F65784E00FAE48D /* glext.h */; }; + A011E4C60F65784E00FAE48D /* glxext.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E4990F65784E00FAE48D /* glxext.h */; }; + A011E4C70F65784E00FAE48D /* wglext.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E49A0F65784E00FAE48D /* wglext.h */; }; + A011E4C80F65784E00FAE48D /* Input.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E49B0F65784E00FAE48D /* Input.cpp */; }; + A011E4C90F65784E00FAE48D /* Joystick.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A011E49C0F65784E00FAE48D /* Joystick.hpp */; }; + A011E4D70F65784E00FAE48D /* VideoMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4AC0F65784E00FAE48D /* VideoMode.cpp */; }; + A011E4D80F65784E00FAE48D /* VideoModeSupport.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A011E4AD0F65784E00FAE48D /* VideoModeSupport.hpp */; }; + A011E4DF0F65784E00FAE48D /* Window.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4B50F65784E00FAE48D /* Window.cpp */; }; + A011E4E00F65784E00FAE48D /* WindowImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4B60F65784E00FAE48D /* WindowImpl.cpp */; }; + A011E4E10F65784E00FAE48D /* WindowImpl.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A011E4B70F65784E00FAE48D /* WindowImpl.hpp */; }; + A011E5690F65786600FAE48D /* Arial.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A011E4E30F65786600FAE48D /* Arial.hpp */; }; + A011E56A0F65786600FAE48D /* Color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4E40F65786600FAE48D /* Color.cpp */; }; + A011E56B0F65786600FAE48D /* Drawable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4E50F65786600FAE48D /* Drawable.cpp */; }; + A011E56C0F65786600FAE48D /* Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4E60F65786600FAE48D /* Font.cpp */; }; + A011E56D0F65786600FAE48D /* FontLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4E70F65786600FAE48D /* FontLoader.cpp */; }; + A011E56E0F65786600FAE48D /* FontLoader.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A011E4E80F65786600FAE48D /* FontLoader.hpp */; }; + A011E56F0F65786600FAE48D /* glew.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E4EA0F65786600FAE48D /* glew.c */; }; + A011E5700F65786600FAE48D /* glew.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E4EB0F65786600FAE48D /* glew.h */; }; + A011E5710F65786600FAE48D /* glxew.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E4EC0F65786600FAE48D /* glxew.h */; }; + A011E5720F65786600FAE48D /* wglew.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E4ED0F65786600FAE48D /* wglew.h */; }; + A011E5730F65786600FAE48D /* GraphicsContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4EE0F65786600FAE48D /* GraphicsContext.cpp */; }; + A011E5740F65786600FAE48D /* GraphicsContext.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A011E4EF0F65786600FAE48D /* GraphicsContext.hpp */; }; + A011E5750F65786600FAE48D /* Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4F00F65786600FAE48D /* Image.cpp */; }; + A011E5760F65786600FAE48D /* ImageLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E4F10F65786600FAE48D /* ImageLoader.cpp */; }; + A011E5770F65786600FAE48D /* ImageLoader.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A011E4F20F65786600FAE48D /* ImageLoader.hpp */; }; + A011E5780F65786600FAE48D /* cderror.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E4F40F65786600FAE48D /* cderror.h */; }; + A011E5790F65786600FAE48D /* jcapimin.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E4F50F65786600FAE48D /* jcapimin.c */; }; + A011E57A0F65786600FAE48D /* jcapistd.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E4F60F65786600FAE48D /* jcapistd.c */; }; + A011E57B0F65786600FAE48D /* jccoefct.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E4F70F65786600FAE48D /* jccoefct.c */; }; + A011E57C0F65786600FAE48D /* jccolor.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E4F80F65786600FAE48D /* jccolor.c */; }; + A011E57D0F65786600FAE48D /* jcdctmgr.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E4F90F65786600FAE48D /* jcdctmgr.c */; }; + A011E57E0F65786600FAE48D /* jchuff.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E4FA0F65786600FAE48D /* jchuff.c */; }; + A011E57F0F65786600FAE48D /* jchuff.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E4FB0F65786600FAE48D /* jchuff.h */; }; + A011E5800F65786600FAE48D /* jcinit.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E4FC0F65786600FAE48D /* jcinit.c */; }; + A011E5810F65786600FAE48D /* jcmainct.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E4FD0F65786600FAE48D /* jcmainct.c */; }; + A011E5820F65786600FAE48D /* jcmarker.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E4FE0F65786600FAE48D /* jcmarker.c */; }; + A011E5830F65786600FAE48D /* jcmaster.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E4FF0F65786600FAE48D /* jcmaster.c */; }; + A011E5840F65786600FAE48D /* jcomapi.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5000F65786600FAE48D /* jcomapi.c */; }; + A011E5850F65786600FAE48D /* jconfig.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E5010F65786600FAE48D /* jconfig.h */; }; + A011E5860F65786600FAE48D /* jcparam.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5020F65786600FAE48D /* jcparam.c */; }; + A011E5870F65786600FAE48D /* jcphuff.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5030F65786600FAE48D /* jcphuff.c */; }; + A011E5880F65786600FAE48D /* jcprepct.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5040F65786600FAE48D /* jcprepct.c */; }; + A011E5890F65786600FAE48D /* jcsample.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5050F65786600FAE48D /* jcsample.c */; }; + A011E58A0F65786600FAE48D /* jctrans.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5060F65786600FAE48D /* jctrans.c */; }; + A011E58B0F65786600FAE48D /* jdapimin.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5070F65786600FAE48D /* jdapimin.c */; }; + A011E58C0F65786600FAE48D /* jdapistd.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5080F65786600FAE48D /* jdapistd.c */; }; + A011E58D0F65786600FAE48D /* jdatadst.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5090F65786600FAE48D /* jdatadst.c */; }; + A011E58E0F65786600FAE48D /* jdatasrc.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E50A0F65786600FAE48D /* jdatasrc.c */; }; + A011E58F0F65786600FAE48D /* jdcoefct.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E50B0F65786600FAE48D /* jdcoefct.c */; }; + A011E5900F65786600FAE48D /* jdcolor.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E50C0F65786600FAE48D /* jdcolor.c */; }; + A011E5910F65786600FAE48D /* jdct.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E50D0F65786600FAE48D /* jdct.h */; }; + A011E5920F65786600FAE48D /* jddctmgr.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E50E0F65786600FAE48D /* jddctmgr.c */; }; + A011E5930F65786600FAE48D /* jdhuff.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E50F0F65786600FAE48D /* jdhuff.c */; }; + A011E5940F65786600FAE48D /* jdhuff.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E5100F65786600FAE48D /* jdhuff.h */; }; + A011E5950F65786600FAE48D /* jdinput.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5110F65786600FAE48D /* jdinput.c */; }; + A011E5960F65786600FAE48D /* jdmainct.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5120F65786600FAE48D /* jdmainct.c */; }; + A011E5970F65786600FAE48D /* jdmarker.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5130F65786600FAE48D /* jdmarker.c */; }; + A011E5980F65786600FAE48D /* jdmaster.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5140F65786600FAE48D /* jdmaster.c */; }; + A011E5990F65786600FAE48D /* jdmerge.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5150F65786600FAE48D /* jdmerge.c */; }; + A011E59A0F65786600FAE48D /* jdphuff.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5160F65786600FAE48D /* jdphuff.c */; }; + A011E59B0F65786600FAE48D /* jdpostct.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5170F65786600FAE48D /* jdpostct.c */; }; + A011E59C0F65786600FAE48D /* jdsample.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5180F65786600FAE48D /* jdsample.c */; }; + A011E59D0F65786600FAE48D /* jdtrans.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5190F65786600FAE48D /* jdtrans.c */; }; + A011E59E0F65786600FAE48D /* jerror.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E51A0F65786600FAE48D /* jerror.c */; }; + A011E59F0F65786600FAE48D /* jerror.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E51B0F65786600FAE48D /* jerror.h */; }; + A011E5A00F65786600FAE48D /* jfdctflt.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E51C0F65786600FAE48D /* jfdctflt.c */; }; + A011E5A10F65786600FAE48D /* jfdctfst.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E51D0F65786600FAE48D /* jfdctfst.c */; }; + A011E5A20F65786600FAE48D /* jfdctint.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E51E0F65786600FAE48D /* jfdctint.c */; }; + A011E5A30F65786600FAE48D /* jidctflt.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E51F0F65786600FAE48D /* jidctflt.c */; }; + A011E5A40F65786600FAE48D /* jidctfst.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5200F65786600FAE48D /* jidctfst.c */; }; + A011E5A50F65786600FAE48D /* jidctint.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5210F65786600FAE48D /* jidctint.c */; }; + A011E5A60F65786600FAE48D /* jidctred.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5220F65786600FAE48D /* jidctred.c */; }; + A011E5A70F65786600FAE48D /* jinclude.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E5230F65786600FAE48D /* jinclude.h */; }; + A011E5A80F65786600FAE48D /* jmemmgr.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5240F65786600FAE48D /* jmemmgr.c */; }; + A011E5A90F65786600FAE48D /* jmemnobs.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5250F65786600FAE48D /* jmemnobs.c */; }; + A011E5AA0F65786600FAE48D /* jmemsys.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E5260F65786600FAE48D /* jmemsys.h */; }; + A011E5AB0F65786600FAE48D /* jmorecfg.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E5270F65786600FAE48D /* jmorecfg.h */; }; + A011E5AC0F65786600FAE48D /* jpegint.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E5280F65786600FAE48D /* jpegint.h */; }; + A011E5AD0F65786600FAE48D /* jpeglib.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E5290F65786600FAE48D /* jpeglib.h */; }; + A011E5AE0F65786600FAE48D /* jquant1.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E52A0F65786600FAE48D /* jquant1.c */; }; + A011E5AF0F65786600FAE48D /* jquant2.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E52B0F65786600FAE48D /* jquant2.c */; }; + A011E5B00F65786600FAE48D /* jutils.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E52C0F65786600FAE48D /* jutils.c */; }; + A011E5B10F65786600FAE48D /* jversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E52D0F65786600FAE48D /* jversion.h */; }; + A011E5B20F65786600FAE48D /* png.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E52F0F65786600FAE48D /* png.c */; }; + A011E5B30F65786600FAE48D /* png.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E5300F65786600FAE48D /* png.h */; }; + A011E5B40F65786600FAE48D /* pngconf.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E5310F65786600FAE48D /* pngconf.h */; }; + A011E5B50F65786600FAE48D /* pngerror.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5320F65786600FAE48D /* pngerror.c */; }; + A011E5B60F65786600FAE48D /* pnggccrd.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5330F65786600FAE48D /* pnggccrd.c */; }; + A011E5B70F65786600FAE48D /* pngget.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5340F65786600FAE48D /* pngget.c */; }; + A011E5B80F65786600FAE48D /* pngmem.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5350F65786600FAE48D /* pngmem.c */; }; + A011E5B90F65786600FAE48D /* pngpread.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5360F65786600FAE48D /* pngpread.c */; }; + A011E5BA0F65786600FAE48D /* pngread.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5370F65786600FAE48D /* pngread.c */; }; + A011E5BB0F65786600FAE48D /* pngrio.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5380F65786600FAE48D /* pngrio.c */; }; + A011E5BC0F65786600FAE48D /* pngrtran.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5390F65786600FAE48D /* pngrtran.c */; }; + A011E5BD0F65786600FAE48D /* pngrutil.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E53A0F65786600FAE48D /* pngrutil.c */; }; + A011E5BE0F65786600FAE48D /* pngset.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E53B0F65786600FAE48D /* pngset.c */; }; + A011E5BF0F65786600FAE48D /* pngtrans.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E53C0F65786600FAE48D /* pngtrans.c */; }; + A011E5C00F65786600FAE48D /* pngvcrd.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E53D0F65786600FAE48D /* pngvcrd.c */; }; + A011E5C10F65786600FAE48D /* pngwio.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E53E0F65786600FAE48D /* pngwio.c */; }; + A011E5C20F65786600FAE48D /* pngwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E53F0F65786600FAE48D /* pngwrite.c */; }; + A011E5C30F65786600FAE48D /* pngwtran.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5400F65786600FAE48D /* pngwtran.c */; }; + A011E5C40F65786600FAE48D /* pngwutil.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5410F65786600FAE48D /* pngwutil.c */; }; + A011E5C60F65786600FAE48D /* Matrix3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E5430F65786600FAE48D /* Matrix3.cpp */; }; + A011E5C70F65786600FAE48D /* PostFX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E5440F65786600FAE48D /* PostFX.cpp */; }; + A011E5C80F65786600FAE48D /* RenderTarget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E5450F65786600FAE48D /* RenderTarget.cpp */; }; + A011E5C90F65786600FAE48D /* RenderWindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E5460F65786600FAE48D /* RenderWindow.cpp */; }; + A011E5CA0F65786600FAE48D /* Shape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E5470F65786600FAE48D /* Shape.cpp */; }; + A011E5CB0F65786600FAE48D /* image_DXT.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5490F65786600FAE48D /* image_DXT.c */; }; + A011E5CC0F65786600FAE48D /* image_DXT.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E54A0F65786600FAE48D /* image_DXT.h */; }; + A011E5CD0F65786600FAE48D /* SOIL.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E54B0F65786600FAE48D /* SOIL.c */; }; + A011E5CE0F65786600FAE48D /* SOIL.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E54C0F65786600FAE48D /* SOIL.h */; }; + A011E5CF0F65786600FAE48D /* stb_image_aug.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E54D0F65786600FAE48D /* stb_image_aug.c */; }; + A011E5D00F65786600FAE48D /* stb_image_aug.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E54E0F65786600FAE48D /* stb_image_aug.h */; }; + A011E5D10F65786600FAE48D /* stbi_DDS_aug.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E54F0F65786600FAE48D /* stbi_DDS_aug.h */; }; + A011E5D20F65786600FAE48D /* stbi_DDS_aug_c.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E5500F65786600FAE48D /* stbi_DDS_aug_c.h */; }; + A011E5D30F65786600FAE48D /* Sprite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E5510F65786600FAE48D /* Sprite.cpp */; }; + A011E5D40F65786600FAE48D /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E5520F65786600FAE48D /* String.cpp */; }; + A011E5D50F65786600FAE48D /* View.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A011E5530F65786600FAE48D /* View.cpp */; }; + A011E5D60F65786600FAE48D /* adler32.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5550F65786600FAE48D /* adler32.c */; }; + A011E5D70F65786600FAE48D /* compress.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5560F65786600FAE48D /* compress.c */; }; + A011E5D80F65786600FAE48D /* crc32.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5570F65786600FAE48D /* crc32.c */; }; + A011E5D90F65786600FAE48D /* crc32.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E5580F65786600FAE48D /* crc32.h */; }; + A011E5DA0F65786600FAE48D /* deflate.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5590F65786600FAE48D /* deflate.c */; }; + A011E5DB0F65786600FAE48D /* deflate.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E55A0F65786600FAE48D /* deflate.h */; }; + A011E5DC0F65786600FAE48D /* inffast.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E55B0F65786600FAE48D /* inffast.c */; }; + A011E5DD0F65786600FAE48D /* inffast.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E55C0F65786600FAE48D /* inffast.h */; }; + A011E5DE0F65786600FAE48D /* inffixed.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E55D0F65786600FAE48D /* inffixed.h */; }; + A011E5DF0F65786600FAE48D /* inflate.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E55E0F65786600FAE48D /* inflate.c */; }; + A011E5E00F65786600FAE48D /* inflate.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E55F0F65786600FAE48D /* inflate.h */; }; + A011E5E10F65786600FAE48D /* inftrees.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5600F65786600FAE48D /* inftrees.c */; }; + A011E5E20F65786600FAE48D /* inftrees.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E5610F65786600FAE48D /* inftrees.h */; }; + A011E5E30F65786600FAE48D /* trees.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5620F65786600FAE48D /* trees.c */; }; + A011E5E40F65786600FAE48D /* trees.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E5630F65786600FAE48D /* trees.h */; }; + A011E5E50F65786600FAE48D /* uncompr.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5640F65786600FAE48D /* uncompr.c */; }; + A011E5E60F65786600FAE48D /* zconf.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E5650F65786600FAE48D /* zconf.h */; }; + A011E5E70F65786600FAE48D /* zlib.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E5660F65786600FAE48D /* zlib.h */; }; + A011E5E80F65786600FAE48D /* zutil.c in Sources */ = {isa = PBXBuildFile; fileRef = A011E5670F65786600FAE48D /* zutil.c */; }; + A011E5E90F65786600FAE48D /* zutil.h in Headers */ = {isa = PBXBuildFile; fileRef = A011E5680F65786600FAE48D /* zutil.h */; }; + A011E5FB0F65791B00FAE48D /* libcsfml-system.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A011E3720F65749300FAE48D /* libcsfml-system.dylib */; }; + A011E6060F65797100FAE48D /* libcsfml-system.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A011E3720F65749300FAE48D /* libcsfml-system.dylib */; }; + A011E6140F6579CA00FAE48D /* libcsfml-window.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A011E38F0F6574B500FAE48D /* libcsfml-window.dylib */; }; + A011E6170F6579D100FAE48D /* libcsfml-system.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A011E3720F65749300FAE48D /* libcsfml-system.dylib */; }; + A01BEF370F6BF2490095262C /* sndfile.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A01BEF360F6BF2490095262C /* sndfile.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + A011E3AF0F6574EF00FAE48D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = A011E3570F65738800FAE48D /* Project object */; + proxyType = 1; + remoteGlobalIDString = A011E3970F6574BE00FAE48D; + remoteInfo = "csfml-graphics"; + }; + A011E3B10F6574EF00FAE48D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = A011E3570F65738800FAE48D /* Project object */; + proxyType = 1; + remoteGlobalIDString = A011E38E0F6574B500FAE48D; + remoteInfo = "csfml-window"; + }; + A011E3B30F6574EF00FAE48D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = A011E3570F65738800FAE48D /* Project object */; + proxyType = 1; + remoteGlobalIDString = A011E3850F6574AC00FAE48D; + remoteInfo = "csfml-audio"; + }; + A011E3B50F6574EF00FAE48D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = A011E3570F65738800FAE48D /* Project object */; + proxyType = 1; + remoteGlobalIDString = A011E37C0F65749F00FAE48D; + remoteInfo = "csfml-network"; + }; + A011E3B70F6574EF00FAE48D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = A011E3570F65738800FAE48D /* Project object */; + proxyType = 1; + remoteGlobalIDString = A011E3710F65749300FAE48D; + remoteInfo = "csfml-system"; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + A011E3720F65749300FAE48D /* libcsfml-system.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libcsfml-system.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; + A011E37D0F65749F00FAE48D /* libcsfml-network.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libcsfml-network.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; + A011E3860F6574AC00FAE48D /* libcsfml-audio.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libcsfml-audio.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; + A011E38F0F6574B500FAE48D /* libcsfml-window.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libcsfml-window.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; + A011E3980F6574BE00FAE48D /* libcsfml-graphics.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libcsfml-graphics.dylib"; sourceTree = BUILT_PRODUCTS_DIR; }; + A011E3A40F6574E400FAE48D /* SFML-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "SFML-Info.plist"; sourceTree = ""; }; + A011E3DE0F65776B00FAE48D /* Sleep.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Sleep.cpp; path = ../src/SFML/System/Sleep.cpp; sourceTree = SOURCE_ROOT; }; + A011E3DF0F65776B00FAE48D /* Thread.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Thread.cpp; path = ../src/SFML/System/Thread.cpp; sourceTree = SOURCE_ROOT; }; + A011E3E00F65776B00FAE48D /* Randomizer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Randomizer.cpp; path = ../src/SFML/System/Randomizer.cpp; sourceTree = SOURCE_ROOT; }; + A011E3E10F65776B00FAE48D /* Clock.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Clock.cpp; path = ../src/SFML/System/Clock.cpp; sourceTree = SOURCE_ROOT; }; + A011E3E20F65776B00FAE48D /* Mutex.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Mutex.cpp; path = ../src/SFML/System/Mutex.cpp; sourceTree = SOURCE_ROOT; }; + A011E3EA0F65777800FAE48D /* Ftp.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Ftp.cpp; path = ../src/SFML/Network/Ftp.cpp; sourceTree = SOURCE_ROOT; }; + A011E3EB0F65777800FAE48D /* Http.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Http.cpp; path = ../src/SFML/Network/Http.cpp; sourceTree = SOURCE_ROOT; }; + A011E3EC0F65777800FAE48D /* IPAddress.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = IPAddress.cpp; path = ../src/SFML/Network/IPAddress.cpp; sourceTree = SOURCE_ROOT; }; + A011E3ED0F65777800FAE48D /* Packet.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Packet.cpp; path = ../src/SFML/Network/Packet.cpp; sourceTree = SOURCE_ROOT; }; + A011E3EE0F65777800FAE48D /* Selector.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Selector.cpp; path = ../src/SFML/Network/Selector.cpp; sourceTree = SOURCE_ROOT; }; + A011E3EF0F65777800FAE48D /* SocketTCP.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = SocketTCP.cpp; path = ../src/SFML/Network/SocketTCP.cpp; sourceTree = SOURCE_ROOT; }; + A011E3F00F65777800FAE48D /* SocketUDP.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = SocketUDP.cpp; path = ../src/SFML/Network/SocketUDP.cpp; sourceTree = SOURCE_ROOT; }; + A011E3F80F65778600FAE48D /* Listener.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Listener.cpp; path = ../src/SFML/Audio/Listener.cpp; sourceTree = SOURCE_ROOT; }; + A011E3F90F65778600FAE48D /* Music.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Music.cpp; path = ../src/SFML/Audio/Music.cpp; sourceTree = SOURCE_ROOT; }; + A011E3FA0F65778600FAE48D /* Sound.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Sound.cpp; path = ../src/SFML/Audio/Sound.cpp; sourceTree = SOURCE_ROOT; }; + A011E3FB0F65778600FAE48D /* SoundBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = SoundBuffer.cpp; path = ../src/SFML/Audio/SoundBuffer.cpp; sourceTree = SOURCE_ROOT; }; + A011E3FC0F65778600FAE48D /* SoundBufferRecorder.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = SoundBufferRecorder.cpp; path = ../src/SFML/Audio/SoundBufferRecorder.cpp; sourceTree = SOURCE_ROOT; }; + A011E3FD0F65778600FAE48D /* SoundRecorder.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = SoundRecorder.cpp; path = ../src/SFML/Audio/SoundRecorder.cpp; sourceTree = SOURCE_ROOT; }; + A011E3FE0F65778600FAE48D /* SoundStream.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = SoundStream.cpp; path = ../src/SFML/Audio/SoundStream.cpp; sourceTree = SOURCE_ROOT; }; + A011E4060F65779900FAE48D /* Context.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Context.cpp; path = ../src/SFML/Window/Context.cpp; sourceTree = SOURCE_ROOT; }; + A011E4070F65779900FAE48D /* Input.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Input.cpp; path = ../src/SFML/Window/Input.cpp; sourceTree = SOURCE_ROOT; }; + A011E4080F65779900FAE48D /* VideoMode.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = VideoMode.cpp; path = ../src/SFML/Window/VideoMode.cpp; sourceTree = SOURCE_ROOT; }; + A011E4090F65779900FAE48D /* Window.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Window.cpp; path = ../src/SFML/Window/Window.cpp; sourceTree = SOURCE_ROOT; }; + A011E40E0F6577A500FAE48D /* Color.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Color.cpp; path = ../src/SFML/Graphics/Color.cpp; sourceTree = SOURCE_ROOT; }; + A011E40F0F6577A500FAE48D /* Font.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Font.cpp; path = ../src/SFML/Graphics/Font.cpp; sourceTree = SOURCE_ROOT; }; + A011E4100F6577A500FAE48D /* Image.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Image.cpp; path = ../src/SFML/Graphics/Image.cpp; sourceTree = SOURCE_ROOT; }; + A011E4110F6577A500FAE48D /* PostFX.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = PostFX.cpp; path = ../src/SFML/Graphics/PostFX.cpp; sourceTree = SOURCE_ROOT; }; + A011E4120F6577A500FAE48D /* Rect.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Rect.cpp; path = ../src/SFML/Graphics/Rect.cpp; sourceTree = SOURCE_ROOT; }; + A011E4130F6577A500FAE48D /* RenderWindow.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = RenderWindow.cpp; path = ../src/SFML/Graphics/RenderWindow.cpp; sourceTree = SOURCE_ROOT; }; + A011E4140F6577A500FAE48D /* Shape.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Shape.cpp; path = ../src/SFML/Graphics/Shape.cpp; sourceTree = SOURCE_ROOT; }; + A011E4150F6577A500FAE48D /* Sprite.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Sprite.cpp; path = ../src/SFML/Graphics/Sprite.cpp; sourceTree = SOURCE_ROOT; }; + A011E4160F6577A500FAE48D /* String.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = String.cpp; path = ../src/SFML/Graphics/String.cpp; sourceTree = SOURCE_ROOT; }; + A011E4170F6577A500FAE48D /* View.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = View.cpp; path = ../src/SFML/Graphics/View.cpp; sourceTree = SOURCE_ROOT; }; + A011E4250F65780E00FAE48D /* Clock.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Clock.cpp; sourceTree = ""; }; + A011E4260F65780E00FAE48D /* Initializer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Initializer.cpp; sourceTree = ""; }; + A011E4270F65780E00FAE48D /* Lock.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Lock.cpp; sourceTree = ""; }; + A011E4290F65780E00FAE48D /* Platform.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = Platform.hpp; sourceTree = ""; }; + A011E42A0F65780E00FAE48D /* Randomizer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Randomizer.cpp; sourceTree = ""; }; + A011E42B0F65780E00FAE48D /* Sleep.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Sleep.cpp; sourceTree = ""; }; + A011E42C0F65780E00FAE48D /* Unicode.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Unicode.cpp; sourceTree = ""; }; + A011E42E0F65780E00FAE48D /* Mutex.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Mutex.cpp; sourceTree = ""; }; + A011E42F0F65780E00FAE48D /* Platform.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Platform.cpp; sourceTree = ""; }; + A011E4300F65780E00FAE48D /* Platform.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = Platform.hpp; sourceTree = ""; }; + A011E4310F65780E00FAE48D /* Thread.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Thread.cpp; sourceTree = ""; }; + A011E4480F65782800FAE48D /* Ftp.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Ftp.cpp; sourceTree = ""; }; + A011E4490F65782800FAE48D /* Http.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Http.cpp; sourceTree = ""; }; + A011E44A0F65782800FAE48D /* IPAddress.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = IPAddress.cpp; sourceTree = ""; }; + A011E44C0F65782800FAE48D /* Packet.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Packet.cpp; sourceTree = ""; }; + A011E44D0F65782800FAE48D /* SelectorBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SelectorBase.cpp; sourceTree = ""; }; + A011E44E0F65782800FAE48D /* SocketTCP.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SocketTCP.cpp; sourceTree = ""; }; + A011E44F0F65782800FAE48D /* SocketUDP.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SocketUDP.cpp; sourceTree = ""; }; + A011E4510F65782800FAE48D /* SocketHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SocketHelper.cpp; sourceTree = ""; }; + A011E45F0F65783900FAE48D /* AudioDevice.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AudioDevice.cpp; sourceTree = ""; }; + A011E4600F65783900FAE48D /* AudioDevice.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = AudioDevice.hpp; sourceTree = ""; }; + A011E4610F65783900FAE48D /* AudioResource.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AudioResource.cpp; sourceTree = ""; }; + A011E4620F65783900FAE48D /* Listener.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Listener.cpp; sourceTree = ""; }; + A011E4640F65783900FAE48D /* Music.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Music.cpp; sourceTree = ""; }; + A011E4650F65783900FAE48D /* OpenAL.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = OpenAL.hpp; sourceTree = ""; }; + A011E4660F65783900FAE48D /* Sound.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Sound.cpp; sourceTree = ""; }; + A011E4670F65783900FAE48D /* SoundBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SoundBuffer.cpp; sourceTree = ""; }; + A011E4680F65783900FAE48D /* SoundBufferRecorder.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SoundBufferRecorder.cpp; sourceTree = ""; }; + A011E4690F65783900FAE48D /* SoundFile.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SoundFile.cpp; sourceTree = ""; }; + A011E46A0F65783900FAE48D /* SoundFile.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = SoundFile.hpp; sourceTree = ""; }; + A011E46B0F65783900FAE48D /* SoundFileDefault.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SoundFileDefault.cpp; sourceTree = ""; }; + A011E46C0F65783900FAE48D /* SoundFileDefault.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = SoundFileDefault.hpp; sourceTree = ""; }; + A011E46D0F65783900FAE48D /* SoundFileOgg.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SoundFileOgg.cpp; sourceTree = ""; }; + A011E46E0F65783900FAE48D /* SoundFileOgg.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = SoundFileOgg.hpp; sourceTree = ""; }; + A011E46F0F65783900FAE48D /* SoundRecorder.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SoundRecorder.cpp; sourceTree = ""; }; + A011E4700F65783900FAE48D /* SoundStream.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SoundStream.cpp; sourceTree = ""; }; + A011E4720F65783900FAE48D /* stb_vorbis.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = stb_vorbis.c; sourceTree = ""; }; + A011E4730F65783900FAE48D /* stb_vorbis.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = stb_vorbis.h; sourceTree = ""; }; + A011E48A0F65784E00FAE48D /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AppController.h; sourceTree = ""; }; + A011E48B0F65784E00FAE48D /* AppController.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = AppController.mm; sourceTree = ""; }; + A011E48C0F65784E00FAE48D /* GLKit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = GLKit.h; sourceTree = ""; }; + A011E48D0F65784E00FAE48D /* GLKit.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = GLKit.mm; sourceTree = ""; }; + A011E48E0F65784E00FAE48D /* Joystick.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Joystick.cpp; sourceTree = ""; }; + A011E48F0F65784E00FAE48D /* Joystick.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = Joystick.hpp; sourceTree = ""; }; + A011E4900F65784E00FAE48D /* VideoModeSupport.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = VideoModeSupport.cpp; sourceTree = ""; }; + A011E4910F65784E00FAE48D /* VideoModeSupport.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = VideoModeSupport.hpp; sourceTree = ""; }; + A011E4940F65784E00FAE48D /* WindowImplCocoa.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = WindowImplCocoa.hpp; sourceTree = ""; }; + A011E4950F65784E00FAE48D /* WindowImplCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = WindowImplCocoa.mm; sourceTree = ""; }; + A011E4960F65784E00FAE48D /* Context.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Context.cpp; sourceTree = ""; }; + A011E4980F65784E00FAE48D /* glext.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = glext.h; sourceTree = ""; }; + A011E4990F65784E00FAE48D /* glxext.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = glxext.h; sourceTree = ""; }; + A011E49A0F65784E00FAE48D /* wglext.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = wglext.h; sourceTree = ""; }; + A011E49B0F65784E00FAE48D /* Input.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Input.cpp; sourceTree = ""; }; + A011E49C0F65784E00FAE48D /* Joystick.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = Joystick.hpp; sourceTree = ""; }; + A011E4AC0F65784E00FAE48D /* VideoMode.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = VideoMode.cpp; sourceTree = ""; }; + A011E4AD0F65784E00FAE48D /* VideoModeSupport.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = VideoModeSupport.hpp; sourceTree = ""; }; + A011E4B50F65784E00FAE48D /* Window.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Window.cpp; sourceTree = ""; }; + A011E4B60F65784E00FAE48D /* WindowImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = WindowImpl.cpp; sourceTree = ""; }; + A011E4B70F65784E00FAE48D /* WindowImpl.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = WindowImpl.hpp; sourceTree = ""; }; + A011E4E30F65786600FAE48D /* Arial.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = Arial.hpp; sourceTree = ""; }; + A011E4E40F65786600FAE48D /* Color.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Color.cpp; sourceTree = ""; }; + A011E4E50F65786600FAE48D /* Drawable.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Drawable.cpp; sourceTree = ""; }; + A011E4E60F65786600FAE48D /* Font.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Font.cpp; sourceTree = ""; }; + A011E4E70F65786600FAE48D /* FontLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = FontLoader.cpp; sourceTree = ""; }; + A011E4E80F65786600FAE48D /* FontLoader.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = FontLoader.hpp; sourceTree = ""; }; + A011E4EA0F65786600FAE48D /* glew.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = glew.c; sourceTree = ""; }; + A011E4EB0F65786600FAE48D /* glew.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = glew.h; sourceTree = ""; }; + A011E4EC0F65786600FAE48D /* glxew.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = glxew.h; sourceTree = ""; }; + A011E4ED0F65786600FAE48D /* wglew.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = wglew.h; sourceTree = ""; }; + A011E4EE0F65786600FAE48D /* GraphicsContext.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = GraphicsContext.cpp; sourceTree = ""; }; + A011E4EF0F65786600FAE48D /* GraphicsContext.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = GraphicsContext.hpp; sourceTree = ""; }; + A011E4F00F65786600FAE48D /* Image.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Image.cpp; sourceTree = ""; }; + A011E4F10F65786600FAE48D /* ImageLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ImageLoader.cpp; sourceTree = ""; }; + A011E4F20F65786600FAE48D /* ImageLoader.hpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.h; path = ImageLoader.hpp; sourceTree = ""; }; + A011E4F40F65786600FAE48D /* cderror.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = cderror.h; sourceTree = ""; }; + A011E4F50F65786600FAE48D /* jcapimin.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jcapimin.c; sourceTree = ""; }; + A011E4F60F65786600FAE48D /* jcapistd.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jcapistd.c; sourceTree = ""; }; + A011E4F70F65786600FAE48D /* jccoefct.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jccoefct.c; sourceTree = ""; }; + A011E4F80F65786600FAE48D /* jccolor.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jccolor.c; sourceTree = ""; }; + A011E4F90F65786600FAE48D /* jcdctmgr.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jcdctmgr.c; sourceTree = ""; }; + A011E4FA0F65786600FAE48D /* jchuff.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jchuff.c; sourceTree = ""; }; + A011E4FB0F65786600FAE48D /* jchuff.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = jchuff.h; sourceTree = ""; }; + A011E4FC0F65786600FAE48D /* jcinit.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jcinit.c; sourceTree = ""; }; + A011E4FD0F65786600FAE48D /* jcmainct.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jcmainct.c; sourceTree = ""; }; + A011E4FE0F65786600FAE48D /* jcmarker.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jcmarker.c; sourceTree = ""; }; + A011E4FF0F65786600FAE48D /* jcmaster.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jcmaster.c; sourceTree = ""; }; + A011E5000F65786600FAE48D /* jcomapi.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jcomapi.c; sourceTree = ""; }; + A011E5010F65786600FAE48D /* jconfig.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = jconfig.h; sourceTree = ""; }; + A011E5020F65786600FAE48D /* jcparam.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jcparam.c; sourceTree = ""; }; + A011E5030F65786600FAE48D /* jcphuff.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jcphuff.c; sourceTree = ""; }; + A011E5040F65786600FAE48D /* jcprepct.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jcprepct.c; sourceTree = ""; }; + A011E5050F65786600FAE48D /* jcsample.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jcsample.c; sourceTree = ""; }; + A011E5060F65786600FAE48D /* jctrans.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jctrans.c; sourceTree = ""; }; + A011E5070F65786600FAE48D /* jdapimin.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jdapimin.c; sourceTree = ""; }; + A011E5080F65786600FAE48D /* jdapistd.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jdapistd.c; sourceTree = ""; }; + A011E5090F65786600FAE48D /* jdatadst.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jdatadst.c; sourceTree = ""; }; + A011E50A0F65786600FAE48D /* jdatasrc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jdatasrc.c; sourceTree = ""; }; + A011E50B0F65786600FAE48D /* jdcoefct.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jdcoefct.c; sourceTree = ""; }; + A011E50C0F65786600FAE48D /* jdcolor.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jdcolor.c; sourceTree = ""; }; + A011E50D0F65786600FAE48D /* jdct.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = jdct.h; sourceTree = ""; }; + A011E50E0F65786600FAE48D /* jddctmgr.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jddctmgr.c; sourceTree = ""; }; + A011E50F0F65786600FAE48D /* jdhuff.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jdhuff.c; sourceTree = ""; }; + A011E5100F65786600FAE48D /* jdhuff.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = jdhuff.h; sourceTree = ""; }; + A011E5110F65786600FAE48D /* jdinput.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jdinput.c; sourceTree = ""; }; + A011E5120F65786600FAE48D /* jdmainct.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jdmainct.c; sourceTree = ""; }; + A011E5130F65786600FAE48D /* jdmarker.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jdmarker.c; sourceTree = ""; }; + A011E5140F65786600FAE48D /* jdmaster.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jdmaster.c; sourceTree = ""; }; + A011E5150F65786600FAE48D /* jdmerge.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jdmerge.c; sourceTree = ""; }; + A011E5160F65786600FAE48D /* jdphuff.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jdphuff.c; sourceTree = ""; }; + A011E5170F65786600FAE48D /* jdpostct.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jdpostct.c; sourceTree = ""; }; + A011E5180F65786600FAE48D /* jdsample.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jdsample.c; sourceTree = ""; }; + A011E5190F65786600FAE48D /* jdtrans.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jdtrans.c; sourceTree = ""; }; + A011E51A0F65786600FAE48D /* jerror.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jerror.c; sourceTree = ""; }; + A011E51B0F65786600FAE48D /* jerror.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = jerror.h; sourceTree = ""; }; + A011E51C0F65786600FAE48D /* jfdctflt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jfdctflt.c; sourceTree = ""; }; + A011E51D0F65786600FAE48D /* jfdctfst.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jfdctfst.c; sourceTree = ""; }; + A011E51E0F65786600FAE48D /* jfdctint.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jfdctint.c; sourceTree = ""; }; + A011E51F0F65786600FAE48D /* jidctflt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jidctflt.c; sourceTree = ""; }; + A011E5200F65786600FAE48D /* jidctfst.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jidctfst.c; sourceTree = ""; }; + A011E5210F65786600FAE48D /* jidctint.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jidctint.c; sourceTree = ""; }; + A011E5220F65786600FAE48D /* jidctred.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jidctred.c; sourceTree = ""; }; + A011E5230F65786600FAE48D /* jinclude.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = jinclude.h; sourceTree = ""; }; + A011E5240F65786600FAE48D /* jmemmgr.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jmemmgr.c; sourceTree = ""; }; + A011E5250F65786600FAE48D /* jmemnobs.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jmemnobs.c; sourceTree = ""; }; + A011E5260F65786600FAE48D /* jmemsys.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = jmemsys.h; sourceTree = ""; }; + A011E5270F65786600FAE48D /* jmorecfg.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = jmorecfg.h; sourceTree = ""; }; + A011E5280F65786600FAE48D /* jpegint.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = jpegint.h; sourceTree = ""; }; + A011E5290F65786600FAE48D /* jpeglib.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = jpeglib.h; sourceTree = ""; }; + A011E52A0F65786600FAE48D /* jquant1.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jquant1.c; sourceTree = ""; }; + A011E52B0F65786600FAE48D /* jquant2.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jquant2.c; sourceTree = ""; }; + A011E52C0F65786600FAE48D /* jutils.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jutils.c; sourceTree = ""; }; + A011E52D0F65786600FAE48D /* jversion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = jversion.h; sourceTree = ""; }; + A011E52F0F65786600FAE48D /* png.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = png.c; sourceTree = ""; }; + A011E5300F65786600FAE48D /* png.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = png.h; sourceTree = ""; }; + A011E5310F65786600FAE48D /* pngconf.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = pngconf.h; sourceTree = ""; }; + A011E5320F65786600FAE48D /* pngerror.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pngerror.c; sourceTree = ""; }; + A011E5330F65786600FAE48D /* pnggccrd.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pnggccrd.c; sourceTree = ""; }; + A011E5340F65786600FAE48D /* pngget.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pngget.c; sourceTree = ""; }; + A011E5350F65786600FAE48D /* pngmem.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pngmem.c; sourceTree = ""; }; + A011E5360F65786600FAE48D /* pngpread.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pngpread.c; sourceTree = ""; }; + A011E5370F65786600FAE48D /* pngread.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pngread.c; sourceTree = ""; }; + A011E5380F65786600FAE48D /* pngrio.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pngrio.c; sourceTree = ""; }; + A011E5390F65786600FAE48D /* pngrtran.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pngrtran.c; sourceTree = ""; }; + A011E53A0F65786600FAE48D /* pngrutil.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pngrutil.c; sourceTree = ""; }; + A011E53B0F65786600FAE48D /* pngset.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pngset.c; sourceTree = ""; }; + A011E53C0F65786600FAE48D /* pngtrans.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pngtrans.c; sourceTree = ""; }; + A011E53D0F65786600FAE48D /* pngvcrd.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pngvcrd.c; sourceTree = ""; }; + A011E53E0F65786600FAE48D /* pngwio.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pngwio.c; sourceTree = ""; }; + A011E53F0F65786600FAE48D /* pngwrite.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pngwrite.c; sourceTree = ""; }; + A011E5400F65786600FAE48D /* pngwtran.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pngwtran.c; sourceTree = ""; }; + A011E5410F65786600FAE48D /* pngwutil.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pngwutil.c; sourceTree = ""; }; + A011E5430F65786600FAE48D /* Matrix3.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Matrix3.cpp; sourceTree = ""; }; + A011E5440F65786600FAE48D /* PostFX.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = PostFX.cpp; sourceTree = ""; }; + A011E5450F65786600FAE48D /* RenderTarget.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RenderTarget.cpp; sourceTree = ""; }; + A011E5460F65786600FAE48D /* RenderWindow.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RenderWindow.cpp; sourceTree = ""; }; + A011E5470F65786600FAE48D /* Shape.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Shape.cpp; sourceTree = ""; }; + A011E5490F65786600FAE48D /* image_DXT.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = image_DXT.c; sourceTree = ""; }; + A011E54A0F65786600FAE48D /* image_DXT.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = image_DXT.h; sourceTree = ""; }; + A011E54B0F65786600FAE48D /* SOIL.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = SOIL.c; sourceTree = ""; }; + A011E54C0F65786600FAE48D /* SOIL.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SOIL.h; sourceTree = ""; }; + A011E54D0F65786600FAE48D /* stb_image_aug.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = stb_image_aug.c; sourceTree = ""; }; + A011E54E0F65786600FAE48D /* stb_image_aug.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = stb_image_aug.h; sourceTree = ""; }; + A011E54F0F65786600FAE48D /* stbi_DDS_aug.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = stbi_DDS_aug.h; sourceTree = ""; }; + A011E5500F65786600FAE48D /* stbi_DDS_aug_c.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = stbi_DDS_aug_c.h; sourceTree = ""; }; + A011E5510F65786600FAE48D /* Sprite.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Sprite.cpp; sourceTree = ""; }; + A011E5520F65786600FAE48D /* String.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = String.cpp; sourceTree = ""; }; + A011E5530F65786600FAE48D /* View.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = View.cpp; sourceTree = ""; }; + A011E5550F65786600FAE48D /* adler32.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = adler32.c; sourceTree = ""; }; + A011E5560F65786600FAE48D /* compress.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = compress.c; sourceTree = ""; }; + A011E5570F65786600FAE48D /* crc32.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = crc32.c; sourceTree = ""; }; + A011E5580F65786600FAE48D /* crc32.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = crc32.h; sourceTree = ""; }; + A011E5590F65786600FAE48D /* deflate.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = deflate.c; sourceTree = ""; }; + A011E55A0F65786600FAE48D /* deflate.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = deflate.h; sourceTree = ""; }; + A011E55B0F65786600FAE48D /* inffast.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = inffast.c; sourceTree = ""; }; + A011E55C0F65786600FAE48D /* inffast.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = inffast.h; sourceTree = ""; }; + A011E55D0F65786600FAE48D /* inffixed.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = inffixed.h; sourceTree = ""; }; + A011E55E0F65786600FAE48D /* inflate.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = inflate.c; sourceTree = ""; }; + A011E55F0F65786600FAE48D /* inflate.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = inflate.h; sourceTree = ""; }; + A011E5600F65786600FAE48D /* inftrees.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = inftrees.c; sourceTree = ""; }; + A011E5610F65786600FAE48D /* inftrees.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = inftrees.h; sourceTree = ""; }; + A011E5620F65786600FAE48D /* trees.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = trees.c; sourceTree = ""; }; + A011E5630F65786600FAE48D /* trees.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = trees.h; sourceTree = ""; }; + A011E5640F65786600FAE48D /* uncompr.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = uncompr.c; sourceTree = ""; }; + A011E5650F65786600FAE48D /* zconf.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = zconf.h; sourceTree = ""; }; + A011E5660F65786600FAE48D /* zlib.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = zlib.h; sourceTree = ""; }; + A011E5670F65786600FAE48D /* zutil.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = zutil.c; sourceTree = ""; }; + A011E5680F65786600FAE48D /* zutil.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = zutil.h; sourceTree = ""; }; + A01BEF360F6BF2490095262C /* sndfile.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = sndfile.framework; path = "../../extlibs/libs-xcode/sndfile.framework"; sourceTree = SOURCE_ROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + A011E3700F65749300FAE48D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A011E37B0F65749F00FAE48D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A011E3840F6574AC00FAE48D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + A011E5FB0F65791B00FAE48D /* libcsfml-system.dylib in Frameworks */, + A01BEF370F6BF2490095262C /* sndfile.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A011E38D0F6574B500FAE48D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + A011E6060F65797100FAE48D /* libcsfml-system.dylib in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A011E3960F6574BE00FAE48D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + A011E6140F6579CA00FAE48D /* libcsfml-window.dylib in Frameworks */, + A011E6170F6579D100FAE48D /* libcsfml-system.dylib in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + A011E3550F65738800FAE48D = { + isa = PBXGroup; + children = ( + A011E3C10F6575B300FAE48D /* SFML */, + A011E3C80F6575D800FAE48D /* csfml-system */, + A011E3C70F6575D000FAE48D /* csfml-network */, + A011E3C40F6575C100FAE48D /* csfml-audio */, + A011E3C30F6575BC00FAE48D /* csfml-window */, + A011E3C20F6575B700FAE48D /* csfml-graphics */, + A011E3730F65749300FAE48D /* Products */, + A011E3A40F6574E400FAE48D /* SFML-Info.plist */, + ); + sourceTree = ""; + }; + A011E3730F65749300FAE48D /* Products */ = { + isa = PBXGroup; + children = ( + A011E3720F65749300FAE48D /* libcsfml-system.dylib */, + A011E37D0F65749F00FAE48D /* libcsfml-network.dylib */, + A011E3860F6574AC00FAE48D /* libcsfml-audio.dylib */, + A011E38F0F6574B500FAE48D /* libcsfml-window.dylib */, + A011E3980F6574BE00FAE48D /* libcsfml-graphics.dylib */, + ); + name = Products; + sourceTree = ""; + }; + A011E3C10F6575B300FAE48D /* SFML */ = { + isa = PBXGroup; + children = ( + ); + name = SFML; + sourceTree = ""; + }; + A011E3C20F6575B700FAE48D /* csfml-graphics */ = { + isa = PBXGroup; + children = ( + A011E4E20F65786600FAE48D /* Graphics */, + A011E40E0F6577A500FAE48D /* Color.cpp */, + A011E40F0F6577A500FAE48D /* Font.cpp */, + A011E4100F6577A500FAE48D /* Image.cpp */, + A011E4110F6577A500FAE48D /* PostFX.cpp */, + A011E4120F6577A500FAE48D /* Rect.cpp */, + A011E4130F6577A500FAE48D /* RenderWindow.cpp */, + A011E4140F6577A500FAE48D /* Shape.cpp */, + A011E4150F6577A500FAE48D /* Sprite.cpp */, + A011E4160F6577A500FAE48D /* String.cpp */, + A011E4170F6577A500FAE48D /* View.cpp */, + ); + name = "csfml-graphics"; + sourceTree = ""; + }; + A011E3C30F6575BC00FAE48D /* csfml-window */ = { + isa = PBXGroup; + children = ( + A011E4880F65784E00FAE48D /* Window */, + A011E4060F65779900FAE48D /* Context.cpp */, + A011E4070F65779900FAE48D /* Input.cpp */, + A011E4080F65779900FAE48D /* VideoMode.cpp */, + A011E4090F65779900FAE48D /* Window.cpp */, + ); + name = "csfml-window"; + sourceTree = ""; + }; + A011E3C40F6575C100FAE48D /* csfml-audio */ = { + isa = PBXGroup; + children = ( + A01BEF360F6BF2490095262C /* sndfile.framework */, + A011E45E0F65783900FAE48D /* Audio */, + A011E3F80F65778600FAE48D /* Listener.cpp */, + A011E3F90F65778600FAE48D /* Music.cpp */, + A011E3FA0F65778600FAE48D /* Sound.cpp */, + A011E3FB0F65778600FAE48D /* SoundBuffer.cpp */, + A011E3FC0F65778600FAE48D /* SoundBufferRecorder.cpp */, + A011E3FD0F65778600FAE48D /* SoundRecorder.cpp */, + A011E3FE0F65778600FAE48D /* SoundStream.cpp */, + ); + name = "csfml-audio"; + sourceTree = ""; + }; + A011E3C70F6575D000FAE48D /* csfml-network */ = { + isa = PBXGroup; + children = ( + A011E4470F65782800FAE48D /* Network */, + A011E3EA0F65777800FAE48D /* Ftp.cpp */, + A011E3EB0F65777800FAE48D /* Http.cpp */, + A011E3EC0F65777800FAE48D /* IPAddress.cpp */, + A011E3ED0F65777800FAE48D /* Packet.cpp */, + A011E3EE0F65777800FAE48D /* Selector.cpp */, + A011E3EF0F65777800FAE48D /* SocketTCP.cpp */, + A011E3F00F65777800FAE48D /* SocketUDP.cpp */, + ); + name = "csfml-network"; + sourceTree = ""; + }; + A011E3C80F6575D800FAE48D /* csfml-system */ = { + isa = PBXGroup; + children = ( + A011E4240F65780E00FAE48D /* System */, + A011E3DE0F65776B00FAE48D /* Sleep.cpp */, + A011E3DF0F65776B00FAE48D /* Thread.cpp */, + A011E3E00F65776B00FAE48D /* Randomizer.cpp */, + A011E3E10F65776B00FAE48D /* Clock.cpp */, + A011E3E20F65776B00FAE48D /* Mutex.cpp */, + ); + name = "csfml-system"; + sourceTree = ""; + }; + A011E4240F65780E00FAE48D /* System */ = { + isa = PBXGroup; + children = ( + A011E4250F65780E00FAE48D /* Clock.cpp */, + A011E4260F65780E00FAE48D /* Initializer.cpp */, + A011E4270F65780E00FAE48D /* Lock.cpp */, + A011E4290F65780E00FAE48D /* Platform.hpp */, + A011E42A0F65780E00FAE48D /* Randomizer.cpp */, + A011E42B0F65780E00FAE48D /* Sleep.cpp */, + A011E42C0F65780E00FAE48D /* Unicode.cpp */, + A011E42D0F65780E00FAE48D /* Unix */, + ); + name = System; + path = ../../src/SFML/System; + sourceTree = SOURCE_ROOT; + }; + A011E42D0F65780E00FAE48D /* Unix */ = { + isa = PBXGroup; + children = ( + A011E42E0F65780E00FAE48D /* Mutex.cpp */, + A011E42F0F65780E00FAE48D /* Platform.cpp */, + A011E4300F65780E00FAE48D /* Platform.hpp */, + A011E4310F65780E00FAE48D /* Thread.cpp */, + ); + path = Unix; + sourceTree = ""; + }; + A011E4470F65782800FAE48D /* Network */ = { + isa = PBXGroup; + children = ( + A011E4480F65782800FAE48D /* Ftp.cpp */, + A011E4490F65782800FAE48D /* Http.cpp */, + A011E44A0F65782800FAE48D /* IPAddress.cpp */, + A011E44C0F65782800FAE48D /* Packet.cpp */, + A011E44D0F65782800FAE48D /* SelectorBase.cpp */, + A011E44E0F65782800FAE48D /* SocketTCP.cpp */, + A011E44F0F65782800FAE48D /* SocketUDP.cpp */, + A011E4500F65782800FAE48D /* Unix */, + ); + name = Network; + path = ../../src/SFML/Network; + sourceTree = SOURCE_ROOT; + }; + A011E4500F65782800FAE48D /* Unix */ = { + isa = PBXGroup; + children = ( + A011E4510F65782800FAE48D /* SocketHelper.cpp */, + ); + path = Unix; + sourceTree = ""; + }; + A011E45E0F65783900FAE48D /* Audio */ = { + isa = PBXGroup; + children = ( + A011E45F0F65783900FAE48D /* AudioDevice.cpp */, + A011E4600F65783900FAE48D /* AudioDevice.hpp */, + A011E4610F65783900FAE48D /* AudioResource.cpp */, + A011E4620F65783900FAE48D /* Listener.cpp */, + A011E4640F65783900FAE48D /* Music.cpp */, + A011E4650F65783900FAE48D /* OpenAL.hpp */, + A011E4660F65783900FAE48D /* Sound.cpp */, + A011E4670F65783900FAE48D /* SoundBuffer.cpp */, + A011E4680F65783900FAE48D /* SoundBufferRecorder.cpp */, + A011E4690F65783900FAE48D /* SoundFile.cpp */, + A011E46A0F65783900FAE48D /* SoundFile.hpp */, + A011E46B0F65783900FAE48D /* SoundFileDefault.cpp */, + A011E46C0F65783900FAE48D /* SoundFileDefault.hpp */, + A011E46D0F65783900FAE48D /* SoundFileOgg.cpp */, + A011E46E0F65783900FAE48D /* SoundFileOgg.hpp */, + A011E46F0F65783900FAE48D /* SoundRecorder.cpp */, + A011E4700F65783900FAE48D /* SoundStream.cpp */, + A011E4710F65783900FAE48D /* stb_vorbis */, + ); + name = Audio; + path = ../../src/SFML/Audio; + sourceTree = SOURCE_ROOT; + }; + A011E4710F65783900FAE48D /* stb_vorbis */ = { + isa = PBXGroup; + children = ( + A011E4720F65783900FAE48D /* stb_vorbis.c */, + A011E4730F65783900FAE48D /* stb_vorbis.h */, + ); + path = stb_vorbis; + sourceTree = ""; + }; + A011E4880F65784E00FAE48D /* Window */ = { + isa = PBXGroup; + children = ( + A011E4890F65784E00FAE48D /* Cocoa */, + A011E4960F65784E00FAE48D /* Context.cpp */, + A011E4970F65784E00FAE48D /* glext */, + A011E49B0F65784E00FAE48D /* Input.cpp */, + A011E49C0F65784E00FAE48D /* Joystick.hpp */, + A011E4AC0F65784E00FAE48D /* VideoMode.cpp */, + A011E4AD0F65784E00FAE48D /* VideoModeSupport.hpp */, + A011E4B50F65784E00FAE48D /* Window.cpp */, + A011E4B60F65784E00FAE48D /* WindowImpl.cpp */, + A011E4B70F65784E00FAE48D /* WindowImpl.hpp */, + ); + name = Window; + path = ../../src/SFML/Window; + sourceTree = SOURCE_ROOT; + }; + A011E4890F65784E00FAE48D /* Cocoa */ = { + isa = PBXGroup; + children = ( + A011E48A0F65784E00FAE48D /* AppController.h */, + A011E48B0F65784E00FAE48D /* AppController.mm */, + A011E48C0F65784E00FAE48D /* GLKit.h */, + A011E48D0F65784E00FAE48D /* GLKit.mm */, + A011E48E0F65784E00FAE48D /* Joystick.cpp */, + A011E48F0F65784E00FAE48D /* Joystick.hpp */, + A011E4900F65784E00FAE48D /* VideoModeSupport.cpp */, + A011E4910F65784E00FAE48D /* VideoModeSupport.hpp */, + A011E4940F65784E00FAE48D /* WindowImplCocoa.hpp */, + A011E4950F65784E00FAE48D /* WindowImplCocoa.mm */, + ); + path = Cocoa; + sourceTree = ""; + }; + A011E4970F65784E00FAE48D /* glext */ = { + isa = PBXGroup; + children = ( + A011E4980F65784E00FAE48D /* glext.h */, + A011E4990F65784E00FAE48D /* glxext.h */, + A011E49A0F65784E00FAE48D /* wglext.h */, + ); + path = glext; + sourceTree = ""; + }; + A011E4E20F65786600FAE48D /* Graphics */ = { + isa = PBXGroup; + children = ( + A011E4E30F65786600FAE48D /* Arial.hpp */, + A011E4E40F65786600FAE48D /* Color.cpp */, + A011E4E50F65786600FAE48D /* Drawable.cpp */, + A011E4E60F65786600FAE48D /* Font.cpp */, + A011E4E70F65786600FAE48D /* FontLoader.cpp */, + A011E4E80F65786600FAE48D /* FontLoader.hpp */, + A011E4E90F65786600FAE48D /* GLEW */, + A011E4EE0F65786600FAE48D /* GraphicsContext.cpp */, + A011E4EF0F65786600FAE48D /* GraphicsContext.hpp */, + A011E4F00F65786600FAE48D /* Image.cpp */, + A011E4F10F65786600FAE48D /* ImageLoader.cpp */, + A011E4F20F65786600FAE48D /* ImageLoader.hpp */, + A011E4F30F65786600FAE48D /* libjpeg */, + A011E52E0F65786600FAE48D /* libpng */, + A011E5430F65786600FAE48D /* Matrix3.cpp */, + A011E5440F65786600FAE48D /* PostFX.cpp */, + A011E5450F65786600FAE48D /* RenderTarget.cpp */, + A011E5460F65786600FAE48D /* RenderWindow.cpp */, + A011E5470F65786600FAE48D /* Shape.cpp */, + A011E5480F65786600FAE48D /* SOIL */, + A011E5510F65786600FAE48D /* Sprite.cpp */, + A011E5520F65786600FAE48D /* String.cpp */, + A011E5530F65786600FAE48D /* View.cpp */, + A011E5540F65786600FAE48D /* zlib */, + ); + name = Graphics; + path = ../../src/SFML/Graphics; + sourceTree = SOURCE_ROOT; + }; + A011E4E90F65786600FAE48D /* GLEW */ = { + isa = PBXGroup; + children = ( + A011E4EA0F65786600FAE48D /* glew.c */, + A011E4EB0F65786600FAE48D /* glew.h */, + A011E4EC0F65786600FAE48D /* glxew.h */, + A011E4ED0F65786600FAE48D /* wglew.h */, + ); + path = GLEW; + sourceTree = ""; + }; + A011E4F30F65786600FAE48D /* libjpeg */ = { + isa = PBXGroup; + children = ( + A011E4F40F65786600FAE48D /* cderror.h */, + A011E4F50F65786600FAE48D /* jcapimin.c */, + A011E4F60F65786600FAE48D /* jcapistd.c */, + A011E4F70F65786600FAE48D /* jccoefct.c */, + A011E4F80F65786600FAE48D /* jccolor.c */, + A011E4F90F65786600FAE48D /* jcdctmgr.c */, + A011E4FA0F65786600FAE48D /* jchuff.c */, + A011E4FB0F65786600FAE48D /* jchuff.h */, + A011E4FC0F65786600FAE48D /* jcinit.c */, + A011E4FD0F65786600FAE48D /* jcmainct.c */, + A011E4FE0F65786600FAE48D /* jcmarker.c */, + A011E4FF0F65786600FAE48D /* jcmaster.c */, + A011E5000F65786600FAE48D /* jcomapi.c */, + A011E5010F65786600FAE48D /* jconfig.h */, + A011E5020F65786600FAE48D /* jcparam.c */, + A011E5030F65786600FAE48D /* jcphuff.c */, + A011E5040F65786600FAE48D /* jcprepct.c */, + A011E5050F65786600FAE48D /* jcsample.c */, + A011E5060F65786600FAE48D /* jctrans.c */, + A011E5070F65786600FAE48D /* jdapimin.c */, + A011E5080F65786600FAE48D /* jdapistd.c */, + A011E5090F65786600FAE48D /* jdatadst.c */, + A011E50A0F65786600FAE48D /* jdatasrc.c */, + A011E50B0F65786600FAE48D /* jdcoefct.c */, + A011E50C0F65786600FAE48D /* jdcolor.c */, + A011E50D0F65786600FAE48D /* jdct.h */, + A011E50E0F65786600FAE48D /* jddctmgr.c */, + A011E50F0F65786600FAE48D /* jdhuff.c */, + A011E5100F65786600FAE48D /* jdhuff.h */, + A011E5110F65786600FAE48D /* jdinput.c */, + A011E5120F65786600FAE48D /* jdmainct.c */, + A011E5130F65786600FAE48D /* jdmarker.c */, + A011E5140F65786600FAE48D /* jdmaster.c */, + A011E5150F65786600FAE48D /* jdmerge.c */, + A011E5160F65786600FAE48D /* jdphuff.c */, + A011E5170F65786600FAE48D /* jdpostct.c */, + A011E5180F65786600FAE48D /* jdsample.c */, + A011E5190F65786600FAE48D /* jdtrans.c */, + A011E51A0F65786600FAE48D /* jerror.c */, + A011E51B0F65786600FAE48D /* jerror.h */, + A011E51C0F65786600FAE48D /* jfdctflt.c */, + A011E51D0F65786600FAE48D /* jfdctfst.c */, + A011E51E0F65786600FAE48D /* jfdctint.c */, + A011E51F0F65786600FAE48D /* jidctflt.c */, + A011E5200F65786600FAE48D /* jidctfst.c */, + A011E5210F65786600FAE48D /* jidctint.c */, + A011E5220F65786600FAE48D /* jidctred.c */, + A011E5230F65786600FAE48D /* jinclude.h */, + A011E5240F65786600FAE48D /* jmemmgr.c */, + A011E5250F65786600FAE48D /* jmemnobs.c */, + A011E5260F65786600FAE48D /* jmemsys.h */, + A011E5270F65786600FAE48D /* jmorecfg.h */, + A011E5280F65786600FAE48D /* jpegint.h */, + A011E5290F65786600FAE48D /* jpeglib.h */, + A011E52A0F65786600FAE48D /* jquant1.c */, + A011E52B0F65786600FAE48D /* jquant2.c */, + A011E52C0F65786600FAE48D /* jutils.c */, + A011E52D0F65786600FAE48D /* jversion.h */, + ); + path = libjpeg; + sourceTree = ""; + }; + A011E52E0F65786600FAE48D /* libpng */ = { + isa = PBXGroup; + children = ( + A011E52F0F65786600FAE48D /* png.c */, + A011E5300F65786600FAE48D /* png.h */, + A011E5310F65786600FAE48D /* pngconf.h */, + A011E5320F65786600FAE48D /* pngerror.c */, + A011E5330F65786600FAE48D /* pnggccrd.c */, + A011E5340F65786600FAE48D /* pngget.c */, + A011E5350F65786600FAE48D /* pngmem.c */, + A011E5360F65786600FAE48D /* pngpread.c */, + A011E5370F65786600FAE48D /* pngread.c */, + A011E5380F65786600FAE48D /* pngrio.c */, + A011E5390F65786600FAE48D /* pngrtran.c */, + A011E53A0F65786600FAE48D /* pngrutil.c */, + A011E53B0F65786600FAE48D /* pngset.c */, + A011E53C0F65786600FAE48D /* pngtrans.c */, + A011E53D0F65786600FAE48D /* pngvcrd.c */, + A011E53E0F65786600FAE48D /* pngwio.c */, + A011E53F0F65786600FAE48D /* pngwrite.c */, + A011E5400F65786600FAE48D /* pngwtran.c */, + A011E5410F65786600FAE48D /* pngwutil.c */, + ); + path = libpng; + sourceTree = ""; + }; + A011E5480F65786600FAE48D /* SOIL */ = { + isa = PBXGroup; + children = ( + A011E5490F65786600FAE48D /* image_DXT.c */, + A011E54A0F65786600FAE48D /* image_DXT.h */, + A011E54B0F65786600FAE48D /* SOIL.c */, + A011E54C0F65786600FAE48D /* SOIL.h */, + A011E54D0F65786600FAE48D /* stb_image_aug.c */, + A011E54E0F65786600FAE48D /* stb_image_aug.h */, + A011E54F0F65786600FAE48D /* stbi_DDS_aug.h */, + A011E5500F65786600FAE48D /* stbi_DDS_aug_c.h */, + ); + path = SOIL; + sourceTree = ""; + }; + A011E5540F65786600FAE48D /* zlib */ = { + isa = PBXGroup; + children = ( + A011E5550F65786600FAE48D /* adler32.c */, + A011E5560F65786600FAE48D /* compress.c */, + A011E5570F65786600FAE48D /* crc32.c */, + A011E5580F65786600FAE48D /* crc32.h */, + A011E5590F65786600FAE48D /* deflate.c */, + A011E55A0F65786600FAE48D /* deflate.h */, + A011E55B0F65786600FAE48D /* inffast.c */, + A011E55C0F65786600FAE48D /* inffast.h */, + A011E55D0F65786600FAE48D /* inffixed.h */, + A011E55E0F65786600FAE48D /* inflate.c */, + A011E55F0F65786600FAE48D /* inflate.h */, + A011E5600F65786600FAE48D /* inftrees.c */, + A011E5610F65786600FAE48D /* inftrees.h */, + A011E5620F65786600FAE48D /* trees.c */, + A011E5630F65786600FAE48D /* trees.h */, + A011E5640F65786600FAE48D /* uncompr.c */, + A011E5650F65786600FAE48D /* zconf.h */, + A011E5660F65786600FAE48D /* zlib.h */, + A011E5670F65786600FAE48D /* zutil.c */, + A011E5680F65786600FAE48D /* zutil.h */, + ); + path = zlib; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + A011E36E0F65749300FAE48D /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + A011E43B0F65780E00FAE48D /* Platform.hpp in Headers */, + A011E4410F65780E00FAE48D /* Platform.hpp in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A011E3790F65749F00FAE48D /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A011E3820F6574AC00FAE48D /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + A011E4750F65783900FAE48D /* AudioDevice.hpp in Headers */, + A011E47A0F65783900FAE48D /* OpenAL.hpp in Headers */, + A011E47F0F65783900FAE48D /* SoundFile.hpp in Headers */, + A011E4810F65783900FAE48D /* SoundFileDefault.hpp in Headers */, + A011E4830F65783900FAE48D /* SoundFileOgg.hpp in Headers */, + A011E4870F65783900FAE48D /* stb_vorbis.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A011E38B0F6574B500FAE48D /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + A011E4B80F65784E00FAE48D /* AppController.h in Headers */, + A011E4BA0F65784E00FAE48D /* GLKit.h in Headers */, + A011E4BD0F65784E00FAE48D /* Joystick.hpp in Headers */, + A011E4BF0F65784E00FAE48D /* VideoModeSupport.hpp in Headers */, + A011E4C20F65784E00FAE48D /* WindowImplCocoa.hpp in Headers */, + A011E4C50F65784E00FAE48D /* glext.h in Headers */, + A011E4C60F65784E00FAE48D /* glxext.h in Headers */, + A011E4C70F65784E00FAE48D /* wglext.h in Headers */, + A011E4C90F65784E00FAE48D /* Joystick.hpp in Headers */, + A011E4D80F65784E00FAE48D /* VideoModeSupport.hpp in Headers */, + A011E4E10F65784E00FAE48D /* WindowImpl.hpp in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A011E3940F6574BE00FAE48D /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + A011E5690F65786600FAE48D /* Arial.hpp in Headers */, + A011E56E0F65786600FAE48D /* FontLoader.hpp in Headers */, + A011E5700F65786600FAE48D /* glew.h in Headers */, + A011E5710F65786600FAE48D /* glxew.h in Headers */, + A011E5720F65786600FAE48D /* wglew.h in Headers */, + A011E5740F65786600FAE48D /* GraphicsContext.hpp in Headers */, + A011E5770F65786600FAE48D /* ImageLoader.hpp in Headers */, + A011E5780F65786600FAE48D /* cderror.h in Headers */, + A011E57F0F65786600FAE48D /* jchuff.h in Headers */, + A011E5850F65786600FAE48D /* jconfig.h in Headers */, + A011E5910F65786600FAE48D /* jdct.h in Headers */, + A011E5940F65786600FAE48D /* jdhuff.h in Headers */, + A011E59F0F65786600FAE48D /* jerror.h in Headers */, + A011E5A70F65786600FAE48D /* jinclude.h in Headers */, + A011E5AA0F65786600FAE48D /* jmemsys.h in Headers */, + A011E5AB0F65786600FAE48D /* jmorecfg.h in Headers */, + A011E5AC0F65786600FAE48D /* jpegint.h in Headers */, + A011E5AD0F65786600FAE48D /* jpeglib.h in Headers */, + A011E5B10F65786600FAE48D /* jversion.h in Headers */, + A011E5B30F65786600FAE48D /* png.h in Headers */, + A011E5B40F65786600FAE48D /* pngconf.h in Headers */, + A011E5CC0F65786600FAE48D /* image_DXT.h in Headers */, + A011E5CE0F65786600FAE48D /* SOIL.h in Headers */, + A011E5D00F65786600FAE48D /* stb_image_aug.h in Headers */, + A011E5D10F65786600FAE48D /* stbi_DDS_aug.h in Headers */, + A011E5D20F65786600FAE48D /* stbi_DDS_aug_c.h in Headers */, + A011E5D90F65786600FAE48D /* crc32.h in Headers */, + A011E5DB0F65786600FAE48D /* deflate.h in Headers */, + A011E5DD0F65786600FAE48D /* inffast.h in Headers */, + A011E5DE0F65786600FAE48D /* inffixed.h in Headers */, + A011E5E00F65786600FAE48D /* inflate.h in Headers */, + A011E5E20F65786600FAE48D /* inftrees.h in Headers */, + A011E5E40F65786600FAE48D /* trees.h in Headers */, + A011E5E60F65786600FAE48D /* zconf.h in Headers */, + A011E5E70F65786600FAE48D /* zlib.h in Headers */, + A011E5E90F65786600FAE48D /* zutil.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + A011E3710F65749300FAE48D /* csfml-system */ = { + isa = PBXNativeTarget; + buildConfigurationList = A011E3760F65749400FAE48D /* Build configuration list for PBXNativeTarget "csfml-system" */; + buildPhases = ( + A011E36E0F65749300FAE48D /* Headers */, + A011E36F0F65749300FAE48D /* Sources */, + A011E3700F65749300FAE48D /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "csfml-system"; + productName = "csfml-system"; + productReference = A011E3720F65749300FAE48D /* libcsfml-system.dylib */; + productType = "com.apple.product-type.library.dynamic"; + }; + A011E37C0F65749F00FAE48D /* csfml-network */ = { + isa = PBXNativeTarget; + buildConfigurationList = A011E3A70F6574E400FAE48D /* Build configuration list for PBXNativeTarget "csfml-network" */; + buildPhases = ( + A011E3790F65749F00FAE48D /* Headers */, + A011E37A0F65749F00FAE48D /* Sources */, + A011E37B0F65749F00FAE48D /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "csfml-network"; + productName = "csfml-network"; + productReference = A011E37D0F65749F00FAE48D /* libcsfml-network.dylib */; + productType = "com.apple.product-type.library.dynamic"; + }; + A011E3850F6574AC00FAE48D /* csfml-audio */ = { + isa = PBXNativeTarget; + buildConfigurationList = A011E3A80F6574E400FAE48D /* Build configuration list for PBXNativeTarget "csfml-audio" */; + buildPhases = ( + A011E3820F6574AC00FAE48D /* Headers */, + A011E3830F6574AC00FAE48D /* Sources */, + A011E3840F6574AC00FAE48D /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "csfml-audio"; + productName = "csfml-audio"; + productReference = A011E3860F6574AC00FAE48D /* libcsfml-audio.dylib */; + productType = "com.apple.product-type.library.dynamic"; + }; + A011E38E0F6574B500FAE48D /* csfml-window */ = { + isa = PBXNativeTarget; + buildConfigurationList = A011E3A90F6574E400FAE48D /* Build configuration list for PBXNativeTarget "csfml-window" */; + buildPhases = ( + A011E38B0F6574B500FAE48D /* Headers */, + A011E38C0F6574B500FAE48D /* Sources */, + A011E38D0F6574B500FAE48D /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "csfml-window"; + productName = "csfml-window"; + productReference = A011E38F0F6574B500FAE48D /* libcsfml-window.dylib */; + productType = "com.apple.product-type.library.dynamic"; + }; + A011E3970F6574BE00FAE48D /* csfml-graphics */ = { + isa = PBXNativeTarget; + buildConfigurationList = A011E3AA0F6574E400FAE48D /* Build configuration list for PBXNativeTarget "csfml-graphics" */; + buildPhases = ( + A011E3940F6574BE00FAE48D /* Headers */, + A011E3950F6574BE00FAE48D /* Sources */, + A011E3960F6574BE00FAE48D /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "csfml-graphics"; + productName = "csfml-graphics"; + productReference = A011E3980F6574BE00FAE48D /* libcsfml-graphics.dylib */; + productType = "com.apple.product-type.library.dynamic"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + A011E3570F65738800FAE48D /* Project object */ = { + isa = PBXProject; + buildConfigurationList = A011E35A0F65738800FAE48D /* Build configuration list for PBXProject "SFML-bare" */; + compatibilityVersion = "Xcode 2.4"; + hasScannedForEncodings = 0; + mainGroup = A011E3550F65738800FAE48D; + productRefGroup = A011E3730F65749300FAE48D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + A011E39B0F6574D600FAE48D /* All */, + A011E3710F65749300FAE48D /* csfml-system */, + A011E37C0F65749F00FAE48D /* csfml-network */, + A011E3850F6574AC00FAE48D /* csfml-audio */, + A011E38E0F6574B500FAE48D /* csfml-window */, + A011E3970F6574BE00FAE48D /* csfml-graphics */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + A011E36F0F65749300FAE48D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + A011E3E30F65776B00FAE48D /* Sleep.cpp in Sources */, + A011E3E40F65776B00FAE48D /* Thread.cpp in Sources */, + A011E3E50F65776B00FAE48D /* Randomizer.cpp in Sources */, + A011E3E60F65776B00FAE48D /* Clock.cpp in Sources */, + A011E3E70F65776B00FAE48D /* Mutex.cpp in Sources */, + A011E4370F65780E00FAE48D /* Clock.cpp in Sources */, + A011E4380F65780E00FAE48D /* Initializer.cpp in Sources */, + A011E4390F65780E00FAE48D /* Lock.cpp in Sources */, + A011E43C0F65780E00FAE48D /* Randomizer.cpp in Sources */, + A011E43D0F65780E00FAE48D /* Sleep.cpp in Sources */, + A011E43E0F65780E00FAE48D /* Unicode.cpp in Sources */, + A011E43F0F65780E00FAE48D /* Mutex.cpp in Sources */, + A011E4400F65780E00FAE48D /* Platform.cpp in Sources */, + A011E4420F65780E00FAE48D /* Thread.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A011E37A0F65749F00FAE48D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + A011E3F10F65777800FAE48D /* Ftp.cpp in Sources */, + A011E3F20F65777800FAE48D /* Http.cpp in Sources */, + A011E3F30F65777800FAE48D /* IPAddress.cpp in Sources */, + A011E3F40F65777800FAE48D /* Packet.cpp in Sources */, + A011E3F50F65777800FAE48D /* Selector.cpp in Sources */, + A011E3F60F65777800FAE48D /* SocketTCP.cpp in Sources */, + A011E3F70F65777800FAE48D /* SocketUDP.cpp in Sources */, + A011E4540F65782800FAE48D /* Ftp.cpp in Sources */, + A011E4550F65782800FAE48D /* Http.cpp in Sources */, + A011E4560F65782800FAE48D /* IPAddress.cpp in Sources */, + A011E4580F65782800FAE48D /* Packet.cpp in Sources */, + A011E4590F65782800FAE48D /* SelectorBase.cpp in Sources */, + A011E45A0F65782800FAE48D /* SocketTCP.cpp in Sources */, + A011E45B0F65782800FAE48D /* SocketUDP.cpp in Sources */, + A011E45C0F65782800FAE48D /* SocketHelper.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A011E3830F6574AC00FAE48D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + A011E3FF0F65778600FAE48D /* Listener.cpp in Sources */, + A011E4000F65778600FAE48D /* Music.cpp in Sources */, + A011E4010F65778600FAE48D /* Sound.cpp in Sources */, + A011E4020F65778600FAE48D /* SoundBuffer.cpp in Sources */, + A011E4030F65778600FAE48D /* SoundBufferRecorder.cpp in Sources */, + A011E4040F65778600FAE48D /* SoundRecorder.cpp in Sources */, + A011E4050F65778600FAE48D /* SoundStream.cpp in Sources */, + A011E4740F65783900FAE48D /* AudioDevice.cpp in Sources */, + A011E4760F65783900FAE48D /* AudioResource.cpp in Sources */, + A011E4770F65783900FAE48D /* Listener.cpp in Sources */, + A011E4790F65783900FAE48D /* Music.cpp in Sources */, + A011E47B0F65783900FAE48D /* Sound.cpp in Sources */, + A011E47C0F65783900FAE48D /* SoundBuffer.cpp in Sources */, + A011E47D0F65783900FAE48D /* SoundBufferRecorder.cpp in Sources */, + A011E47E0F65783900FAE48D /* SoundFile.cpp in Sources */, + A011E4800F65783900FAE48D /* SoundFileDefault.cpp in Sources */, + A011E4820F65783900FAE48D /* SoundFileOgg.cpp in Sources */, + A011E4840F65783900FAE48D /* SoundRecorder.cpp in Sources */, + A011E4850F65783900FAE48D /* SoundStream.cpp in Sources */, + A011E4860F65783900FAE48D /* stb_vorbis.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A011E38C0F6574B500FAE48D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + A011E40A0F65779900FAE48D /* Context.cpp in Sources */, + A011E40B0F65779900FAE48D /* Input.cpp in Sources */, + A011E40C0F65779900FAE48D /* VideoMode.cpp in Sources */, + A011E40D0F65779900FAE48D /* Window.cpp in Sources */, + A011E4B90F65784E00FAE48D /* AppController.mm in Sources */, + A011E4BB0F65784E00FAE48D /* GLKit.mm in Sources */, + A011E4BC0F65784E00FAE48D /* Joystick.cpp in Sources */, + A011E4BE0F65784E00FAE48D /* VideoModeSupport.cpp in Sources */, + A011E4C30F65784E00FAE48D /* WindowImplCocoa.mm in Sources */, + A011E4C40F65784E00FAE48D /* Context.cpp in Sources */, + A011E4C80F65784E00FAE48D /* Input.cpp in Sources */, + A011E4D70F65784E00FAE48D /* VideoMode.cpp in Sources */, + A011E4DF0F65784E00FAE48D /* Window.cpp in Sources */, + A011E4E00F65784E00FAE48D /* WindowImpl.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A011E3950F6574BE00FAE48D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + A011E4180F6577A500FAE48D /* Color.cpp in Sources */, + A011E4190F6577A500FAE48D /* Font.cpp in Sources */, + A011E41A0F6577A500FAE48D /* Image.cpp in Sources */, + A011E41B0F6577A500FAE48D /* PostFX.cpp in Sources */, + A011E41C0F6577A500FAE48D /* Rect.cpp in Sources */, + A011E41D0F6577A500FAE48D /* RenderWindow.cpp in Sources */, + A011E41E0F6577A500FAE48D /* Shape.cpp in Sources */, + A011E41F0F6577A500FAE48D /* Sprite.cpp in Sources */, + A011E4200F6577A500FAE48D /* String.cpp in Sources */, + A011E4210F6577A500FAE48D /* View.cpp in Sources */, + A011E56A0F65786600FAE48D /* Color.cpp in Sources */, + A011E56B0F65786600FAE48D /* Drawable.cpp in Sources */, + A011E56C0F65786600FAE48D /* Font.cpp in Sources */, + A011E56D0F65786600FAE48D /* FontLoader.cpp in Sources */, + A011E56F0F65786600FAE48D /* glew.c in Sources */, + A011E5730F65786600FAE48D /* GraphicsContext.cpp in Sources */, + A011E5750F65786600FAE48D /* Image.cpp in Sources */, + A011E5760F65786600FAE48D /* ImageLoader.cpp in Sources */, + A011E5790F65786600FAE48D /* jcapimin.c in Sources */, + A011E57A0F65786600FAE48D /* jcapistd.c in Sources */, + A011E57B0F65786600FAE48D /* jccoefct.c in Sources */, + A011E57C0F65786600FAE48D /* jccolor.c in Sources */, + A011E57D0F65786600FAE48D /* jcdctmgr.c in Sources */, + A011E57E0F65786600FAE48D /* jchuff.c in Sources */, + A011E5800F65786600FAE48D /* jcinit.c in Sources */, + A011E5810F65786600FAE48D /* jcmainct.c in Sources */, + A011E5820F65786600FAE48D /* jcmarker.c in Sources */, + A011E5830F65786600FAE48D /* jcmaster.c in Sources */, + A011E5840F65786600FAE48D /* jcomapi.c in Sources */, + A011E5860F65786600FAE48D /* jcparam.c in Sources */, + A011E5870F65786600FAE48D /* jcphuff.c in Sources */, + A011E5880F65786600FAE48D /* jcprepct.c in Sources */, + A011E5890F65786600FAE48D /* jcsample.c in Sources */, + A011E58A0F65786600FAE48D /* jctrans.c in Sources */, + A011E58B0F65786600FAE48D /* jdapimin.c in Sources */, + A011E58C0F65786600FAE48D /* jdapistd.c in Sources */, + A011E58D0F65786600FAE48D /* jdatadst.c in Sources */, + A011E58E0F65786600FAE48D /* jdatasrc.c in Sources */, + A011E58F0F65786600FAE48D /* jdcoefct.c in Sources */, + A011E5900F65786600FAE48D /* jdcolor.c in Sources */, + A011E5920F65786600FAE48D /* jddctmgr.c in Sources */, + A011E5930F65786600FAE48D /* jdhuff.c in Sources */, + A011E5950F65786600FAE48D /* jdinput.c in Sources */, + A011E5960F65786600FAE48D /* jdmainct.c in Sources */, + A011E5970F65786600FAE48D /* jdmarker.c in Sources */, + A011E5980F65786600FAE48D /* jdmaster.c in Sources */, + A011E5990F65786600FAE48D /* jdmerge.c in Sources */, + A011E59A0F65786600FAE48D /* jdphuff.c in Sources */, + A011E59B0F65786600FAE48D /* jdpostct.c in Sources */, + A011E59C0F65786600FAE48D /* jdsample.c in Sources */, + A011E59D0F65786600FAE48D /* jdtrans.c in Sources */, + A011E59E0F65786600FAE48D /* jerror.c in Sources */, + A011E5A00F65786600FAE48D /* jfdctflt.c in Sources */, + A011E5A10F65786600FAE48D /* jfdctfst.c in Sources */, + A011E5A20F65786600FAE48D /* jfdctint.c in Sources */, + A011E5A30F65786600FAE48D /* jidctflt.c in Sources */, + A011E5A40F65786600FAE48D /* jidctfst.c in Sources */, + A011E5A50F65786600FAE48D /* jidctint.c in Sources */, + A011E5A60F65786600FAE48D /* jidctred.c in Sources */, + A011E5A80F65786600FAE48D /* jmemmgr.c in Sources */, + A011E5A90F65786600FAE48D /* jmemnobs.c in Sources */, + A011E5AE0F65786600FAE48D /* jquant1.c in Sources */, + A011E5AF0F65786600FAE48D /* jquant2.c in Sources */, + A011E5B00F65786600FAE48D /* jutils.c in Sources */, + A011E5B20F65786600FAE48D /* png.c in Sources */, + A011E5B50F65786600FAE48D /* pngerror.c in Sources */, + A011E5B60F65786600FAE48D /* pnggccrd.c in Sources */, + A011E5B70F65786600FAE48D /* pngget.c in Sources */, + A011E5B80F65786600FAE48D /* pngmem.c in Sources */, + A011E5B90F65786600FAE48D /* pngpread.c in Sources */, + A011E5BA0F65786600FAE48D /* pngread.c in Sources */, + A011E5BB0F65786600FAE48D /* pngrio.c in Sources */, + A011E5BC0F65786600FAE48D /* pngrtran.c in Sources */, + A011E5BD0F65786600FAE48D /* pngrutil.c in Sources */, + A011E5BE0F65786600FAE48D /* pngset.c in Sources */, + A011E5BF0F65786600FAE48D /* pngtrans.c in Sources */, + A011E5C00F65786600FAE48D /* pngvcrd.c in Sources */, + A011E5C10F65786600FAE48D /* pngwio.c in Sources */, + A011E5C20F65786600FAE48D /* pngwrite.c in Sources */, + A011E5C30F65786600FAE48D /* pngwtran.c in Sources */, + A011E5C40F65786600FAE48D /* pngwutil.c in Sources */, + A011E5C60F65786600FAE48D /* Matrix3.cpp in Sources */, + A011E5C70F65786600FAE48D /* PostFX.cpp in Sources */, + A011E5C80F65786600FAE48D /* RenderTarget.cpp in Sources */, + A011E5C90F65786600FAE48D /* RenderWindow.cpp in Sources */, + A011E5CA0F65786600FAE48D /* Shape.cpp in Sources */, + A011E5CB0F65786600FAE48D /* image_DXT.c in Sources */, + A011E5CD0F65786600FAE48D /* SOIL.c in Sources */, + A011E5CF0F65786600FAE48D /* stb_image_aug.c in Sources */, + A011E5D30F65786600FAE48D /* Sprite.cpp in Sources */, + A011E5D40F65786600FAE48D /* String.cpp in Sources */, + A011E5D50F65786600FAE48D /* View.cpp in Sources */, + A011E5D60F65786600FAE48D /* adler32.c in Sources */, + A011E5D70F65786600FAE48D /* compress.c in Sources */, + A011E5D80F65786600FAE48D /* crc32.c in Sources */, + A011E5DA0F65786600FAE48D /* deflate.c in Sources */, + A011E5DC0F65786600FAE48D /* inffast.c in Sources */, + A011E5DF0F65786600FAE48D /* inflate.c in Sources */, + A011E5E10F65786600FAE48D /* inftrees.c in Sources */, + A011E5E30F65786600FAE48D /* trees.c in Sources */, + A011E5E50F65786600FAE48D /* uncompr.c in Sources */, + A011E5E80F65786600FAE48D /* zutil.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + A011E3B00F6574EF00FAE48D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = A011E3970F6574BE00FAE48D /* csfml-graphics */; + targetProxy = A011E3AF0F6574EF00FAE48D /* PBXContainerItemProxy */; + }; + A011E3B20F6574EF00FAE48D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = A011E38E0F6574B500FAE48D /* csfml-window */; + targetProxy = A011E3B10F6574EF00FAE48D /* PBXContainerItemProxy */; + }; + A011E3B40F6574EF00FAE48D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = A011E3850F6574AC00FAE48D /* csfml-audio */; + targetProxy = A011E3B30F6574EF00FAE48D /* PBXContainerItemProxy */; + }; + A011E3B60F6574EF00FAE48D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = A011E37C0F65749F00FAE48D /* csfml-network */; + targetProxy = A011E3B50F6574EF00FAE48D /* PBXContainerItemProxy */; + }; + A011E3B80F6574EF00FAE48D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = A011E3710F65749300FAE48D /* csfml-system */; + targetProxy = A011E3B70F6574EF00FAE48D /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + A011E3580F65738800FAE48D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)"; + ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386"; + CONFIGURATION_BUILD_DIR = "$(SRCROOT)/../../lib"; + COPY_PHASE_STRIP = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = YES; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_PROTOTYPE_CONVERSION = YES; + GCC_WARN_SHADOW = YES; + GCC_WARN_SIGN_COMPARE = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_PARAMETER = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../src", + "$(SRCROOT)/../include", + "$(SRCROOT)/../../include", + "$(SRCROOT)/../../src", + ); + OBJROOT = "$(SRCROOT)/build"; + SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + SYMROOT = "$(SRCROOT)/../../lib"; + }; + name = Debug; + }; + A011E3590F65738800FAE48D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)"; + ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386"; + CONFIGURATION_BUILD_DIR = "$(SRCROOT)/../../lib"; + COPY_PHASE_STRIP = YES; + GCC_OPTIMIZATION_LEVEL = 2; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../src", + "$(SRCROOT)/../include", + "$(SRCROOT)/../../include", + "$(SRCROOT)/../../src", + ); + OBJROOT = "$(SRCROOT)/build"; + SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + SYMROOT = "$(SRCROOT)/../../lib"; + }; + name = Release; + }; + A011E3740F65749400FAE48D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = NO; + EXECUTABLE_PREFIX = lib; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /usr/local/lib; + OTHER_LDFLAGS = ( + "-framework", + CoreFoundation, + ); + PREBINDING = NO; + PRODUCT_NAME = "csfml-system-d"; + }; + name = Debug; + }; + A011E3750F65749400FAE48D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + EXECUTABLE_PREFIX = lib; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_MODEL_TUNING = G5; + INSTALL_PATH = /usr/local/lib; + OTHER_LDFLAGS = ( + "-framework", + CoreFoundation, + ); + PREBINDING = NO; + PRODUCT_NAME = "csfml-system"; + ZERO_LINK = NO; + }; + name = Release; + }; + A011E37E0F65749F00FAE48D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = NO; + EXECUTABLE_PREFIX = lib; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /usr/local/lib; + PREBINDING = NO; + PRODUCT_NAME = "csfml-network-d"; + }; + name = Debug; + }; + A011E37F0F65749F00FAE48D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + EXECUTABLE_PREFIX = lib; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_MODEL_TUNING = G5; + INSTALL_PATH = /usr/local/lib; + PREBINDING = NO; + PRODUCT_NAME = "csfml-network"; + ZERO_LINK = NO; + }; + name = Release; + }; + A011E3870F6574AC00FAE48D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = NO; + EXECUTABLE_PREFIX = lib; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../extlibs/libs-xcode\""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../src", + "$(SRCROOT)/../include", + "$(SRCROOT)/../../include", + "$(SRCROOT)/../../src", + "$(SRCROOT)/../../extlibs/headers", + ); + INSTALL_PATH = /usr/local/lib; + OTHER_LDFLAGS = ( + "-framework", + OpenAL, + ); + PREBINDING = NO; + PRODUCT_NAME = "csfml-audio-d"; + }; + name = Debug; + }; + A011E3880F6574AC00FAE48D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + EXECUTABLE_PREFIX = lib; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../extlibs/libs-xcode\""; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_MODEL_TUNING = G5; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../src", + "$(SRCROOT)/../include", + "$(SRCROOT)/../../include", + "$(SRCROOT)/../../src", + "$(SRCROOT)/../../extlibs/headers", + ); + INSTALL_PATH = /usr/local/lib; + OTHER_LDFLAGS = ( + "-framework", + OpenAL, + ); + PREBINDING = NO; + PRODUCT_NAME = "csfml-audio"; + ZERO_LINK = NO; + }; + name = Release; + }; + A011E3900F6574B500FAE48D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = NO; + EXECUTABLE_PREFIX = lib; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + INSTALL_PATH = /usr/local/lib; + OTHER_LDFLAGS = ( + "-framework", + Cocoa, + ); + PREBINDING = NO; + PRODUCT_NAME = "csfml-window-d"; + }; + name = Debug; + }; + A011E3910F6574B500FAE48D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + EXECUTABLE_PREFIX = lib; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_MODEL_TUNING = G5; + INSTALL_PATH = /usr/local/lib; + OTHER_LDFLAGS = ( + "-framework", + Cocoa, + ); + PREBINDING = NO; + PRODUCT_NAME = "csfml-window"; + ZERO_LINK = NO; + }; + name = Release; + }; + A011E3990F6574BE00FAE48D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = NO; + EXECUTABLE_PREFIX = lib; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../src", + "$(SRCROOT)/../include", + "$(SRCROOT)/../../include", + "$(SRCROOT)/../../src", + "$(SRCROOT)/../../extlibs/headers", + ); + INSTALL_PATH = /usr/local/lib; + OTHER_LDFLAGS = ( + "-framework", + OpenGL, + "$(SRCROOT)/../../extlibs/libs-xcode/libfreetype.a", + ); + PREBINDING = NO; + PRODUCT_NAME = "csfml-graphics-d"; + }; + name = Debug; + }; + A011E39A0F6574BE00FAE48D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + EXECUTABLE_PREFIX = lib; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_MODEL_TUNING = G5; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../src", + "$(SRCROOT)/../include", + "$(SRCROOT)/../../include", + "$(SRCROOT)/../../src", + "$(SRCROOT)/../../extlibs/headers", + ); + INSTALL_PATH = /usr/local/lib; + OTHER_LDFLAGS = ( + "-framework", + OpenGL, + "$(SRCROOT)/../../extlibs/libs-xcode/libfreetype.a", + ); + PREBINDING = NO; + PRODUCT_NAME = "csfml-graphics"; + ZERO_LINK = NO; + }; + name = Release; + }; + A011E39C0F6574D600FAE48D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + PRODUCT_NAME = All; + }; + name = Debug; + }; + A011E39D0F6574D600FAE48D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + PRODUCT_NAME = All; + ZERO_LINK = NO; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + A011E35A0F65738800FAE48D /* Build configuration list for PBXProject "SFML-bare" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A011E3580F65738800FAE48D /* Debug */, + A011E3590F65738800FAE48D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + A011E3760F65749400FAE48D /* Build configuration list for PBXNativeTarget "csfml-system" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A011E3740F65749400FAE48D /* Debug */, + A011E3750F65749400FAE48D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + A011E3A70F6574E400FAE48D /* Build configuration list for PBXNativeTarget "csfml-network" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A011E37E0F65749F00FAE48D /* Debug */, + A011E37F0F65749F00FAE48D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + A011E3A80F6574E400FAE48D /* Build configuration list for PBXNativeTarget "csfml-audio" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A011E3870F6574AC00FAE48D /* Debug */, + A011E3880F6574AC00FAE48D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + A011E3A90F6574E400FAE48D /* Build configuration list for PBXNativeTarget "csfml-window" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A011E3900F6574B500FAE48D /* Debug */, + A011E3910F6574B500FAE48D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + A011E3AA0F6574E400FAE48D /* Build configuration list for PBXNativeTarget "csfml-graphics" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A011E3990F6574BE00FAE48D /* Debug */, + A011E39A0F6574BE00FAE48D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + A011E3AB0F6574E400FAE48D /* Build configuration list for PBXAggregateTarget "All" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A011E39C0F6574D600FAE48D /* Debug */, + A011E39D0F6574D600FAE48D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = A011E3570F65738800FAE48D /* Project object */; +} From d4e7e7724f495673fe818d05baec98ed5e345033 Mon Sep 17 00:00:00 2001 From: remi-k Date: Sat, 14 Mar 2009 22:28:16 +0000 Subject: [PATCH 19/27] Split __init__ into __init__ and __new__, code clean up git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1056 4e206d99-4929-0410-ac5d-dfc041789085 --- python/PySFML/__init__.py | 1 + python/src/Clock.cpp | 13 +---- python/src/Color.cpp | 51 +++-------------- python/src/Drawable.cpp | 35 +++++------- python/src/Drawable.hpp | 4 +- python/src/Event.cpp | 80 ++++---------------------- python/src/Font.cpp | 14 ++--- python/src/Glyph.cpp | 18 ++---- python/src/Image.cpp | 87 ++++++++++++++-------------- python/src/Input.cpp | 14 +---- python/src/Listener.cpp | 10 +--- python/src/Music.cpp | 30 +++------- python/src/PostFX.cpp | 44 ++++++--------- python/src/PostFX.hpp | 1 + python/src/Rect.cpp | 57 ++++++------------- python/src/RenderWindow.cpp | 43 +++++--------- python/src/Shape.cpp | 20 +++---- python/src/Shape.hpp | 1 + python/src/Sound.cpp | 77 +++++++++++++------------ python/src/SoundBuffer.cpp | 41 ++++++-------- python/src/SoundBufferRecorder.cpp | 11 +--- python/src/SoundRecorder.cpp | 15 ++--- python/src/SoundStream.cpp | 17 +++--- python/src/Sprite.cpp | 3 +- python/src/Sprite.hpp | 1 + python/src/String.cpp | 91 ++++++++++++++---------------- python/src/String.hpp | 1 + python/src/VideoMode.cpp | 37 +++--------- python/src/Window.cpp | 9 +-- python/src/WindowSettings.cpp | 21 ++----- 30 files changed, 305 insertions(+), 542 deletions(-) diff --git a/python/PySFML/__init__.py b/python/PySFML/__init__.py index 8b1378917..48163e520 100644 --- a/python/PySFML/__init__.py +++ b/python/PySFML/__init__.py @@ -1 +1,2 @@ +__all__ = ['sf'] diff --git a/python/src/Clock.cpp b/python/src/Clock.cpp index 714a6603a..c6ba62880 100644 --- a/python/src/Clock.cpp +++ b/python/src/Clock.cpp @@ -41,21 +41,12 @@ PySfClock_new(PyTypeObject *type, PyObject *args, PyObject *kwds) self = (PySfClock *)type->tp_alloc(type, 0); if (self != NULL) - { - } + self->obj = new sf::Clock(); return (PyObject *)self; } -static int -PySfClock_init(PySfClock *self, PyObject *args, PyObject *kwds) -{ - self->obj = new sf::Clock(); - return 0; -} - - static PyObject* PySfClock_GetElapsedTime(PySfClock *self) { @@ -111,7 +102,7 @@ PyTypeObject PySfClockType = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfClock_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfClock_new, /* tp_new */ }; diff --git a/python/src/Color.cpp b/python/src/Color.cpp index be8f16754..567a2da93 100644 --- a/python/src/Color.cpp +++ b/python/src/Color.cpp @@ -57,52 +57,28 @@ static PyObject * PySfColor_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { PySfColor *self; - self = (PySfColor *)type->tp_alloc(type, 0); - if (self != NULL) { self->r = 0; self->g = 0; self->b = 0; self->a = 255; + self->obj = new sf::Color(0, 0, 0, 255); } - return (PyObject *)self; } - -static int -PySfColor_init(PySfColor *self, PyObject *args, PyObject *kwds) +static int +PySfColor_init(PySfColor *self, PyObject *args, PyObject *kwds) { const char *kwlist[] = {"r", "g", "b", "a", NULL}; - - long int rgba=0; - - - if (PyTuple_Size(args) == 1) - { - if ( !PyArg_ParseTuple(args, "l", &rgba)) - return -1; - self->r = rgba & 0xff; - self->g = rgba>>8 & 0xff; - self->b = rgba>>16 & 0xff; - self->a = rgba>>24 & 0xff; - } - else if (PyTuple_Size(args) > 1) - if (! PyArg_ParseTupleAndKeywords(args, kwds, "BBB|B", (char **)kwlist, &(self->r), &(self->g), &(self->b), &(self->a))) - return -1; - - self->obj = new sf::Color(self->r, self->g, self->b, self->a); - + if (!PyArg_ParseTupleAndKeywords(args, kwds, "BBB|B:Color.__init__", (char **)kwlist, &(self->r), &(self->g), &(self->b), &(self->a))) + return -1; + PySfColorUpdate(self); return 0; } -static PyMethodDef PySfColor_methods[] = { - {NULL} /* Sentinel */ -}; - - PyTypeObject PySfColorType = { head_init "Color", /*tp_name*/ @@ -131,7 +107,7 @@ PyTypeObject PySfColorType = { 0, /* tp_weaklistoffset */ 0, /* tp_iter */ 0, /* tp_iternext */ - PySfColor_methods, /* tp_methods */ + 0, /* tp_methods */ PySfColor_members, /* tp_members */ 0, /* tp_getset */ 0, /* tp_base */ @@ -147,7 +123,7 @@ PyTypeObject PySfColorType = { PySfColor * GetNewPySfColor() { - return (PySfColor *)PySfColor_new(&PySfColorType, NULL, NULL); + return PyObject_New(PySfColor, &PySfColorType); } void @@ -218,16 +194,5 @@ PySfColor_InitConst() Cyan->a = sf::Color::Cyan.a; PyDict_SetItemString(PySfColorType.tp_dict, "Cyan", (PyObject *)Cyan); Py_DECREF(Cyan); - -/* - static const Color Black; ///< Black predefined color - static const Color White; ///< White predefined color - static const Color Red; ///< Red predefined color - static const Color Green; ///< Green predefined color - static const Color Blue; ///< Blue predefined color - static const Color Yellow; ///< Yellow predefined color - static const Color Magenta; ///< Magenta predefined color - static const Color Cyan; ///< Cyan predefined color -*/ } diff --git a/python/src/Drawable.cpp b/python/src/Drawable.cpp index 99e6c419e..75ab0407c 100644 --- a/python/src/Drawable.cpp +++ b/python/src/Drawable.cpp @@ -36,7 +36,10 @@ void CustomDrawable::Render(sf::RenderTarget& Target) const if (RenderFunction) PyObject_CallFunction(RenderFunction, (char *)"O", RenderWindow); else + { PyErr_SetString(PyExc_RuntimeError, "Custom drawables must have a render method defined"); + PyErr_Print(); + } } static void @@ -51,21 +54,17 @@ PySfDrawable_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { PySfDrawable *self; self = (PySfDrawable *)type->tp_alloc(type, 0); - return (PyObject *)self; -} - -static int -PySfDrawable_init(PySfDrawable *self, PyObject *args, PyObject *kwds) -{ - self->obj = new CustomDrawable(); - if (PyObject_HasAttrString((PyObject *)self, "Render")) + if (self != NULL) { - self->obj->RenderFunction = PyObject_GetAttrString((PyObject *)self, "Render"); + self->IsCustom = true; + self->obj = new CustomDrawable(); + if (PyObject_HasAttrString((PyObject *)self, "Render")) + self->obj->RenderFunction = PyObject_GetAttrString((PyObject *)self, "Render"); + else + self->obj->RenderFunction = NULL; + self->obj->RenderWindow = NULL; } - else - self->obj->RenderFunction = NULL; - self->obj->RenderWindow = NULL; - return 0; + return (PyObject *)self; } static PyObject * @@ -128,7 +127,7 @@ static PyObject * PySfDrawable_SetColor(PySfDrawable* self, PyObject *args) { PySfColor *Color = (PySfColor *)args; - if (! PyObject_TypeCheck(args, &PySfColorType)) + if (!PyObject_TypeCheck(args, &PySfColorType)) { PyErr_SetString(PyExc_TypeError, "Drawable.SetColor() Argument is not a sf.Color"); return NULL; @@ -318,15 +317,9 @@ PyTypeObject PySfDrawableType = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfDrawable_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfDrawable_new, /* tp_new */ }; -PySfDrawable * -GetNewPySfDrawable() -{ - return (PySfDrawable *)PySfDrawable_new(&PySfDrawableType, NULL, NULL); -} - diff --git a/python/src/Drawable.hpp b/python/src/Drawable.hpp index 6e227271a..84049c5a3 100644 --- a/python/src/Drawable.hpp +++ b/python/src/Drawable.hpp @@ -44,11 +44,9 @@ public : typedef struct { PyObject_HEAD + bool IsCustom; CustomDrawable *obj; } PySfDrawable; -PySfDrawable * -GetNewPySfDrawable(); - #endif diff --git a/python/src/Event.cpp b/python/src/Event.cpp index e6a899c00..449295deb 100644 --- a/python/src/Event.cpp +++ b/python/src/Event.cpp @@ -51,12 +51,6 @@ PySfEventText_new(PyTypeObject *type, PyObject *args, PyObject *kwds) return (PyObject *)self; } -int -PySfEventText_init(PySfEventText *self, PyObject *args, PyObject *kwds) -{ - return 0; -} - void PySfEventText_dealloc(PySfEventText* self) { @@ -99,7 +93,7 @@ PyTypeObject PySfEventTextType = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfEventText_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfEventText_new, /* tp_new */ }; @@ -129,12 +123,6 @@ PySfEventKey_new(PyTypeObject *type, PyObject *args, PyObject *kwds) return (PyObject *)self; } -int -PySfEventKey_init(PySfEventKey *self, PyObject *args, PyObject *kwds) -{ - return 0; -} - void PySfEventKey_dealloc(PySfEventKey* self) { @@ -185,7 +173,7 @@ PyTypeObject PySfEventKeyType = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfEventKey_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfEventKey_new, /* tp_new */ }; @@ -210,12 +198,6 @@ PySfEventMouseMove_new(PyTypeObject *type, PyObject *args, PyObject *kwds) return (PyObject *)self; } -int -PySfEventMouseMove_init(PySfEventMouseMove *self, PyObject *args, PyObject *kwds) -{ - return 0; -} - void PySfEventMouseMove_dealloc(PySfEventMouseMove *self) { @@ -265,7 +247,7 @@ PyTypeObject PySfEventMouseMoveType = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfEventMouseMove_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfEventMouseMove_new, /* tp_new */ }; @@ -291,12 +273,6 @@ PySfEventMouseButton_new(PyTypeObject *type, PyObject *args, PyObject *kwds) return (PyObject *)self; } -int -PySfEventMouseButton_init(PySfEventMouseButton *self, PyObject *args, PyObject *kwds) -{ - return 0; -} - void PySfEventMouseButton_dealloc(PySfEventMouseButton* self) { @@ -347,7 +323,7 @@ PyTypeObject PySfEventMouseButtonType = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfEventMouseButton_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfEventMouseButton_new, /* tp_new */ }; @@ -371,12 +347,6 @@ PySfEventMouseWheel_new(PyTypeObject *type, PyObject *args, PyObject *kwds) return (PyObject *)self; } -int -PySfEventMouseWheel_init(PySfEventMouseWheel *self, PyObject *args, PyObject *kwds) -{ - return 0; -} - void PySfEventMouseWheel_dealloc(PySfEventMouseWheel* self) { @@ -424,7 +394,7 @@ PyTypeObject PySfEventMouseWheelType = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfEventMouseWheel_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfEventMouseWheel_new, /* tp_new */ }; @@ -450,12 +420,6 @@ PySfEventJoyMove_new(PyTypeObject *type, PyObject *args, PyObject *kwds) return (PyObject *)self; } -int -PySfEventJoyMove_init(PySfEventJoyMove *self, PyObject *args, PyObject *kwds) -{ - return 0; -} - void PySfEventJoyMove_dealloc(PySfEventJoyMove* self) { @@ -506,7 +470,7 @@ PyTypeObject PySfEventJoyMoveType = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfEventJoyMove_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfEventJoyMove_new, /* tp_new */ }; @@ -531,12 +495,6 @@ PySfEventJoyButton_new(PyTypeObject *type, PyObject *args, PyObject *kwds) return (PyObject *)self; } -int -PySfEventJoyButton_init(PySfEventJoyButton *self, PyObject *args, PyObject *kwds) -{ - return 0; -} - void PySfEventJoyButton_dealloc(PySfEventJoyButton* self) { @@ -586,7 +544,7 @@ PyTypeObject PySfEventJoyButtonType = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfEventJoyButton_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfEventJoyButton_new, /* tp_new */ }; @@ -611,12 +569,6 @@ PySfEventSize_new(PyTypeObject *type, PyObject *args, PyObject *kwds) return (PyObject *)self; } -int -PySfEventSize_init(PySfEventSize *self, PyObject *args, PyObject *kwds) -{ - return 0; -} - void PySfEventSize_dealloc(PySfEventSize* self) { @@ -665,7 +617,7 @@ PyTypeObject PySfEventSizeType = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfEventSize_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfEventSize_new, /* tp_new */ }; @@ -680,13 +632,6 @@ PyTypeObject PySfEventSizeType = { //////////////////////////////////// -static int -PySfEvent_init(PySfEvent *self, PyObject *args, PyObject *kwds) -{ - self->obj = new sf::Event(); - return 0; -} - static PyObject * PySfEvent_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { @@ -703,6 +648,7 @@ PySfEvent_new(PyTypeObject *type, PyObject *args, PyObject *kwds) self->JoyMove = (PySfEventJoyMove *)PySfEventJoyMove_new(&PySfEventJoyMoveType, NULL, NULL); self->JoyButton = (PySfEventJoyButton *)PySfEventJoyButton_new(&PySfEventJoyButtonType, NULL, NULL); self->Size = (PySfEventSize *)PySfEventSize_new(&PySfEventSizeType, NULL, NULL); + self->obj = new sf::Event(); } return (PyObject *)self; @@ -736,10 +682,6 @@ static PyMemberDef PySfEvent_members[] = { {NULL} /* Sentinel */ }; -static PyMethodDef PySfEvent_methods[] = { - {NULL} /* Sentinel */ -}; - PyTypeObject PySfEventType = { head_init "Event", /*tp_name*/ @@ -768,7 +710,7 @@ PyTypeObject PySfEventType = { 0, /* tp_weaklistoffset */ 0, /* tp_iter */ 0, /* tp_iternext */ - PySfEvent_methods, /* tp_methods */ + 0, /* tp_methods */ PySfEvent_members, /* tp_members */ 0, /* tp_getset */ 0, /* tp_base */ @@ -776,7 +718,7 @@ PyTypeObject PySfEventType = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfEvent_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfEvent_new, /* tp_new */ }; diff --git a/python/src/Font.cpp b/python/src/Font.cpp index b506456a1..cd6f7bd9f 100644 --- a/python/src/Font.cpp +++ b/python/src/Font.cpp @@ -42,17 +42,13 @@ PySfFont_new(PyTypeObject *type, PyObject *args, PyObject *kwds) PySfFont *self; self = (PySfFont *)type->tp_alloc(type, 0); if (self != NULL) + { self->Owner = true; + self->obj = new sf::Font(); + } return (PyObject *)self; } -static int -PySfFont_init(PySfFont *self, PyObject *args, PyObject *kwds) -{ - self->obj = new sf::Font(); - return 0; -} - static PyObject * PySfFont_LoadFromFile(PySfFont* self, PyObject *args, PyObject *kwds) { @@ -238,7 +234,7 @@ PyTypeObject PySfFontType = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfFont_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfFont_new, /* tp_new */ }; @@ -246,7 +242,7 @@ PyTypeObject PySfFontType = { PySfFont * GetNewPySfFont() { - return (PySfFont *)PySfFont_new(&PySfFontType, NULL, NULL); + return PyObject_New(PySfFont, &PySfFontType); } diff --git a/python/src/Glyph.cpp b/python/src/Glyph.cpp index 2f82b058f..d7fe9fc3f 100644 --- a/python/src/Glyph.cpp +++ b/python/src/Glyph.cpp @@ -91,21 +91,13 @@ PySfGlyph_new(PyTypeObject *type, PyObject *args, PyObject *kwds) self->Advance = 0; self->Rectangle = GetNewPySfIntRect(); self->TexCoords = GetNewPySfFloatRect(); + self->obj = new sf::Glyph(); + self->Rectangle->obj = &(self->obj->Rectangle); + self->TexCoords->obj = &(self->obj->TexCoords); } return (PyObject *)self; } - -static int -PySfGlyph_init(PySfGlyph *self, PyObject *args, PyObject *kwds) -{ - self->obj = new sf::Glyph(); - self->Rectangle->obj = &(self->obj->Rectangle); - self->TexCoords->obj = &(self->obj->TexCoords); - return 0; -} - - PyTypeObject PySfGlyphType = { head_init "Glyph", /*tp_name*/ @@ -142,7 +134,7 @@ PyTypeObject PySfGlyphType = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfGlyph_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfGlyph_new, /* tp_new */ }; @@ -150,6 +142,6 @@ PyTypeObject PySfGlyphType = { PySfGlyph * GetNewPySfGlyph() { - return (PySfGlyph *)PySfGlyph_new(&PySfGlyphType, NULL, NULL); + return PyObject_New(PySfGlyph, &PySfGlyphType); } diff --git a/python/src/Image.cpp b/python/src/Image.cpp index 3d8b060e7..d98e4ea29 100644 --- a/python/src/Image.cpp +++ b/python/src/Image.cpp @@ -41,13 +41,7 @@ PySfImage_dealloc(PySfImage* self) } static PyObject * -PySfImage_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfImage *self; - self = (PySfImage *)type->tp_alloc(type, 0); - return (PyObject *)self; -} - +PySfImage_new(PyTypeObject *type, PyObject *args, PyObject *kwds); static PyObject * PySfImage_Create(PySfImage* self, PyObject *args, PyObject *kwds) @@ -57,7 +51,7 @@ PySfImage_Create(PySfImage* self, PyObject *args, PyObject *kwds) unsigned int Width=0, Height=0; const char *kwlist[] = {"Width", "Height", "Color", NULL}; - if (! PyArg_ParseTupleAndKeywords(args, kwds, "|IIO!:Image.Create", (char **)kwlist, &Width, &Height, &PySfColorType, &ColorTmp)) + if (!PyArg_ParseTupleAndKeywords(args, kwds, "|IIO!:Image.Create", (char **)kwlist, &Width, &Height, &PySfColorType, &ColorTmp)) return NULL; if (ColorTmp) @@ -79,7 +73,7 @@ PySfImage_CopyScreen(PySfImage* self, PyObject *args) PySfIntRect *SourceRect=NULL; bool Result; - if (! PyArg_ParseTuple(args, "O!|O!:Image.CopyScreen", &PySfRenderWindowType, &RenderWindow, &PySfIntRectType, &SourceRect)) + if (!PyArg_ParseTuple(args, "O!|O!:Image.CopyScreen", &PySfRenderWindowType, &RenderWindow, &PySfIntRectType, &SourceRect)) return NULL; @@ -164,7 +158,7 @@ PySfImage_LoadFromMemory(PySfImage* self, PyObject *args) unsigned int SizeInBytes; char *Data; - if (! PyArg_ParseTuple(args, "s#:Image.LoadFromMemory", &Data, &SizeInBytes)) + if (!PyArg_ParseTuple(args, "s#:Image.LoadFromMemory", &Data, &SizeInBytes)) return NULL; return PyBool_FromLong(self->obj->LoadFromMemory(Data, (std::size_t) SizeInBytes)); @@ -205,9 +199,6 @@ PySfImage_SaveToFile (PySfImage *self, PyObject *args) save_to_file(self, args); } -static int -PySfImage_init(PySfImage *self, PyObject *args, PyObject *kwds); - static PyObject * PySfImage_Bind(PySfImage *self) { @@ -248,7 +239,7 @@ PySfImage_GetTexCoords(PySfImage* self, PyObject *args) bool Adjust = false; PyObject *AdjustObj = NULL; - if (! PyArg_ParseTuple(args, "O!|O", &PySfIntRectType, &RectArg, &AdjustObj)) + if (!PyArg_ParseTuple(args, "O!|O:Image.GetTextCoords", &PySfIntRectType, &RectArg, &AdjustObj)) return NULL; if (AdjustObj) @@ -258,7 +249,7 @@ PySfImage_GetTexCoords(PySfImage* self, PyObject *args) PySfFloatRect *Rect; Rect = GetNewPySfFloatRect(); - Rect->obj = new sf::FloatRect ( self->obj->GetTexCoords(*(RectArg->obj), Adjust) ); + Rect->obj = new sf::FloatRect(self->obj->GetTexCoords(*(RectArg->obj), Adjust)); Rect->Left = Rect->obj->Left; Rect->Top = Rect->obj->Top; Rect->Right = Rect->obj->Right; @@ -267,8 +258,26 @@ PySfImage_GetTexCoords(PySfImage* self, PyObject *args) return (PyObject *)Rect; } +static int +PySfImage_init(PySfImage *self, PyObject *args, PyObject *kwds) +{ + int size = PyTuple_Size(args); + if (size > 0) + { + if (PySfImage_Create(self, args, kwds) == NULL) + { + if (size != 3) + return -1; + else if (PySfImage_LoadFromPixels(self, args) == NULL) + return -1; + else PyErr_Clear(); + } + } + return 0; +} + static PyObject * -PySfImage_Copy(PySfImage* self, PyObject *args); +PySfImage_Copy(PySfImage* self, PyObject *args, PyObject *kwds); static PyMethodDef PySfImage_methods[] = { {"Copy", (PyCFunction)PySfImage_Copy, METH_VARARGS, "Copy(Source, DestX, DestY, SourceRect = sf.IntRect(0,0,0,0))\n\ @@ -352,44 +361,38 @@ Copy constructor : sf.Image(Copy) where Copy is a sf.Image instance.", /* tp_doc PySfImage_new, /* tp_new */ }; -static int -PySfImage_init(PySfImage *self, PyObject *args, PyObject *kwds) +static PyObject * +PySfImage_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { - int size = PyTuple_Size(args); - if (size == 1) + PySfImage *self; + self = (PySfImage *)type->tp_alloc(type, 0); + if (self != NULL) { - PySfImage *Image; - if (PyArg_ParseTuple(args, "O!", &PySfImageType, &Image)) + if (PyTuple_Size(args) == 1) { - self->obj = new sf::Image(*(Image->obj)); - return 0; - } - else PyErr_Clear(); - } - self->obj = new sf::Image(); - if (PyTuple_Size(args) > 0) - { - if (PySfImage_Create(self, args, kwds) == NULL) - { - if (size != 3) - return -1; - else if (PySfImage_LoadFromPixels(self, args) == NULL) - return -1; + PySfImage *Image; + if (PyArg_ParseTuple(args, "O!", &PySfImageType, &Image)) + { + self->obj = new sf::Image(*(Image->obj)); + } else PyErr_Clear(); } + else self->obj = new sf::Image(); } - return 0; + return (PyObject *)self; } static PyObject * -PySfImage_Copy(PySfImage* self, PyObject *args) +PySfImage_Copy(PySfImage* self, PyObject *args, PyObject *kwds) { + const char *kwlist[] = {"Source", "DestX", "DestY", "SourceRect", "ApplyAlpha", NULL}; PySfIntRect *SourceRect = NULL; PySfImage *Source = NULL; unsigned int DestX, DestY; - PyObject *PyApplyAlpha; - bool ApplyAlpha = false; - if (! PyArg_ParseTuple(args, "O!II|O!O:Image.Copy", &PySfImageType, &Source, &DestX, &DestY, &PySfIntRectType, &SourceRect, &PyApplyAlpha)) + PyObject *PyApplyAlpha = NULL; + bool ApplyAlpha = false; + + if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!II|O!O:Image.Copy", (char **)kwlist, &PySfImageType, &Source, &DestX, &DestY, &PySfIntRectType, &SourceRect, &PyApplyAlpha)) return NULL; if (PyApplyAlpha) @@ -410,6 +413,6 @@ PySfImage_Copy(PySfImage* self, PyObject *args) PySfImage * GetNewPySfImage() { - return (PySfImage *)PySfImage_new(&PySfImageType, NULL, NULL); + return PyObject_New(PySfImage, &PySfImageType); } diff --git a/python/src/Input.cpp b/python/src/Input.cpp index c146f69f1..d3322a5bd 100644 --- a/python/src/Input.cpp +++ b/python/src/Input.cpp @@ -29,17 +29,9 @@ static PyObject * PySfInput_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfInput *self; - self = (PySfInput *)type->tp_alloc(type, 0); - return (PyObject *)self; -} - -static int -PySfInput_init(PySfInput *self, PyObject *args, PyObject *kwds) { PyErr_SetString(PyExc_RuntimeError, "You can't create an Input object yourself, because an Input object must always be associated to its window.\nThe only way to get an Input is by creating a window and calling : Input = MyWindow.GetInput()."); - return -1; + return NULL; } static PyObject* @@ -129,7 +121,7 @@ PyTypeObject PySfInputType = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfInput_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfInput_new, /* tp_new */ }; @@ -137,6 +129,6 @@ PyTypeObject PySfInputType = { PySfInput * GetNewPySfInput() { - return (PySfInput *)PySfInput_new(&PySfInputType, NULL, NULL); + return PyObject_New(PySfInput, &PySfInputType); } diff --git a/python/src/Listener.cpp b/python/src/Listener.cpp index 4f2f877e0..c286411e6 100644 --- a/python/src/Listener.cpp +++ b/python/src/Listener.cpp @@ -27,14 +27,6 @@ #include "compat.hpp" -static PyObject * -PySfListener_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfListener *self; - self = (PySfListener *)type->tp_alloc(type, 0); - return (PyObject *)self; -} - static PyObject * PySfListener_SetGlobalVolume(PySfListener* self, PyObject *args) { @@ -130,7 +122,7 @@ PyTypeObject PySfListenerType = { 0, /* tp_dictoffset */ 0, /* tp_init */ 0, /* tp_alloc */ - PySfListener_new, /* tp_new */ + 0, /* tp_new */ }; diff --git a/python/src/Music.cpp b/python/src/Music.cpp index ed54bf5f3..fae51b21a 100644 --- a/python/src/Music.cpp +++ b/python/src/Music.cpp @@ -40,37 +40,25 @@ PySfMusic_dealloc(PySfMusic *self) static PyObject * PySfMusic_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { + unsigned int BufferSize=44100; PySfMusic *self; self = (PySfMusic *)type->tp_alloc(type, 0); + if (self != NULL) + { + if (!PyArg_ParseTuple(args, "|I:Music.__new__", &BufferSize)) + return NULL; + self->obj = new sf::Music(BufferSize); + } return (PyObject *)self; } - -static int -PySfMusic_init(PySfMusic *self, PyObject *args, PyObject *kwds) -{ - unsigned int BufferSize=44100; - int size = PyTuple_Size(args); - if (size == 1) - { - if ( !PyArg_ParseTuple(args, "I:Music.Init", &BufferSize)) - return -1; - } - else if (size > 1) - { - PyErr_SetString(PyExc_TypeError, "Music.__init__() takes at most one argument"); - } - self->obj = new sf::Music(BufferSize); - return 0; -} - static PyObject* PySfMusic_OpenFromMemory(PySfMusic *self, PyObject *args) { unsigned int SizeInBytes; char *Data; - if (! PyArg_ParseTuple(args, "s#:Music.OpenFromMemory", &Data, &SizeInBytes)) + if (!PyArg_ParseTuple(args, "s#:Music.OpenFromMemory", &Data, &SizeInBytes)) return NULL; return PyBool_FromLong(self->obj->OpenFromMemory(Data, (std::size_t) SizeInBytes)); @@ -148,7 +136,7 @@ BufferSize : Size of the internal buffer, expressed in number of samples (ie. si 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfMusic_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfMusic_new, /* tp_new */ }; diff --git a/python/src/PostFX.cpp b/python/src/PostFX.cpp index 739920308..6d797a00e 100644 --- a/python/src/PostFX.cpp +++ b/python/src/PostFX.cpp @@ -41,12 +41,7 @@ PySfPostFX_dealloc(PySfPostFX *self) } static PyObject * -PySfPostFX_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfPostFX *self; - self = (PySfPostFX *)type->tp_alloc(type, 0); - return (PyObject *)self; -} +PySfPostFX_new(PyTypeObject *type, PyObject *args, PyObject *kwds); static PyObject * PySfPostFX_LoadFromFile (PySfPostFX *self, PyObject *args) @@ -73,10 +68,6 @@ PySfPostFX_LoadFromMemory (PySfPostFX *self, PyObject *args) return PyBool_FromLong(result); } -static int -PySfPostFX_init(PySfPostFX *self, PyObject *args); - - static PyObject * PySfPostFX_SetParameter(PySfPostFX* self, PyObject *args) { char *Name; float X, Y, Z, W; int size = PyTuple_Size(args); if (!PyArg_ParseTuple(args, "sf|fff:PostFX.SetParameter", &Name, &X, &Y, &Z, &W)) return NULL; switch (size) @@ -179,24 +170,25 @@ Copy constructor : sf.PostFX(Copy) where Copy is a sf.PostFX instance.", /* tp_d 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfPostFX_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfPostFX_new, /* tp_new */ }; -static int -PySfPostFX_init(PySfPostFX *self, PyObject *args) -{ - if (PyTuple_Size(args) == 1) - { - PySfPostFX *Copy; - if (PyArg_ParseTuple(args, "O!", &PySfPostFXType, &Copy)) - self->obj = new sf::PostFX(*(Copy->obj)); - else - return -1; - } - else - self->obj = new sf::PostFX(); - return 0; -} +static PyObject * +PySfPostFX_new(PyTypeObject *type, PyObject *args, PyObject *kwds) +{ + PySfPostFX *self; + self = (PySfPostFX *)type->tp_alloc(type, 0); + if (self != NULL) + { + PySfPostFX *Copy = NULL; + self->IsCustom = false; + if (!PyArg_ParseTuple(args, "|O!", &PySfPostFXType, &Copy)) + return NULL; + if (Copy) self->obj = new sf::PostFX(*(Copy->obj)); + else self->obj = new sf::PostFX(); + } + return (PyObject *)self; +} diff --git a/python/src/PostFX.hpp b/python/src/PostFX.hpp index 080b3a0a5..9994885f7 100644 --- a/python/src/PostFX.hpp +++ b/python/src/PostFX.hpp @@ -31,6 +31,7 @@ typedef struct { PyObject_HEAD + bool IsCustom; sf::PostFX *obj; } PySfPostFX; diff --git a/python/src/Rect.cpp b/python/src/Rect.cpp index a05583e92..26a61b5ac 100644 --- a/python/src/Rect.cpp +++ b/python/src/Rect.cpp @@ -63,36 +63,33 @@ PySfFloatRect_dealloc(PySfFloatRect* self) static PyObject * PySfIntRect_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { + const char *kwlist[] = {"Left", "Top", "Right", "Bottom", NULL}; PySfIntRect *self; self = (PySfIntRect *)type->tp_alloc(type, 0); + if (self != NULL) + { + if (!PyArg_ParseTupleAndKeywords(args, kwds, "iiii:IntRect.__init__", (char **)kwlist, &(self->Left), &(self->Top), &(self->Right), &(self->Bottom))) + return NULL; + self->obj = new sf::IntRect(self->Left, self->Top, self->Right, self->Bottom); + } return (PyObject *)self; } static PyObject * PySfFloatRect_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { + const char *kwlist[] = {"Left", "Top", "Right", "Bottom", NULL}; PySfFloatRect *self; self = (PySfFloatRect *)type->tp_alloc(type, 0); + if (self != NULL) + { + if (!PyArg_ParseTupleAndKeywords(args, kwds, "ffff:FloatRect.__init__", (char **)kwlist, &(self->Left), &(self->Top), &(self->Right), &(self->Bottom))) + return NULL; + self->obj = new sf::FloatRect(self->Left, self->Top, self->Right, self->Bottom); + } return (PyObject *)self; } -static int -PySfIntRect_init(PySfIntRect *self, PyObject *args, PyObject *kwds) -{ - const char *kwlist[] = {"Left", "Top", "Right", "Bottom", NULL}; - int Left, Top, Right, Bottom; - - if (!PyArg_ParseTupleAndKeywords(args, kwds, "iiii:IntRect.__init__", (char **)kwlist, &Left, &Top, &Right, &Bottom)) - return -1; - - self->Left = Left; - self->Top = Top; - self->Right = Right; - self->Bottom = Bottom; - self->obj = new sf::IntRect(Left, Top, Right, Bottom); - return 0; -} - static PyObject * PySfIntRect_GetWidth(PySfIntRect *self) { @@ -133,24 +130,6 @@ PySfFloatRect_Contains(PySfFloatRect* self, PyObject *args); static PyObject * PySfFloatRect_Intersects(PySfFloatRect* self, PyObject *args); -static int -PySfFloatRect_init(PySfFloatRect *self, PyObject *args, PyObject *kwds) -{ - const char *kwlist[] = {"Left", "Top", "Right", "Bottom", NULL}; - float Left, Top, Right, Bottom; - - if (!PyArg_ParseTupleAndKeywords(args, kwds, "ffff:FloatRect.__init__", (char **)kwlist, &Left, &Top, &Right, &Bottom)) - return -1; - - self->Left = Left; - self->Top = Top; - self->Right = Right; - self->Bottom = Bottom; - self->obj = new sf::FloatRect(Left, Top, Right, Bottom); - return 0; -} - - static PyObject * PySfIntRect_Offset(PySfIntRect* self, PyObject *args) { @@ -259,7 +238,7 @@ PyTypeObject PySfIntRectType = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfIntRect_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfIntRect_new, /* tp_new */ }; @@ -301,7 +280,7 @@ PyTypeObject PySfFloatRectType = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfFloatRect_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfFloatRect_new, /* tp_new */ }; @@ -406,13 +385,13 @@ PySfFloatRectUpdateSelf(PySfFloatRect *self) PySfIntRect * GetNewPySfIntRect() { - return (PySfIntRect *)PySfIntRect_new(&PySfIntRectType, NULL, NULL); + return PyObject_New(PySfIntRect, &PySfIntRectType); } PySfFloatRect * GetNewPySfFloatRect() { - return (PySfFloatRect *)PySfFloatRect_new(&PySfFloatRectType, NULL, NULL); + return PyObject_New(PySfFloatRect, &PySfFloatRectType); } diff --git a/python/src/RenderWindow.cpp b/python/src/RenderWindow.cpp index 221eee557..598efd877 100644 --- a/python/src/RenderWindow.cpp +++ b/python/src/RenderWindow.cpp @@ -52,19 +52,11 @@ static PyObject * PySfRenderWindow_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { PySfRenderWindow *self; - self = (PySfRenderWindow *)type->tp_alloc(type, 0); + self = (PySfRenderWindow *)type->tp_alloc(type, 0); + if (self != NULL) + self->obj = new sf::RenderWindow(); return (PyObject *)self; -} - -static int -PySfRenderWindow_init(PySfRenderWindow *self, PyObject *args, PyObject *kwds) -{ - self->obj = new sf::RenderWindow(); - if (PyTuple_Size(args) > 0) - if (PySfWindow_Create((PySfWindow *)self, args, kwds) == NULL) - return -1; - return 0; -} +} static PyObject * PySfRenderWindow_Capture(PySfRenderWindow *self) @@ -99,13 +91,13 @@ PySfRenderWindow_DrawObject(PySfRenderWindow *RenderWindow, PySfDrawable *Obj) { if (PyObject_TypeCheck((PyObject *)Obj, &PySfDrawableType)) { - if (PyObject_HasAttrString((PyObject *)Obj, "Render")) + if (Obj->IsCustom) { Py_CLEAR(Obj->obj->RenderWindow); Py_INCREF(RenderWindow); Obj->obj->RenderWindow = RenderWindow; } - RenderWindow->obj->Draw( *(Obj->obj) ); + RenderWindow->obj->Draw(*(Obj->obj)); return true; } return false; @@ -146,23 +138,14 @@ PySfRenderWindow_Draw(PySfRenderWindow *self, PyObject *args) static PyObject * PySfRenderWindow_Clear(PySfRenderWindow *self, PyObject *args) { - PySfColor *Color; - int size = PyTuple_Size(args); - if (size == 1) - { - if (!PyArg_ParseTuple(args, "O!:RenderWindow.Clear", &PySfColorType, &Color)) - return NULL; - PySfColorUpdate(Color); - self->obj->Clear(*(Color->obj)); - } - else if (size == 0) - { - self->obj->Clear(sf::Color::Black); - } + PySfColor *Color = NULL; + if (!PyArg_ParseTuple(args, "|O!:RenderWindow.Clear", &PySfColorType, &Color)) + return NULL; + if (Color == NULL) self->obj->Clear(sf::Color::Black); else { - PyErr_SetString(PyExc_TypeError, "RenderWindow.Clear() takes one or zero argument"); - return NULL; + PySfColorUpdate(Color); + self->obj->Clear(*(Color->obj)); } Py_RETURN_NONE; } @@ -281,7 +264,7 @@ Parameters:\n\ 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfRenderWindow_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfRenderWindow_new, /* tp_new */ }; diff --git a/python/src/Shape.cpp b/python/src/Shape.cpp index 89c016ee9..6ac2dd4a5 100644 --- a/python/src/Shape.cpp +++ b/python/src/Shape.cpp @@ -45,16 +45,14 @@ PySfShape_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { PySfShape *self; self = (PySfShape *)type->tp_alloc(type, 0); + if (self != NULL) + { + self->obj = new sf::Shape(); + self->IsCustom = false; + } return (PyObject *)self; } -static int -PySfShape_init(PySfShape *self, PyObject *args) -{ - self->obj = new sf::Shape(); - return 0; -} - // void AddPoint(float X, float Y, const Color& Col = Color(255, 255, 255), const Color& OutlineCol = Color(0, 0, 0)); static PyObject * PySfShape_AddPoint(PySfShape* self, PyObject *args, PyObject *kwds) @@ -231,7 +229,7 @@ PySfShape_SetPointOutlineColor(PySfShape* self, PyObject *args) { unsigned int Index; PySfColor *Color; - if (!PyArg_ParseTuple(args, "IO!:Shape:SetPointOutlineColor", &Index, &PySfColorType, &Color)) + if (!PyArg_ParseTuple(args, "IO!:Shape.SetPointOutlineColor", &Index, &PySfColorType, &Color)) return NULL; PySfColorUpdate(Color); self->obj->SetPointOutlineColor(Index, *(Color->obj)); @@ -365,7 +363,7 @@ PyTypeObject PySfShapeType = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfShape_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfShape_new, /* tp_new */ }; @@ -374,6 +372,8 @@ PyTypeObject PySfShapeType = { PySfShape * GetNewPySfShape() { - return (PySfShape *)PySfShape_new(&PySfShapeType, NULL, NULL); + PySfShape *Shape = PyObject_New(PySfShape, &PySfShapeType); + Shape->IsCustom = false; + return Shape; } diff --git a/python/src/Shape.hpp b/python/src/Shape.hpp index ee2d2ce1c..7e21bfc94 100644 --- a/python/src/Shape.hpp +++ b/python/src/Shape.hpp @@ -32,6 +32,7 @@ typedef struct { PyObject_HEAD + bool IsCustom; sf::Shape *obj; } PySfShape; diff --git a/python/src/Sound.cpp b/python/src/Sound.cpp index 494d7fb43..bd3418a9c 100644 --- a/python/src/Sound.cpp +++ b/python/src/Sound.cpp @@ -39,23 +39,38 @@ PySfSound_dealloc(PySfSound *self) } static PyObject * -PySfSound_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfSound *self; - self = (PySfSound *)type->tp_alloc(type, 0); - return (PyObject *)self; +PySfSound_new(PyTypeObject *type, PyObject *args, PyObject *kwds); + +static int +PySfSound_init(PySfSound *self, PyObject *args, PyObject *kwds) +{ + const char *kwlist[] = {"Buffer", "Loop", "Pitch", "Volume", "X", "Y", "Z", NULL}; + PySfSoundBuffer *Buffer=NULL; + PyObject *Loop=NULL; + float Pitch=1.f, Volume=100.f, X=0.f, Y=0.f, Z=0.f; + if (!PyArg_ParseTupleAndKeywords(args, kwds, "|O!Offfff:Sound.__new__", (char **)kwlist, &PySfSoundBufferType, &Buffer, &Loop, &Pitch, &Volume, &X, &Y, &Z)) + return -1; + { + if (Loop) + self->obj->SetLoop(PyBool_AsBool(Loop)); + if (Buffer) + self->obj->SetBuffer(*(Buffer->obj)); + self->obj->SetPitch(Pitch); + self->obj->SetVolume(Volume); + self->obj->SetPosition(X, Y, Z); + } + return 0; } - -static int -PySfSound_init(PySfSound *self, PyObject *args, PyObject *kwds); - static PyObject* PySfSound_SetBuffer(PySfSound *self, PyObject *args) { PySfSoundBuffer *Buffer = (PySfSoundBuffer *)args; if (!PyObject_TypeCheck(args, &PySfSoundBufferType)) + { PyErr_SetString(PyExc_TypeError, "Sound.SetBuffer() The argument must be a sf.SoundBuffer."); + return NULL; + } self->obj->SetBuffer(*(Buffer->obj)); Py_RETURN_NONE; @@ -269,38 +284,26 @@ Copy constructor : Sound(Copy) where Copy is a sf.Sound instance.", /* tp_doc */ PySfSound_new, /* tp_new */ }; -static int -PySfSound_init(PySfSound *self, PyObject *args, PyObject *kwds) -{ - const char *kwlist[] = {"Buffer", "Loop", "Pitch", "Volume", "X", "Y", "Z", NULL}; - PySfSoundBuffer *Buffer=NULL; - bool Loop=false; - PyObject *LoopObj=Py_False; - float Pitch=1.f, Volume=100.f, X=0.f, Y=0.f, Z=0.f; - - if (PyTuple_Size(args) == 1) +static PyObject * +PySfSound_new(PyTypeObject *type, PyObject *args, PyObject *kwds) +{ + PySfSound *self; + self = (PySfSound *)type->tp_alloc(type, 0); + if (self != NULL) { - PySfSound *Copy; - if (PyArg_ParseTuple(args, "O!:Sound.__init__", &PySfSoundType, &Copy)) + if (PyTuple_Size(args) == 1) { - self->obj = new sf::Sound(*(Copy->obj)); - return 0; + PySfSound *Copy; + if (PyArg_ParseTuple(args, "O!:Sound.__new__", &PySfSoundType, &Copy)) + { + self->obj = new sf::Sound(*(Copy->obj)); + return (PyObject *)self; + } + else PyErr_Clear(); } - else PyErr_Clear(); - } - if (PyTuple_Size(args) > 0) - { - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|Offfff:Sound.__init__", (char **)kwlist, &PySfSoundBufferType, &Buffer, &LoopObj, &Pitch, &Volume, &X, &Y, &Z)) - return -1; - if (PyObject_IsTrue(LoopObj)) - Loop = true; - - self->obj = new sf::Sound(*(Buffer->obj), Loop, Pitch, Volume, sf::Vector3f(X, Y, Z)); - } - else self->obj = new sf::Sound(); - - return 0; + } + return (PyObject *)self; } void diff --git a/python/src/SoundBuffer.cpp b/python/src/SoundBuffer.cpp index e3c95238c..bf4ac168b 100644 --- a/python/src/SoundBuffer.cpp +++ b/python/src/SoundBuffer.cpp @@ -35,15 +35,7 @@ PySfSoundBuffer_dealloc(PySfSoundBuffer *self) } static PyObject * -PySfSoundBuffer_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - PySfSoundBuffer *self; - self = (PySfSoundBuffer *)type->tp_alloc(type, 0); - return (PyObject *)self; -} - -static int -PySfSoundBuffer_init(PySfSoundBuffer *self, PyObject *args, PyObject *kwds); +PySfSoundBuffer_new(PyTypeObject *type, PyObject *args, PyObject *kwds); static PyObject* PySfSoundBuffer_LoadFromFile(PySfSoundBuffer *self, PyObject *args) @@ -170,32 +162,33 @@ Copy constructor : SoundBuffer(Copy) where Copy is a sf.SoundBuffer instance.", 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfSoundBuffer_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfSoundBuffer_new, /* tp_new */ }; -static int -PySfSoundBuffer_init(PySfSoundBuffer *self, PyObject *args, PyObject *kwds) +static PyObject * +PySfSoundBuffer_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { - int size = PyTuple_Size(args); - if (size == 1) + PySfSoundBuffer *self; + self = (PySfSoundBuffer *)type->tp_alloc(type, 0); + if (self != NULL) { - PySfSoundBuffer *Copy; - if (!PyArg_ParseTuple(args, "O!:SoundBuffer.__init__", &PySfSoundBufferType, &Copy)) - return -1; - self->obj = new sf::SoundBuffer(*(Copy->obj)); - } - else if (size == 0) + PySfSoundBuffer *Copy=NULL; + if (PyArg_ParseTuple(args, "O!:SoundBuffer.__init__", &PySfSoundBufferType, &Copy)) + { + self->obj = new sf::SoundBuffer(*(Copy->obj)); + return (PyObject *)self; + } + PyErr_Clear(); self->obj = new sf::SoundBuffer(); - else - PyErr_SetString(PyExc_TypeError, "SoundBuffer.__init__() takes 0 or 1 argument"); - return 0; + } + return (PyObject *)self; } PySfSoundBuffer * GetNewPySfSoundBuffer() { - return (PySfSoundBuffer *)PySfSoundBuffer_new(&PySfSoundBufferType, NULL, NULL); + return PyObject_New(PySfSoundBuffer, &PySfSoundBufferType); } diff --git a/python/src/SoundBufferRecorder.cpp b/python/src/SoundBufferRecorder.cpp index 5da462ae3..05978f6fb 100644 --- a/python/src/SoundBufferRecorder.cpp +++ b/python/src/SoundBufferRecorder.cpp @@ -43,16 +43,11 @@ PySfSoundBufferRecorder_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { PySfSoundBufferRecorder *self; self = (PySfSoundBufferRecorder *)type->tp_alloc(type, 0); + if (self != NULL) + self->obj = new sf::SoundBufferRecorder(); return (PyObject *)self; } -static int -PySfSoundBufferRecorder_init(PySfSoundBufferRecorder *self, PyObject *args) -{ - self->obj = new sf::SoundBufferRecorder(); - return 0; -} - static PyObject * PySfSoundBufferRecorder_GetBuffer(PySfSoundBufferRecorder* self) { @@ -103,7 +98,7 @@ PyTypeObject PySfSoundBufferRecorderType = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfSoundBufferRecorder_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfSoundBufferRecorder_new, /* tp_new */ }; diff --git a/python/src/SoundRecorder.cpp b/python/src/SoundRecorder.cpp index e45ef1828..46f7ae199 100644 --- a/python/src/SoundRecorder.cpp +++ b/python/src/SoundRecorder.cpp @@ -76,17 +76,14 @@ PySfSoundRecorder_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { PySfSoundRecorder *self; self = (PySfSoundRecorder *)type->tp_alloc(type, 0); + if (self != NULL) + { + self->obj = new CustomSoundRecorder(); + self->obj->SoundRecorder = (PyObject *)self; + } return (PyObject *)self; } -static int -PySfSoundRecorder_init(PySfSoundRecorder *self, PyObject *args) -{ - self->obj = new CustomSoundRecorder(); - self->obj->SoundRecorder = (PyObject *)self; - return 0; -} - static PyObject * PySfSoundRecorder_Start(PySfSoundRecorder* self, PyObject *args) { @@ -162,7 +159,7 @@ Construct the sound recorder with a callback function for processing captured sa 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfSoundRecorder_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfSoundRecorder_new, /* tp_new */ }; diff --git a/python/src/SoundStream.cpp b/python/src/SoundStream.cpp index 65bcb43eb..2a2f0d54c 100644 --- a/python/src/SoundStream.cpp +++ b/python/src/SoundStream.cpp @@ -81,15 +81,6 @@ void CustomSoundStream::Init(unsigned int ChannelsCount, unsigned int SampleRate Initialize(ChannelsCount, SampleRate); } -static int -PySfSoundStream_init(PySfSoundStream *self, PyObject *args, PyObject *kwds) -{ - self->obj = new CustomSoundStream(); - self->obj->PyData = NULL; - self->obj->SoundStream = (PyObject *)self; - return 0; -} - static void PySfSoundStream_dealloc(PySfSoundStream *self) { @@ -102,6 +93,12 @@ PySfSoundStream_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { PySfSoundStream *self; self = (PySfSoundStream *)type->tp_alloc(type, 0); + if (self != NULL) + { + self->obj = new CustomSoundStream(); + self->obj->PyData = NULL; + self->obj->SoundStream = (PyObject *)self; + } return (PyObject *)self; } @@ -310,7 +307,7 @@ or for streaming sound from the network", /* tp_doc */ 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfSoundStream_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfSoundStream_new, /* tp_new */ }; diff --git a/python/src/Sprite.cpp b/python/src/Sprite.cpp index 3070e47c8..5482acc7d 100644 --- a/python/src/Sprite.cpp +++ b/python/src/Sprite.cpp @@ -56,7 +56,8 @@ PySfSprite_new(PyTypeObject *type, PyObject *args, PyObject *kwds) if (self != NULL) { - self->Image = NULL; + self->Image = NULL; + self->IsCustom = false; } return (PyObject *)self; diff --git a/python/src/Sprite.hpp b/python/src/Sprite.hpp index aaab6d635..ae83bbf31 100644 --- a/python/src/Sprite.hpp +++ b/python/src/Sprite.hpp @@ -33,6 +33,7 @@ typedef struct { PyObject_HEAD + bool IsCustom; sf::Sprite *obj; PySfImage *Image; } PySfSprite; diff --git a/python/src/String.cpp b/python/src/String.cpp index 527233400..ecb168508 100644 --- a/python/src/String.cpp +++ b/python/src/String.cpp @@ -48,59 +48,14 @@ PySfString_new(PyTypeObject *type, PyObject *args, PyObject *kwds) PySfString *self; self = (PySfString *)type->tp_alloc(type, 0); if (self != NULL) + { self->font = NULL; + self->IsCustom = false; + self->obj = new sf::String(); + } return (PyObject *)self; } -static int -PySfString_init(PySfString *self, PyObject *args, PyObject *kwds) -{ - const char *kwlist[] = {"Text", "Font", "Size", NULL}; - float Size = 30.f; - PyObject *Text=NULL; - PySfFont *FontTmp = NULL; - sf::Font *Font; - - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|OO!f:String.__init__", (char **)kwlist, &Text, &PySfFontType, &FontTmp, &Size)) - return -1; - - if (FontTmp) - { - Font = (FontTmp->obj); - Py_INCREF(FontTmp); - self->font = FontTmp; - } - else - Font = (sf::Font *)&(sf::Font::GetDefaultFont()); - - if (Text != NULL) - { - if (PyUnicode_Check(Text)) - { -#if Py_UNICODE_SIZE == 4 - self->obj = new sf::String((sf::Uint32 *)PyUnicode_AS_UNICODE(Text), *Font, Size); -#else - self->obj = new sf::String((sf::Uint16 *)PyUnicode_AS_UNICODE(Text), *Font, Size); -#endif - } -#ifdef IS_PY3K - else if (PyBytes_Check(Text)) - self->obj = new sf::String(sf::Unicode::UTF8String((sf::Uint8 *)PyBytes_AsString(Text)), *Font, Size); -#else - else if (PyString_Check(Text)) - self->obj = new sf::String(sf::Unicode::UTF8String((sf::Uint8 *)PyString_AsString(Text)), *Font, Size); -#endif - else - { - PyErr_SetString(PyExc_TypeError, "String.__init__() first argument must be str"); - return -1; - } - } - else - self->obj = new sf::String("", *Font, Size); - return 0; -} - static PyObject * PySfString_SetText(PySfString* self, PyObject *args) { @@ -236,6 +191,44 @@ PySfString_GetCharacterPos(PySfString* self, PyObject *args) return Py_BuildValue("ff", Pos.x, Pos.y); } +static int +PySfString_init(PySfString *self, PyObject *args, PyObject *kwds) +{ + const char *kwlist[] = {"Text", "Font", "Size", NULL}; + float Size = 30.f; + PyObject *Text=NULL; + PySfFont *Font = NULL; + if (!PyArg_ParseTupleAndKeywords(args, kwds, "|OO!f:String.__new__", (char **)kwlist, &Text, &PySfFontType, &Font, &Size)) + return -1; + + if (Text != NULL) + { + if (PyUnicode_Check(Text)) + { +#if Py_UNICODE_SIZE == 4 + self->obj->SetText((sf::Uint32 *)PyUnicode_AS_UNICODE(Text)); +#else + self->obj->SetText((sf::Uint16 *)PyUnicode_AS_UNICODE(Text)); +#endif + } +#ifdef IS_PY3K + else if (PyBytes_Check(Text)) + self->obj->SetText(sf::Unicode::UTF8String((sf::Uint8 *)PyBytes_AsString(Text))); +#else + else if (PyString_Check(Text)) + self->obj->SetText(sf::Unicode::UTF8String((sf::Uint8 *)PyString_AsString(Text))); +#endif + else + { + PyErr_SetString(PyExc_TypeError, "String.__init__() first argument must be str"); + return -1; + } + } + if (Font) PySfString_SetFont(self, (PyObject *)Font); + self->obj->SetSize(Size); + return 0; +} + static PyMethodDef PySfString_methods[] = { {"GetCharacterPos", (PyCFunction)PySfString_GetCharacterPos, METH_O, "GetCharacterPos(Index)\n\ diff --git a/python/src/String.hpp b/python/src/String.hpp index f32e14250..ef26c6a61 100644 --- a/python/src/String.hpp +++ b/python/src/String.hpp @@ -33,6 +33,7 @@ typedef struct { PyObject_HEAD + bool IsCustom; sf::String *obj; PySfFont *font; } PySfString; diff --git a/python/src/VideoMode.cpp b/python/src/VideoMode.cpp index 70cefbb5c..5b630546f 100644 --- a/python/src/VideoMode.cpp +++ b/python/src/VideoMode.cpp @@ -48,17 +48,16 @@ PySfVideoMode_dealloc(PySfVideoMode* self) static PyObject * PySfVideoMode_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { + const char *kwlist[] = {"Width", "Height", "BitsPerPixel", NULL}; PySfVideoMode *self; - self = (PySfVideoMode *)type->tp_alloc(type, 0); - if (self != NULL) { - self->Width = 0; - self->Height = 0; self->BitsPerPixel = 32; + if (!PyArg_ParseTupleAndKeywords(args, kwds, "II|I:VideoMode.__init__", (char **)kwlist, &self->Width, &self->Height, &self->BitsPerPixel)) + return NULL; + self->obj = new sf::VideoMode(self->Width, self->Height, self->BitsPerPixel); } - return (PyObject *)self; } @@ -70,27 +69,10 @@ PySfVideoModeUpdate(PySfVideoMode *self) self->obj->BitsPerPixel = self->BitsPerPixel; } -static int -PySfVideoMode_init(PySfVideoMode *self, PyObject *args, PyObject *kwds) -{ - const char *kwlist[] = {"Width", "Height", "BitsPerPixel", NULL}; - - if (!PyArg_ParseTupleAndKeywords(args, kwds, "II|I:VideoMode.__init__", (char **)kwlist, &self->Width, &self->Height, &self->BitsPerPixel)) - return -1; - - self->obj = new sf::VideoMode(self->Width, self->Height, self->BitsPerPixel); - - return 0; -} - - - static PyObject * PySfVideoMode_IsValid(PySfVideoMode* self) { - self->obj->Width = self->Width; - self->obj->Height = self->Height; - self->obj->BitsPerPixel = self->BitsPerPixel; + PySfVideoModeUpdate(self); return PyBool_FromLong(self->obj->IsValid()); } @@ -100,7 +82,7 @@ PySfVideoMode_GetDesktopMode(PySfVideoMode* self) PySfVideoMode *VideoMode; VideoMode = GetNewPySfVideoMode(); - VideoMode->obj = new sf::VideoMode ( sf::VideoMode::GetDesktopMode() ); + VideoMode->obj = new sf::VideoMode(sf::VideoMode::GetDesktopMode()); VideoMode->Width = VideoMode->obj->Width; VideoMode->Height = VideoMode->obj->Height; VideoMode->BitsPerPixel = VideoMode->obj->BitsPerPixel; @@ -117,7 +99,7 @@ PySfVideoMode_GetMode(PySfVideoMode* self, PyObject *args) index = (std::size_t)PyLong_AsLong(args); VideoMode = GetNewPySfVideoMode(); - VideoMode->obj = new sf::VideoMode ( sf::VideoMode::GetMode(index) ); + VideoMode->obj = new sf::VideoMode(sf::VideoMode::GetMode(index)); VideoMode->Width = VideoMode->obj->Width; VideoMode->Height = VideoMode->obj->Height; VideoMode->BitsPerPixel = VideoMode->obj->BitsPerPixel; @@ -132,7 +114,6 @@ PySfVideoMode_GetModesCount(PySfVideoMode* self) } - static PyMethodDef PySfVideoMode_methods[] = { {"IsValid", (PyCFunction)PySfVideoMode_IsValid, METH_NOARGS, "IsValid()\nTell whether or not the video mode is supported."}, {"GetDesktopMode", (PyCFunction)PySfVideoMode_GetDesktopMode, METH_STATIC | METH_NOARGS, "GetDesktopMode()\nGet the current desktop video mode."}, @@ -190,7 +171,7 @@ Construct the video mode with its attributes : VideoMode(ModeWidth, ModeHeight, 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfVideoMode_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfVideoMode_new, /* tp_new */ }; @@ -199,6 +180,6 @@ Construct the video mode with its attributes : VideoMode(ModeWidth, ModeHeight, PySfVideoMode * GetNewPySfVideoMode() { - return (PySfVideoMode *)PySfVideoMode_new(&PySfVideoModeType, NULL, NULL); + return PyObject_New(PySfVideoMode, &PySfVideoModeType); } diff --git a/python/src/Window.cpp b/python/src/Window.cpp index 9844ddf68..481eaf42b 100644 --- a/python/src/Window.cpp +++ b/python/src/Window.cpp @@ -50,7 +50,9 @@ static PyObject * PySfWindow_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { PySfWindow *self; - self = (PySfWindow *)type->tp_alloc(type, 0); + self = (PySfWindow *)type->tp_alloc(type, 0); + if (self != NULL) + self->obj = new sf::Window(); return (PyObject *)self; } @@ -128,9 +130,8 @@ PySfWindow_Create(PySfWindow* self, PyObject *args, PyObject *kwds) static int PySfWindow_init(PySfWindow *self, PyObject *args, PyObject *kwds) -{ - self->obj = new sf::Window(); - if (PyTuple_Size(args) > 0) +{ + if (args != NULL) if (PySfWindow_Create(self, args, kwds) == NULL) return -1; return 0; diff --git a/python/src/WindowSettings.cpp b/python/src/WindowSettings.cpp index 9a6579624..5c4a4f275 100644 --- a/python/src/WindowSettings.cpp +++ b/python/src/WindowSettings.cpp @@ -55,6 +55,7 @@ PySfWindowSettingsUpdate(PySfWindowSettings *self) static PyObject * PySfWindowSettings_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { + const char *kwlist[] = {"DepthBits", "StencilBits", "AntialiasingLevel", NULL}; PySfWindowSettings *self; self = (PySfWindowSettings *)type->tp_alloc(type, 0); if (self != NULL) @@ -62,23 +63,13 @@ PySfWindowSettings_new(PyTypeObject *type, PyObject *args, PyObject *kwds) self->DepthBits = 24; self->StencilBits = 8; self->AntialiasingLevel = 0; + if (!PyArg_ParseTupleAndKeywords(args, kwds, "|III:WindowSettings.__init__", (char **)kwlist, &(self->DepthBits), &(self->StencilBits), &(self->AntialiasingLevel))) + return NULL; + self->obj = new sf::WindowSettings(self->DepthBits, self->StencilBits, self->AntialiasingLevel); } return (PyObject *)self; } - -static int -PySfWindowSettings_init(PySfWindowSettings *self, PyObject *args, PyObject *kwds) -{ - const char *kwlist[] = {"DepthBits", "StencilBits", "AntialiasingLevel", NULL}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|III:WindowSettings.__init__", (char **)kwlist, &(self->DepthBits), &(self->StencilBits), &(self->AntialiasingLevel))) - return -1; - self->obj = new sf::WindowSettings(self->DepthBits, self->StencilBits, self->AntialiasingLevel); - - return 0; -} - - PyTypeObject PySfWindowSettingsType = { head_init "WindowSettings", /*tp_name*/ @@ -115,7 +106,7 @@ PyTypeObject PySfWindowSettingsType = { 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ - (initproc)PySfWindowSettings_init, /* tp_init */ + 0, /* tp_init */ 0, /* tp_alloc */ PySfWindowSettings_new, /* tp_new */ }; @@ -123,6 +114,6 @@ PyTypeObject PySfWindowSettingsType = { PySfWindowSettings * GetNewPySfWindowSettings() { - return (PySfWindowSettings *)PySfWindowSettings_new(&PySfWindowSettingsType, NULL, NULL); + return PyObject_New(PySfWindowSettings, &PySfWindowSettingsType); } From bf3da11d26cd8f3ae04330b23f70b98717eb36c7 Mon Sep 17 00:00:00 2001 From: ceylo Date: Wed, 18 Mar 2009 17:58:12 +0000 Subject: [PATCH 20/27] Changed run loop mode to fully support Cocoa objects import. git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1057 4e206d99-4929-0410-ac5d-dfc041789085 --- src/SFML/Window/Cocoa/AppController.mm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SFML/Window/Cocoa/AppController.mm b/src/SFML/Window/Cocoa/AppController.mm index 3dced29d1..9090ea3d3 100644 --- a/src/SFML/Window/Cocoa/AppController.mm +++ b/src/SFML/Window/Cocoa/AppController.mm @@ -372,7 +372,7 @@ static AppController *shared = nil; // Minimal event loop while (nil != (event = [NSApp nextEventMatchingMask:NSAnyEventMask untilDate:nil - inMode:NSEventTrackingRunLoopMode + inMode:NSDefaultRunLoopMode dequeue:YES])) { [NSApp sendEvent:event]; From 631bcc8c5f9e8d65d9b6e205c25fc8bb2251bd8c Mon Sep 17 00:00:00 2001 From: laurentgom Date: Sat, 21 Mar 2009 17:38:53 +0000 Subject: [PATCH 21/27] Fixed Event::Closed event (was broken after the fix to EnableKeyRepeat) git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1058 4e206d99-4929-0410-ac5d-dfc041789085 --- src/SFML/Window/Linux/WindowImplX11.cpp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/SFML/Window/Linux/WindowImplX11.cpp b/src/SFML/Window/Linux/WindowImplX11.cpp index e63763d27..266be0a37 100644 --- a/src/SFML/Window/Linux/WindowImplX11.cpp +++ b/src/SFML/Window/Linux/WindowImplX11.cpp @@ -37,6 +37,19 @@ #include +namespace +{ + //////////////////////////////////////////////////////////// + /// Filter the events received by windows + /// (only allow those matching a specific window) + //////////////////////////////////////////////////////////// + Bool CheckEvent(::Display*, XEvent* Event, XPointer UserData) + { + // Just check if the event matches the window + return Event->xany.window == reinterpret_cast< ::Window >(UserData); + } +} + namespace sf { namespace priv @@ -340,7 +353,16 @@ WindowImplX11::~WindowImplX11() //////////////////////////////////////////////////////////// /// Check if there's an active context on the current thread +//////////////////// //////////////////////////////////////////////////////////// +/// Filter the received events +/// (only allow those matching a specific window) +//////////////////////////////////////////////////////////// +Bool CheckEvent(::Display*, XEvent* Event, XPointer UserData) +{ + // Just check if the event matches our window + return Event->xany.window == reinterpret_cast< ::Window >(UserData); +}//////////////////////////////////////// bool WindowImplX11::IsContextActive() { return glXGetCurrentContext() != NULL; @@ -373,7 +395,7 @@ void WindowImplX11::ProcessEvents() // Process any event in the queue matching our window XEvent Event; - while (XCheckWindowEvent(ourDisplay, myWindow, ourEventMask, &Event)) + while (XCheckIfEvent(ourDisplay, &Event, &CheckEvent, reinterpret_cast(myWindow))) { // Detect repeated key events if ((Event.type == KeyPress) || (Event.type == KeyRelease)) From 40b4bda26bd46c7316b412aa915b5138d588f0ae Mon Sep 17 00:00:00 2001 From: laurentgom Date: Sun, 22 Mar 2009 18:36:03 +0000 Subject: [PATCH 22/27] Fixed Listener's functions being private in SFML.Net Added a function to set a sound's position relative to the listener git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1059 4e206d99-4929-0410-ac5d-dfc041789085 --- CSFML/VC2005/csfml-audio-d.def | 6 +++ CSFML/VC2005/csfml-audio.def | 6 +++ CSFML/include/SFML/Audio/Music.h | 22 +++++++++ CSFML/include/SFML/Audio/Sound.h | 22 +++++++++ CSFML/include/SFML/Audio/SoundStream.h | 22 +++++++++ CSFML/src/SFML/Audio/Music.cpp | 21 +++++++++ CSFML/src/SFML/Audio/Sound.cpp | 21 +++++++++ CSFML/src/SFML/Audio/SoundStream.cpp | 21 +++++++++ dotnet/extlibs/csfml-audio.dll | Bin 102400 -> 102400 bytes dotnet/extlibs/csfml-graphics.dll | Bin 1163264 -> 1163264 bytes dotnet/extlibs/csfml-window.dll | Bin 40960 -> 40960 bytes dotnet/src/Audio/Listener.cs | 6 +-- dotnet/src/Audio/Music.cs | 63 ++++++++++++++++--------- dotnet/src/Audio/Sound.cs | 19 ++++++++ dotnet/src/Audio/SoundRecorder.cs | 12 ++--- dotnet/src/Audio/SoundStream.cs | 59 +++++++++++++++-------- dotnet/src/Graphics/RenderWindow.cs | 2 +- include/SFML/Audio/Sound.hpp | 19 ++++++++ include/SFML/Audio/SoundStream.hpp | 2 + src/SFML/Audio/Sound.cpp | 24 ++++++++++ 20 files changed, 295 insertions(+), 52 deletions(-) diff --git a/CSFML/VC2005/csfml-audio-d.def b/CSFML/VC2005/csfml-audio-d.def index 5e2d700e8..ebfb7f04e 100644 --- a/CSFML/VC2005/csfml-audio-d.def +++ b/CSFML/VC2005/csfml-audio-d.def @@ -21,11 +21,13 @@ EXPORTS sfMusic_SetPitch sfMusic_SetVolume sfMusic_SetPosition + sfMusic_SetRelativeToListener sfMusic_SetMinDistance sfMusic_SetAttenuation sfMusic_GetPitch sfMusic_GetVolume sfMusic_GetPosition + sfMusic_IsRelativeToListener sfMusic_GetMinDistance sfMusic_GetAttenuation sfMusic_GetPlayingOffset @@ -42,12 +44,14 @@ EXPORTS sfSound_SetPitch sfSound_SetVolume sfSound_SetPosition + sfSound_SetRelativeToListener sfSound_SetMinDistance sfSound_SetAttenuation sfSound_SetPlayingOffset sfSound_GetPitch sfSound_GetVolume sfSound_GetPosition + sfSound_IsRelativeToListener sfSound_GetPlayingOffset sfSound_GetMinDistance sfSound_GetAttenuation @@ -84,12 +88,14 @@ EXPORTS sfSoundStream_SetPitch sfSoundStream_SetVolume sfSoundStream_SetPosition + sfSoundStream_SetRelativeToListener sfSoundStream_SetMinDistance sfSoundStream_SetAttenuation sfSoundStream_SetLoop sfSoundStream_GetPitch sfSoundStream_GetVolume sfSoundStream_GetPosition + sfSoundStream_IsRelativeToListener sfSoundStream_GetMinDistance sfSoundStream_GetAttenuation sfSoundStream_GetLoop diff --git a/CSFML/VC2005/csfml-audio.def b/CSFML/VC2005/csfml-audio.def index fb211e825..3bf96b32d 100644 --- a/CSFML/VC2005/csfml-audio.def +++ b/CSFML/VC2005/csfml-audio.def @@ -21,11 +21,13 @@ EXPORTS sfMusic_SetPitch sfMusic_SetVolume sfMusic_SetPosition + sfMusic_SetRelativeToListener sfMusic_SetMinDistance sfMusic_SetAttenuation sfMusic_GetPitch sfMusic_GetVolume sfMusic_GetPosition + sfMusic_IsRelativeToListener sfMusic_GetMinDistance sfMusic_GetAttenuation sfMusic_GetPlayingOffset @@ -42,12 +44,14 @@ EXPORTS sfSound_SetPitch sfSound_SetVolume sfSound_SetPosition + sfSound_SetRelativeToListener sfSound_SetMinDistance sfSound_SetAttenuation sfSound_SetPlayingOffset sfSound_GetPitch sfSound_GetVolume sfSound_GetPosition + sfSound_IsRelativeToListener sfSound_GetPlayingOffset sfSound_GetMinDistance sfSound_GetAttenuation @@ -84,12 +88,14 @@ EXPORTS sfSoundStream_SetPitch sfSoundStream_SetVolume sfSoundStream_SetPosition + sfSoundStream_SetRelativeToListener sfSoundStream_SetMinDistance sfSoundStream_SetAttenuation sfSoundStream_SetLoop sfSoundStream_GetPitch sfSoundStream_GetVolume sfSoundStream_GetPosition + sfSoundStream_IsRelativeToListener sfSoundStream_GetMinDistance sfSoundStream_GetAttenuation sfSoundStream_GetLoop diff --git a/CSFML/include/SFML/Audio/Music.h b/CSFML/include/SFML/Audio/Music.h index cc87f42a1..bdad5b4be 100644 --- a/CSFML/include/SFML/Audio/Music.h +++ b/CSFML/include/SFML/Audio/Music.h @@ -184,6 +184,17 @@ CSFML_API void sfMusic_SetVolume(sfMusic* Music, float Volume); //////////////////////////////////////////////////////////// CSFML_API void sfMusic_SetPosition(sfMusic* Music, float X, float Y, float Z); +//////////////////////////////////////////////////////////// +/// Make the music's position relative to the listener's +/// position, or absolute. +/// The default value is false (absolute) +/// +/// \param Music : Music to modify +/// \param Relative : True to set the position relative, false to set it absolute +/// +//////////////////////////////////////////////////////////// +CSFML_API void sfMusic_SetRelativeToListener(sfMusic* Music, sfBool Relative); + //////////////////////////////////////////////////////////// /// Set the minimum distance - closer than this distance, /// the listener will hear the music at its maximum volume. @@ -237,6 +248,17 @@ CSFML_API float sfMusic_GetVolume(sfMusic* Music); //////////////////////////////////////////////////////////// CSFML_API void sfMusic_GetPosition(sfMusic* Music, float* X, float* Y, float* Z); +//////////////////////////////////////////////////////////// +/// Tell if the music's position is relative to the listener's +/// position, or if it's absolute +/// +/// \param Music : Music to check +/// +/// \return sfTrue if the position is relative, sfFalse if it's absolute +/// +//////////////////////////////////////////////////////////// +CSFML_API sfBool sfMusic_IsRelativeToListener(sfMusic* Music); + //////////////////////////////////////////////////////////// /// Get the minimum distance of a music /// diff --git a/CSFML/include/SFML/Audio/Sound.h b/CSFML/include/SFML/Audio/Sound.h index eb7b2d443..d694f8986 100644 --- a/CSFML/include/SFML/Audio/Sound.h +++ b/CSFML/include/SFML/Audio/Sound.h @@ -150,6 +150,17 @@ CSFML_API void sfSound_SetVolume(sfSound* Sound, float Volume); //////////////////////////////////////////////////////////// CSFML_API void sfSound_SetPosition(sfSound* Sound, float X, float Y, float Z); +//////////////////////////////////////////////////////////// +/// Make the sound's position relative to the listener's +/// position, or absolute. +/// The default value is false (absolute) +/// +/// \param Sound : Sound to modify +/// \param Relative : True to set the position relative, false to set it absolute +/// +//////////////////////////////////////////////////////////// +CSFML_API void sfSound_SetRelativeToListener(sfSound* Sound, sfBool Relative); + //////////////////////////////////////////////////////////// /// Set the minimum distance - closer than this distance, /// the listener will hear the sound at its maximum volume. @@ -212,6 +223,17 @@ CSFML_API float sfSound_GetVolume(sfSound* Sound); //////////////////////////////////////////////////////////// CSFML_API void sfSound_GetPosition(sfSound* Sound, float* X, float* Y, float* Z); +//////////////////////////////////////////////////////////// +/// Tell if the sound's position is relative to the listener's +/// position, or if it's absolute +/// +/// \param Sound : Sound to check +/// +/// \return sfTrue if the position is relative, sfFalse if it's absolute +/// +//////////////////////////////////////////////////////////// +CSFML_API sfBool sfSound_IsRelativeToListener(sfSound* Sound); + //////////////////////////////////////////////////////////// /// Get the minimum distance of a sound /// diff --git a/CSFML/include/SFML/Audio/SoundStream.h b/CSFML/include/SFML/Audio/SoundStream.h index 9b3f0f960..5fe452266 100644 --- a/CSFML/include/SFML/Audio/SoundStream.h +++ b/CSFML/include/SFML/Audio/SoundStream.h @@ -157,6 +157,17 @@ CSFML_API void sfSoundStream_SetVolume(sfSoundStream* SoundStream, float Volume) //////////////////////////////////////////////////////////// CSFML_API void sfSoundStream_SetPosition(sfSoundStream* SoundStream, float X, float Y, float Z); +//////////////////////////////////////////////////////////// +/// Make the sound stream's position relative to the listener's +/// position, or absolute. +/// The default value is false (absolute) +/// +/// \param SoundStream : Sound stream to modify +/// \param Relative : True to set the position relative, false to set it absolute +/// +//////////////////////////////////////////////////////////// +CSFML_API void sfSoundStream_SetRelativeToListener(sfSoundStream* SoundStream, sfBool Relative); + //////////////////////////////////////////////////////////// /// Set the minimum distance - closer than this distance, /// the listener will hear the sound stream at its maximum volume. @@ -219,6 +230,17 @@ CSFML_API float sfSoundStream_GetVolume(sfSoundStream* SoundStream); //////////////////////////////////////////////////////////// CSFML_API void sfSoundStream_GetPosition(sfSoundStream* SoundStream, float* X, float* Y, float* Z); +//////////////////////////////////////////////////////////// +/// Tell if the sound stream's position is relative to the listener's +/// position, or if it's absolute +/// +/// \param SoundStream : Sound stream to check +/// +/// \return sfTrue if the position is relative, sfFalse if it's absolute +/// +//////////////////////////////////////////////////////////// +CSFML_API sfBool sfSoundStream_IsRelativeToListener(sfSoundStream* SoundStream); + //////////////////////////////////////////////////////////// /// Get the minimum distance of a sound stream /// diff --git a/CSFML/src/SFML/Audio/Music.cpp b/CSFML/src/SFML/Audio/Music.cpp index 647e82ff0..b946a2e92 100644 --- a/CSFML/src/SFML/Audio/Music.cpp +++ b/CSFML/src/SFML/Audio/Music.cpp @@ -198,6 +198,17 @@ void sfMusic_SetPosition(sfMusic* Music, float X, float Y, float Z) } +//////////////////////////////////////////////////////////// +/// Make the music's position relative to the listener's +/// position, or absolute. +/// The default value is false (absolute) +//////////////////////////////////////////////////////////// +void sfMusic_SetRelativeToListener(sfMusic* music, sfBool Relative) +{ + CSFML_CALL(music, SetRelativeToListener(Relative == sfTrue)); +} + + //////////////////////////////////////////////////////////// /// Set the minimum distance - closer than this distance, /// the listener will hear the music at its maximum volume. @@ -255,6 +266,16 @@ void sfMusic_GetPosition(sfMusic* Music, float* X, float* Y, float* Z) } +//////////////////////////////////////////////////////////// +/// Tell if the music's position is relative to the listener's +/// position, or if it's absolute +//////////////////////////////////////////////////////////// +CSFML_API sfBool sfMusic_IsRelativeToListener(sfMusic* Music) +{ + CSFML_CALL_RETURN(Music, IsRelativeToListener(), sfFalse); +} + + //////////////////////////////////////////////////////////// /// Get the minimum distance of a music //////////////////////////////////////////////////////////// diff --git a/CSFML/src/SFML/Audio/Sound.cpp b/CSFML/src/SFML/Audio/Sound.cpp index 2b6f22b6a..dd2a64a71 100644 --- a/CSFML/src/SFML/Audio/Sound.cpp +++ b/CSFML/src/SFML/Audio/Sound.cpp @@ -168,6 +168,17 @@ void sfSound_SetPosition(sfSound* Sound, float X, float Y, float Z) } +//////////////////////////////////////////////////////////// +/// Make the sound's position relative to the listener's +/// position, or absolute. +/// The default value is false (absolute) +//////////////////////////////////////////////////////////// +void sfSound_SetRelativeToListener(sfSound* Sound, sfBool Relative) +{ + CSFML_CALL(Sound, SetRelativeToListener(Relative == sfTrue)); +} + + //////////////////////////////////////////////////////////// /// Set the minimum distance - closer than this distance, /// the listener will hear the sound at its maximum volume. @@ -231,6 +242,16 @@ void sfSound_GetPosition(sfSound* Sound, float* X, float* Y, float* Z) } +//////////////////////////////////////////////////////////// +/// Tell if the sound's position is relative to the listener's +/// position, or if it's absolute +//////////////////////////////////////////////////////////// +CSFML_API sfBool sfSound_IsRelativeToListener(sfSound* Sound) +{ + CSFML_CALL_RETURN(Sound, IsRelativeToListener(), sfFalse); +} + + //////////////////////////////////////////////////////////// /// Get the minimum distance of a sound //////////////////////////////////////////////////////////// diff --git a/CSFML/src/SFML/Audio/SoundStream.cpp b/CSFML/src/SFML/Audio/SoundStream.cpp index d89196294..3208c0373 100644 --- a/CSFML/src/SFML/Audio/SoundStream.cpp +++ b/CSFML/src/SFML/Audio/SoundStream.cpp @@ -195,6 +195,17 @@ void sfSoundStream_SetPosition(sfSoundStream* SoundStream, float X, float Y, flo } +//////////////////////////////////////////////////////////// +/// Make the sound stream's position relative to the listener's +/// position, or absolute. +/// The default value is false (absolute) +//////////////////////////////////////////////////////////// +void sfSoundStream_SetRelativeToListener(sfSoundStream* SoundStream, sfBool Relative) +{ + CSFML_CALL(SoundStream, SetRelativeToListener(Relative == sfTrue)); +} + + //////////////////////////////////////////////////////////// /// Set the minimum distance - closer than this distance, /// the listener will hear the sound stream at its maximum volume. @@ -258,6 +269,16 @@ void sfSoundStream_GetPosition(sfSoundStream* SoundStream, float* X, float* Y, f } +//////////////////////////////////////////////////////////// +/// Tell if the sound stream's position is relative to the listener's +/// position, or if it's absolute +//////////////////////////////////////////////////////////// +CSFML_API sfBool sfSoundStream_IsRelativeToListener(sfSoundStream* SoundStream) +{ + CSFML_CALL_RETURN(SoundStream, IsRelativeToListener(), sfFalse); +} + + //////////////////////////////////////////////////////////// /// Get the minimum distance of a sound stream //////////////////////////////////////////////////////////// diff --git a/dotnet/extlibs/csfml-audio.dll b/dotnet/extlibs/csfml-audio.dll index a15fb3d65be3085efd89c963fce50ecd35afdaca..cc3a3ca69db7aa99e603ee46934440d31630f893 100644 GIT binary patch delta 8410 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 F{{Zyx^4kCa delta 8068 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 W(jT6TgC|oB^WaJO@E-4wM*k0b6KHq< delta 26885 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

eIA;J#eHX5?%hA3}#c$RYjB;g#G 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 diff --git a/dotnet/src/Audio/Listener.cs b/dotnet/src/Audio/Listener.cs index da0c2237f..03f97daa4 100644 --- a/dotnet/src/Audio/Listener.cs +++ b/dotnet/src/Audio/Listener.cs @@ -20,7 +20,7 @@ namespace SFML /// Global volume of all sounds, in range [0 .. 100] (default is 100) /// //////////////////////////////////////////////////////////// - static float GlobalVolume + public static float GlobalVolume { get {return sfListener_GetGlobalVolume();} set {sfListener_SetGlobalVolume(value);} @@ -31,7 +31,7 @@ namespace SFML /// 3D position of the listener (default is (0, 0, 0)) /// //////////////////////////////////////////////////////////// - static Vector3 Position + public static Vector3 Position { get {Vector3 v; sfListener_GetPosition(out v.X, out v.Y, out v.Z); return v;} set {sfListener_SetPosition(value.X, value.Y, value.Z);} @@ -43,7 +43,7 @@ namespace SFML /// (default is (0, 0, -1)) /// //////////////////////////////////////////////////////////// - static Vector3 Target + public static Vector3 Target { get {Vector3 v; sfListener_GetTarget(out v.X, out v.Y, out v.Z); return v;} set {sfListener_SetTarget(value.X, value.Y, value.Z);} diff --git a/dotnet/src/Audio/Music.cs b/dotnet/src/Audio/Music.cs index 988761ea7..41be7c6e1 100644 --- a/dotnet/src/Audio/Music.cs +++ b/dotnet/src/Audio/Music.cs @@ -165,6 +165,19 @@ namespace SFML set {sfMusic_SetPosition(This, value.X, value.Y, value.Z);} } + //////////////////////////////////////////////////////////// + ///

+ /// Is the music's position relative to the listener's position, + /// or is it absolute? + /// Default value is false (absolute) + /// + //////////////////////////////////////////////////////////// + public bool RelativeToListener + { + get {return sfMusic_IsRelativeToListener(This);} + set {sfMusic_SetRelativeToListener(This, value);} + } + //////////////////////////////////////////////////////////// /// /// Minimum distance of the music. Closer than this distance, @@ -213,70 +226,76 @@ namespace SFML } #region Imports - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern IntPtr sfMusic_CreateFromFile(string Filename); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] unsafe static extern IntPtr sfMusic_CreateFromMemory(char* Data, uint SizeInBytes); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfMusic_Destroy(IntPtr MusicStream); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfMusic_Play(IntPtr Music); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfMusic_Pause(IntPtr Music); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfMusic_Stop(IntPtr Music); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern SoundStatus sfMusic_GetStatus(IntPtr Music); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern float sfMusic_GetDuration(IntPtr Music); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern uint sfMusic_GetChannelsCount(IntPtr Music); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern uint sfMusic_GetSampleRate(IntPtr Music); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfMusic_SetPitch(IntPtr Music, float Pitch); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfMusic_SetLoop(IntPtr Music, bool Loop); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfMusic_SetVolume(IntPtr Music, float Volume); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfMusic_SetPosition(IntPtr Music, float X, float Y, float Z); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] + static extern void sfMusic_SetRelativeToListener(IntPtr Music, bool Relative); + + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfMusic_SetMinDistance(IntPtr Music, float MinDistance); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfMusic_SetAttenuation(IntPtr Music, float Attenuation); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern bool sfMusic_GetLoop(IntPtr Music); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern float sfMusic_GetPitch(IntPtr Music); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern float sfMusic_GetVolume(IntPtr Music); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfMusic_GetPosition(IntPtr Music, out float X, out float Y, out float Z); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] + static extern bool sfMusic_IsRelativeToListener(IntPtr Music); + + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern float sfMusic_GetMinDistance(IntPtr Music); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern float sfMusic_GetAttenuation(IntPtr Music); [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] diff --git a/dotnet/src/Audio/Sound.cs b/dotnet/src/Audio/Sound.cs index d6d499ede..93eb34481 100644 --- a/dotnet/src/Audio/Sound.cs +++ b/dotnet/src/Audio/Sound.cs @@ -159,6 +159,19 @@ namespace SFML set {sfSound_SetPosition(This, value.X, value.Y, value.Z);} } + //////////////////////////////////////////////////////////// + /// + /// Is the sound's position relative to the listener's position, + /// or is it absolute? + /// Default value is false (absolute) + /// + //////////////////////////////////////////////////////////// + public bool RelativeToListener + { + get {return sfSound_IsRelativeToListener(This);} + set {sfSound_SetRelativeToListener(This, value);} + } + //////////////////////////////////////////////////////////// /// /// Minimum distance of the sound. Closer than this distance, @@ -238,6 +251,9 @@ namespace SFML [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfSound_SetPosition(IntPtr Sound, float X, float Y, float Z); + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] + static extern void sfSound_SetRelativeToListener(IntPtr Sound, bool Relative); + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfSound_SetMinDistance(IntPtr Sound, float MinDistance); @@ -256,6 +272,9 @@ namespace SFML [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfSound_GetPosition(IntPtr Sound, out float X, out float Y, out float Z); + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] + static extern bool sfSound_IsRelativeToListener(IntPtr Sound); + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern float sfSound_GetMinDistance(IntPtr Sound); diff --git a/dotnet/src/Audio/SoundRecorder.cs b/dotnet/src/Audio/SoundRecorder.cs index 3f39c5a54..1c8e79d04 100644 --- a/dotnet/src/Audio/SoundRecorder.cs +++ b/dotnet/src/Audio/SoundRecorder.cs @@ -157,22 +157,22 @@ namespace SFML private StopCallback myStopCallback; #region Imports - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern IntPtr sfSoundRecorder_Create(StartCallback OnStart, ProcessCallback OnProcess, StopCallback OnStop, IntPtr UserData); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfSoundRecorder_Destroy(IntPtr SoundRecorder); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfSoundRecorder_Start(IntPtr SoundRecorder, uint SampleRate); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfSoundRecorder_Stop(IntPtr SoundRecorder); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern uint sfSoundRecorder_GetSampleRate(IntPtr SoundRecorder); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern bool sfSoundRecorder_CanCapture(); #endregion } diff --git a/dotnet/src/Audio/SoundStream.cs b/dotnet/src/Audio/SoundStream.cs index c8d019c32..b0c4a8063 100644 --- a/dotnet/src/Audio/SoundStream.cs +++ b/dotnet/src/Audio/SoundStream.cs @@ -130,6 +130,19 @@ namespace SFML set {sfSoundStream_SetPosition(This, value.X, value.Y, value.Z);} } + //////////////////////////////////////////////////////////// + /// + /// Is the sound stream's position relative to the listener's position, + /// or is it absolute? + /// Default value is false (absolute) + /// + //////////////////////////////////////////////////////////// + public bool RelativeToListener + { + get {return sfSoundStream_IsRelativeToListener(This);} + set {sfSoundStream_SetRelativeToListener(This, value);} + } + //////////////////////////////////////////////////////////// /// /// Minimum distance of the sound stream. Closer than this distance, @@ -275,64 +288,70 @@ namespace SFML private short[] myTempBuffer; #region Imports - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern IntPtr sfSoundStream_Create(StartCallbackType OnStart, GetDataCallbackType OnGetData, uint ChannelsCount, uint SampleRate, IntPtr UserData); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfSoundStream_Destroy(IntPtr SoundStreamStream); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfSoundStream_Play(IntPtr SoundStream); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfSoundStream_Pause(IntPtr SoundStream); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfSoundStream_Stop(IntPtr SoundStream); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern SoundStatus sfSoundStream_GetStatus(IntPtr SoundStream); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern uint sfSoundStream_GetChannelsCount(IntPtr SoundStream); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern uint sfSoundStream_GetSampleRate(IntPtr SoundStream); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfSoundStream_SetLoop(IntPtr SoundStream, bool Loop); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfSoundStream_SetPitch(IntPtr SoundStream, float Pitch); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfSoundStream_SetVolume(IntPtr SoundStream, float Volume); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfSoundStream_SetPosition(IntPtr SoundStream, float X, float Y, float Z); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] + static extern void sfSoundStream_SetRelativeToListener(IntPtr SoundStream, bool Relative); + + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfSoundStream_SetMinDistance(IntPtr SoundStream, float MinDistance); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfSoundStream_SetAttenuation(IntPtr SoundStream, float Attenuation); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern bool sfSoundStream_GetLoop(IntPtr SoundStream); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern float sfSoundStream_GetPitch(IntPtr SoundStream); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern float sfSoundStream_GetVolume(IntPtr SoundStream); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern void sfSoundStream_GetPosition(IntPtr SoundStream, out float X, out float Y, out float Z); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] + static extern bool sfSoundStream_IsRelativeToListener(IntPtr SoundStream); + + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern float sfSoundStream_GetMinDistance(IntPtr SoundStream); - [DllImport("csfml-audio")] + [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] static extern float sfSoundStream_GetAttenuation(IntPtr SoundStream); [DllImport("csfml-audio"), SuppressUnmanagedCodeSecurity] diff --git a/dotnet/src/Graphics/RenderWindow.cs b/dotnet/src/Graphics/RenderWindow.cs index 3b23ee2ce..9553c9e77 100644 --- a/dotnet/src/Graphics/RenderWindow.cs +++ b/dotnet/src/Graphics/RenderWindow.cs @@ -519,7 +519,7 @@ namespace SFML [DllImport("csfml-graphics"), SuppressUnmanagedCodeSecurity] static extern void sfRenderWindow_EnableKeyRepeat(IntPtr This, bool Enable); - [DllImport("csfml-graphics")] + [DllImport("csfml-graphics"), SuppressUnmanagedCodeSecurity] unsafe static extern void sfRenderWindow_SetIcon(IntPtr This, uint Width, uint Height, byte* Pixels); [DllImport("csfml-graphics"), SuppressUnmanagedCodeSecurity] diff --git a/include/SFML/Audio/Sound.hpp b/include/SFML/Audio/Sound.hpp index cced19e1c..a7369fc38 100644 --- a/include/SFML/Audio/Sound.hpp +++ b/include/SFML/Audio/Sound.hpp @@ -159,6 +159,16 @@ public : //////////////////////////////////////////////////////////// void SetPosition(const Vector3f& Position); + //////////////////////////////////////////////////////////// + /// Make the sound's position relative to the listener's + /// position, or absolute. + /// The default value is false (absolute) + /// + /// \param Relative : True to set the position relative, false to set it absolute + /// + //////////////////////////////////////////////////////////// + void SetRelativeToListener(bool Relative); + //////////////////////////////////////////////////////////// /// Set the minimum distance - closer than this distance, /// the listener will hear the sound at its maximum volume. @@ -227,6 +237,15 @@ public : //////////////////////////////////////////////////////////// Vector3f GetPosition() const; + //////////////////////////////////////////////////////////// + /// Tell if the sound's position is relative to the listener's + /// position, or if it's absolute + /// + /// \return True if the position is relative, false if it's absolute + /// + //////////////////////////////////////////////////////////// + bool IsRelativeToListener() const; + //////////////////////////////////////////////////////////// /// Get the minimum distance /// diff --git a/include/SFML/Audio/SoundStream.hpp b/include/SFML/Audio/SoundStream.hpp index 8cc2024b8..db0b19e93 100644 --- a/include/SFML/Audio/SoundStream.hpp +++ b/include/SFML/Audio/SoundStream.hpp @@ -53,11 +53,13 @@ public : using Sound::SetPitch; using Sound::SetVolume; using Sound::SetPosition; + using Sound::SetRelativeToListener; using Sound::SetMinDistance; using Sound::SetAttenuation; using Sound::GetPitch; using Sound::GetVolume; using Sound::GetPosition; + using Sound::IsRelativeToListener; using Sound::GetMinDistance; using Sound::GetAttenuation; diff --git a/src/SFML/Audio/Sound.cpp b/src/SFML/Audio/Sound.cpp index 01d792b83..17f8fab2b 100644 --- a/src/SFML/Audio/Sound.cpp +++ b/src/SFML/Audio/Sound.cpp @@ -175,6 +175,17 @@ void Sound::SetPosition(const Vector3f& Position) } +//////////////////////////////////////////////////////////// +/// Make the sound's position relative to the listener's +/// position, or absolute. +/// The default value is false (absolute) +//////////////////////////////////////////////////////////// +void Sound::SetRelativeToListener(bool Relative) +{ + ALCheck(alSourcei(mySource, AL_SOURCE_RELATIVE, Relative)); +} + + //////////////////////////////////////////////////////////// /// Set the minimum distance - closer than this distance, /// the listener will hear the sound at its maximum volume. @@ -263,6 +274,19 @@ Vector3f Sound::GetPosition() const } +//////////////////////////////////////////////////////////// +/// Tell if the sound's position is relative to the listener's +/// position, or if it's absolute +//////////////////////////////////////////////////////////// +bool Sound::IsRelativeToListener() const +{ + ALint Relative; + ALCheck(alGetSourcei(mySource, AL_SOURCE_RELATIVE, &Relative)); + + return Relative != 0; +} + + //////////////////////////////////////////////////////////// /// Get the minimum distance //////////////////////////////////////////////////////////// From 6b6375abf95962ed11b45e2ecb8aa140df956bc8 Mon Sep 17 00:00:00 2001 From: ceylo Date: Sun, 22 Mar 2009 23:19:48 +0000 Subject: [PATCH 23/27] Fix close event being sent when deleting the window. git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1060 4e206d99-4929-0410-ac5d-dfc041789085 --- src/SFML/Window/Cocoa/WindowImplCocoa.mm | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/SFML/Window/Cocoa/WindowImplCocoa.mm b/src/SFML/Window/Cocoa/WindowImplCocoa.mm index 4d6746c91..28873d7a0 100644 --- a/src/SFML/Window/Cocoa/WindowImplCocoa.mm +++ b/src/SFML/Window/Cocoa/WindowImplCocoa.mm @@ -152,10 +152,7 @@ myWheelStatus(0.0f) //////////////////////////////////////////////////////////// WindowImplCocoa::~WindowImplCocoa() { - // Make sure the window is closed - Show(false); - - // Release the window objects + // Release the window wrapper [myWrapper release]; } From b7ead65a60172daf00e5fd6f470a3f67ec3d520f Mon Sep 17 00:00:00 2001 From: ceylo Date: Mon, 23 Mar 2009 12:43:38 +0000 Subject: [PATCH 24/27] Fixed composed character problem. Fixed casts. Changed window observer. git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1061 4e206d99-4929-0410-ac5d-dfc041789085 --- src/SFML/Window/Cocoa/GLKit.mm | 111 ++++++++++++----------- src/SFML/Window/Cocoa/WindowImplCocoa.mm | 44 ++------- 2 files changed, 68 insertions(+), 87 deletions(-) diff --git a/src/SFML/Window/Cocoa/GLKit.mm b/src/SFML/Window/Cocoa/GLKit.mm index 71d4259a9..9d266a9d9 100644 --- a/src/SFML/Window/Cocoa/GLKit.mm +++ b/src/SFML/Window/Cocoa/GLKit.mm @@ -277,59 +277,17 @@ static GLContext *sharedCtx = nil; } -//////////////////////////////////////////////////////////// -/// Notification method receiver when the window gains focus -//////////////////////////////////////////////////////////// -- (void)windowDidBecomeMain:(NSNotification *)notification -{ - sf::Event ev; - ev.Type = sf::Event::GainedFocus; - - [self pushEvent:ev]; -} - - -//////////////////////////////////////////////////////////// -/// Notification method receiver when the window loses focus -//////////////////////////////////////////////////////////// -- (void)windowDidResignMain:(NSNotification *)notification -{ - sf::Event ev; - ev.Type = sf::Event::LostFocus; - - [self pushEvent:ev]; -} - - -//////////////////////////////////////////////////////////// -/// Notification method receiver when the window closes -//////////////////////////////////////////////////////////// -- (void)windowWillClose:(NSNotification *)notification -{ - sf::Event ev; - ev.Type = sf::Event::Closed; - - [self pushEvent:ev]; -} - -//////////////////////////////////////////////////////////// -/// Notification method receiver when the window finish moving -//////////////////////////////////////////////////////////// -- (void)windowDidMove:(NSNotification *)notification -{ - NSWindow *sender = [notification object]; - - if (!([sender styleMask] & NSTitledWindowMask)) - [sender center]; -} - - //////////////////////////////////////////////////////////// /// Receiver method called when a key is pressed //////////////////////////////////////////////////////////// - (void)keyDown:(NSEvent *)theEvent { assert(myDelegate != NULL); + + NSText *field = [[self window] fieldEditor:YES forObject:nil]; + [field interpretKeyEvents:[NSArray arrayWithObject:theEvent]]; + [field setString:@""]; + myDelegate->HandleKeyDown(theEvent); } @@ -672,7 +630,7 @@ static GLContext *sharedCtx = nil; if (self) { - if (myWindow) { + if (window) { myWindow = (GLWindow *)[window retain]; } else { assert(title != nil); @@ -764,25 +722,25 @@ static GLContext *sharedCtx = nil; NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; // We want to know when our window got the focus - [nc addObserver:myView + [nc addObserver:self selector:@selector(windowDidBecomeMain:) name:NSWindowDidBecomeMainNotification object:myWindow]; // We want to know when our window lost the focus - [nc addObserver:myView + [nc addObserver:self selector:@selector(windowDidResignMain:) name:NSWindowDidResignMainNotification object:myWindow]; // We want to know when the user closes the window - [nc addObserver:myView + [nc addObserver:self selector:@selector(windowWillClose:) name:NSWindowWillCloseNotification object:myWindow]; // I want to re-center the window if it's a full screen one and moved by Spaces - [nc addObserver:myView + [nc addObserver:self selector:@selector(windowDidMove:) name:NSWindowDidMoveNotification object:myWindow]; @@ -857,6 +815,7 @@ static GLContext *sharedCtx = nil; // Remove the notification observer if (myView) [[NSNotificationCenter defaultCenter] removeObserver:myView]; + [[NSNotificationCenter defaultCenter] removeObserver:self]; // Close the window [self show:false]; @@ -1013,5 +972,53 @@ static GLContext *sharedCtx = nil; [myView flushBuffer]; } + +//////////////////////////////////////////////////////////// +/// Notification method receiver when the window gains focus +//////////////////////////////////////////////////////////// +- (void)windowDidBecomeMain:(NSNotification *)notification +{ + sf::Event ev; + ev.Type = sf::Event::GainedFocus; + + [myView pushEvent:ev]; +} + + +//////////////////////////////////////////////////////////// +/// Notification method receiver when the window loses focus +//////////////////////////////////////////////////////////// +- (void)windowDidResignMain:(NSNotification *)notification +{ + sf::Event ev; + ev.Type = sf::Event::LostFocus; + + [myView pushEvent:ev]; +} + + +//////////////////////////////////////////////////////////// +/// Notification method receiver when the window closes +//////////////////////////////////////////////////////////// +- (void)windowWillClose:(NSNotification *)notification +{ + sf::Event ev; + ev.Type = sf::Event::Closed; + + [myView pushEvent:ev]; +} + + +//////////////////////////////////////////////////////////// +/// Notification method receiver when the window finish moving +//////////////////////////////////////////////////////////// +- (void)windowDidMove:(NSNotification *)notification +{ + NSWindow *sender = [notification object]; + + if (!([sender styleMask] & NSTitledWindowMask)) + [sender center]; +} + @end diff --git a/src/SFML/Window/Cocoa/WindowImplCocoa.mm b/src/SFML/Window/Cocoa/WindowImplCocoa.mm index 28873d7a0..be003049d 100644 --- a/src/SFML/Window/Cocoa/WindowImplCocoa.mm +++ b/src/SFML/Window/Cocoa/WindowImplCocoa.mm @@ -193,7 +193,7 @@ void WindowImplCocoa::HandleNotifiedEvent(Event& event) //////////////////////////////////////////////////////////// void WindowImplCocoa::HandleKeyDown(void *eventRef) { - NSEvent *event = static_cast (eventRef); + NSEvent *event = reinterpret_cast (eventRef); Event sfEvent; unichar chr = 0, rawchr = 0; @@ -212,13 +212,14 @@ void WindowImplCocoa::HandleKeyDown(void *eventRef) if (!myUseKeyRepeat && [event isARepeat]) return; -#if 1 // Is it also a text event ? if (IsTextEvent(event)) { // buffer for the UTF-32 characters Uint32 utf32Characters[2] = {0}; // convert the characters + // note: using CFString in order to keep compatibility with Mac OS X 10.4 + // (NSUTF32StringEncoding only defined since Mac OS X 10.5) if (!CFStringGetCString ((CFStringRef)[event characters], (char *)utf32Characters, sizeof(utf32Characters), @@ -228,7 +229,7 @@ void WindowImplCocoa::HandleKeyDown(void *eventRef) if ([[event characters] lengthOfBytesUsingEncoding:NSUTF8StringEncoding]) utf8Char = [[event characters] UTF8String]; - std::cerr << "Error while converting the character to UTF32 : " + std::cerr << "Error while converting character to UTF32 : " << ((utf8Char) ? utf8Char : "(undefined)") << std::endl; } else @@ -239,33 +240,6 @@ void WindowImplCocoa::HandleKeyDown(void *eventRef) SendEvent(sfEvent); } } -#else - // Is it also a text event ? - if (IsTextEvent(event)) { - static NSMutableArray *arr = [[NSMutableArray alloc] initWithCapacity:1]; - - sfEvent.Type = Event::TextEntered; - sfEvent.Text.Unicode = chr; - - NSText *field = [myWindow fieldEditor:YES forObject:nil]; - [arr addObject:event]; - [field interpretKeyEvents:arr]; - - if ([[field string] length]) { - unichar unichr = [[field string] characterAtIndex:0]; - sfEvent.Text.Unicode = unichr; - SendEvent(sfEvent); - - unichar str[2] = {unichr, 0}; - NSLog(@"Char::%@", [NSString stringWithCharacters:str length:2]); - - [field setString:@""]; - [arr removeAllObjects]; - } - - - } -#endif // Anyway it's also a KeyPressed event sfEvent.Type = Event::KeyPressed; @@ -291,7 +265,7 @@ void WindowImplCocoa::HandleKeyDown(void *eventRef) //////////////////////////////////////////////////////////// void WindowImplCocoa::HandleKeyUp(void *eventRef) { - NSEvent *event = static_cast (eventRef); + NSEvent *event = reinterpret_cast (eventRef); Event sfEvent; unsigned mods = [event modifierFlags]; @@ -326,7 +300,7 @@ void WindowImplCocoa::HandleKeyUp(void *eventRef) //////////////////////////////////////////////////////////// void WindowImplCocoa::HandleModifierKey(void *eventRef) { - NSEvent *event = static_cast (eventRef); + NSEvent *event = reinterpret_cast (eventRef); Event sfEvent; unsigned mods = [event modifierFlags]; @@ -374,7 +348,7 @@ void WindowImplCocoa::HandleModifierKey(void *eventRef) //////////////////////////////////////////////////////////// void WindowImplCocoa::HandleMouseDown(void *eventRef) { - NSEvent *event = static_cast (eventRef); + NSEvent *event = reinterpret_cast (eventRef); Event sfEvent; NSPoint loc = {0, 0}; unsigned mods = [event modifierFlags]; @@ -425,7 +399,7 @@ void WindowImplCocoa::HandleMouseDown(void *eventRef) //////////////////////////////////////////////////////////// void WindowImplCocoa::HandleMouseUp(void *eventRef) { - NSEvent *event = static_cast (eventRef); + NSEvent *event = reinterpret_cast (eventRef); Event sfEvent; NSPoint loc = {0, 0}; unsigned mods = [event modifierFlags]; @@ -508,7 +482,7 @@ void WindowImplCocoa::HandleMouseMove(void *eventRef) //////////////////////////////////////////////////////////// void WindowImplCocoa::HandleMouseWheel(void *eventRef) { - NSEvent *event = static_cast (eventRef); + NSEvent *event = reinterpret_cast (eventRef); // SFML uses integer values for delta but Cocoa uses float and it is mostly fewer than 1.0 // Therefore I chose to add the float value to a 'wheel status' and From a51d20bfabf70d97ff79cf791e84866887c402f4 Mon Sep 17 00:00:00 2001 From: ceylo Date: Mon, 23 Mar 2009 12:44:30 +0000 Subject: [PATCH 25/27] Updated copyright year. git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1062 4e206d99-4929-0410-ac5d-dfc041789085 --- src/SFML/Window/Cocoa/Joystick.cpp | 2 +- src/SFML/Window/Cocoa/Joystick.hpp | 2 +- src/SFML/Window/Cocoa/VideoModeSupport.cpp | 2 +- src/SFML/Window/Cocoa/VideoModeSupport.hpp | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/SFML/Window/Cocoa/Joystick.cpp b/src/SFML/Window/Cocoa/Joystick.cpp index 6b456a199..4ade09c4d 100644 --- a/src/SFML/Window/Cocoa/Joystick.cpp +++ b/src/SFML/Window/Cocoa/Joystick.cpp @@ -1,7 +1,7 @@ //////////////////////////////////////////////////////////// // // SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2008 Laurent Gomila (laurent.gom@gmail.com) +// Copyright (C) 2007-2009 Laurent Gomila (laurent.gom@gmail.com) // // This software is provided 'as-is', without any express or implied warranty. // In no event will the authors be held liable for any damages arising from the use of this software. diff --git a/src/SFML/Window/Cocoa/Joystick.hpp b/src/SFML/Window/Cocoa/Joystick.hpp index 7a78c9361..425907517 100644 --- a/src/SFML/Window/Cocoa/Joystick.hpp +++ b/src/SFML/Window/Cocoa/Joystick.hpp @@ -1,7 +1,7 @@ //////////////////////////////////////////////////////////// // // SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2008 Laurent Gomila (laurent.gom@gmail.com) +// Copyright (C) 2007-2009 Laurent Gomila (laurent.gom@gmail.com) // // This software is provided 'as-is', without any express or implied warranty. // In no event will the authors be held liable for any damages arising from the use of this software. diff --git a/src/SFML/Window/Cocoa/VideoModeSupport.cpp b/src/SFML/Window/Cocoa/VideoModeSupport.cpp index 75f5d8e84..9b5ebd016 100644 --- a/src/SFML/Window/Cocoa/VideoModeSupport.cpp +++ b/src/SFML/Window/Cocoa/VideoModeSupport.cpp @@ -1,7 +1,7 @@ //////////////////////////////////////////////////////////// // // SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2008 Laurent Gomila (laurent.gom@gmail.com) +// Copyright (C) 2007-2009 Laurent Gomila (laurent.gom@gmail.com) // // This software is provided 'as-is', without any express or implied warranty. // In no event will the authors be held liable for any damages arising from the use of this software. diff --git a/src/SFML/Window/Cocoa/VideoModeSupport.hpp b/src/SFML/Window/Cocoa/VideoModeSupport.hpp index 2b64685e2..4892fe549 100644 --- a/src/SFML/Window/Cocoa/VideoModeSupport.hpp +++ b/src/SFML/Window/Cocoa/VideoModeSupport.hpp @@ -1,7 +1,7 @@ //////////////////////////////////////////////////////////// // // SFML - Simple and Fast Multimedia Library -// Copyright (C) 2007-2008 Laurent Gomila (laurent.gom@gmail.com) +// Copyright (C) 2007-2009 Laurent Gomila (laurent.gom@gmail.com) // // This software is provided 'as-is', without any express or implied warranty. // In no event will the authors be held liable for any damages arising from the use of this software. From 27c7d487a079d794f0d2c00d390c185e74dfb248 Mon Sep 17 00:00:00 2001 From: ceylo Date: Mon, 23 Mar 2009 12:44:55 +0000 Subject: [PATCH 26/27] Fixed cast. git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1063 4e206d99-4929-0410-ac5d-dfc041789085 --- src/SFML/Window/Cocoa/AppController.mm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SFML/Window/Cocoa/AppController.mm b/src/SFML/Window/Cocoa/AppController.mm index 9090ea3d3..3ebba08aa 100644 --- a/src/SFML/Window/Cocoa/AppController.mm +++ b/src/SFML/Window/Cocoa/AppController.mm @@ -264,7 +264,7 @@ static AppController *shared = nil; keyEquivalent:@"h"]; // + 'Hide other' menu item - menuItem = static_cast ([appleMenu addItemWithTitle:@"Hide Others" + menuItem = reinterpret_cast ([appleMenu addItemWithTitle:@"Hide Others" action:@selector(hideOtherApplications:) keyEquivalent:@"h"]); [menuItem setKeyEquivalentModifierMask:(NSAlternateKeyMask|NSCommandKeyMask)]; From 12af32c08399520a69271c72f3a9157e928c4609 Mon Sep 17 00:00:00 2001 From: remi-k Date: Fri, 27 Mar 2009 19:42:22 +0000 Subject: [PATCH 27/27] Update sound and sound stream classes git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/trunk@1064 4e206d99-4929-0410-ac5d-dfc041789085 --- python/samples/sound_stream.py | 2 +- python/samples/sound_stream_py3.py | 2 +- python/src/Sound.cpp | 15 +++++++++++++++ python/src/SoundStream.cpp | 25 +++++++++++++++++++------ 4 files changed, 36 insertions(+), 8 deletions(-) diff --git a/python/samples/sound_stream.py b/python/samples/sound_stream.py index e3d588be6..a4e7a470a 100755 --- a/python/samples/sound_stream.py +++ b/python/samples/sound_stream.py @@ -24,7 +24,7 @@ class MyCustomStream(sf.SoundStream): # Check if there is enough data to stream if self.myOffset > len(self.myBuffer): # Returning something else than a string means that we want to stop playing the stream - return False + return "" # Data contains the string of samples we will return if self.myOffset + self.myBufferSize >= len(self.myBuffer): print "End of audio data reached" diff --git a/python/samples/sound_stream_py3.py b/python/samples/sound_stream_py3.py index 9cae12797..bd1a73f8e 100755 --- a/python/samples/sound_stream_py3.py +++ b/python/samples/sound_stream_py3.py @@ -24,7 +24,7 @@ class MyCustomStream(sf.SoundStream): # Check if there is enough data to stream if self.myOffset > len(self.myBuffer): # Returning something else than a string means that we want to stop playing the stream - return False + return "" # Data contains the string of samples we will return if self.myOffset + self.myBufferSize >= len(self.myBuffer): print("End of audio data reached") diff --git a/python/src/Sound.cpp b/python/src/Sound.cpp index bd3418a9c..926d2c69d 100644 --- a/python/src/Sound.cpp +++ b/python/src/Sound.cpp @@ -83,6 +83,19 @@ PySfSound_SetLoop(PySfSound *self, PyObject *args) Py_RETURN_NONE; } +static PyObject* +PySfSound_SetRelativeToListener(PySfSound *self, PyObject *args) +{ + self->obj->SetRelativeToListener(PyBool_AsBool(args)); + Py_RETURN_NONE; +} + +static PyObject* +PySfSound_IsRelativeToListener(PySfSound *self) +{ + return PyBool_FromLong(self->obj->IsRelativeToListener()); +} + static PyObject* PySfSound_SetPitch(PySfSound *self, PyObject *args) { @@ -210,6 +223,8 @@ PySfSound_SetPlayingOffset(PySfSound *self, PyObject *args) } static PyMethodDef PySfSound_methods[] = { + {"SetRelativeToListener", (PyCFunction)PySfSound_SetRelativeToListener, METH_O, "SetRelativeToListener(Relative)\nMake the sound's position relative to the listener's position, or absolute. The default value is false (absolute)\n Relative : True to set the position relative, false to set it absolute"}, + {"IsRelativeToListener", (PyCFunction)PySfSound_IsRelativeToListener, METH_NOARGS, "IsRelativeToListener()\nTell if the sound's position is relative to the listener's position, or if it's absolute."}, {"SetPlayingOffset", (PyCFunction)PySfSound_SetPlayingOffset, METH_O, "SetPlayingOffset(TimeOffset)\nSet the current playing position of the sound.\n TimeOffset : New playing position, expressed in seconds"}, {"SetLoop", (PyCFunction)PySfSound_SetLoop, METH_O, "SetLoop(Loop)\nSet the Sound loop state.\n Loop : True to play in loop, false to play once"}, {"SetBuffer", (PyCFunction)PySfSound_SetBuffer, METH_O, "SetBuffer(Buffer)\nSet the source buffer.\n Buffer : New sound buffer to bind to the sound "}, diff --git a/python/src/SoundStream.cpp b/python/src/SoundStream.cpp index 2a2f0d54c..bc75ecb60 100644 --- a/python/src/SoundStream.cpp +++ b/python/src/SoundStream.cpp @@ -49,11 +49,10 @@ bool CustomSoundStream::OnStart() bool CustomSoundStream::OnGetData(Chunk& Data) { bool result = false; - Py_XDECREF(PyData); - PyData = NULL; - if (PyObject_HasAttrString(SoundStream, "OnGetData")) + Py_CLEAR(PyData); + PyObject *Function = PyObject_GetAttrString(SoundStream, "OnGetData"); + if (Function != NULL) { - PyObject *Function = PyObject_GetAttrString(SoundStream, "OnGetData"); PyData = PyObject_CallFunction(Function, NULL); if (PyData != NULL) { @@ -69,8 +68,7 @@ bool CustomSoundStream::OnGetData(Chunk& Data) if (PyErr_Occurred()) { PyErr_Print(); - Py_XDECREF(PyData); - PyData = NULL; + Py_CLEAR(PyData); return false; } return result; @@ -239,7 +237,22 @@ PySfSoundStream_GetPlayingOffset(PySfSoundStream *self) return PyFloat_FromDouble(self->obj->GetPlayingOffset()); } +static PyObject* +PySfSoundStream_SetRelativeToListener(PySfSoundStream *self, PyObject *args) +{ + self->obj->SetRelativeToListener(PyBool_AsBool(args)); + Py_RETURN_NONE; +} + +static PyObject* +PySfSoundStream_IsRelativeToListener(PySfSoundStream *self) +{ + return PyBool_FromLong(self->obj->IsRelativeToListener()); +} + static PyMethodDef PySfSoundStream_methods[] = { + {"SetRelativeToListener", (PyCFunction)PySfSoundStream_SetRelativeToListener, METH_O, "SetRelativeToListener(Relative)\nMake the sound's position relative to the listener's position, or absolute. The default value is false (absolute)\n Relative : True to set the position relative, false to set it absolute"}, + {"IsRelativeToListener", (PyCFunction)PySfSoundStream_IsRelativeToListener, METH_NOARGS, "IsRelativeToListener()\nTell if the sound's position is relative to the listener's position, or if it's absolute."}, {"Initialize", (PyCFunction)PySfSoundStream_Initialize, METH_VARARGS, "Initialize(ChannelsCount, SampleRate)\n\ Set the audio stream parameters, you must call it before Play()\n\ ChannelsCount : Number of channels\n\