diff --git a/cocos2d-mac.xcworkspace/contents.xcworkspacedata b/cocos2d-mac.xcworkspace/contents.xcworkspacedata
index 99e1e01c8b..6f413213c3 100644
--- a/cocos2d-mac.xcworkspace/contents.xcworkspacedata
+++ b/cocos2d-mac.xcworkspace/contents.xcworkspacedata
@@ -7,6 +7,9 @@
+
+
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation:
+ * version 2.1 of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+#ifndef __LIBWEBSOCKET_H__
+#define __LIBWEBSOCKET_H__
+
+#ifdef __cplusplus
+extern "C" {
+#include
+#endif
+
+#ifdef WIN32
+
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#include
+#include
+#include
+#include "../win32port/win32helpers/websock-w32.h"
+
+#include "../win32port/win32helpers/gettimeofday.h"
+
+#define strcasecmp stricmp
+#define getdtablesize() 30000
+
+typedef int ssize_t;
+
+#define LWS_VISIBLE
+
+#ifdef LWS_DLL
+#ifdef LWS_INTERNAL
+#define LWS_EXTERN extern __declspec(dllexport)
+#else
+#define LWS_EXTERN extern __declspec(dllimport)
+#endif
+#else
+#define LWS_EXTERN
+#endif
+
+#else // NOT WIN32
+#include
+#include
+
+#if defined(__GNUC__)
+#define LWS_VISIBLE __attribute__((visibility("default")))
+#else
+#define LWS_VISIBLE
+#endif
+
+#endif
+
+#include
+
+#ifndef LWS_EXTERN
+#define LWS_EXTERN extern
+#endif
+
+#define CONTEXT_PORT_NO_LISTEN 0
+#define MAX_MUX_RECURSION 2
+
+enum lws_log_levels {
+ LLL_ERR = 1 << 0,
+ LLL_WARN = 1 << 1,
+ LLL_NOTICE = 1 << 2,
+ LLL_INFO = 1 << 3,
+ LLL_DEBUG = 1 << 4,
+ LLL_PARSER = 1 << 5,
+ LLL_HEADER = 1 << 6,
+ LLL_EXT = 1 << 7,
+ LLL_CLIENT = 1 << 8,
+ LLL_LATENCY = 1 << 9,
+
+ LLL_COUNT = 10 /* set to count of valid flags */
+};
+
+LWS_VISIBLE LWS_EXTERN void _lws_log(int filter, const char *format, ...);
+
+/* notice, warn and log are always compiled in */
+#define lwsl_notice(...) _lws_log(LLL_NOTICE, __VA_ARGS__)
+#define lwsl_warn(...) _lws_log(LLL_WARN, __VA_ARGS__)
+#define lwsl_err(...) _lws_log(LLL_ERR, __VA_ARGS__)
+/*
+ * weaker logging can be deselected at configure time using --disable-debug
+ * that gets rid of the overhead of checking while keeping _warn and _err
+ * active
+ */
+#ifdef _DEBUG
+
+#define lwsl_info(...) _lws_log(LLL_INFO, __VA_ARGS__)
+#define lwsl_debug(...) _lws_log(LLL_DEBUG, __VA_ARGS__)
+#define lwsl_parser(...) _lws_log(LLL_PARSER, __VA_ARGS__)
+#define lwsl_header(...) _lws_log(LLL_HEADER, __VA_ARGS__)
+#define lwsl_ext(...) _lws_log(LLL_EXT, __VA_ARGS__)
+#define lwsl_client(...) _lws_log(LLL_CLIENT, __VA_ARGS__)
+#define lwsl_latency(...) _lws_log(LLL_LATENCY, __VA_ARGS__)
+LWS_VISIBLE LWS_EXTERN void lwsl_hexdump(void *buf, size_t len);
+
+#else /* no debug */
+
+#define lwsl_info(...)
+#define lwsl_debug(...)
+#define lwsl_parser(...)
+#define lwsl_header(...)
+#define lwsl_ext(...)
+#define lwsl_client(...)
+#define lwsl_latency(...)
+#define lwsl_hexdump(a, b)
+
+#endif
+
+enum libwebsocket_context_options {
+ LWS_SERVER_OPTION_REQUIRE_VALID_OPENSSL_CLIENT_CERT = 2,
+ LWS_SERVER_OPTION_SKIP_SERVER_CANONICAL_NAME = 4,
+};
+
+enum libwebsocket_callback_reasons {
+ LWS_CALLBACK_ESTABLISHED,
+ LWS_CALLBACK_CLIENT_CONNECTION_ERROR,
+ LWS_CALLBACK_CLIENT_FILTER_PRE_ESTABLISH,
+ LWS_CALLBACK_CLIENT_ESTABLISHED,
+ LWS_CALLBACK_CLOSED,
+ LWS_CALLBACK_RECEIVE,
+ LWS_CALLBACK_CLIENT_RECEIVE,
+ LWS_CALLBACK_CLIENT_RECEIVE_PONG,
+ LWS_CALLBACK_CLIENT_WRITEABLE,
+ LWS_CALLBACK_SERVER_WRITEABLE,
+ LWS_CALLBACK_HTTP,
+ LWS_CALLBACK_HTTP_FILE_COMPLETION,
+ LWS_CALLBACK_HTTP_WRITEABLE,
+ LWS_CALLBACK_FILTER_NETWORK_CONNECTION,
+ LWS_CALLBACK_FILTER_PROTOCOL_CONNECTION,
+ LWS_CALLBACK_OPENSSL_LOAD_EXTRA_CLIENT_VERIFY_CERTS,
+ LWS_CALLBACK_OPENSSL_LOAD_EXTRA_SERVER_VERIFY_CERTS,
+ LWS_CALLBACK_OPENSSL_PERFORM_CLIENT_CERT_VERIFICATION,
+ LWS_CALLBACK_CLIENT_APPEND_HANDSHAKE_HEADER,
+ LWS_CALLBACK_CONFIRM_EXTENSION_OKAY,
+ LWS_CALLBACK_CLIENT_CONFIRM_EXTENSION_SUPPORTED,
+ LWS_CALLBACK_PROTOCOL_INIT,
+ LWS_CALLBACK_PROTOCOL_DESTROY,
+ /* external poll() management support */
+ LWS_CALLBACK_ADD_POLL_FD,
+ LWS_CALLBACK_DEL_POLL_FD,
+ LWS_CALLBACK_SET_MODE_POLL_FD,
+ LWS_CALLBACK_CLEAR_MODE_POLL_FD,
+};
+
+#ifndef LWS_NO_EXTENSIONS
+enum libwebsocket_extension_callback_reasons {
+ LWS_EXT_CALLBACK_SERVER_CONTEXT_CONSTRUCT,
+ LWS_EXT_CALLBACK_CLIENT_CONTEXT_CONSTRUCT,
+ LWS_EXT_CALLBACK_SERVER_CONTEXT_DESTRUCT,
+ LWS_EXT_CALLBACK_CLIENT_CONTEXT_DESTRUCT,
+ LWS_EXT_CALLBACK_CONSTRUCT,
+ LWS_EXT_CALLBACK_CLIENT_CONSTRUCT,
+ LWS_EXT_CALLBACK_CHECK_OK_TO_REALLY_CLOSE,
+ LWS_EXT_CALLBACK_CHECK_OK_TO_PROPOSE_EXTENSION,
+ LWS_EXT_CALLBACK_DESTROY,
+ LWS_EXT_CALLBACK_DESTROY_ANY_WSI_CLOSING,
+ LWS_EXT_CALLBACK_ANY_WSI_ESTABLISHED,
+ LWS_EXT_CALLBACK_PACKET_RX_PREPARSE,
+ LWS_EXT_CALLBACK_PACKET_TX_PRESEND,
+ LWS_EXT_CALLBACK_PACKET_TX_DO_SEND,
+ LWS_EXT_CALLBACK_HANDSHAKE_REPLY_TX,
+ LWS_EXT_CALLBACK_FLUSH_PENDING_TX,
+ LWS_EXT_CALLBACK_EXTENDED_PAYLOAD_RX,
+ LWS_EXT_CALLBACK_CAN_PROXY_CLIENT_CONNECTION,
+ LWS_EXT_CALLBACK_1HZ,
+ LWS_EXT_CALLBACK_REQUEST_ON_WRITEABLE,
+ LWS_EXT_CALLBACK_IS_WRITEABLE,
+ LWS_EXT_CALLBACK_PAYLOAD_TX,
+ LWS_EXT_CALLBACK_PAYLOAD_RX,
+};
+#endif
+
+enum libwebsocket_write_protocol {
+ LWS_WRITE_TEXT,
+ LWS_WRITE_BINARY,
+ LWS_WRITE_CONTINUATION,
+ LWS_WRITE_HTTP,
+
+ /* special 04+ opcodes */
+
+ LWS_WRITE_CLOSE,
+ LWS_WRITE_PING,
+ LWS_WRITE_PONG,
+
+ /* flags */
+
+ LWS_WRITE_NO_FIN = 0x40,
+ /*
+ * client packet payload goes out on wire unmunged
+ * only useful for security tests since normal servers cannot
+ * decode the content if used
+ */
+ LWS_WRITE_CLIENT_IGNORE_XOR_MASK = 0x80
+};
+
+/*
+ * you need these to look at headers that have been parsed if using the
+ * LWS_CALLBACK_FILTER_CONNECTION callback. If a header from the enum
+ * list below is absent, .token = NULL and token_len = 0. Otherwise .token
+ * points to .token_len chars containing that header content.
+ */
+
+struct lws_tokens {
+ char *token;
+ int token_len;
+};
+
+enum lws_token_indexes {
+ WSI_TOKEN_GET_URI,
+ WSI_TOKEN_HOST,
+ WSI_TOKEN_CONNECTION,
+ WSI_TOKEN_KEY1,
+ WSI_TOKEN_KEY2,
+ WSI_TOKEN_PROTOCOL,
+ WSI_TOKEN_UPGRADE,
+ WSI_TOKEN_ORIGIN,
+ WSI_TOKEN_DRAFT,
+ WSI_TOKEN_CHALLENGE,
+
+ /* new for 04 */
+ WSI_TOKEN_KEY,
+ WSI_TOKEN_VERSION,
+ WSI_TOKEN_SWORIGIN,
+
+ /* new for 05 */
+ WSI_TOKEN_EXTENSIONS,
+
+ /* client receives these */
+ WSI_TOKEN_ACCEPT,
+ WSI_TOKEN_NONCE,
+ WSI_TOKEN_HTTP,
+ WSI_TOKEN_MUXURL,
+
+ /* use token storage to stash these */
+
+ _WSI_TOKEN_CLIENT_SENT_PROTOCOLS,
+ _WSI_TOKEN_CLIENT_PEER_ADDRESS,
+ _WSI_TOKEN_CLIENT_URI,
+ _WSI_TOKEN_CLIENT_HOST,
+ _WSI_TOKEN_CLIENT_ORIGIN,
+
+ /* always last real token index*/
+ WSI_TOKEN_COUNT,
+ /* parser state additions */
+ WSI_TOKEN_NAME_PART,
+ WSI_TOKEN_SKIPPING,
+ WSI_TOKEN_SKIPPING_SAW_CR,
+ WSI_PARSING_COMPLETE,
+ WSI_INIT_TOKEN_MUXURL,
+};
+
+/*
+ * From RFC 6455
+ 1000
+
+ 1000 indicates a normal closure, meaning that the purpose for
+ which the connection was established has been fulfilled.
+
+ 1001
+
+ 1001 indicates that an endpoint is "going away", such as a server
+ going down or a browser having navigated away from a page.
+
+ 1002
+
+ 1002 indicates that an endpoint is terminating the connection due
+ to a protocol error.
+
+ 1003
+
+ 1003 indicates that an endpoint is terminating the connection
+ because it has received a type of data it cannot accept (e.g., an
+ endpoint that understands only text data MAY send this if it
+ receives a binary message).
+
+ 1004
+
+ Reserved. The specific meaning might be defined in the future.
+
+ 1005
+
+ 1005 is a reserved value and MUST NOT be set as a status code in a
+ Close control frame by an endpoint. It is designated for use in
+ applications expecting a status code to indicate that no status
+ code was actually present.
+
+ 1006
+
+ 1006 is a reserved value and MUST NOT be set as a status code in a
+ Close control frame by an endpoint. It is designated for use in
+ applications expecting a status code to indicate that the
+ connection was closed abnormally, e.g., without sending or
+ receiving a Close control frame.
+
+ 1007
+
+ 1007 indicates that an endpoint is terminating the connection
+ because it has received data within a message that was not
+ consistent with the type of the message (e.g., non-UTF-8 [RFC3629]
+ data within a text message).
+
+ 1008
+
+ 1008 indicates that an endpoint is terminating the connection
+ because it has received a message that violates its policy. This
+ is a generic status code that can be returned when there is no
+ other more suitable status code (e.g., 1003 or 1009) or if there
+ is a need to hide specific details about the policy.
+
+ 1009
+
+ 1009 indicates that an endpoint is terminating the connection
+ because it has received a message that is too big for it to
+ process.
+
+ 1010
+
+ 1010 indicates that an endpoint (client) is terminating the
+ connection because it has expected the server to negotiate one or
+ more extension, but the server didn't return them in the response
+ message of the WebSocket handshake. The list of extensions that
+ are needed SHOULD appear in the /reason/ part of the Close frame.
+ Note that this status code is not used by the server, because it
+ can fail the WebSocket handshake instead.
+
+ 1011
+
+ 1011 indicates that a server is terminating the connection because
+ it encountered an unexpected condition that prevented it from
+ fulfilling the request.
+
+ 1015
+
+ 1015 is a reserved value and MUST NOT be set as a status code in a
+ Close control frame by an endpoint. It is designated for use in
+ applications expecting a status code to indicate that the
+ connection was closed due to a failure to perform a TLS handshake
+ (e.g., the server certificate can't be verified).
+*/
+
+enum lws_close_status {
+ LWS_CLOSE_STATUS_NOSTATUS = 0,
+ LWS_CLOSE_STATUS_NORMAL = 1000,
+ LWS_CLOSE_STATUS_GOINGAWAY = 1001,
+ LWS_CLOSE_STATUS_PROTOCOL_ERR = 1002,
+ LWS_CLOSE_STATUS_UNACCEPTABLE_OPCODE = 1003,
+ LWS_CLOSE_STATUS_RESERVED = 1004,
+ LWS_CLOSE_STATUS_NO_STATUS = 1005,
+ LWS_CLOSE_STATUS_ABNORMAL_CLOSE = 1006,
+ LWS_CLOSE_STATUS_INVALID_PAYLOAD = 1007,
+ LWS_CLOSE_STATUS_POLICY_VIOLATION = 1008,
+ LWS_CLOSE_STATUS_MESSAGE_TOO_LARGE = 1009,
+ LWS_CLOSE_STATUS_EXTENSION_REQUIRED = 1010,
+ LWS_CLOSE_STATUS_UNEXPECTED_CONDITION = 1011,
+ LWS_CLOSE_STATUS_TLS_FAILURE = 1015,
+};
+
+struct libwebsocket;
+struct libwebsocket_context;
+/* needed even with extensions disabled for create context */
+struct libwebsocket_extension;
+
+/**
+ * callback_function() - User server actions
+ * @context: Websockets context
+ * @wsi: Opaque websocket instance pointer
+ * @reason: The reason for the call
+ * @user: Pointer to per-session user data allocated by library
+ * @in: Pointer used for some callback reasons
+ * @len: Length set for some callback reasons
+ *
+ * This callback is the way the user controls what is served. All the
+ * protocol detail is hidden and handled by the library.
+ *
+ * For each connection / session there is user data allocated that is
+ * pointed to by "user". You set the size of this user data area when
+ * the library is initialized with libwebsocket_create_server.
+ *
+ * You get an opportunity to initialize user data when called back with
+ * LWS_CALLBACK_ESTABLISHED reason.
+ *
+ * LWS_CALLBACK_ESTABLISHED: after the server completes a handshake with
+ * an incoming client
+ *
+ * LWS_CALLBACK_CLIENT_CONNECTION_ERROR: the request client connection has
+ * been unable to complete a handshake with the remote server
+ *
+ * LWS_CALLBACK_CLIENT_FILTER_PRE_ESTABLISH: this is the last chance for the
+ * client user code to examine the http headers
+ * and decide to reject the connection. If the
+ * content in the headers is interesting to the
+ * client (url, etc) it needs to copy it out at
+ * this point since it will be destroyed before
+ * the CLIENT_ESTABLISHED call
+ *
+ * LWS_CALLBACK_CLIENT_ESTABLISHED: after your client connection completed
+ * a handshake with the remote server
+ *
+ * LWS_CALLBACK_CLOSED: when the websocket session ends
+ *
+ * LWS_CALLBACK_RECEIVE: data has appeared for this server endpoint from a
+ * remote client, it can be found at *in and is
+ * len bytes long
+ *
+ * LWS_CALLBACK_CLIENT_RECEIVE_PONG: if you elected to see PONG packets,
+ * they appear with this callback reason. PONG
+ * packets only exist in 04+ protocol
+ *
+ * LWS_CALLBACK_CLIENT_RECEIVE: data has appeared from the server for the
+ * client connection, it can be found at *in and
+ * is len bytes long
+ *
+ * LWS_CALLBACK_HTTP: an http request has come from a client that is not
+ * asking to upgrade the connection to a websocket
+ * one. This is a chance to serve http content,
+ * for example, to send a script to the client
+ * which will then open the websockets connection.
+ * @in points to the URI path requested and
+ * libwebsockets_serve_http_file() makes it very
+ * simple to send back a file to the client.
+ * Normally after sending the file you are done
+ * with the http connection, since the rest of the
+ * activity will come by websockets from the script
+ * that was delivered by http, so you will want to
+ * return 1; to close and free up the connection.
+ * That's important because it uses a slot in the
+ * total number of client connections allowed set
+ * by MAX_CLIENTS.
+ *
+ * LWS_CALLBACK_HTTP_WRITEABLE: you can write more down the http protocol
+ * link now.
+ *
+ * LWS_CALLBACK_HTTP_FILE_COMPLETION: a file requested to be send down
+ * http link has completed.
+ *
+ * LWS_CALLBACK_CLIENT_WRITEABLE:
+ * LWS_CALLBACK_SERVER_WRITEABLE: If you call
+ * libwebsocket_callback_on_writable() on a connection, you will
+ * get one of these callbacks coming when the connection socket
+ * is able to accept another write packet without blocking.
+ * If it already was able to take another packet without blocking,
+ * you'll get this callback at the next call to the service loop
+ * function. Notice that CLIENTs get LWS_CALLBACK_CLIENT_WRITEABLE
+ * and servers get LWS_CALLBACK_SERVER_WRITEABLE.
+ *
+ * LWS_CALLBACK_FILTER_NETWORK_CONNECTION: called when a client connects to
+ * the server at network level; the connection is accepted but then
+ * passed to this callback to decide whether to hang up immediately
+ * or not, based on the client IP. @in contains the connection
+ * socket's descriptor. Return non-zero to terminate
+ * the connection before sending or receiving anything.
+ * Because this happens immediately after the network connection
+ * from the client, there's no websocket protocol selected yet so
+ * this callback is issued only to protocol 0.
+ *
+ * LWS_CALLBACK_FILTER_PROTOCOL_CONNECTION: called when the handshake has
+ * been received and parsed from the client, but the response is
+ * not sent yet. Return non-zero to disallow the connection.
+ * @user is a pointer to an array of struct lws_tokens, you can
+ * use the header enums lws_token_indexes from libwebsockets.h
+ * to check for and read the supported header presence and
+ * content before deciding to allow the handshake to proceed or
+ * to kill the connection.
+ *
+ * LWS_CALLBACK_OPENSSL_LOAD_EXTRA_CLIENT_VERIFY_CERTS: if configured for
+ * including OpenSSL support, this callback allows your user code
+ * to perform extra SSL_CTX_load_verify_locations() or similar
+ * calls to direct OpenSSL where to find certificates the client
+ * can use to confirm the remote server identity. @user is the
+ * OpenSSL SSL_CTX*
+ *
+ * LWS_CALLBACK_OPENSSL_LOAD_EXTRA_SERVER_VERIFY_CERTS: if configured for
+ * including OpenSSL support, this callback allows your user code
+ * to load extra certifcates into the server which allow it to
+ * verify the validity of certificates returned by clients. @user
+ * is the server's OpenSSL SSL_CTX*
+ *
+ * LWS_CALLBACK_OPENSSL_PERFORM_CLIENT_CERT_VERIFICATION: if the
+ * libwebsockets context was created with the option
+ * LWS_SERVER_OPTION_REQUIRE_VALID_OPENSSL_CLIENT_CERT, then this
+ * callback is generated during OpenSSL verification of the cert
+ * sent from the client. It is sent to protocol[0] callback as
+ * no protocol has been negotiated on the connection yet.
+ * Notice that the libwebsockets context and wsi are both NULL
+ * during this callback. See
+ * http://www.openssl.org/docs/ssl/SSL_CTX_set_verify.html
+ * to understand more detail about the OpenSSL callback that
+ * generates this libwebsockets callback and the meanings of the
+ * arguments passed. In this callback, @user is the x509_ctx,
+ * @in is the ssl pointer and @len is preverify_ok
+ * Notice that this callback maintains libwebsocket return
+ * conventions, return 0 to mean the cert is OK or 1 to fail it.
+ * This also means that if you don't handle this callback then
+ * the default callback action of returning 0 allows the client
+ * certificates.
+ *
+ * LWS_CALLBACK_CLIENT_APPEND_HANDSHAKE_HEADER: this callback happens
+ * when a client handshake is being compiled. @user is NULL,
+ * @in is a char **, it's pointing to a char * which holds the
+ * next location in the header buffer where you can add
+ * headers, and @len is the remaining space in the header buffer,
+ * which is typically some hundreds of bytes. So, to add a canned
+ * cookie, your handler code might look similar to:
+ *
+ * char **p = (char **)in;
+ *
+ * if (len < 100)
+ * return 1;
+ *
+ * *p += sprintf(*p, "Cookie: a=b\x0d\x0a");
+ *
+ * return 0;
+ *
+ * Notice if you add anything, you just have to take care about
+ * the CRLF on the line you added. Obviously this callback is
+ * optional, if you don't handle it everything is fine.
+ *
+ * Notice the callback is coming to protocols[0] all the time,
+ * because there is no specific protocol handshook yet.
+ *
+ * LWS_CALLBACK_CONFIRM_EXTENSION_OKAY: When the server handshake code
+ * sees that it does support a requested extension, before
+ * accepting the extension by additing to the list sent back to
+ * the client it gives this callback just to check that it's okay
+ * to use that extension. It calls back to the requested protocol
+ * and with @in being the extension name, @len is 0 and @user is
+ * valid. Note though at this time the ESTABLISHED callback hasn't
+ * happened yet so if you initialize @user content there, @user
+ * content during this callback might not be useful for anything.
+ * Notice this callback comes to protocols[0].
+ *
+ * LWS_CALLBACK_CLIENT_CONFIRM_EXTENSION_SUPPORTED: When a client
+ * connection is being prepared to start a handshake to a server,
+ * each supported extension is checked with protocols[0] callback
+ * with this reason, giving the user code a chance to suppress the
+ * claim to support that extension by returning non-zero. If
+ * unhandled, by default 0 will be returned and the extension
+ * support included in the header to the server. Notice this
+ * callback comes to protocols[0].
+ *
+ * LWS_CALLBACK_PROTOCOL_INIT: One-time call per protocol so it can
+ * do initial setup / allocations etc
+ *
+ * LWS_CALLBACK_PROTOCOL_DESTROY: One-time call per protocol indicating
+ * this protocol won't get used at all after this callback, the
+ * context is getting destroyed. Take the opportunity to
+ * deallocate everything that was allocated by the protocol.
+ *
+ * The next four reasons are optional and only need taking care of if you
+ * will be integrating libwebsockets sockets into an external polling
+ * array.
+ *
+ * LWS_CALLBACK_ADD_POLL_FD: libwebsocket deals with its poll() loop
+ * internally, but in the case you are integrating with another
+ * server you will need to have libwebsocket sockets share a
+ * polling array with the other server. This and the other
+ * POLL_FD related callbacks let you put your specialized
+ * poll array interface code in the callback for protocol 0, the
+ * first protocol you support, usually the HTTP protocol in the
+ * serving case. This callback happens when a socket needs to be
+ * added to the polling loop: @in contains the fd, and
+ * @len is the events bitmap (like, POLLIN). If you are using the
+ * internal polling loop (the "service" callback), you can just
+ * ignore these callbacks.
+ *
+ * LWS_CALLBACK_DEL_POLL_FD: This callback happens when a socket descriptor
+ * needs to be removed from an external polling array. @in is
+ * the socket desricptor. If you are using the internal polling
+ * loop, you can just ignore it.
+ *
+ * LWS_CALLBACK_SET_MODE_POLL_FD: This callback happens when libwebsockets
+ * wants to modify the events for the socket descriptor in @in.
+ * The handler should OR @len on to the events member of the pollfd
+ * struct for this socket descriptor. If you are using the
+ * internal polling loop, you can just ignore it.
+ *
+ * LWS_CALLBACK_CLEAR_MODE_POLL_FD: This callback occurs when libwebsockets
+ * wants to modify the events for the socket descriptor in @in.
+ * The handler should AND ~@len on to the events member of the
+ * pollfd struct for this socket descriptor. If you are using the
+ * internal polling loop, you can just ignore it.
+ */
+LWS_VISIBLE LWS_EXTERN int callback(struct libwebsocket_context *context,
+ struct libwebsocket *wsi,
+ enum libwebsocket_callback_reasons reason, void *user,
+ void *in, size_t len);
+
+typedef int (callback_function)(struct libwebsocket_context *context,
+ struct libwebsocket *wsi,
+ enum libwebsocket_callback_reasons reason, void *user,
+ void *in, size_t len);
+
+#ifndef LWS_NO_EXTENSIONS
+/**
+ * extension_callback_function() - Hooks to allow extensions to operate
+ * @context: Websockets context
+ * @ext: This extension
+ * @wsi: Opaque websocket instance pointer
+ * @reason: The reason for the call
+ * @user: Pointer to per-session user data allocated by library
+ * @in: Pointer used for some callback reasons
+ * @len: Length set for some callback reasons
+ *
+ * Each extension that is active on a particular connection receives
+ * callbacks during the connection lifetime to allow the extension to
+ * operate on websocket data and manage itself.
+ *
+ * Libwebsockets takes care of allocating and freeing "user" memory for
+ * each active extension on each connection. That is what is pointed to
+ * by the @user parameter.
+ *
+ * LWS_EXT_CALLBACK_CONSTRUCT: called when the server has decided to
+ * select this extension from the list provided by the client,
+ * just before the server will send back the handshake accepting
+ * the connection with this extension active. This gives the
+ * extension a chance to initialize its connection context found
+ * in @user.
+ *
+ * LWS_EXT_CALLBACK_CLIENT_CONSTRUCT: same as LWS_EXT_CALLBACK_CONSTRUCT
+ * but called when client is instantiating this extension. Some
+ * extensions will work the same on client and server side and then
+ * you can just merge handlers for both CONSTRUCTS.
+ *
+ * LWS_EXT_CALLBACK_DESTROY: called when the connection the extension was
+ * being used on is about to be closed and deallocated. It's the
+ * last chance for the extension to deallocate anything it has
+ * allocated in the user data (pointed to by @user) before the
+ * user data is deleted. This same callback is used whether you
+ * are in client or server instantiation context.
+ *
+ * LWS_EXT_CALLBACK_PACKET_RX_PREPARSE: when this extension was active on
+ * a connection, and a packet of data arrived at the connection,
+ * it is passed to this callback to give the extension a chance to
+ * change the data, eg, decompress it. @user is pointing to the
+ * extension's private connection context data, @in is pointing
+ * to an lws_tokens struct, it consists of a char * pointer called
+ * token, and an int called token_len. At entry, these are
+ * set to point to the received buffer and set to the content
+ * length. If the extension will grow the content, it should use
+ * a new buffer allocated in its private user context data and
+ * set the pointed-to lws_tokens members to point to its buffer.
+ *
+ * LWS_EXT_CALLBACK_PACKET_TX_PRESEND: this works the same way as
+ * LWS_EXT_CALLBACK_PACKET_RX_PREPARSE above, except it gives the
+ * extension a chance to change websocket data just before it will
+ * be sent out. Using the same lws_token pointer scheme in @in,
+ * the extension can change the buffer and the length to be
+ * transmitted how it likes. Again if it wants to grow the
+ * buffer safely, it should copy the data into its own buffer and
+ * set the lws_tokens token pointer to it.
+ */
+LWS_VISIBLE LWS_EXTERN int extension_callback(struct libwebsocket_context *context,
+ struct libwebsocket_extension *ext,
+ struct libwebsocket *wsi,
+ enum libwebsocket_extension_callback_reasons reason,
+ void *user, void *in, size_t len);
+
+typedef int (extension_callback_function)(struct libwebsocket_context *context,
+ struct libwebsocket_extension *ext,
+ struct libwebsocket *wsi,
+ enum libwebsocket_extension_callback_reasons reason,
+ void *user, void *in, size_t len);
+#endif
+
+/**
+ * struct libwebsocket_protocols - List of protocols and handlers server
+ * supports.
+ * @name: Protocol name that must match the one given in the client
+ * Javascript new WebSocket(url, 'protocol') name
+ * @callback: The service callback used for this protocol. It allows the
+ * service action for an entire protocol to be encapsulated in
+ * the protocol-specific callback
+ * @per_session_data_size: Each new connection using this protocol gets
+ * this much memory allocated on connection establishment and
+ * freed on connection takedown. A pointer to this per-connection
+ * allocation is passed into the callback in the 'user' parameter
+ * @rx_buffer_size: if you want atomic frames delivered to the callback, you
+ * should set this to the size of the biggest legal frame that
+ * you support. If the frame size is exceeded, there is no
+ * error, but the buffer will spill to the user callback when
+ * full, which you can detect by using
+ * libwebsockets_remaining_packet_payload(). Notice that you
+ * just talk about frame size here, the LWS_SEND_BUFFER_PRE_PADDING
+ * and post-padding are automatically also allocated on top.
+ * @owning_server: the server init call fills in this opaque pointer when
+ * registering this protocol with the server.
+ * @protocol_index: which protocol we are starting from zero
+ *
+ * This structure represents one protocol supported by the server. An
+ * array of these structures is passed to libwebsocket_create_server()
+ * allows as many protocols as you like to be handled by one server.
+ */
+
+struct libwebsocket_protocols {
+ const char *name;
+ callback_function *callback;
+ size_t per_session_data_size;
+ size_t rx_buffer_size;
+
+ /*
+ * below are filled in on server init and can be left uninitialized,
+ * no need for user to use them directly either
+ */
+
+ struct libwebsocket_context *owning_server;
+ int protocol_index;
+};
+
+#ifndef LWS_NO_EXTENSIONS
+/**
+ * struct libwebsocket_extension - An extension we know how to cope with
+ *
+ * @name: Formal extension name, eg, "deflate-stream"
+ * @callback: Service callback
+ * @per_session_data_size: Libwebsockets will auto-malloc this much
+ * memory for the use of the extension, a pointer
+ * to it comes in the @user callback parameter
+ * @per_context_private_data: Optional storage for this extension that
+ * is per-context, so it can track stuff across
+ * all sessions, etc, if it wants
+ */
+
+struct libwebsocket_extension {
+ const char *name;
+ extension_callback_function *callback;
+ size_t per_session_data_size;
+ void *per_context_private_data;
+};
+#endif
+
+/**
+ * struct lws_context_creation_info: parameters to create context with
+ *
+ * @port: Port to listen on... you can use 0 to suppress listening on
+ * any port, that's what you want if you are not running a
+ * websocket server at all but just using it as a client
+ * @iface: NULL to bind the listen socket to all interfaces, or the
+ * interface name, eg, "eth2"
+ * @protocols: Array of structures listing supported protocols and a protocol-
+ * specific callback for each one. The list is ended with an
+ * entry that has a NULL callback pointer.
+ * It's not const because we write the owning_server member
+ * @extensions: NULL or array of libwebsocket_extension structs listing the
+ * extensions this context supports. If you configured with
+ * --without-extensions, you should give NULL here.
+ * @ssl_cert_filepath: If libwebsockets was compiled to use ssl, and you want
+ * to listen using SSL, set to the filepath to fetch the
+ * server cert from, otherwise NULL for unencrypted
+ * @ssl_private_key_filepath: filepath to private key if wanting SSL mode,
+ * else ignored
+ * @ssl_ca_filepath: CA certificate filepath or NULL
+ * @ssl_cipher_list: List of valid ciphers to use (eg,
+ * "RC4-MD5:RC4-SHA:AES128-SHA:AES256-SHA:HIGH:!DSS:!aNULL"
+ * or you can leave it as NULL to get "DEFAULT"
+ * @gid: group id to change to after setting listen socket, or -1.
+ * @uid: user id to change to after setting listen socket, or -1.
+ * @options: 0, or LWS_SERVER_OPTION_DEFEAT_CLIENT_MASK
+ * @user: optional user pointer that can be recovered via the context
+ * pointer using libwebsocket_context_user
+ * @ka_time: 0 for no keepalive, otherwise apply this keepalive timeout to
+ * all libwebsocket sockets, client or server
+ * @ka_probes: if ka_time was nonzero, after the timeout expires how many
+ * times to try to get a response from the peer before giving up
+ * and killing the connection
+ * @ka_interval: if ka_time was nonzero, how long to wait before each ka_probes
+ * attempt
+ */
+
+struct lws_context_creation_info {
+ int port;
+ const char *iface;
+ struct libwebsocket_protocols *protocols;
+ struct libwebsocket_extension *extensions;
+ const char *ssl_cert_filepath;
+ const char *ssl_private_key_filepath;
+ const char *ssl_ca_filepath;
+ const char *ssl_cipher_list;
+ int gid;
+ int uid;
+ unsigned int options;
+ void *user;
+ int ka_time;
+ int ka_probes;
+ int ka_interval;
+
+};
+
+LWS_VISIBLE LWS_EXTERN
+void lws_set_log_level(int level,
+ void (*log_emit_function)(int level, const char *line));
+
+LWS_VISIBLE LWS_EXTERN void
+lwsl_emit_syslog(int level, const char *line);
+
+LWS_VISIBLE LWS_EXTERN struct libwebsocket_context *
+libwebsocket_create_context(struct lws_context_creation_info *info);
+
+LWS_VISIBLE LWS_EXTERN void
+libwebsocket_context_destroy(struct libwebsocket_context *context);
+
+LWS_VISIBLE LWS_EXTERN int
+libwebsocket_service(struct libwebsocket_context *context, int timeout_ms);
+
+LWS_VISIBLE LWS_EXTERN int
+libwebsocket_service_fd(struct libwebsocket_context *context,
+ struct pollfd *pollfd);
+
+LWS_VISIBLE LWS_EXTERN void *
+libwebsocket_context_user(struct libwebsocket_context *context);
+
+/*
+ * IMPORTANT NOTICE!
+ *
+ * When sending with websocket protocol (LWS_WRITE_TEXT or LWS_WRITE_BINARY)
+ * the send buffer has to have LWS_SEND_BUFFER_PRE_PADDING bytes valid BEFORE
+ * buf, and LWS_SEND_BUFFER_POST_PADDING bytes valid AFTER (buf + len).
+ *
+ * This allows us to add protocol info before and after the data, and send as
+ * one packet on the network without payload copying, for maximum efficiency.
+ *
+ * So for example you need this kind of code to use libwebsocket_write with a
+ * 128-byte payload
+ *
+ * char buf[LWS_SEND_BUFFER_PRE_PADDING + 128 + LWS_SEND_BUFFER_POST_PADDING];
+ *
+ * // fill your part of the buffer... for example here it's all zeros
+ * memset(&buf[LWS_SEND_BUFFER_PRE_PADDING], 0, 128);
+ *
+ * libwebsocket_write(wsi, &buf[LWS_SEND_BUFFER_PRE_PADDING], 128,
+ * LWS_WRITE_TEXT);
+ *
+ * When sending LWS_WRITE_HTTP, there is no protocol addition and you can just
+ * use the whole buffer without taking care of the above.
+ */
+
+/*
+ * this is the frame nonce plus two header plus 8 length
+ * there's an additional two for mux extension per mux nesting level
+ * 2 byte prepend on close will already fit because control frames cannot use
+ * the big length style
+ */
+
+#define LWS_SEND_BUFFER_PRE_PADDING (4 + 10 + (2 * MAX_MUX_RECURSION))
+#define LWS_SEND_BUFFER_POST_PADDING 4
+
+LWS_VISIBLE LWS_EXTERN int
+libwebsocket_write(struct libwebsocket *wsi, unsigned char *buf, size_t len,
+ enum libwebsocket_write_protocol protocol);
+
+LWS_VISIBLE LWS_EXTERN int
+libwebsockets_serve_http_file(struct libwebsocket_context *context,
+ struct libwebsocket *wsi, const char *file,
+ const char *content_type);
+LWS_VISIBLE LWS_EXTERN int
+libwebsockets_serve_http_file_fragment(struct libwebsocket_context *context,
+ struct libwebsocket *wsi);
+
+LWS_VISIBLE LWS_EXTERN const struct libwebsocket_protocols *
+libwebsockets_get_protocol(struct libwebsocket *wsi);
+
+LWS_VISIBLE LWS_EXTERN int
+libwebsocket_callback_on_writable(struct libwebsocket_context *context,
+ struct libwebsocket *wsi);
+
+LWS_VISIBLE LWS_EXTERN int
+libwebsocket_callback_on_writable_all_protocol(
+ const struct libwebsocket_protocols *protocol);
+
+LWS_VISIBLE LWS_EXTERN int
+libwebsocket_get_socket_fd(struct libwebsocket *wsi);
+
+LWS_VISIBLE LWS_EXTERN int
+libwebsocket_is_final_fragment(struct libwebsocket *wsi);
+
+LWS_VISIBLE LWS_EXTERN unsigned char
+libwebsocket_get_reserved_bits(struct libwebsocket *wsi);
+
+LWS_VISIBLE LWS_EXTERN int
+libwebsocket_rx_flow_control(struct libwebsocket *wsi, int enable);
+
+LWS_VISIBLE LWS_EXTERN void
+libwebsocket_rx_flow_allow_all_protocol(
+ const struct libwebsocket_protocols *protocol);
+
+LWS_VISIBLE LWS_EXTERN size_t
+libwebsockets_remaining_packet_payload(struct libwebsocket *wsi);
+
+LWS_VISIBLE LWS_EXTERN struct libwebsocket *
+libwebsocket_client_connect(struct libwebsocket_context *clients,
+ const char *address,
+ int port,
+ int ssl_connection,
+ const char *path,
+ const char *host,
+ const char *origin,
+ const char *protocol,
+ int ietf_version_or_minus_one);
+
+LWS_VISIBLE LWS_EXTERN struct libwebsocket *
+libwebsocket_client_connect_extended(struct libwebsocket_context *clients,
+ const char *address,
+ int port,
+ int ssl_connection,
+ const char *path,
+ const char *host,
+ const char *origin,
+ const char *protocol,
+ int ietf_version_or_minus_one,
+ void *userdata);
+
+LWS_VISIBLE LWS_EXTERN const char *
+libwebsocket_canonical_hostname(struct libwebsocket_context *context);
+
+
+LWS_VISIBLE LWS_EXTERN void
+libwebsockets_get_peer_addresses(struct libwebsocket_context *context,
+ struct libwebsocket *wsi, int fd, char *name, int name_len,
+ char *rip, int rip_len);
+
+LWS_VISIBLE LWS_EXTERN int
+libwebsockets_get_random(struct libwebsocket_context *context,
+ void *buf, int len);
+
+LWS_VISIBLE LWS_EXTERN int
+lws_daemonize(const char *_lock_path);
+
+LWS_VISIBLE LWS_EXTERN int
+lws_send_pipe_choked(struct libwebsocket *wsi);
+
+LWS_VISIBLE LWS_EXTERN int
+lws_frame_is_binary(struct libwebsocket *wsi);
+
+LWS_VISIBLE LWS_EXTERN unsigned char *
+libwebsockets_SHA1(const unsigned char *d, size_t n, unsigned char *md);
+
+LWS_VISIBLE LWS_EXTERN int
+lws_b64_encode_string(const char *in, int in_len, char *out, int out_size);
+
+LWS_VISIBLE LWS_EXTERN int
+lws_b64_decode_string(const char *in, char *out, int out_size);
+
+LWS_VISIBLE LWS_EXTERN const char *
+lws_get_library_version(void);
+
+/* access to headers... only valid while headers valid */
+
+LWS_VISIBLE LWS_EXTERN int
+lws_hdr_total_length(struct libwebsocket *wsi, enum lws_token_indexes h);
+
+LWS_VISIBLE LWS_EXTERN int
+lws_hdr_copy(struct libwebsocket *wsi, char *dest, int len,
+ enum lws_token_indexes h);
+
+/*
+ * Note: this is not normally needed as a user api. It's provided in case it is
+ * useful when integrating with other app poll loop service code.
+ */
+
+LWS_VISIBLE LWS_EXTERN int
+libwebsocket_read(struct libwebsocket_context *context,
+ struct libwebsocket *wsi,
+ unsigned char *buf, size_t len);
+
+#ifndef LWS_NO_EXTENSIONS
+LWS_VISIBLE LWS_EXTERN struct libwebsocket_extension *libwebsocket_get_internal_extensions();
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/external/libwebsockets/mac/lib/libwebsockets.a.REMOVED.git-id b/external/libwebsockets/mac/lib/libwebsockets.a.REMOVED.git-id
new file mode 100644
index 0000000000..07244313a9
--- /dev/null
+++ b/external/libwebsockets/mac/lib/libwebsockets.a.REMOVED.git-id
@@ -0,0 +1 @@
+7c6e7415c9d9fd3c6a002191f7d2c486aacf5204
\ No newline at end of file
diff --git a/samples/Cpp/TestCpp/proj.mac/TestCpp.xcodeproj/project.pbxproj.REMOVED.git-id b/samples/Cpp/TestCpp/proj.mac/TestCpp.xcodeproj/project.pbxproj.REMOVED.git-id
index 076eec3ddf..bb28a0782b 100644
--- a/samples/Cpp/TestCpp/proj.mac/TestCpp.xcodeproj/project.pbxproj.REMOVED.git-id
+++ b/samples/Cpp/TestCpp/proj.mac/TestCpp.xcodeproj/project.pbxproj.REMOVED.git-id
@@ -1 +1 @@
-9ae9939f85833280aac46f6be8bddf05b869bab8
\ No newline at end of file
+d81b281e5f46de12ac714ea968ad8c352c70af3e
\ No newline at end of file
diff --git a/samples/Javascript/TestJavascript/proj.mac/AppController.h b/samples/Javascript/TestJavascript/proj.mac/AppController.h
new file mode 100644
index 0000000000..96c717304b
--- /dev/null
+++ b/samples/Javascript/TestJavascript/proj.mac/AppController.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+ Copyright (c) 2010 cocos2d-x.org
+
+ http://www.cocos2d-x.org
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+ ****************************************************************************/
+
+#pragma once
+
+#import "cocos2d.h"
+#import "EAGLView.h"
+
+@interface AppController : NSObject
+ {
+ NSWindow *window;
+ CCEAGLView *glView;
+ }
+
+ @property (nonatomic, assign) IBOutlet NSWindow* window;
+ @property (nonatomic, assign) IBOutlet CCEAGLView* glView;
+
+ -(IBAction) toggleFullScreen:(id)sender;
+ -(IBAction) exitFullScreen:(id)sender;
+
+@end
diff --git a/samples/Javascript/TestJavascript/proj.mac/AppController.mm b/samples/Javascript/TestJavascript/proj.mac/AppController.mm
new file mode 100644
index 0000000000..0d30617caa
--- /dev/null
+++ b/samples/Javascript/TestJavascript/proj.mac/AppController.mm
@@ -0,0 +1,93 @@
+/****************************************************************************
+ Copyright (c) 2010 cocos2d-x.org
+
+ http://www.cocos2d-x.org
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+ ****************************************************************************/
+
+#import "AppController.h"
+#import "AppDelegate.h"
+
+@implementation AppController
+
+ static AppDelegate s_sharedApplication;
+
+ @synthesize window, glView;
+
+ -(void) applicationDidFinishLaunching:(NSNotification *)aNotification
+ {
+ // create the window
+ // note that using NSResizableWindowMask causes the window to be a little
+ // smaller and therefore ipad graphics are not loaded
+ NSRect rect = NSMakeRect(200, 200, 480, 320);
+ window = [[NSWindow alloc] initWithContentRect:rect
+ styleMask:( NSClosableWindowMask | NSTitledWindowMask )
+ backing:NSBackingStoreBuffered
+ defer:YES];
+
+ NSOpenGLPixelFormatAttribute attributes[] = {
+ NSOpenGLPFADoubleBuffer,
+ NSOpenGLPFADepthSize, 24,
+ NSOpenGLPFAStencilSize, 8,
+ 0
+ };
+
+ NSOpenGLPixelFormat *pixelFormat = [[[NSOpenGLPixelFormat alloc] initWithAttributes:attributes] autorelease];
+
+ // allocate our GL view
+ // (isn't there already a shared CCEAGLView?)
+ glView = [[CCEAGLView alloc] initWithFrame:rect pixelFormat:pixelFormat];
+
+ // set window parameters
+ [window becomeFirstResponder];
+ [window setContentView:glView];
+ [window setTitle:@"TestCpp"];
+ [window makeKeyAndOrderFront:self];
+ [window setAcceptsMouseMovedEvents:NO];
+
+ cocos2d::Application::sharedApplication()->run();
+ }
+
+ -(BOOL) applicationShouldTerminateAfterLastWindowClosed:(NSApplication*)theApplication
+ {
+ return YES;
+ }
+
+ -(void) dealloc
+ {
+ cocos2d::Director::sharedDirector()->end();
+ [super dealloc];
+ }
+
+#pragma mark -
+#pragma mark IB Actions
+
+ -(IBAction) toggleFullScreen:(id)sender
+ {
+ CCEAGLView* pView = [CCEAGLView sharedEGLView];
+ [pView setFullScreen:!pView.isFullScreen];
+ }
+
+ -(IBAction) exitFullScreen:(id)sender
+ {
+ [[CCEAGLView sharedEGLView] setFullScreen:NO];
+ }
+
+@end
diff --git a/samples/Javascript/TestJavascript/proj.mac/Icon.icns b/samples/Javascript/TestJavascript/proj.mac/Icon.icns
new file mode 100644
index 0000000000..285dee82b3
Binary files /dev/null and b/samples/Javascript/TestJavascript/proj.mac/Icon.icns differ
diff --git a/samples/Javascript/TestJavascript/proj.mac/TestJavascript.xcodeproj/project.pbxproj b/samples/Javascript/TestJavascript/proj.mac/TestJavascript.xcodeproj/project.pbxproj
new file mode 100644
index 0000000000..ead3eecf60
--- /dev/null
+++ b/samples/Javascript/TestJavascript/proj.mac/TestJavascript.xcodeproj/project.pbxproj
@@ -0,0 +1,817 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 15A3D5631682F20C002FB0C5 /* main.js in Resources */ = {isa = PBXBuildFile; fileRef = 15A3D4621682F14C002FB0C5 /* main.js */; };
+ 15A3D5651682F20C002FB0C5 /* tests_resources-jsb.js in Resources */ = {isa = PBXBuildFile; fileRef = 15A3D4711682F14C002FB0C5 /* tests_resources-jsb.js */; };
+ 15A3D5681682F20C002FB0C5 /* tests-main.js in Resources */ = {isa = PBXBuildFile; fileRef = 15A3D4741682F14C002FB0C5 /* tests-main.js */; };
+ 1A4C3F1317784B6000EDFB3B /* libchipmunk.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A4C3F0E17784B6000EDFB3B /* libchipmunk.a */; };
+ 1A4C3F1417784B6000EDFB3B /* libcocos2dx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A4C3F0F17784B6000EDFB3B /* libcocos2dx.a */; };
+ 1A4C3F1517784B6000EDFB3B /* libCocosDenshion.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A4C3F1017784B6000EDFB3B /* libCocosDenshion.a */; };
+ 1A4C3F1617784B6000EDFB3B /* libextensions.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A4C3F1117784B6000EDFB3B /* libextensions.a */; };
+ 1A4C3F1717784B6000EDFB3B /* libjsbindings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A4C3F1217784B6000EDFB3B /* libjsbindings.a */; };
+ 1A6B05C517782A2400FFE52B /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A6B05C417782A2400FFE52B /* libsqlite3.dylib */; };
+ 1A6B05C717782B0500FFE52B /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A6B05C617782B0500FFE52B /* libz.dylib */; };
+ 1A6E468A177812D20055514D /* jsb.js in Resources */ = {isa = PBXBuildFile; fileRef = 1A6E4672177812AF0055514D /* jsb.js */; };
+ 1A6E468B177812D20055514D /* jsb_chipmunk.js in Resources */ = {isa = PBXBuildFile; fileRef = 1A6E4673177812AF0055514D /* jsb_chipmunk.js */; };
+ 1A6E468C177812D20055514D /* jsb_chipmunk_constants.js in Resources */ = {isa = PBXBuildFile; fileRef = 1A6E4674177812AF0055514D /* jsb_chipmunk_constants.js */; };
+ 1A6E468D177812D20055514D /* jsb_cocos2d.js in Resources */ = {isa = PBXBuildFile; fileRef = 1A6E4675177812AF0055514D /* jsb_cocos2d.js */; };
+ 1A6E468E177812D20055514D /* jsb_cocos2d_constants.js in Resources */ = {isa = PBXBuildFile; fileRef = 1A6E4676177812AF0055514D /* jsb_cocos2d_constants.js */; };
+ 1A6E468F177812D20055514D /* jsb_cocos2d_extension.js in Resources */ = {isa = PBXBuildFile; fileRef = 1A6E4677177812AF0055514D /* jsb_cocos2d_extension.js */; };
+ 1A6E4690177812D20055514D /* jsb_cocosbuilder.js in Resources */ = {isa = PBXBuildFile; fileRef = 1A6E4678177812AF0055514D /* jsb_cocosbuilder.js */; };
+ 1A6E4691177812D20055514D /* jsb_debugger.js in Resources */ = {isa = PBXBuildFile; fileRef = 1A6E4679177812AF0055514D /* jsb_debugger.js */; };
+ 1A6E4692177812D20055514D /* jsb_opengl.js in Resources */ = {isa = PBXBuildFile; fileRef = 1A6E467A177812AF0055514D /* jsb_opengl.js */; };
+ 1A6E4693177812D20055514D /* jsb_opengl_constants.js in Resources */ = {isa = PBXBuildFile; fileRef = 1A6E467B177812AF0055514D /* jsb_opengl_constants.js */; };
+ 1A6E4694177812D20055514D /* jsb_sys.js in Resources */ = {isa = PBXBuildFile; fileRef = 1A6E467C177812AF0055514D /* jsb_sys.js */; };
+ 1A6E4695177812D20055514D /* main.debug.js in Resources */ = {isa = PBXBuildFile; fileRef = 1A6E467D177812AF0055514D /* main.debug.js */; };
+ 1A80332A1728DECD00240CC3 /* EffectsAdvancedTest in Resources */ = {isa = PBXBuildFile; fileRef = 1A8033291728DECD00240CC3 /* EffectsAdvancedTest */; };
+ 1A80332C1728F1FB00240CC3 /* res in Resources */ = {isa = PBXBuildFile; fileRef = 1A80332B1728F1FB00240CC3 /* res */; };
+ 1AA51A9F16F708FA000FDF05 /* ActionManagerTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A7816F708FA000FDF05 /* ActionManagerTest */; };
+ 1AA51AA016F708FA000FDF05 /* ActionsTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A7916F708FA000FDF05 /* ActionsTest */; };
+ 1AA51AA116F708FA000FDF05 /* BaseTestLayer in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A7A16F708FA000FDF05 /* BaseTestLayer */; };
+ 1AA51AA216F708FA000FDF05 /* Box2dTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A7B16F708FA000FDF05 /* Box2dTest */; };
+ 1AA51AA316F708FA000FDF05 /* ChipmunkTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A7C16F708FA000FDF05 /* ChipmunkTest */; };
+ 1AA51AA416F708FA000FDF05 /* ClickAndMoveTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A7D16F708FA000FDF05 /* ClickAndMoveTest */; };
+ 1AA51AA516F708FA000FDF05 /* CocosDenshionTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A7E16F708FA000FDF05 /* CocosDenshionTest */; };
+ 1AA51AA616F708FA000FDF05 /* CocosNodeTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A7F16F708FA000FDF05 /* CocosNodeTest */; };
+ 1AA51AA716F708FA000FDF05 /* CurrentLanguageTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A8016F708FA000FDF05 /* CurrentLanguageTest */; };
+ 1AA51AA816F708FA000FDF05 /* DrawPrimitivesTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A8116F708FA000FDF05 /* DrawPrimitivesTest */; };
+ 1AA51AA916F708FA000FDF05 /* EaseActionsTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A8216F708FA000FDF05 /* EaseActionsTest */; };
+ 1AA51AAA16F708FA000FDF05 /* EffectsTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A8316F708FA000FDF05 /* EffectsTest */; };
+ 1AA51AAB16F708FA000FDF05 /* EventTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A8416F708FA000FDF05 /* EventTest */; };
+ 1AA51AAC16F708FA000FDF05 /* ExtensionsTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A8516F708FA000FDF05 /* ExtensionsTest */; };
+ 1AA51AAD16F708FA000FDF05 /* FileUtils in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A8616F708FA000FDF05 /* FileUtils */; };
+ 1AA51AAE16F708FA000FDF05 /* FontTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A8716F708FA000FDF05 /* FontTest */; };
+ 1AA51AAF16F708FA000FDF05 /* IntervalTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A8816F708FA000FDF05 /* IntervalTest */; };
+ 1AA51AB016F708FA000FDF05 /* LabelTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A8916F708FA000FDF05 /* LabelTest */; };
+ 1AA51AB116F708FA000FDF05 /* LayerTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A8A16F708FA000FDF05 /* LayerTest */; };
+ 1AA51AB216F708FA000FDF05 /* MenuTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A8B16F708FA000FDF05 /* MenuTest */; };
+ 1AA51AB316F708FA000FDF05 /* OpenGLTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A8C16F708FA000FDF05 /* OpenGLTest */; };
+ 1AA51AB416F708FA000FDF05 /* ParallaxTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A8D16F708FA000FDF05 /* ParallaxTest */; };
+ 1AA51AB516F708FA000FDF05 /* ParticleTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A8E16F708FA000FDF05 /* ParticleTest */; };
+ 1AA51AB616F708FA000FDF05 /* PerformanceTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A8F16F708FA000FDF05 /* PerformanceTest */; };
+ 1AA51AB716F708FA000FDF05 /* Presentation in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A9016F708FA000FDF05 /* Presentation */; };
+ 1AA51AB816F708FA000FDF05 /* ProgressActionsTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A9116F708FA000FDF05 /* ProgressActionsTest */; };
+ 1AA51AB916F708FA000FDF05 /* RenderTextureTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A9216F708FA000FDF05 /* RenderTextureTest */; };
+ 1AA51ABB16F708FA000FDF05 /* RotateWorldTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A9416F708FA000FDF05 /* RotateWorldTest */; };
+ 1AA51ABC16F708FA000FDF05 /* SceneTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A9516F708FA000FDF05 /* SceneTest */; };
+ 1AA51ABD16F708FA000FDF05 /* SchedulerTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A9616F708FA000FDF05 /* SchedulerTest */; };
+ 1AA51ABE16F708FA000FDF05 /* SpriteTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A9716F708FA000FDF05 /* SpriteTest */; };
+ 1AA51ABF16F708FA000FDF05 /* SysTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A9816F708FA000FDF05 /* SysTest */; };
+ 1AA51AC016F708FA000FDF05 /* TextInputTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A9916F708FA000FDF05 /* TextInputTest */; };
+ 1AA51AC116F708FA000FDF05 /* TextureCacheTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A9A16F708FA000FDF05 /* TextureCacheTest */; };
+ 1AA51AC216F708FA000FDF05 /* TileMapTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A9B16F708FA000FDF05 /* TileMapTest */; };
+ 1AA51AC316F708FA000FDF05 /* TouchesTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A9C16F708FA000FDF05 /* TouchesTest */; };
+ 1AA51AC416F708FA000FDF05 /* TransitionsTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A9D16F708FA000FDF05 /* TransitionsTest */; };
+ 1AA51AC516F708FA000FDF05 /* UnitTest in Resources */ = {isa = PBXBuildFile; fileRef = 1AA51A9E16F708FA000FDF05 /* UnitTest */; };
+ A05FCAC8177C123600BE600E /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A05FCAC7177C123600BE600E /* OpenGL.framework */; };
+ A05FCAC9177C123F00BE600E /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A05FCAC7177C123600BE600E /* OpenGL.framework */; };
+ A05FCACC177C125300BE600E /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A05FCACB177C125300BE600E /* Cocoa.framework */; };
+ A05FCACD177C125800BE600E /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A05FCACB177C125300BE600E /* Cocoa.framework */; };
+ A05FCAD6177C129100BE600E /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = A05FCACF177C129100BE600E /* InfoPlist.strings */; };
+ A05FCAD7177C129100BE600E /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = A05FCACF177C129100BE600E /* InfoPlist.strings */; };
+ A05FCAD8177C129100BE600E /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = A05FCAD1177C129100BE600E /* MainMenu.xib */; };
+ A05FCAD9177C129100BE600E /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = A05FCAD1177C129100BE600E /* MainMenu.xib */; };
+ A05FCADA177C129100BE600E /* Icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = A05FCAD3177C129100BE600E /* Icon.icns */; };
+ A05FCADB177C129100BE600E /* Icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = A05FCAD3177C129100BE600E /* Icon.icns */; };
+ A05FCADC177C129100BE600E /* Test_Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = A05FCAD4177C129100BE600E /* Test_Info.plist */; };
+ A05FCADD177C129100BE600E /* Test_Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = A05FCAD4177C129100BE600E /* Test_Info.plist */; };
+ A05FCAE1177C12B500BE600E /* AppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = A05FCAE0177C12B500BE600E /* AppController.mm */; };
+ A05FCAE2177C12B500BE600E /* AppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = A05FCAE0177C12B500BE600E /* AppController.mm */; };
+ A218F7DC1743D97E00F65883 /* XHRTest in Resources */ = {isa = PBXBuildFile; fileRef = A218F7DB1743D97E00F65883 /* XHRTest */; };
+ A22656EF1743DCBB00598A2C /* ClippingNodeTest in Resources */ = {isa = PBXBuildFile; fileRef = A22656EE1743DCBB00598A2C /* ClippingNodeTest */; };
+ A92275421517C094001B78AA /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A92275411517C094001B78AA /* QuartzCore.framework */; };
+ A92275461517C094001B78AA /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A92275451517C094001B78AA /* OpenAL.framework */; };
+ A92275481517C094001B78AA /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A92275471517C094001B78AA /* AudioToolbox.framework */; };
+ A922754A1517C094001B78AA /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A92275491517C094001B78AA /* AVFoundation.framework */; };
+ A922754E1517C094001B78AA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A922754D1517C094001B78AA /* Foundation.framework */; };
+ A92275501517C094001B78AA /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A922754F1517C094001B78AA /* CoreGraphics.framework */; };
+ D401B61116FB637400F2529D /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4545215156E28EF00887EB5 /* AppDelegate.cpp */; };
+ D401B67D16FB637400F2529D /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A92275411517C094001B78AA /* QuartzCore.framework */; };
+ D401B67F16FB637400F2529D /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A92275451517C094001B78AA /* OpenAL.framework */; };
+ D401B68016FB637400F2529D /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A92275471517C094001B78AA /* AudioToolbox.framework */; };
+ D401B68116FB637400F2529D /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A92275491517C094001B78AA /* AVFoundation.framework */; };
+ D401B68316FB637400F2529D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A922754D1517C094001B78AA /* Foundation.framework */; };
+ D401B68416FB637400F2529D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A922754F1517C094001B78AA /* CoreGraphics.framework */; };
+ D401B6D716FBF49A00F2529D /* game.js in Resources */ = {isa = PBXBuildFile; fileRef = D401B6D516FBF48000F2529D /* game.js */; };
+ D401B6E016FC072B00F2529D /* tests-boot-jsb.js in Resources */ = {isa = PBXBuildFile; fileRef = D401B6DE16FC071100F2529D /* tests-boot-jsb.js */; };
+ D4545227156E28EF00887EB5 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D4545215156E28EF00887EB5 /* AppDelegate.cpp */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 15A3D4621682F14C002FB0C5 /* main.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; name = main.js; path = ../../Shared/tests/main.js; sourceTree = ""; };
+ 15A3D4711682F14C002FB0C5 /* tests_resources-jsb.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; name = "tests_resources-jsb.js"; path = "../../Shared/tests/tests_resources-jsb.js"; sourceTree = ""; };
+ 15A3D4741682F14C002FB0C5 /* tests-main.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; name = "tests-main.js"; path = "../../Shared/tests/tests-main.js"; sourceTree = ""; };
+ 1A4C3F0E17784B6000EDFB3B /* libchipmunk.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libchipmunk.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ 1A4C3F0F17784B6000EDFB3B /* libcocos2dx.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libcocos2dx.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ 1A4C3F1017784B6000EDFB3B /* libCocosDenshion.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libCocosDenshion.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ 1A4C3F1117784B6000EDFB3B /* libextensions.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libextensions.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ 1A4C3F1217784B6000EDFB3B /* libjsbindings.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libjsbindings.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ 1A6B05C417782A2400FFE52B /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; };
+ 1A6B05C617782B0500FFE52B /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
+ 1A6E4672177812AF0055514D /* jsb.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = jsb.js; sourceTree = ""; };
+ 1A6E4673177812AF0055514D /* jsb_chipmunk.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = jsb_chipmunk.js; sourceTree = ""; };
+ 1A6E4674177812AF0055514D /* jsb_chipmunk_constants.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = jsb_chipmunk_constants.js; sourceTree = ""; };
+ 1A6E4675177812AF0055514D /* jsb_cocos2d.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = jsb_cocos2d.js; sourceTree = ""; };
+ 1A6E4676177812AF0055514D /* jsb_cocos2d_constants.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = jsb_cocos2d_constants.js; sourceTree = ""; };
+ 1A6E4677177812AF0055514D /* jsb_cocos2d_extension.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = jsb_cocos2d_extension.js; sourceTree = ""; };
+ 1A6E4678177812AF0055514D /* jsb_cocosbuilder.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = jsb_cocosbuilder.js; sourceTree = ""; };
+ 1A6E4679177812AF0055514D /* jsb_debugger.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = jsb_debugger.js; sourceTree = ""; };
+ 1A6E467A177812AF0055514D /* jsb_opengl.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = jsb_opengl.js; sourceTree = ""; };
+ 1A6E467B177812AF0055514D /* jsb_opengl_constants.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = jsb_opengl_constants.js; sourceTree = ""; };
+ 1A6E467C177812AF0055514D /* jsb_sys.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = jsb_sys.js; sourceTree = ""; };
+ 1A6E467D177812AF0055514D /* main.debug.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = main.debug.js; sourceTree = ""; };
+ 1A8033291728DECD00240CC3 /* EffectsAdvancedTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = EffectsAdvancedTest; path = ../../Shared/tests/EffectsAdvancedTest; sourceTree = ""; };
+ 1A80332B1728F1FB00240CC3 /* res */ = {isa = PBXFileReference; lastKnownFileType = folder; name = res; path = ../../Shared/tests/res; sourceTree = ""; };
+ 1AA51A7816F708FA000FDF05 /* ActionManagerTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ActionManagerTest; path = ../../Shared/tests/ActionManagerTest; sourceTree = ""; };
+ 1AA51A7916F708FA000FDF05 /* ActionsTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ActionsTest; path = ../../Shared/tests/ActionsTest; sourceTree = ""; };
+ 1AA51A7A16F708FA000FDF05 /* BaseTestLayer */ = {isa = PBXFileReference; lastKnownFileType = folder; name = BaseTestLayer; path = ../../Shared/tests/BaseTestLayer; sourceTree = ""; };
+ 1AA51A7B16F708FA000FDF05 /* Box2dTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Box2dTest; path = ../../Shared/tests/Box2dTest; sourceTree = ""; };
+ 1AA51A7C16F708FA000FDF05 /* ChipmunkTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ChipmunkTest; path = ../../Shared/tests/ChipmunkTest; sourceTree = ""; };
+ 1AA51A7D16F708FA000FDF05 /* ClickAndMoveTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ClickAndMoveTest; path = ../../Shared/tests/ClickAndMoveTest; sourceTree = ""; };
+ 1AA51A7E16F708FA000FDF05 /* CocosDenshionTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = CocosDenshionTest; path = ../../Shared/tests/CocosDenshionTest; sourceTree = ""; };
+ 1AA51A7F16F708FA000FDF05 /* CocosNodeTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = CocosNodeTest; path = ../../Shared/tests/CocosNodeTest; sourceTree = ""; };
+ 1AA51A8016F708FA000FDF05 /* CurrentLanguageTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = CurrentLanguageTest; path = ../../Shared/tests/CurrentLanguageTest; sourceTree = ""; };
+ 1AA51A8116F708FA000FDF05 /* DrawPrimitivesTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = DrawPrimitivesTest; path = ../../Shared/tests/DrawPrimitivesTest; sourceTree = ""; };
+ 1AA51A8216F708FA000FDF05 /* EaseActionsTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = EaseActionsTest; path = ../../Shared/tests/EaseActionsTest; sourceTree = ""; };
+ 1AA51A8316F708FA000FDF05 /* EffectsTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = EffectsTest; path = ../../Shared/tests/EffectsTest; sourceTree = ""; };
+ 1AA51A8416F708FA000FDF05 /* EventTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = EventTest; path = ../../Shared/tests/EventTest; sourceTree = ""; };
+ 1AA51A8516F708FA000FDF05 /* ExtensionsTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ExtensionsTest; path = ../../Shared/tests/ExtensionsTest; sourceTree = ""; };
+ 1AA51A8616F708FA000FDF05 /* FileUtils */ = {isa = PBXFileReference; lastKnownFileType = folder; name = FileUtils; path = ../../Shared/tests/FileUtils; sourceTree = ""; };
+ 1AA51A8716F708FA000FDF05 /* FontTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = FontTest; path = ../../Shared/tests/FontTest; sourceTree = ""; };
+ 1AA51A8816F708FA000FDF05 /* IntervalTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = IntervalTest; path = ../../Shared/tests/IntervalTest; sourceTree = ""; };
+ 1AA51A8916F708FA000FDF05 /* LabelTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = LabelTest; path = ../../Shared/tests/LabelTest; sourceTree = ""; };
+ 1AA51A8A16F708FA000FDF05 /* LayerTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = LayerTest; path = ../../Shared/tests/LayerTest; sourceTree = ""; };
+ 1AA51A8B16F708FA000FDF05 /* MenuTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = MenuTest; path = ../../Shared/tests/MenuTest; sourceTree = ""; };
+ 1AA51A8C16F708FA000FDF05 /* OpenGLTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = OpenGLTest; path = ../../Shared/tests/OpenGLTest; sourceTree = ""; };
+ 1AA51A8D16F708FA000FDF05 /* ParallaxTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ParallaxTest; path = ../../Shared/tests/ParallaxTest; sourceTree = ""; };
+ 1AA51A8E16F708FA000FDF05 /* ParticleTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ParticleTest; path = ../../Shared/tests/ParticleTest; sourceTree = ""; };
+ 1AA51A8F16F708FA000FDF05 /* PerformanceTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = PerformanceTest; path = ../../Shared/tests/PerformanceTest; sourceTree = ""; };
+ 1AA51A9016F708FA000FDF05 /* Presentation */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Presentation; path = ../../Shared/tests/Presentation; sourceTree = ""; };
+ 1AA51A9116F708FA000FDF05 /* ProgressActionsTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ProgressActionsTest; path = ../../Shared/tests/ProgressActionsTest; sourceTree = ""; };
+ 1AA51A9216F708FA000FDF05 /* RenderTextureTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = RenderTextureTest; path = ../../Shared/tests/RenderTextureTest; sourceTree = ""; };
+ 1AA51A9416F708FA000FDF05 /* RotateWorldTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = RotateWorldTest; path = ../../Shared/tests/RotateWorldTest; sourceTree = ""; };
+ 1AA51A9516F708FA000FDF05 /* SceneTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = SceneTest; path = ../../Shared/tests/SceneTest; sourceTree = ""; };
+ 1AA51A9616F708FA000FDF05 /* SchedulerTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = SchedulerTest; path = ../../Shared/tests/SchedulerTest; sourceTree = ""; };
+ 1AA51A9716F708FA000FDF05 /* SpriteTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = SpriteTest; path = ../../Shared/tests/SpriteTest; sourceTree = ""; };
+ 1AA51A9816F708FA000FDF05 /* SysTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = SysTest; path = ../../Shared/tests/SysTest; sourceTree = ""; };
+ 1AA51A9916F708FA000FDF05 /* TextInputTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = TextInputTest; path = ../../Shared/tests/TextInputTest; sourceTree = ""; };
+ 1AA51A9A16F708FA000FDF05 /* TextureCacheTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = TextureCacheTest; path = ../../Shared/tests/TextureCacheTest; sourceTree = ""; };
+ 1AA51A9B16F708FA000FDF05 /* TileMapTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = TileMapTest; path = ../../Shared/tests/TileMapTest; sourceTree = ""; };
+ 1AA51A9C16F708FA000FDF05 /* TouchesTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = TouchesTest; path = ../../Shared/tests/TouchesTest; sourceTree = ""; };
+ 1AA51A9D16F708FA000FDF05 /* TransitionsTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = TransitionsTest; path = ../../Shared/tests/TransitionsTest; sourceTree = ""; };
+ 1AA51A9E16F708FA000FDF05 /* UnitTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = UnitTest; path = ../../Shared/tests/UnitTest; sourceTree = ""; };
+ A05FCAC7177C123600BE600E /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
+ A05FCACB177C125300BE600E /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
+ A05FCAD0177C129100BE600E /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = InfoPlist.strings; sourceTree = ""; };
+ A05FCAD2177C129100BE600E /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = MainMenu.xib; sourceTree = ""; };
+ A05FCAD3177C129100BE600E /* Icon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = Icon.icns; sourceTree = ""; };
+ A05FCAD4177C129100BE600E /* Test_Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Test_Info.plist; sourceTree = ""; };
+ A05FCAD5177C129100BE600E /* Test_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Test_Prefix.pch; sourceTree = ""; };
+ A05FCADF177C12B500BE600E /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppController.h; sourceTree = ""; };
+ A05FCAE0177C12B500BE600E /* AppController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AppController.mm; sourceTree = ""; };
+ A218F7DB1743D97E00F65883 /* XHRTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = XHRTest; path = ../../Shared/tests/XHRTest; sourceTree = ""; };
+ A22656EE1743DCBB00598A2C /* ClippingNodeTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ClippingNodeTest; path = ../../Shared/tests/ClippingNodeTest; sourceTree = ""; };
+ A922753D1517C094001B78AA /* TestJavascript.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TestJavascript.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ A92275411517C094001B78AA /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
+ A92275451517C094001B78AA /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = System/Library/Frameworks/OpenAL.framework; sourceTree = SDKROOT; };
+ A92275471517C094001B78AA /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
+ A92275491517C094001B78AA /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
+ A922754D1517C094001B78AA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ A922754F1517C094001B78AA /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+ D401B5FD16FB199B00F2529D /* Icon-57.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-57.png"; sourceTree = ""; };
+ D401B5FF16FB19A000F2529D /* Icon-114.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-114.png"; sourceTree = ""; };
+ D401B60116FB19A600F2529D /* Icon-72.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-72.png"; sourceTree = ""; };
+ D401B60316FB19A900F2529D /* Icon-144.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-144.png"; sourceTree = ""; };
+ D401B6C816FB637400F2529D /* TestJavascriptObfuscated.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TestJavascriptObfuscated.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ D401B6D516FBF48000F2529D /* game.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; name = game.js; path = ../game.js; sourceTree = ""; };
+ D401B6DE16FC071100F2529D /* tests-boot-jsb.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; name = "tests-boot-jsb.js"; path = "../../Shared/tests/tests-boot-jsb.js"; sourceTree = ""; };
+ D446FDA216102D7D000ADA7B /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; };
+ D446FDA416102D82000ADA7B /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; };
+ D446FDA616102D86000ADA7B /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; };
+ D4545215156E28EF00887EB5 /* AppDelegate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AppDelegate.cpp; sourceTree = ""; };
+ D4545216156E28EF00887EB5 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ A922753A1517C094001B78AA /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 1A4C3F1317784B6000EDFB3B /* libchipmunk.a in Frameworks */,
+ 1A4C3F1417784B6000EDFB3B /* libcocos2dx.a in Frameworks */,
+ 1A4C3F1517784B6000EDFB3B /* libCocosDenshion.a in Frameworks */,
+ 1A4C3F1617784B6000EDFB3B /* libextensions.a in Frameworks */,
+ 1A4C3F1717784B6000EDFB3B /* libjsbindings.a in Frameworks */,
+ 1A6B05C717782B0500FFE52B /* libz.dylib in Frameworks */,
+ 1A6B05C517782A2400FFE52B /* libsqlite3.dylib in Frameworks */,
+ A92275421517C094001B78AA /* QuartzCore.framework in Frameworks */,
+ A92275461517C094001B78AA /* OpenAL.framework in Frameworks */,
+ A92275481517C094001B78AA /* AudioToolbox.framework in Frameworks */,
+ A922754A1517C094001B78AA /* AVFoundation.framework in Frameworks */,
+ A922754E1517C094001B78AA /* Foundation.framework in Frameworks */,
+ A92275501517C094001B78AA /* CoreGraphics.framework in Frameworks */,
+ A05FCAC9177C123F00BE600E /* OpenGL.framework in Frameworks */,
+ A05FCACD177C125800BE600E /* Cocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D401B67816FB637400F2529D /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ A05FCACC177C125300BE600E /* Cocoa.framework in Frameworks */,
+ A05FCAC8177C123600BE600E /* OpenGL.framework in Frameworks */,
+ D401B67D16FB637400F2529D /* QuartzCore.framework in Frameworks */,
+ D401B67F16FB637400F2529D /* OpenAL.framework in Frameworks */,
+ D401B68016FB637400F2529D /* AudioToolbox.framework in Frameworks */,
+ D401B68116FB637400F2529D /* AVFoundation.framework in Frameworks */,
+ D401B68316FB637400F2529D /* Foundation.framework in Frameworks */,
+ D401B68416FB637400F2529D /* CoreGraphics.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 15628F5B15F0F5C2000CF24B /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 1A6E4671177812AF0055514D /* js */,
+ 1A80332B1728F1FB00240CC3 /* res */,
+ D446FDA616102D86000ADA7B /* Default-568h@2x.png */,
+ D446FDA216102D7D000ADA7B /* Default.png */,
+ D446FDA416102D82000ADA7B /* Default@2x.png */,
+ D401B60316FB19A900F2529D /* Icon-144.png */,
+ D401B60116FB19A600F2529D /* Icon-72.png */,
+ D401B5FF16FB19A000F2529D /* Icon-114.png */,
+ D401B5FD16FB199B00F2529D /* Icon-57.png */,
+ );
+ name = Resources;
+ sourceTree = "";
+ };
+ 1A6E4671177812AF0055514D /* js */ = {
+ isa = PBXGroup;
+ children = (
+ 1A6E4672177812AF0055514D /* jsb.js */,
+ 1A6E4673177812AF0055514D /* jsb_chipmunk.js */,
+ 1A6E4674177812AF0055514D /* jsb_chipmunk_constants.js */,
+ 1A6E4675177812AF0055514D /* jsb_cocos2d.js */,
+ 1A6E4676177812AF0055514D /* jsb_cocos2d_constants.js */,
+ 1A6E4677177812AF0055514D /* jsb_cocos2d_extension.js */,
+ 1A6E4678177812AF0055514D /* jsb_cocosbuilder.js */,
+ 1A6E4679177812AF0055514D /* jsb_debugger.js */,
+ 1A6E467A177812AF0055514D /* jsb_opengl.js */,
+ 1A6E467B177812AF0055514D /* jsb_opengl_constants.js */,
+ 1A6E467C177812AF0055514D /* jsb_sys.js */,
+ 1A6E467D177812AF0055514D /* main.debug.js */,
+ );
+ name = js;
+ path = ../../../../scripting/javascript/bindings/js;
+ sourceTree = "";
+ };
+ A05FCACE177C129100BE600E /* en.lproj */ = {
+ isa = PBXGroup;
+ children = (
+ A05FCACF177C129100BE600E /* InfoPlist.strings */,
+ A05FCAD1177C129100BE600E /* MainMenu.xib */,
+ );
+ path = en.lproj;
+ sourceTree = "";
+ };
+ A05FCADE177C129A00BE600E /* mac */ = {
+ isa = PBXGroup;
+ children = (
+ A05FCADF177C12B500BE600E /* AppController.h */,
+ A05FCAE0177C12B500BE600E /* AppController.mm */,
+ A05FCACE177C129100BE600E /* en.lproj */,
+ A05FCAD3177C129100BE600E /* Icon.icns */,
+ A05FCAD4177C129100BE600E /* Test_Info.plist */,
+ A05FCAD5177C129100BE600E /* Test_Prefix.pch */,
+ );
+ name = mac;
+ sourceTree = "";
+ };
+ A92275321517C094001B78AA = {
+ isa = PBXGroup;
+ children = (
+ D4545214156E28EF00887EB5 /* Classes */,
+ A05FCADE177C129A00BE600E /* mac */,
+ A92275401517C094001B78AA /* Frameworks */,
+ D401B60716FB632B00F2529D /* js_src_obfuscated */,
+ D401B5FC16FB169100F2529D /* js_src_raw */,
+ A922753E1517C094001B78AA /* Products */,
+ 15628F5B15F0F5C2000CF24B /* Resources */,
+ );
+ sourceTree = "";
+ };
+ A922753E1517C094001B78AA /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ A922753D1517C094001B78AA /* TestJavascript.app */,
+ D401B6C816FB637400F2529D /* TestJavascriptObfuscated.app */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ A92275401517C094001B78AA /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 1A4C3F0E17784B6000EDFB3B /* libchipmunk.a */,
+ 1A4C3F0F17784B6000EDFB3B /* libcocos2dx.a */,
+ 1A4C3F1017784B6000EDFB3B /* libCocosDenshion.a */,
+ 1A4C3F1117784B6000EDFB3B /* libextensions.a */,
+ 1A4C3F1217784B6000EDFB3B /* libjsbindings.a */,
+ 1A6B05C617782B0500FFE52B /* libz.dylib */,
+ 1A6B05C417782A2400FFE52B /* libsqlite3.dylib */,
+ A05FCACB177C125300BE600E /* Cocoa.framework */,
+ A05FCAC7177C123600BE600E /* OpenGL.framework */,
+ A92275411517C094001B78AA /* QuartzCore.framework */,
+ A92275451517C094001B78AA /* OpenAL.framework */,
+ A92275471517C094001B78AA /* AudioToolbox.framework */,
+ A92275491517C094001B78AA /* AVFoundation.framework */,
+ A922754D1517C094001B78AA /* Foundation.framework */,
+ A922754F1517C094001B78AA /* CoreGraphics.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ D401B5FC16FB169100F2529D /* js_src_raw */ = {
+ isa = PBXGroup;
+ children = (
+ A22656EE1743DCBB00598A2C /* ClippingNodeTest */,
+ A218F7DB1743D97E00F65883 /* XHRTest */,
+ 1AA51A7816F708FA000FDF05 /* ActionManagerTest */,
+ 1AA51A7916F708FA000FDF05 /* ActionsTest */,
+ 1AA51A7A16F708FA000FDF05 /* BaseTestLayer */,
+ 1AA51A7B16F708FA000FDF05 /* Box2dTest */,
+ 1AA51A7C16F708FA000FDF05 /* ChipmunkTest */,
+ 1AA51A7D16F708FA000FDF05 /* ClickAndMoveTest */,
+ 1AA51A7E16F708FA000FDF05 /* CocosDenshionTest */,
+ 1AA51A7F16F708FA000FDF05 /* CocosNodeTest */,
+ 1AA51A8016F708FA000FDF05 /* CurrentLanguageTest */,
+ 1AA51A8116F708FA000FDF05 /* DrawPrimitivesTest */,
+ 1AA51A8216F708FA000FDF05 /* EaseActionsTest */,
+ 1A8033291728DECD00240CC3 /* EffectsAdvancedTest */,
+ 1AA51A8316F708FA000FDF05 /* EffectsTest */,
+ 1AA51A8416F708FA000FDF05 /* EventTest */,
+ 1AA51A8516F708FA000FDF05 /* ExtensionsTest */,
+ 1AA51A8616F708FA000FDF05 /* FileUtils */,
+ 1AA51A8716F708FA000FDF05 /* FontTest */,
+ 1AA51A8816F708FA000FDF05 /* IntervalTest */,
+ 1AA51A8916F708FA000FDF05 /* LabelTest */,
+ 1AA51A8A16F708FA000FDF05 /* LayerTest */,
+ 1AA51A8B16F708FA000FDF05 /* MenuTest */,
+ 1AA51A8C16F708FA000FDF05 /* OpenGLTest */,
+ 1AA51A8D16F708FA000FDF05 /* ParallaxTest */,
+ 1AA51A8E16F708FA000FDF05 /* ParticleTest */,
+ 1AA51A8F16F708FA000FDF05 /* PerformanceTest */,
+ 1AA51A9016F708FA000FDF05 /* Presentation */,
+ 1AA51A9116F708FA000FDF05 /* ProgressActionsTest */,
+ 1AA51A9216F708FA000FDF05 /* RenderTextureTest */,
+ 1AA51A9416F708FA000FDF05 /* RotateWorldTest */,
+ 1AA51A9516F708FA000FDF05 /* SceneTest */,
+ 1AA51A9616F708FA000FDF05 /* SchedulerTest */,
+ 1AA51A9716F708FA000FDF05 /* SpriteTest */,
+ 1AA51A9816F708FA000FDF05 /* SysTest */,
+ 1AA51A9916F708FA000FDF05 /* TextInputTest */,
+ 1AA51A9A16F708FA000FDF05 /* TextureCacheTest */,
+ 1AA51A9B16F708FA000FDF05 /* TileMapTest */,
+ 1AA51A9C16F708FA000FDF05 /* TouchesTest */,
+ 1AA51A9D16F708FA000FDF05 /* TransitionsTest */,
+ 1AA51A9E16F708FA000FDF05 /* UnitTest */,
+ 15A3D4621682F14C002FB0C5 /* main.js */,
+ D401B6DE16FC071100F2529D /* tests-boot-jsb.js */,
+ 15A3D4741682F14C002FB0C5 /* tests-main.js */,
+ 15A3D4711682F14C002FB0C5 /* tests_resources-jsb.js */,
+ );
+ name = js_src_raw;
+ sourceTree = "";
+ };
+ D401B60716FB632B00F2529D /* js_src_obfuscated */ = {
+ isa = PBXGroup;
+ children = (
+ D401B6D516FBF48000F2529D /* game.js */,
+ );
+ name = js_src_obfuscated;
+ sourceTree = "";
+ };
+ D4545214156E28EF00887EB5 /* Classes */ = {
+ isa = PBXGroup;
+ children = (
+ D4545215156E28EF00887EB5 /* AppDelegate.cpp */,
+ D4545216156E28EF00887EB5 /* AppDelegate.h */,
+ );
+ name = Classes;
+ path = ../Classes;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ A922753C1517C094001B78AA /* TestJavascript */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = A92277001517C097001B78AA /* Build configuration list for PBXNativeTarget "TestJavascript" */;
+ buildPhases = (
+ A92275391517C094001B78AA /* Sources */,
+ A922753A1517C094001B78AA /* Frameworks */,
+ A922753B1517C094001B78AA /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = TestJavascript;
+ productName = TestJavascript;
+ productReference = A922753D1517C094001B78AA /* TestJavascript.app */;
+ productType = "com.apple.product-type.application";
+ };
+ D401B60A16FB637400F2529D /* TestJavascriptObfuscated */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = D401B6C516FB637400F2529D /* Build configuration list for PBXNativeTarget "TestJavascriptObfuscated" */;
+ buildPhases = (
+ D401B60D16FB637400F2529D /* Sources */,
+ D401B67816FB637400F2529D /* Frameworks */,
+ D401B6E116FC076200F2529D /* ShellScript */,
+ D401B68516FB637400F2529D /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = TestJavascriptObfuscated;
+ productName = TestJavascript;
+ productReference = D401B6C816FB637400F2529D /* TestJavascriptObfuscated.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ A92275341517C094001B78AA /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0430;
+ };
+ buildConfigurationList = A92275371517C094001B78AA /* Build configuration list for PBXProject "TestJavascript" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = A92275321517C094001B78AA;
+ productRefGroup = A922753E1517C094001B78AA /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ A922753C1517C094001B78AA /* TestJavascript */,
+ D401B60A16FB637400F2529D /* TestJavascriptObfuscated */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ A922753B1517C094001B78AA /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 1A6E468A177812D20055514D /* jsb.js in Resources */,
+ 1A6E468B177812D20055514D /* jsb_chipmunk.js in Resources */,
+ 1A6E468C177812D20055514D /* jsb_chipmunk_constants.js in Resources */,
+ 1A6E468D177812D20055514D /* jsb_cocos2d.js in Resources */,
+ 1A6E468E177812D20055514D /* jsb_cocos2d_constants.js in Resources */,
+ 1A6E468F177812D20055514D /* jsb_cocos2d_extension.js in Resources */,
+ 1A6E4690177812D20055514D /* jsb_cocosbuilder.js in Resources */,
+ 1A6E4691177812D20055514D /* jsb_debugger.js in Resources */,
+ 1A6E4692177812D20055514D /* jsb_opengl.js in Resources */,
+ 1A6E4693177812D20055514D /* jsb_opengl_constants.js in Resources */,
+ 1A6E4694177812D20055514D /* jsb_sys.js in Resources */,
+ 1A6E4695177812D20055514D /* main.debug.js in Resources */,
+ D401B6E016FC072B00F2529D /* tests-boot-jsb.js in Resources */,
+ 15A3D5631682F20C002FB0C5 /* main.js in Resources */,
+ 15A3D5651682F20C002FB0C5 /* tests_resources-jsb.js in Resources */,
+ 15A3D5681682F20C002FB0C5 /* tests-main.js in Resources */,
+ 1AA51A9F16F708FA000FDF05 /* ActionManagerTest in Resources */,
+ 1AA51AA016F708FA000FDF05 /* ActionsTest in Resources */,
+ 1AA51AA116F708FA000FDF05 /* BaseTestLayer in Resources */,
+ 1AA51AA216F708FA000FDF05 /* Box2dTest in Resources */,
+ 1AA51AA316F708FA000FDF05 /* ChipmunkTest in Resources */,
+ 1AA51AA416F708FA000FDF05 /* ClickAndMoveTest in Resources */,
+ 1AA51AA516F708FA000FDF05 /* CocosDenshionTest in Resources */,
+ 1AA51AA616F708FA000FDF05 /* CocosNodeTest in Resources */,
+ 1AA51AA716F708FA000FDF05 /* CurrentLanguageTest in Resources */,
+ 1AA51AA816F708FA000FDF05 /* DrawPrimitivesTest in Resources */,
+ 1AA51AA916F708FA000FDF05 /* EaseActionsTest in Resources */,
+ 1AA51AAA16F708FA000FDF05 /* EffectsTest in Resources */,
+ 1AA51AAB16F708FA000FDF05 /* EventTest in Resources */,
+ 1AA51AAC16F708FA000FDF05 /* ExtensionsTest in Resources */,
+ 1AA51AAD16F708FA000FDF05 /* FileUtils in Resources */,
+ 1AA51AAE16F708FA000FDF05 /* FontTest in Resources */,
+ 1AA51AAF16F708FA000FDF05 /* IntervalTest in Resources */,
+ 1AA51AB016F708FA000FDF05 /* LabelTest in Resources */,
+ 1AA51AB116F708FA000FDF05 /* LayerTest in Resources */,
+ 1AA51AB216F708FA000FDF05 /* MenuTest in Resources */,
+ 1AA51AB316F708FA000FDF05 /* OpenGLTest in Resources */,
+ 1AA51AB416F708FA000FDF05 /* ParallaxTest in Resources */,
+ 1AA51AB516F708FA000FDF05 /* ParticleTest in Resources */,
+ 1AA51AB616F708FA000FDF05 /* PerformanceTest in Resources */,
+ 1AA51AB716F708FA000FDF05 /* Presentation in Resources */,
+ 1AA51AB816F708FA000FDF05 /* ProgressActionsTest in Resources */,
+ 1AA51AB916F708FA000FDF05 /* RenderTextureTest in Resources */,
+ 1AA51ABB16F708FA000FDF05 /* RotateWorldTest in Resources */,
+ 1AA51ABC16F708FA000FDF05 /* SceneTest in Resources */,
+ 1AA51ABD16F708FA000FDF05 /* SchedulerTest in Resources */,
+ 1AA51ABE16F708FA000FDF05 /* SpriteTest in Resources */,
+ 1AA51ABF16F708FA000FDF05 /* SysTest in Resources */,
+ 1AA51AC016F708FA000FDF05 /* TextInputTest in Resources */,
+ 1AA51AC116F708FA000FDF05 /* TextureCacheTest in Resources */,
+ 1AA51AC216F708FA000FDF05 /* TileMapTest in Resources */,
+ 1AA51AC316F708FA000FDF05 /* TouchesTest in Resources */,
+ 1AA51AC416F708FA000FDF05 /* TransitionsTest in Resources */,
+ 1AA51AC516F708FA000FDF05 /* UnitTest in Resources */,
+ 1A80332A1728DECD00240CC3 /* EffectsAdvancedTest in Resources */,
+ 1A80332C1728F1FB00240CC3 /* res in Resources */,
+ A218F7DC1743D97E00F65883 /* XHRTest in Resources */,
+ A22656EF1743DCBB00598A2C /* ClippingNodeTest in Resources */,
+ A05FCAD6177C129100BE600E /* InfoPlist.strings in Resources */,
+ A05FCAD8177C129100BE600E /* MainMenu.xib in Resources */,
+ A05FCADA177C129100BE600E /* Icon.icns in Resources */,
+ A05FCADC177C129100BE600E /* Test_Info.plist in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D401B68516FB637400F2529D /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D401B6D716FBF49A00F2529D /* game.js in Resources */,
+ A05FCAD7177C129100BE600E /* InfoPlist.strings in Resources */,
+ A05FCAD9177C129100BE600E /* MainMenu.xib in Resources */,
+ A05FCADB177C129100BE600E /* Icon.icns in Resources */,
+ A05FCADD177C129100BE600E /* Test_Info.plist in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ D401B6E116FC076200F2529D /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "pushd $SRCROOT/../\nrm game.js\nant -buildfile obfuscate.xml\npopd\n";
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ A92275391517C094001B78AA /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D4545227156E28EF00887EB5 /* AppDelegate.cpp in Sources */,
+ A05FCAE1177C12B500BE600E /* AppController.mm in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D401B60D16FB637400F2529D /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D401B61116FB637400F2529D /* AppDelegate.cpp in Sources */,
+ A05FCAE2177C12B500BE600E /* AppController.mm in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ A05FCACF177C129100BE600E /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ A05FCAD0177C129100BE600E /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "";
+ };
+ A05FCAD1177C129100BE600E /* MainMenu.xib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ A05FCAD2177C129100BE600E /* en */,
+ );
+ name = MainMenu.xib;
+ sourceTree = "";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ A92276FE1517C097001B78AA /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ GCC_C_LANGUAGE_STANDARD = c99;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "COCOS2D_DEBUG=1",
+ COCOS2D_JAVASCRIPT,
+ USE_FILE32API,
+ CC_ENABLE_CHIPMUNK_INTEGRATION,
+ CC_TARGET_OS_MAC,
+ DEBUG,
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(SRCROOT)/../../../../cocos2dx",
+ "$(SRCROOT)/../../../../cocos2dx/include",
+ "$(SRCROOT)/../../../../cocos2dx/platform/mac",
+ "$(SRCROOT)/../../../../cocos2dx/kazmath/include",
+ "${SRCROOT}/../../../../cocos2dx/platform/third_party/mac",
+ "$(SRCROOT)/../../../../CocosDenshion/include",
+ "$(SRCROOT)/../../../../external/chipmunk/include/chipmunk",
+ "$(SRCROOT)/../../../../scripting/javascript/spidermonkey-mac/include",
+ "$(SRCROOT)/../../../../scripting/javascript/bindings",
+ "$(SRCROOT)/../../../../extensions",
+ );
+ LIBRARY_SEARCH_PATHS = (
+ "\"$(SRCROOT)/../../../../scripting/javascript/spidermonkey-mac/lib\"",
+ "\"$(SRCROOT)/../../../../cocos2dx/platform/third_party/mac/libraries\"",
+ "\"$(SRCROOT)/../../../../external/libwebsockets/mac/lib\"",
+ );
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = macosx;
+ };
+ name = Debug;
+ };
+ A92276FF1517C097001B78AA /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ GCC_C_LANGUAGE_STANDARD = c99;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ COCOS2D_JAVASCRIPT,
+ USE_FILE32API,
+ CC_ENABLE_CHIPMUNK_INTEGRATION,
+ CC_TARGET_OS_MAC,
+ NDEBUG,
+ );
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(SRCROOT)/../../../../cocos2dx",
+ "$(SRCROOT)/../../../../cocos2dx/include",
+ "$(SRCROOT)/../../../../cocos2dx/platform/mac",
+ "$(SRCROOT)/../../../../cocos2dx/kazmath/include",
+ "${SRCROOT}/../../../../cocos2dx/platform/third_party/mac",
+ "$(SRCROOT)/../../../../CocosDenshion/include",
+ "$(SRCROOT)/../../../../external/chipmunk/include/chipmunk",
+ "$(SRCROOT)/../../../../scripting/javascript/spidermonkey-mac/include",
+ "$(SRCROOT)/../../../../scripting/javascript/bindings",
+ "$(SRCROOT)/../../../../extensions",
+ );
+ LIBRARY_SEARCH_PATHS = (
+ "\"$(SRCROOT)/../../../../scripting/javascript/spidermonkey-mac/lib\"",
+ "\"$(SRCROOT)/../../../../cocos2dx/platform/third_party/mac/libraries\"",
+ "\"$(SRCROOT)/../../../../external/libwebsockets/mac/lib\"",
+ );
+ OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
+ SDKROOT = macosx;
+ };
+ name = Release;
+ };
+ A92277011517C097001B78AA /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 1;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = Test_Prefix.pch;
+ GCC_VERSION = "";
+ INFOPLIST_FILE = "$(SRCROOT)/Test_Info.plist";
+ ONLY_ACTIVE_ARCH = YES;
+ OTHER_LDFLAGS = "";
+ PRODUCT_NAME = TestJavascript;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ A92277021517C097001B78AA /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = Test_Prefix.pch;
+ GCC_VERSION = "";
+ INFOPLIST_FILE = "$(SRCROOT)/Test_Info.plist";
+ ONLY_ACTIVE_ARCH = YES;
+ OTHER_LDFLAGS = "";
+ PRODUCT_NAME = TestJavascript;
+ VALIDATE_PRODUCT = YES;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+ D401B6C616FB637400F2529D /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 1;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = Test_Prefix.pch;
+ GCC_THUMB_SUPPORT = NO;
+ GCC_VERSION = "";
+ INFOPLIST_FILE = "$(SRCROOT)/Info-obfuscated.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 5.0;
+ OTHER_LDFLAGS = (
+ "-lxml2",
+ "-lz",
+ "-ljs_static",
+ );
+ PRODUCT_NAME = TestJavascriptObfuscated;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ D401B6C716FB637400F2529D /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ COPY_PHASE_STRIP = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = Test_Prefix.pch;
+ GCC_THUMB_SUPPORT = NO;
+ GCC_VERSION = "";
+ INFOPLIST_FILE = "$(SRCROOT)/Info-obfuscated.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 5.0;
+ OTHER_LDFLAGS = (
+ "-lxml2",
+ "-lz",
+ "-ljs_static",
+ );
+ PRODUCT_NAME = TestJavascriptObfuscated;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VALIDATE_PRODUCT = YES;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ A92275371517C094001B78AA /* Build configuration list for PBXProject "TestJavascript" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ A92276FE1517C097001B78AA /* Debug */,
+ A92276FF1517C097001B78AA /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ A92277001517C097001B78AA /* Build configuration list for PBXNativeTarget "TestJavascript" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ A92277011517C097001B78AA /* Debug */,
+ A92277021517C097001B78AA /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ D401B6C516FB637400F2529D /* Build configuration list for PBXNativeTarget "TestJavascriptObfuscated" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ D401B6C616FB637400F2529D /* Debug */,
+ D401B6C716FB637400F2529D /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = A92275341517C094001B78AA /* Project object */;
+}
diff --git a/samples/Javascript/TestJavascript/proj.mac/TestJavascript.xcodeproj/project.xcworkspace/xcshareddata/TestJavascript.xccheckout b/samples/Javascript/TestJavascript/proj.mac/TestJavascript.xcodeproj/project.xcworkspace/xcshareddata/TestJavascript.xccheckout
new file mode 100644
index 0000000000..58f6193c12
--- /dev/null
+++ b/samples/Javascript/TestJavascript/proj.mac/TestJavascript.xcodeproj/project.xcworkspace/xcshareddata/TestJavascript.xccheckout
@@ -0,0 +1,63 @@
+
+
+
+
+ IDESourceControlProjectIdentifier
+ 0B98B4D8-828E-460D-817C-495BE3652AD5
+ IDESourceControlProjectName
+ TestJavascript
+ IDESourceControlProjectOriginsDictionary
+
+ 5B0F35E6-1A4B-4F3D-A082-C30150726270
+ git://github.com/folecr/cocos2dx-autogen-bindings.git
+ D2399FF0-C90F-4E4F-8E8D-F9BE2AA9DC5A
+ https://github.com/minggo/cocos2d-x.git
+ E0C8B176-3A21-43EF-A355-D004DE1F4825
+ https://github.com/minggo/cocos2d-js-tests.git
+
+ IDESourceControlProjectPath
+ samples/Javascript/TestJavascript/proj.ios/TestJavascript.xcodeproj/project.xcworkspace
+ IDESourceControlProjectRelativeInstallPathDictionary
+
+ 5B0F35E6-1A4B-4F3D-A082-C30150726270
+ ../../../../../../scripting/javascript/bindings/generated
+ D2399FF0-C90F-4E4F-8E8D-F9BE2AA9DC5A
+ ../../../../../..
+ E0C8B176-3A21-43EF-A355-D004DE1F4825
+ ../../../../Shared
+
+ IDESourceControlProjectURL
+ https://github.com/minggo/cocos2d-x.git
+ IDESourceControlProjectVersion
+ 110
+ IDESourceControlProjectWCCIdentifier
+ D2399FF0-C90F-4E4F-8E8D-F9BE2AA9DC5A
+ IDESourceControlProjectWCConfigurations
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ D2399FF0-C90F-4E4F-8E8D-F9BE2AA9DC5A
+ IDESourceControlWCCName
+ cocos2d-x
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ E0C8B176-3A21-43EF-A355-D004DE1F4825
+ IDESourceControlWCCName
+ Shared
+
+
+ IDESourceControlRepositoryExtensionIdentifierKey
+ public.vcs.git
+ IDESourceControlWCCIdentifierKey
+ 5B0F35E6-1A4B-4F3D-A082-C30150726270
+ IDESourceControlWCCName
+ generated
+
+
+
+
diff --git a/samples/Javascript/TestJavascript/proj.mac/Test_Prefix.pch b/samples/Javascript/TestJavascript/proj.mac/Test_Prefix.pch
new file mode 100644
index 0000000000..46c36a7e99
--- /dev/null
+++ b/samples/Javascript/TestJavascript/proj.mac/Test_Prefix.pch
@@ -0,0 +1,7 @@
+//
+// Prefix header for all source files of the 'Paralaxer' target in the 'Paralaxer' project
+//
+
+#ifdef __OBJC__
+ #import
+#endif
diff --git a/samples/Javascript/TestJavascript/proj.mac/en.lproj/InfoPlist.strings b/samples/Javascript/TestJavascript/proj.mac/en.lproj/InfoPlist.strings
new file mode 100644
index 0000000000..477b28ff8f
--- /dev/null
+++ b/samples/Javascript/TestJavascript/proj.mac/en.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+
diff --git a/samples/Javascript/TestJavascript/proj.mac/en.lproj/MainMenu.xib b/samples/Javascript/TestJavascript/proj.mac/en.lproj/MainMenu.xib
new file mode 100644
index 0000000000..3dacdedbd0
--- /dev/null
+++ b/samples/Javascript/TestJavascript/proj.mac/en.lproj/MainMenu.xib
@@ -0,0 +1,812 @@
+
+
+
+ 1060
+ 10K549
+ 1938
+ 1038.36
+ 461.00
+
+
+
+
+
+
+
+ YES
+
+
+ terminate:
+
+
+
+ 449
+
+
+
+ orderFrontStandardAboutPanel:
+
+
+
+ 142
+
+
+
+ delegate
+
+
+
+ 495
+
+
+
+ performMiniaturize:
+
+
+
+ 37
+
+
+
+ arrangeInFront:
+
+
+
+ 39
+
+
+
+ performZoom:
+
+
+
+ 240
+
+
+
+ hide:
+
+
+
+ 367
+
+
+
+ hideOtherApplications:
+
+
+
+ 368
+
+
+
+ unhideAllApplications:
+
+
+
+ 370
+
+
+
+ showHelp:
+
+
+
+ 493
+
+
+
+ toggleFullScreen:
+
+
+
+ 537
+
+
+
+
+ YES
+
+ 0
+
+ YES
+
+
+
+
+
+ -2
+
+
+ File's Owner
+
+
+ -1
+
+
+ First Responder
+
+
+ -3
+
+
+ Application
+
+
+ 29
+
+
+ YES
+
+
+
+
+
+
+
+
+ 19
+
+
+ YES
+
+
+
+
+
+ 56
+
+
+ YES
+
+
+
+
+
+ 57
+
+
+ YES
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 58
+
+
+
+
+ 134
+
+
+
+
+ 150
+
+
+
+
+ 136
+
+
+
+
+ 144
+
+
+
+
+ 129
+
+
+
+
+ 143
+
+
+
+
+ 236
+
+
+
+
+ 131
+
+
+ YES
+
+
+
+
+
+ 149
+
+
+
+
+ 145
+
+
+
+
+ 130
+
+
+
+
+ 24
+
+
+ YES
+
+
+
+
+
+
+
+
+ 92
+
+
+
+
+ 5
+
+
+
+
+ 239
+
+
+
+
+ 23
+
+
+
+
+ 295
+
+
+ YES
+
+
+
+
+
+ 296
+
+
+ YES
+
+
+
+
+
+ 420
+
+
+
+
+ 490
+
+
+ YES
+
+
+
+
+
+ 491
+
+
+ YES
+
+
+
+
+
+ 492
+
+
+
+
+ 494
+
+
+
+
+ 536
+
+
+
+
+
+
+ YES
+
+ YES
+ -1.IBPluginDependency
+ -2.IBPluginDependency
+ -3.IBPluginDependency
+ 129.IBPluginDependency
+ 130.IBPluginDependency
+ 131.IBPluginDependency
+ 134.IBPluginDependency
+ 136.IBPluginDependency
+ 143.IBPluginDependency
+ 144.IBPluginDependency
+ 145.IBPluginDependency
+ 149.IBPluginDependency
+ 150.IBPluginDependency
+ 19.IBPluginDependency
+ 23.IBPluginDependency
+ 236.IBPluginDependency
+ 239.IBPluginDependency
+ 24.IBPluginDependency
+ 29.IBPluginDependency
+ 295.IBPluginDependency
+ 296.IBPluginDependency
+ 420.IBPluginDependency
+ 490.IBPluginDependency
+ 491.IBPluginDependency
+ 492.IBPluginDependency
+ 494.IBPluginDependency
+ 5.IBPluginDependency
+ 536.IBPluginDependency
+ 56.IBPluginDependency
+ 57.IBPluginDependency
+ 58.IBPluginDependency
+ 92.IBPluginDependency
+
+
+ YES
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+
+
+ YES
+
+
+
+
+
+ YES
+
+
+
+
+ 541
+
+
+
+ YES
+
+ AppController
+ NSObject
+
+ YES
+
+ YES
+ exitFullScreen:
+ toggleFullScreen:
+
+
+ YES
+ id
+ id
+
+
+
+ YES
+
+ YES
+ exitFullScreen:
+ toggleFullScreen:
+
+
+ YES
+
+ exitFullScreen:
+ id
+
+
+ toggleFullScreen:
+ id
+
+
+
+
+ YES
+
+ YES
+ glView
+ window
+
+
+ YES
+ EAGLView
+ NSWindow
+
+
+
+ YES
+
+ YES
+ glView
+ window
+
+
+ YES
+
+ glView
+ EAGLView
+
+
+ window
+ NSWindow
+
+
+
+
+ IBProjectSource
+ ./Classes/AppController.h
+
+
+
+ EAGLView
+ NSOpenGLView
+
+ IBProjectSource
+ ./Classes/EAGLView.h
+
+
+
+
+ 0
+ IBCocoaFramework
+
+ com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3
+
+
+ YES
+ 3
+
+ YES
+
+ YES
+ NSMenuCheckmark
+ NSMenuMixedState
+
+
+ YES
+ {9, 8}
+ {7, 2}
+
+
+
+
diff --git a/samples/Javascript/TestJavascript/proj.mac/main.m b/samples/Javascript/TestJavascript/proj.mac/main.m
new file mode 100644
index 0000000000..97d9b73282
--- /dev/null
+++ b/samples/Javascript/TestJavascript/proj.mac/main.m
@@ -0,0 +1,30 @@
+/****************************************************************************
+ Copyright (c) 2010 cocos2d-x.org
+
+ http://www.cocos2d-x.org
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+ ****************************************************************************/
+
+#import
+
+int main(int argc, char *argv[])
+{
+ return NSApplicationMain(argc, (const char **)argv);
+}