├── README.md ├── game.js ├── node_modules ├── after │ ├── .npmignore │ ├── .travis.yml │ ├── LICENCE │ ├── README.md │ ├── index.js │ ├── package.json │ └── test │ │ └── after-test.js ├── arraybuffer.slice │ ├── .npmignore │ ├── Makefile │ ├── README.md │ ├── index.js │ ├── package.json │ └── test │ │ └── slice-buffer.js ├── backo2 │ ├── .npmignore │ ├── History.md │ ├── Makefile │ ├── Readme.md │ ├── component.json │ ├── index.js │ ├── package.json │ └── test │ │ └── index.js ├── base64-arraybuffer │ ├── .npmignore │ ├── .travis.yml │ ├── LICENSE-MIT │ ├── README.md │ ├── README.md~ │ ├── grunt.js │ ├── lib │ │ └── base64-arraybuffer.js │ ├── package.json │ ├── package.json~ │ └── test │ │ └── base64-arraybuffer_test.js ├── base64id │ ├── .npmignore │ ├── README.md │ ├── lib │ │ └── base64id.js │ └── package.json ├── benchmark │ ├── LICENSE.txt │ ├── README.md │ ├── benchmark.js │ ├── doc │ │ └── README.md │ ├── package.json │ └── test │ │ ├── run-test.sh │ │ └── test.js ├── better-assert │ ├── .npmignore │ ├── History.md │ ├── Makefile │ ├── Readme.md │ ├── example.js │ ├── index.js │ └── package.json ├── blob │ ├── .npmignore │ ├── .zuul.yml │ ├── Makefile │ ├── README.md │ ├── index.js │ ├── package.json │ └── test │ │ └── index.js ├── callsite │ ├── .npmignore │ ├── History.md │ ├── Makefile │ ├── Readme.md │ ├── index.js │ └── package.json ├── component-bind │ ├── .npmignore │ ├── History.md │ ├── Makefile │ ├── Readme.md │ ├── component.json │ ├── index.js │ └── package.json ├── component-emitter │ ├── .npmignore │ ├── .travis.yml │ ├── History.md │ ├── Makefile │ ├── Readme.md │ ├── bower.json │ ├── component.json │ ├── index.js │ └── package.json ├── component-inherit │ ├── .npmignore │ ├── History.md │ ├── Makefile │ ├── Readme.md │ ├── component.json │ ├── index.js │ ├── package.json │ └── test │ │ └── inherit.js ├── debug │ ├── .jshintrc │ ├── .npmignore │ ├── History.md │ ├── Makefile │ ├── Readme.md │ ├── browser.js │ ├── component.json │ ├── debug.js │ ├── node.js │ └── package.json ├── engine.io-client │ ├── .npmignore │ ├── .travis.yml │ ├── .zuul.yml │ ├── History.md │ ├── Makefile │ ├── README.md │ ├── engine.io.js │ ├── index.js │ ├── lib │ │ ├── index.js │ │ ├── socket.js │ │ ├── transport.js │ │ ├── transports │ │ │ ├── index.js │ │ │ ├── polling-jsonp.js │ │ │ ├── polling-xhr.js │ │ │ ├── polling.js │ │ │ └── websocket.js │ │ └── xmlhttprequest.js │ ├── node_modules │ │ ├── debug │ │ │ ├── .jshintrc │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── browser.js │ │ │ ├── component.json │ │ │ ├── debug.js │ │ │ ├── node.js │ │ │ └── package.json │ │ └── parseuri │ │ │ ├── History.md │ │ │ ├── Makefile │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── test.js │ └── package.json ├── engine.io-parser │ ├── .npmignore │ ├── .travis.yml │ ├── .zuul.yml │ ├── History.md │ ├── LICENSE │ ├── Makefile │ ├── Readme.md │ ├── index.js │ ├── lib │ │ ├── browser.js │ │ ├── index.js │ │ └── keys.js │ └── package.json ├── engine.io │ ├── .npmignore │ ├── .travis.yml │ ├── History.md │ ├── Makefile │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── engine.io.js │ │ ├── server.js │ │ ├── socket.js │ │ ├── transport.js │ │ └── transports │ │ │ ├── index.js │ │ │ ├── polling-jsonp.js │ │ │ ├── polling-xhr.js │ │ │ ├── polling.js │ │ │ └── websocket.js │ ├── node_modules │ │ └── debug │ │ │ ├── .jshintrc │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── browser.js │ │ │ ├── component.json │ │ │ ├── debug.js │ │ │ ├── node.js │ │ │ └── package.json │ └── package.json ├── global │ ├── .npmignore │ ├── History.md │ ├── Makefile │ ├── Readme.md │ ├── component.json │ ├── index.js │ ├── package.json │ └── test │ │ ├── index.html │ │ ├── mocha.css │ │ ├── mocha.js │ │ └── test.js ├── has-binary-data │ ├── .npmignore │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── fixtures │ │ └── big.json │ ├── gen.js │ ├── index.js │ ├── package.json │ └── test.js ├── has-binary │ ├── .npmignore │ ├── History.md │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── fixtures │ │ └── big.json │ ├── index.js │ ├── package.json │ └── test.js ├── has-cors │ ├── .npmignore │ ├── History.md │ ├── Makefile │ ├── Readme.md │ ├── component.json │ ├── index.js │ └── package.json ├── indexof │ ├── .npmignore │ ├── Makefile │ ├── Readme.md │ ├── component.json │ ├── index.js │ └── package.json ├── isarray │ ├── README.md │ ├── build │ │ └── build.js │ ├── component.json │ ├── index.js │ └── package.json ├── json3 │ ├── .gitmodules │ ├── .jamignore │ ├── .npmignore │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── coverage │ │ ├── coverage.json │ │ ├── lcov-report │ │ │ ├── lib │ │ │ │ └── json3.js.html │ │ │ ├── prettify.css │ │ │ └── prettify.js │ │ └── lcov.info │ ├── lib │ │ ├── json3.js │ │ └── json3.min.js │ └── package.json ├── ms │ ├── .npmignore │ ├── README.md │ ├── index.js │ └── package.json ├── object-component │ ├── .npmignore │ ├── History.md │ ├── Makefile │ ├── Readme.md │ ├── component.json │ ├── index.js │ ├── package.json │ └── test │ │ └── object.js ├── object-keys │ ├── .jscs.json │ ├── .npmignore │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── isArguments.js │ └── package.json ├── options │ ├── .npmignore │ ├── Makefile │ ├── README.md │ ├── lib │ │ └── options.js │ └── package.json ├── parsejson │ ├── Makefile │ ├── index.js │ ├── package.json │ └── test.js ├── parseqs │ ├── Makefile │ ├── index.js │ ├── package.json │ └── test.js ├── parseuri │ ├── History.md │ ├── Makefile │ ├── index.js │ ├── package.json │ └── test.js ├── socket.io-adapter │ ├── .npmignore │ ├── History.md │ ├── Readme.md │ ├── index.js │ ├── node_modules │ │ ├── debug │ │ │ ├── .jshintrc │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── browser.js │ │ │ ├── component.json │ │ │ ├── debug.js │ │ │ ├── node.js │ │ │ └── package.json │ │ └── socket.io-parser │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── .zuul.yml │ │ │ ├── History.md │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── bench │ │ │ ├── bench.js │ │ │ └── index.js │ │ │ ├── binary.js │ │ │ ├── index.js │ │ │ ├── is-buffer.js │ │ │ ├── node_modules │ │ │ └── debug │ │ │ │ ├── Readme.md │ │ │ │ ├── debug.js │ │ │ │ ├── index.js │ │ │ │ ├── lib │ │ │ │ └── debug.js │ │ │ │ └── package.json │ │ │ └── package.json │ └── package.json ├── socket.io-client │ ├── History.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── index.js │ │ ├── manager.js │ │ ├── on.js │ │ ├── socket.js │ │ └── url.js │ ├── node_modules │ │ └── debug │ │ │ ├── Readme.md │ │ │ ├── debug.js │ │ │ ├── index.js │ │ │ ├── lib │ │ │ └── debug.js │ │ │ └── package.json │ ├── package.json │ └── socket.io.js ├── socket.io-parser │ ├── .npmignore │ ├── .travis.yml │ ├── .zuul.yml │ ├── History.md │ ├── Makefile │ ├── Readme.md │ ├── bench │ │ ├── bench.js │ │ └── index.js │ ├── bg.gif │ ├── binary.js │ ├── index.js │ ├── is-buffer.js │ ├── node_modules │ │ └── debug │ │ │ ├── Readme.md │ │ │ ├── debug.js │ │ │ ├── index.js │ │ │ ├── lib │ │ │ └── debug.js │ │ │ └── package.json │ └── package.json ├── socket.io │ ├── .npmignore │ ├── .travis.yml │ ├── History.md │ ├── LICENSE │ ├── Makefile │ ├── Readme.md │ ├── index.js │ ├── lib │ │ ├── client.js │ │ ├── index.js │ │ ├── namespace.js │ │ └── socket.js │ └── package.json ├── to-array │ ├── .npmignore │ ├── LICENCE │ ├── README.md │ ├── index.js │ └── package.json ├── ultron │ ├── .npmignore │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── package.json │ └── test.js ├── utf8 │ ├── .gitattributes │ ├── .npmignore │ ├── .travis.yml │ ├── Gruntfile.js │ ├── LICENSE-MIT.txt │ ├── README.md │ ├── bower.json │ ├── component.json │ ├── package.json │ ├── tests │ │ ├── generate-test-data.py │ │ ├── index.html │ │ └── tests.js │ └── utf8.js ├── ws │ ├── .npmignore │ ├── .travis.yml │ ├── Makefile │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── BufferPool.js │ │ ├── BufferUtil.fallback.js │ │ ├── BufferUtil.js │ │ ├── ErrorCodes.js │ │ ├── Extensions.js │ │ ├── PerMessageDeflate.js │ │ ├── Receiver.hixie.js │ │ ├── Receiver.js │ │ ├── Sender.hixie.js │ │ ├── Sender.js │ │ ├── Validation.fallback.js │ │ ├── Validation.js │ │ ├── WebSocket.js │ │ ├── WebSocketServer.js │ │ └── browser.js │ └── package.json └── xmlhttprequest │ ├── LICENSE │ ├── README.md │ ├── autotest.watchr │ ├── example │ └── demo.js │ ├── lib │ └── XMLHttpRequest.js │ ├── package.json │ └── tests │ ├── test-constants.js │ ├── test-events.js │ ├── test-exceptions.js │ ├── test-headers.js │ ├── test-redirect-302.js │ ├── test-redirect-303.js │ ├── test-redirect-307.js │ ├── test-request-methods.js │ ├── test-request-protocols.js │ └── testdata.txt ├── package.json └── public ├── assets ├── bush1 │ ├── untitled.babylon │ └── untitled.log ├── bush2 │ ├── european_cranberry_bush.babylon │ ├── european_cranberry_bush.log │ ├── european_cranberry_bush_bark.png │ ├── european_cranberry_bush_flowers.png │ └── european_cranberry_bush_leaf.png ├── soldire │ ├── body01.png │ ├── head01.png │ ├── m4tex.png │ ├── soldire.babylon │ └── soldire.log ├── textures │ ├── crate.jpg │ ├── gras1.jpg │ ├── gras2.jpg │ ├── gras3.jpg │ ├── impact.png │ ├── map.jpg │ └── metal_black.jpg ├── tree │ ├── 89016.jpg │ ├── branch2_small.png │ ├── tree.babylon │ └── treebump.png └── weapon │ ├── untitled.babylon │ └── untitled.log ├── css ├── images │ ├── background.jpg │ ├── background2.jpg │ ├── bulletIcon.png │ └── gunPoint.png └── main.css ├── index.html ├── js ├── Chat.js ├── Controller.js ├── Environment │ ├── LevelManager.js │ ├── Levels │ │ └── Standard.js │ ├── Lights.js │ ├── Objects.js │ ├── Physics.js │ ├── Sky.js │ └── Terrain.js ├── Key.js ├── LocalPlayer.js ├── Pannels.js ├── RemotePlayer.js ├── Render.js ├── Server.js ├── Sounds.js └── Weapon.js ├── shaders ├── gradient.fragment.fx └── gradient.vertex.fx ├── shared ├── libs │ ├── Oimo.js │ ├── babylon.2.2.max.js │ ├── babylon.js │ ├── babylon.stlFileLoader.js │ ├── hand.minified-1.2.js │ ├── jquery-1.11.3.min.js │ └── socket.io.js └── models │ ├── Game.js │ └── Player.js └── sounds ├── groan.wav ├── grunt.wav ├── gun_empty.wav ├── gun_fire.wav ├── head_of.wav ├── heart_beat.wav ├── pain.wav ├── reload.wav └── reload2.wav /README.md: -------------------------------------------------------------------------------- 1 | # Multiplayer FPS-Game 2 | A Multiplayer FPS built with Babylon.js. In this implementation the server only acts as messanger, but only the clients actually simulate the world. 3 | 4 | DEMO: http://185.82.21.82/FPS-Game/public/ 5 | 6 | Check out this Babylon JS multiplayer implementation for Client and Server-Side physics simulation: https://github.com/j-o-d-o/multiplayer-babylon-js-game 7 | 8 | -------------------------------------------------------------------------------- /node_modules/after/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .monitor 3 | -------------------------------------------------------------------------------- /node_modules/after/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 4 | - 0.8 5 | - 0.9 6 | -------------------------------------------------------------------------------- /node_modules/after/LICENCE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011 Raynos. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. -------------------------------------------------------------------------------- /node_modules/after/README.md: -------------------------------------------------------------------------------- 1 | # After [![Build Status][1]][2] 2 | 3 | Invoke callback after n calls 4 | 5 | ## Status: production ready 6 | 7 | ## Example 8 | 9 | var after = require("after") 10 | , next = after(3, logItWorks) 11 | 12 | next() 13 | next() 14 | next() // it works 15 | 16 | function logItWorks() { 17 | console.log("it works!") 18 | } 19 | 20 | ## Example with error handling 21 | 22 | var after = require("after") 23 | , next = after(3, logError) 24 | 25 | next() 26 | next(new Error("oops")) // logs oops 27 | next() // does nothing 28 | 29 | function logError(err) { 30 | console.log(err) 31 | } 32 | 33 | ## After < 0.6.0 34 | 35 | Older versions of after had iterators and flows in them. 36 | 37 | These have been replaced with seperate modules 38 | 39 | - [iterators][8] 40 | - [composite][9] 41 | 42 | ## Installation 43 | 44 | `npm install after` 45 | 46 | ## Tests 47 | 48 | `npm test` 49 | 50 | ## Blog post 51 | 52 | - [Flow control in node.js][3] 53 | 54 | ## Examples : 55 | 56 | - [Determining the end of asynchronous operations][4] 57 | - [In javascript what are best practices for executing multiple asynchronous functions][5] 58 | - [JavaScript performance long running tasks][6] 59 | - [Synchronous database queries with node.js][7] 60 | 61 | ## Contributors 62 | 63 | - Raynos 64 | 65 | ## MIT Licenced 66 | 67 | [1]: https://secure.travis-ci.org/Raynos/after.png 68 | [2]: http://travis-ci.org/Raynos/after 69 | [3]: http://raynos.org/blog/2/Flow-control-in-node.js 70 | [4]: http://stackoverflow.com/questions/6852059/determining-the-end-of-asynchronous-operations-javascript/6852307#6852307 71 | [5]: http://stackoverflow.com/questions/6869872/in-javascript-what-are-best-practices-for-executing-multiple-asynchronous-functi/6870031#6870031 72 | [6]: http://stackoverflow.com/questions/6864397/javascript-performance-long-running-tasks/6889419#6889419 73 | [7]: http://stackoverflow.com/questions/6597493/synchronous-database-queries-with-node-js/6620091#6620091 74 | [8]: http://github.com/Raynos/iterators 75 | [9]: http://github.com/Raynos/composite 76 | -------------------------------------------------------------------------------- /node_modules/after/index.js: -------------------------------------------------------------------------------- 1 | module.exports = after 2 | 3 | function after(count, callback, err_cb) { 4 | var bail = false 5 | err_cb = err_cb || noop 6 | proxy.count = count 7 | 8 | return (count === 0) ? callback() : proxy 9 | 10 | function proxy(err, result) { 11 | if (proxy.count <= 0) { 12 | throw new Error('after called too many times') 13 | } 14 | --proxy.count 15 | 16 | // after first error, rest are passed to err_cb 17 | if (err) { 18 | bail = true 19 | callback(err) 20 | // future error callbacks will go to error handler 21 | callback = err_cb 22 | } else if (proxy.count === 0 && !bail) { 23 | callback(null, result) 24 | } 25 | } 26 | } 27 | 28 | function noop() {} 29 | -------------------------------------------------------------------------------- /node_modules/arraybuffer.slice/.npmignore: -------------------------------------------------------------------------------- 1 | lib-cov 2 | lcov.info 3 | *.seed 4 | *.log 5 | *.csv 6 | *.dat 7 | *.out 8 | *.pid 9 | *.gz 10 | 11 | pids 12 | logs 13 | results 14 | build 15 | .grunt 16 | 17 | node_modules 18 | -------------------------------------------------------------------------------- /node_modules/arraybuffer.slice/Makefile: -------------------------------------------------------------------------------- 1 | 2 | REPORTER = dot 3 | 4 | test: 5 | @./node_modules/.bin/mocha \ 6 | --reporter $(REPORTER) 7 | 8 | .PHONY: test 9 | -------------------------------------------------------------------------------- /node_modules/arraybuffer.slice/README.md: -------------------------------------------------------------------------------- 1 | # How to 2 | ```javascript 3 | var sliceBuffer = require('arraybuffer.slice'); 4 | var ab = (new Int8Array(5)).buffer; 5 | var sliced = sliceBuffer(ab, 1, 3); 6 | sliced = sliceBuffer(ab, 1); 7 | ``` 8 | 9 | # Licence (MIT) 10 | Copyright (C) 2013 Rase- 11 | 12 | 13 | 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: 14 | 15 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 16 | 17 | 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. 18 | -------------------------------------------------------------------------------- /node_modules/arraybuffer.slice/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * An abstraction for slicing an arraybuffer even when 3 | * ArrayBuffer.prototype.slice is not supported 4 | * 5 | * @api public 6 | */ 7 | 8 | module.exports = function(arraybuffer, start, end) { 9 | var bytes = arraybuffer.byteLength; 10 | start = start || 0; 11 | end = end || bytes; 12 | 13 | if (arraybuffer.slice) { return arraybuffer.slice(start, end); } 14 | 15 | if (start < 0) { start += bytes; } 16 | if (end < 0) { end += bytes; } 17 | if (end > bytes) { end = bytes; } 18 | 19 | if (start >= bytes || start >= end || bytes === 0) { 20 | return new ArrayBuffer(0); 21 | } 22 | 23 | var abv = new Uint8Array(arraybuffer); 24 | var result = new Uint8Array(end - start); 25 | for (var i = start, ii = 0; i < end; i++, ii++) { 26 | result[ii] = abv[i]; 27 | } 28 | return result.buffer; 29 | }; 30 | -------------------------------------------------------------------------------- /node_modules/arraybuffer.slice/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_args": [ 3 | [ 4 | "arraybuffer.slice@0.0.6", 5 | "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\engine.io-parser" 6 | ] 7 | ], 8 | "_from": "arraybuffer.slice@0.0.6", 9 | "_id": "arraybuffer.slice@0.0.6", 10 | "_inCache": true, 11 | "_installable": true, 12 | "_location": "/arraybuffer.slice", 13 | "_npmUser": { 14 | "email": "tonykovanen@hotmail.com", 15 | "name": "rase-" 16 | }, 17 | "_npmVersion": "1.3.5", 18 | "_phantomChildren": {}, 19 | "_requested": { 20 | "name": "arraybuffer.slice", 21 | "raw": "arraybuffer.slice@0.0.6", 22 | "rawSpec": "0.0.6", 23 | "scope": null, 24 | "spec": "0.0.6", 25 | "type": "version" 26 | }, 27 | "_requiredBy": [ 28 | "/engine.io-parser" 29 | ], 30 | "_resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz", 31 | "_shasum": "f33b2159f0532a3f3107a272c0ccfbd1ad2979ca", 32 | "_shrinkwrap": null, 33 | "_spec": "arraybuffer.slice@0.0.6", 34 | "_where": "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\engine.io-parser", 35 | "bugs": { 36 | "url": "https://github.com/rase-/arraybuffer.slice/issues" 37 | }, 38 | "dependencies": {}, 39 | "description": "Exports a function for slicing ArrayBuffers (no polyfilling)", 40 | "devDependencies": { 41 | "expect.js": "0.2.0", 42 | "mocha": "1.17.1" 43 | }, 44 | "directories": {}, 45 | "dist": { 46 | "shasum": "f33b2159f0532a3f3107a272c0ccfbd1ad2979ca", 47 | "tarball": "http://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz" 48 | }, 49 | "homepage": "https://github.com/rase-/arraybuffer.slice", 50 | "maintainers": [ 51 | { 52 | "name": "rase-", 53 | "email": "tonykovanen@hotmail.com" 54 | } 55 | ], 56 | "name": "arraybuffer.slice", 57 | "optionalDependencies": {}, 58 | "readme": "ERROR: No README data found!", 59 | "repository": { 60 | "type": "git", 61 | "url": "git+ssh://git@github.com/rase-/arraybuffer.slice.git" 62 | }, 63 | "version": "0.0.6" 64 | } 65 | -------------------------------------------------------------------------------- /node_modules/backo2/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | -------------------------------------------------------------------------------- /node_modules/backo2/History.md: -------------------------------------------------------------------------------- 1 | 2 | 1.0.1 / 2014-02-17 3 | ================== 4 | 5 | * go away decimal point 6 | * history 7 | 8 | 1.0.0 / 2014-02-17 9 | ================== 10 | 11 | * add jitter option 12 | * Initial commit 13 | -------------------------------------------------------------------------------- /node_modules/backo2/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha \ 4 | --require should \ 5 | --reporter dot \ 6 | --bail 7 | 8 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/backo2/Readme.md: -------------------------------------------------------------------------------- 1 | # backo 2 | 3 | Simple exponential backoff because the others seem to have weird abstractions. 4 | 5 | ## Installation 6 | 7 | ``` 8 | $ npm install backo 9 | ``` 10 | 11 | ## Options 12 | 13 | - `min` initial timeout in milliseconds [100] 14 | - `max` max timeout [10000] 15 | - `jitter` [0] 16 | - `factor` [2] 17 | 18 | ## Example 19 | 20 | ```js 21 | var Backoff = require('backo'); 22 | var backoff = new Backoff({ min: 100, max: 20000 }); 23 | 24 | setTimeout(function(){ 25 | something.reconnect(); 26 | }, backoff.duration()); 27 | 28 | // later when something works 29 | backoff.reset() 30 | ``` 31 | 32 | # License 33 | 34 | MIT 35 | -------------------------------------------------------------------------------- /node_modules/backo2/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "backo", 3 | "repo": "segmentio/backo", 4 | "dependencies": {}, 5 | "version": "1.0.1", 6 | "description": "simple backoff without the weird abstractions", 7 | "keywords": ["backoff"], 8 | "license": "MIT", 9 | "scripts": ["index.js"], 10 | "main": "index.js" 11 | } 12 | -------------------------------------------------------------------------------- /node_modules/backo2/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Expose `Backoff`. 4 | */ 5 | 6 | module.exports = Backoff; 7 | 8 | /** 9 | * Initialize backoff timer with `opts`. 10 | * 11 | * - `min` initial timeout in milliseconds [100] 12 | * - `max` max timeout [10000] 13 | * - `jitter` [0] 14 | * - `factor` [2] 15 | * 16 | * @param {Object} opts 17 | * @api public 18 | */ 19 | 20 | function Backoff(opts) { 21 | opts = opts || {}; 22 | this.ms = opts.min || 100; 23 | this.max = opts.max || 10000; 24 | this.factor = opts.factor || 2; 25 | this.jitter = opts.jitter > 0 && opts.jitter <= 1 ? opts.jitter : 0; 26 | this.attempts = 0; 27 | } 28 | 29 | /** 30 | * Return the backoff duration. 31 | * 32 | * @return {Number} 33 | * @api public 34 | */ 35 | 36 | Backoff.prototype.duration = function(){ 37 | var ms = this.ms * Math.pow(this.factor, this.attempts++); 38 | if (this.jitter) { 39 | var rand = Math.random(); 40 | var deviation = Math.floor(rand * this.jitter * ms); 41 | ms = (Math.floor(rand * 10) & 1) == 0 ? ms - deviation : ms + deviation; 42 | } 43 | return Math.min(ms, this.max) | 0; 44 | }; 45 | 46 | /** 47 | * Reset the number of attempts. 48 | * 49 | * @api public 50 | */ 51 | 52 | Backoff.prototype.reset = function(){ 53 | this.attempts = 0; 54 | }; 55 | 56 | /** 57 | * Set the minimum duration 58 | * 59 | * @api public 60 | */ 61 | 62 | Backoff.prototype.setMin = function(min){ 63 | this.ms = min; 64 | }; 65 | 66 | /** 67 | * Set the maximum duration 68 | * 69 | * @api public 70 | */ 71 | 72 | Backoff.prototype.setMax = function(max){ 73 | this.max = max; 74 | }; 75 | 76 | /** 77 | * Set the jitter 78 | * 79 | * @api public 80 | */ 81 | 82 | Backoff.prototype.setJitter = function(jitter){ 83 | this.jitter = jitter; 84 | }; 85 | 86 | -------------------------------------------------------------------------------- /node_modules/backo2/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_args": [ 3 | [ 4 | "backo2@1.0.2", 5 | "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\socket.io-client" 6 | ] 7 | ], 8 | "_from": "backo2@1.0.2", 9 | "_id": "backo2@1.0.2", 10 | "_inCache": true, 11 | "_installable": true, 12 | "_location": "/backo2", 13 | "_npmUser": { 14 | "email": "mokesmokes@gmail.com", 15 | "name": "mokesmokes" 16 | }, 17 | "_npmVersion": "1.4.28", 18 | "_phantomChildren": {}, 19 | "_requested": { 20 | "name": "backo2", 21 | "raw": "backo2@1.0.2", 22 | "rawSpec": "1.0.2", 23 | "scope": null, 24 | "spec": "1.0.2", 25 | "type": "version" 26 | }, 27 | "_requiredBy": [ 28 | "/socket.io-client" 29 | ], 30 | "_resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", 31 | "_shasum": "31ab1ac8b129363463e35b3ebb69f4dfcfba7947", 32 | "_shrinkwrap": null, 33 | "_spec": "backo2@1.0.2", 34 | "_where": "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\socket.io-client", 35 | "bugs": { 36 | "url": "https://github.com/mokesmokes/backo/issues" 37 | }, 38 | "dependencies": {}, 39 | "description": "simple backoff based on segmentio/backo", 40 | "devDependencies": { 41 | "mocha": "*", 42 | "should": "*" 43 | }, 44 | "directories": {}, 45 | "dist": { 46 | "shasum": "31ab1ac8b129363463e35b3ebb69f4dfcfba7947", 47 | "tarball": "http://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz" 48 | }, 49 | "gitHead": "3e695bade7756fef2295e8883bf3570a06e5d9ec", 50 | "homepage": "https://github.com/mokesmokes/backo", 51 | "keywords": [ 52 | "backoff" 53 | ], 54 | "license": "MIT", 55 | "maintainers": [ 56 | { 57 | "name": "mokesmokes", 58 | "email": "mokesmokes@gmail.com" 59 | } 60 | ], 61 | "name": "backo2", 62 | "optionalDependencies": {}, 63 | "readme": "ERROR: No README data found!", 64 | "repository": { 65 | "type": "git", 66 | "url": "git+https://github.com/mokesmokes/backo.git" 67 | }, 68 | "scripts": {}, 69 | "version": "1.0.2" 70 | } 71 | -------------------------------------------------------------------------------- /node_modules/backo2/test/index.js: -------------------------------------------------------------------------------- 1 | 2 | var Backoff = require('..'); 3 | var assert = require('assert'); 4 | 5 | describe('.duration()', function(){ 6 | it('should increase the backoff', function(){ 7 | var b = new Backoff; 8 | 9 | assert(100 == b.duration()); 10 | assert(200 == b.duration()); 11 | assert(400 == b.duration()); 12 | assert(800 == b.duration()); 13 | 14 | b.reset(); 15 | assert(100 == b.duration()); 16 | assert(200 == b.duration()); 17 | }) 18 | }) -------------------------------------------------------------------------------- /node_modules/base64-arraybuffer/.npmignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | -------------------------------------------------------------------------------- /node_modules/base64-arraybuffer/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | node_js: 4 | - '0.10' 5 | before_script: 6 | - npm install 7 | -------------------------------------------------------------------------------- /node_modules/base64-arraybuffer/LICENSE-MIT: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Niklas von Hertzen 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/base64-arraybuffer/README.md: -------------------------------------------------------------------------------- 1 | # base64-arraybuffer 2 | 3 | [![Build Status](https://travis-ci.org/niklasvh/base64-arraybuffer.png)](https://travis-ci.org/niklasvh/base64-arraybuffer) 4 | 5 | Encode/decode base64 data into ArrayBuffers 6 | 7 | ## Getting Started 8 | Install the module with: `npm install base64-arraybuffer` 9 | 10 | ## API 11 | The library encodes and decodes base64 to and from ArrayBuffers 12 | 13 | - __encode(buffer)__ - Encodes `ArrayBuffer` into base64 string 14 | - __decode(str)__ - Decodes base64 string to `ArrayBuffer` 15 | 16 | ## Release History 17 | 18 | - 0.1.2 - Fix old format of typed arrays 19 | - 0.1.0 - Initial version, basic decode/encode base64 to and from ArrayBuffer 20 | 21 | ## License 22 | Copyright (c) 2012 Niklas von Hertzen 23 | Licensed under the MIT license. 24 | -------------------------------------------------------------------------------- /node_modules/base64-arraybuffer/README.md~: -------------------------------------------------------------------------------- 1 | # base64-arraybuffer 2 | 3 | [![Build Status](https://travis-ci.org/niklasvh/base64-arraybuffer.png)](https://travis-ci.org/niklasvh/base64-arraybuffer) 4 | 5 | Encode/decode base64 data into ArrayBuffers 6 | 7 | ## Getting Started 8 | Install the module with: `npm install base64-arraybuffer` 9 | 10 | ## API 11 | The library encodes and decodes base64 to and from ArrayBuffers 12 | 13 | - __encode(buffer)__ - Encodes `ArrayBuffer` into base64 string 14 | - __decode(str)__ - Decodes base64 string to `ArrayBuffer` 15 | 16 | ## Release History 17 | 18 | - 0.1.2 - Fix old format of typed arrays 19 | - 0.1.0 - Initial version, basic decode/encode base64 to and from ArrayBuffer 20 | 21 | ## License 22 | Copyright (c) 2012 Niklas von Hertzen 23 | Licensed under the MIT license. 24 | -------------------------------------------------------------------------------- /node_modules/base64-arraybuffer/grunt.js: -------------------------------------------------------------------------------- 1 | module.exports = function(grunt) { 2 | "use strict"; 3 | // Project configuration. 4 | grunt.initConfig({ 5 | pkg: '', 6 | test: { 7 | files: ['test/**/*.js'] 8 | }, 9 | lint: { 10 | files: ['grunt.js', 'lib/**/*.js', 'test/**/*.js'] 11 | }, 12 | watch: { 13 | files: '', 14 | tasks: 'default' 15 | }, 16 | jshint: { 17 | options: { 18 | curly: true, 19 | eqeqeq: true, 20 | immed: true, 21 | latedef: true, 22 | newcap: true, 23 | noarg: true, 24 | sub: true, 25 | undef: true, 26 | boss: true, 27 | eqnull: true, 28 | node: true 29 | }, 30 | globals: { 31 | exports: true 32 | } 33 | } 34 | }); 35 | 36 | // Default task. 37 | grunt.registerTask('default', 'test'); 38 | 39 | }; -------------------------------------------------------------------------------- /node_modules/base64-arraybuffer/lib/base64-arraybuffer.js: -------------------------------------------------------------------------------- 1 | /* 2 | * base64-arraybuffer 3 | * https://github.com/niklasvh/base64-arraybuffer 4 | * 5 | * Copyright (c) 2012 Niklas von Hertzen 6 | * Licensed under the MIT license. 7 | */ 8 | (function(chars){ 9 | "use strict"; 10 | 11 | exports.encode = function(arraybuffer) { 12 | var bytes = new Uint8Array(arraybuffer), 13 | i, len = bytes.length, base64 = ""; 14 | 15 | for (i = 0; i < len; i+=3) { 16 | base64 += chars[bytes[i] >> 2]; 17 | base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)]; 18 | base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)]; 19 | base64 += chars[bytes[i + 2] & 63]; 20 | } 21 | 22 | if ((len % 3) === 2) { 23 | base64 = base64.substring(0, base64.length - 1) + "="; 24 | } else if (len % 3 === 1) { 25 | base64 = base64.substring(0, base64.length - 2) + "=="; 26 | } 27 | 28 | return base64; 29 | }; 30 | 31 | exports.decode = function(base64) { 32 | var bufferLength = base64.length * 0.75, 33 | len = base64.length, i, p = 0, 34 | encoded1, encoded2, encoded3, encoded4; 35 | 36 | if (base64[base64.length - 1] === "=") { 37 | bufferLength--; 38 | if (base64[base64.length - 2] === "=") { 39 | bufferLength--; 40 | } 41 | } 42 | 43 | var arraybuffer = new ArrayBuffer(bufferLength), 44 | bytes = new Uint8Array(arraybuffer); 45 | 46 | for (i = 0; i < len; i+=4) { 47 | encoded1 = chars.indexOf(base64[i]); 48 | encoded2 = chars.indexOf(base64[i+1]); 49 | encoded3 = chars.indexOf(base64[i+2]); 50 | encoded4 = chars.indexOf(base64[i+3]); 51 | 52 | bytes[p++] = (encoded1 << 2) | (encoded2 >> 4); 53 | bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2); 54 | bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63); 55 | } 56 | 57 | return arraybuffer; 58 | }; 59 | })("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"); 60 | -------------------------------------------------------------------------------- /node_modules/base64-arraybuffer/package.json~: -------------------------------------------------------------------------------- 1 | { 2 | "name": "base64-arraybuffer", 3 | "description": "Encode/decode base64 data into ArrayBuffers", 4 | "version": "0.1.1", 5 | "homepage": "https://github.com/niklasvh/base64-arraybuffer", 6 | "author": { 7 | "name": "Niklas von Hertzen", 8 | "email": "niklasvh@gmail.com", 9 | "url": "http://hertzen.com" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "https://github.com/niklasvh/base64-arraybuffer" 14 | }, 15 | "bugs": { 16 | "url": "https://github.com/niklasvh/base64-arraybuffer/issues" 17 | }, 18 | "licenses": [ 19 | { 20 | "type": "MIT", 21 | "url": "https://github.com/niklasvh/base64-arraybuffer/blob/master/LICENSE-MIT" 22 | } 23 | ], 24 | "main": "lib/base64-arraybuffer", 25 | "engines": { 26 | "node": ">= 0.6.0" 27 | }, 28 | "scripts": { 29 | "test": "grunt test" 30 | }, 31 | "devDependencies": { 32 | "grunt": "~0.3.17" 33 | }, 34 | "keywords": [] 35 | } 36 | -------------------------------------------------------------------------------- /node_modules/base64id/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | -------------------------------------------------------------------------------- /node_modules/base64id/README.md: -------------------------------------------------------------------------------- 1 | base64id 2 | ======== 3 | 4 | Node.js module that generates a base64 id. 5 | 6 | Uses crypto.randomBytes when available, falls back to unsafe methods for node.js <= 0.4. 7 | 8 | To increase performance, random bytes are buffered to minimize the number of synchronous calls to crypto.randomBytes. 9 | 10 | ## Installation 11 | 12 | $ npm install mongoose 13 | 14 | ## Usage 15 | 16 | var base64id = require('base64id'); 17 | 18 | var id = base64id.generateId(); 19 | -------------------------------------------------------------------------------- /node_modules/base64id/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_args": [ 3 | [ 4 | "base64id@0.1.0", 5 | "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\engine.io" 6 | ] 7 | ], 8 | "_defaultsLoaded": true, 9 | "_engineSupported": true, 10 | "_from": "base64id@0.1.0", 11 | "_id": "base64id@0.1.0", 12 | "_inCache": true, 13 | "_installable": true, 14 | "_location": "/base64id", 15 | "_nodeVersion": "v0.6.15", 16 | "_npmUser": { 17 | "email": "faeldt_kristian@cyberagent.co.jp", 18 | "name": "faeldt_kristian" 19 | }, 20 | "_npmVersion": "1.1.16", 21 | "_phantomChildren": {}, 22 | "_requested": { 23 | "name": "base64id", 24 | "raw": "base64id@0.1.0", 25 | "rawSpec": "0.1.0", 26 | "scope": null, 27 | "spec": "0.1.0", 28 | "type": "version" 29 | }, 30 | "_requiredBy": [ 31 | "/engine.io" 32 | ], 33 | "_resolved": "https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz", 34 | "_shasum": "02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f", 35 | "_shrinkwrap": null, 36 | "_spec": "base64id@0.1.0", 37 | "_where": "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\engine.io", 38 | "author": { 39 | "email": "faeldt_kristian@cyberagent.co.jp", 40 | "name": "Kristian Faeldt" 41 | }, 42 | "bugs": { 43 | "url": "https://github.com/faeldt/base64id/issues" 44 | }, 45 | "dependencies": {}, 46 | "description": "Generates a base64 id", 47 | "devDependencies": {}, 48 | "directories": {}, 49 | "dist": { 50 | "shasum": "02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f", 51 | "tarball": "http://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz" 52 | }, 53 | "engines": { 54 | "node": ">= 0.4.0" 55 | }, 56 | "homepage": "https://github.com/faeldt/base64id#readme", 57 | "main": "./lib/base64id.js", 58 | "maintainers": [ 59 | { 60 | "name": "faeldt_kristian", 61 | "email": "faeldt_kristian@cyberagent.co.jp" 62 | } 63 | ], 64 | "name": "base64id", 65 | "optionalDependencies": {}, 66 | "readme": "ERROR: No README data found!", 67 | "repository": { 68 | "type": "git", 69 | "url": "git://github.com/faeldt/base64id.git" 70 | }, 71 | "version": "0.1.0" 72 | } 73 | -------------------------------------------------------------------------------- /node_modules/benchmark/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2010-2012 Mathias Bynens 2 | Based on JSLitmus.js, copyright Robert Kieffer 3 | Modified by John-David Dalton 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | "Software"), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/benchmark/test/run-test.sh: -------------------------------------------------------------------------------- 1 | cd "$(dirname "$0")" 2 | for cmd in rhino ringo narwhal node; do 3 | echo "" 4 | echo "Testing in $cmd..." 5 | $cmd test.js 6 | done 7 | echo "" 8 | echo "Testing in a browser..." 9 | open index.html 10 | -------------------------------------------------------------------------------- /node_modules/better-assert/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /node_modules/better-assert/History.md: -------------------------------------------------------------------------------- 1 | 2 | 1.0.0 / 2013-02-03 3 | ================== 4 | 5 | * Stop using the removed magic __stack global getter 6 | 7 | 0.1.0 / 2012-10-04 8 | ================== 9 | 10 | * add throwing of AssertionError for test frameworks etc 11 | 12 | 0.0.1 / 2010-01-03 13 | ================== 14 | 15 | * Initial release 16 | -------------------------------------------------------------------------------- /node_modules/better-assert/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @echo "populate me" 4 | 5 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/better-assert/example.js: -------------------------------------------------------------------------------- 1 | 2 | var assert = require('./'); 3 | 4 | test(); 5 | 6 | function test() { 7 | var user = { name: 'tobi' }; 8 | assert('tobi' == user.name); 9 | assert('number' == typeof user.age); 10 | } -------------------------------------------------------------------------------- /node_modules/better-assert/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Module dependencies. 3 | */ 4 | 5 | var AssertionError = require('assert').AssertionError 6 | , callsite = require('callsite') 7 | , fs = require('fs') 8 | 9 | /** 10 | * Expose `assert`. 11 | */ 12 | 13 | module.exports = process.env.NO_ASSERT 14 | ? function(){} 15 | : assert; 16 | 17 | /** 18 | * Assert the given `expr`. 19 | */ 20 | 21 | function assert(expr) { 22 | if (expr) return; 23 | 24 | var stack = callsite(); 25 | var call = stack[1]; 26 | var file = call.getFileName(); 27 | var lineno = call.getLineNumber(); 28 | var src = fs.readFileSync(file, 'utf8'); 29 | var line = src.split('\n')[lineno-1]; 30 | var src = line.match(/assert\((.*)\)/)[1]; 31 | 32 | var err = new AssertionError({ 33 | message: src, 34 | stackStartFunction: stack[0].getFunction() 35 | }); 36 | 37 | throw err; 38 | } 39 | -------------------------------------------------------------------------------- /node_modules/blob/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | blob.js 3 | -------------------------------------------------------------------------------- /node_modules/blob/.zuul.yml: -------------------------------------------------------------------------------- 1 | ui: mocha-bdd 2 | browsers: 3 | - name: chrome 4 | version: 8..latest 5 | - name: firefox 6 | version: 7..latest 7 | - name: safari 8 | version: 6..latest 9 | - name: opera 10 | version: 12.1..latest 11 | - name: ie 12 | version: 10..latest 13 | - name: android 14 | version: latest 15 | -------------------------------------------------------------------------------- /node_modules/blob/Makefile: -------------------------------------------------------------------------------- 1 | REPORTER = dot 2 | 3 | build: blob.js 4 | 5 | blob.js: 6 | @./node_modules/.bin/browserify --standalone blob index.js > blob.js 7 | 8 | test: 9 | @./node_modules/.bin/zuul -- test/index.js 10 | 11 | clean: 12 | rm blob.js 13 | 14 | .PHONY: test blob.js 15 | -------------------------------------------------------------------------------- /node_modules/blob/README.md: -------------------------------------------------------------------------------- 1 | Blob 2 | ==== 3 | 4 | A module that exports a constructor that uses window.Blob when available, and a BlobBuilder with any vendor prefix in other cases. If neither is available, it exports undefined. 5 | 6 | Usage: 7 | 8 | ```javascript 9 | var Blob = require('blob'); 10 | var b = new Blob(['hi', 'constructing', 'a', 'blob']); 11 | ``` 12 | 13 | ## Licence 14 | MIT 15 | -------------------------------------------------------------------------------- /node_modules/blob/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_args": [ 3 | [ 4 | "blob@0.0.4", 5 | "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\engine.io-parser" 6 | ] 7 | ], 8 | "_from": "blob@0.0.4", 9 | "_id": "blob@0.0.4", 10 | "_inCache": true, 11 | "_installable": true, 12 | "_location": "/blob", 13 | "_npmUser": { 14 | "email": "tonykovanen@hotmail.com", 15 | "name": "rase-" 16 | }, 17 | "_npmVersion": "1.4.6", 18 | "_phantomChildren": {}, 19 | "_requested": { 20 | "name": "blob", 21 | "raw": "blob@0.0.4", 22 | "rawSpec": "0.0.4", 23 | "scope": null, 24 | "spec": "0.0.4", 25 | "type": "version" 26 | }, 27 | "_requiredBy": [ 28 | "/engine.io-parser" 29 | ], 30 | "_resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", 31 | "_shasum": "bcf13052ca54463f30f9fc7e95b9a47630a94921", 32 | "_shrinkwrap": null, 33 | "_spec": "blob@0.0.4", 34 | "_where": "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\engine.io-parser", 35 | "bugs": { 36 | "url": "https://github.com/rase-/blob/issues" 37 | }, 38 | "dependencies": {}, 39 | "description": "Abstracts out Blob and uses BlobBulder in cases where it is supported with any vendor prefix.", 40 | "devDependencies": { 41 | "browserify": "3.30.1", 42 | "expect.js": "0.2.0", 43 | "mocha": "1.17.1", 44 | "zuul": "1.5.4" 45 | }, 46 | "directories": {}, 47 | "dist": { 48 | "shasum": "bcf13052ca54463f30f9fc7e95b9a47630a94921", 49 | "tarball": "http://registry.npmjs.org/blob/-/blob-0.0.4.tgz" 50 | }, 51 | "homepage": "https://github.com/rase-/blob", 52 | "maintainers": [ 53 | { 54 | "name": "rase-", 55 | "email": "tonykovanen@hotmail.com" 56 | } 57 | ], 58 | "name": "blob", 59 | "optionalDependencies": {}, 60 | "readme": "ERROR: No README data found!", 61 | "repository": { 62 | "type": "git", 63 | "url": "git+ssh://git@github.com/rase-/blob.git" 64 | }, 65 | "scripts": { 66 | "test": "make test" 67 | }, 68 | "version": "0.0.4" 69 | } 70 | -------------------------------------------------------------------------------- /node_modules/callsite/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /node_modules/callsite/History.md: -------------------------------------------------------------------------------- 1 | 2 | 1.0.0 / 2013-01-24 3 | ================== 4 | 5 | * remove lame magical getters 6 | 7 | 0.0.1 / 2010-01-03 8 | ================== 9 | 10 | * Initial release 11 | -------------------------------------------------------------------------------- /node_modules/callsite/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha \ 4 | --require should 5 | 6 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/callsite/Readme.md: -------------------------------------------------------------------------------- 1 | # callstack 2 | 3 | Access to v8's "raw" `CallSite`s. 4 | 5 | ## Installation 6 | 7 | $ npm install callsite 8 | 9 | ## Example 10 | 11 | ```js 12 | var stack = require('callsite'); 13 | 14 | foo(); 15 | 16 | function foo() { 17 | bar(); 18 | } 19 | 20 | function bar() { 21 | baz(); 22 | } 23 | 24 | function baz() { 25 | console.log(); 26 | stack().forEach(function(site){ 27 | console.log(' \033[36m%s\033[90m in %s:%d\033[0m' 28 | , site.getFunctionName() || 'anonymous' 29 | , site.getFileName() 30 | , site.getLineNumber()); 31 | }); 32 | console.log(); 33 | } 34 | ``` 35 | 36 | ## Why? 37 | 38 | Because you can do weird, stupid, clever, wacky things such as: 39 | 40 | - [better-assert](https://github.com/visionmedia/better-assert) 41 | 42 | ## License 43 | 44 | MIT 45 | -------------------------------------------------------------------------------- /node_modules/callsite/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = function(){ 3 | var orig = Error.prepareStackTrace; 4 | Error.prepareStackTrace = function(_, stack){ return stack; }; 5 | var err = new Error; 6 | Error.captureStackTrace(err, arguments.callee); 7 | var stack = err.stack; 8 | Error.prepareStackTrace = orig; 9 | return stack; 10 | }; 11 | -------------------------------------------------------------------------------- /node_modules/callsite/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_args": [ 3 | [ 4 | "callsite@1.0.0", 5 | "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\better-assert" 6 | ] 7 | ], 8 | "_from": "callsite@1.0.0", 9 | "_id": "callsite@1.0.0", 10 | "_inCache": true, 11 | "_installable": true, 12 | "_location": "/callsite", 13 | "_npmUser": { 14 | "email": "tj@vision-media.ca", 15 | "name": "tjholowaychuk" 16 | }, 17 | "_npmVersion": "1.2.2", 18 | "_phantomChildren": {}, 19 | "_requested": { 20 | "name": "callsite", 21 | "raw": "callsite@1.0.0", 22 | "rawSpec": "1.0.0", 23 | "scope": null, 24 | "spec": "1.0.0", 25 | "type": "version" 26 | }, 27 | "_requiredBy": [ 28 | "/better-assert" 29 | ], 30 | "_resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", 31 | "_shasum": "280398e5d664bd74038b6f0905153e6e8af1bc20", 32 | "_shrinkwrap": null, 33 | "_spec": "callsite@1.0.0", 34 | "_where": "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\better-assert", 35 | "author": { 36 | "email": "tj@vision-media.ca", 37 | "name": "TJ Holowaychuk" 38 | }, 39 | "dependencies": {}, 40 | "description": "access to v8's CallSites", 41 | "devDependencies": { 42 | "mocha": "*", 43 | "should": "*" 44 | }, 45 | "directories": {}, 46 | "dist": { 47 | "shasum": "280398e5d664bd74038b6f0905153e6e8af1bc20", 48 | "tarball": "http://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz" 49 | }, 50 | "engines": { 51 | "node": "*" 52 | }, 53 | "keywords": [ 54 | "line", 55 | "stack", 56 | "trace" 57 | ], 58 | "main": "index", 59 | "maintainers": [ 60 | { 61 | "name": "tjholowaychuk", 62 | "email": "tj@vision-media.ca" 63 | } 64 | ], 65 | "name": "callsite", 66 | "optionalDependencies": {}, 67 | "readme": "ERROR: No README data found!", 68 | "version": "1.0.0" 69 | } 70 | -------------------------------------------------------------------------------- /node_modules/component-bind/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /node_modules/component-bind/History.md: -------------------------------------------------------------------------------- 1 | 2 | 1.0.0 / 2014-05-27 3 | ================== 4 | 5 | * index: use slice ref (#7, @viatropos) 6 | * package: rename package to "component-bind" 7 | * package: add "repository" field (#6, @repoify) 8 | * package: add "component" section 9 | 10 | 0.0.1 / 2010-01-03 11 | ================== 12 | 13 | * Initial release 14 | -------------------------------------------------------------------------------- /node_modules/component-bind/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha \ 4 | --require should \ 5 | --reporter spec 6 | 7 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/component-bind/Readme.md: -------------------------------------------------------------------------------- 1 | # bind 2 | 3 | Function binding utility. 4 | 5 | ## Installation 6 | 7 | ``` 8 | $ component install component/bind 9 | ``` 10 | 11 | ## API 12 | 13 | - [bind(obj, fn)](#bindobj-fn) 14 | - [bind(obj, fn, ...)](#bindobj-fn-) 15 | - [bind(obj, name)](#bindobj-name) 16 | 17 | 18 | 19 | ### bind(obj, fn) 20 | should bind the function to the given object. 21 | 22 | ```js 23 | var tobi = { name: 'tobi' }; 24 | 25 | function name() { 26 | return this.name; 27 | } 28 | 29 | var fn = bind(tobi, name); 30 | fn().should.equal('tobi'); 31 | ``` 32 | 33 | 34 | ### bind(obj, fn, ...) 35 | should curry the remaining arguments. 36 | 37 | ```js 38 | function add(a, b) { 39 | return a + b; 40 | } 41 | 42 | bind(null, add)(1, 2).should.equal(3); 43 | bind(null, add, 1)(2).should.equal(3); 44 | bind(null, add, 1, 2)().should.equal(3); 45 | ``` 46 | 47 | 48 | ### bind(obj, name) 49 | should bind the method of the given name. 50 | 51 | ```js 52 | var tobi = { name: 'tobi' }; 53 | 54 | tobi.getName = function() { 55 | return this.name; 56 | }; 57 | 58 | var fn = bind(tobi, 'getName'); 59 | fn().should.equal('tobi'); 60 | ``` 61 | 62 | ## License 63 | 64 | MIT -------------------------------------------------------------------------------- /node_modules/component-bind/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bind", 3 | "version": "1.0.0", 4 | "description": "function binding utility", 5 | "keywords": [ 6 | "bind", 7 | "utility" 8 | ], 9 | "dependencies": {}, 10 | "scripts": [ 11 | "index.js" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/component-bind/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Slice reference. 3 | */ 4 | 5 | var slice = [].slice; 6 | 7 | /** 8 | * Bind `obj` to `fn`. 9 | * 10 | * @param {Object} obj 11 | * @param {Function|String} fn or string 12 | * @return {Function} 13 | * @api public 14 | */ 15 | 16 | module.exports = function(obj, fn){ 17 | if ('string' == typeof fn) fn = obj[fn]; 18 | if ('function' != typeof fn) throw new Error('bind() requires a function'); 19 | var args = slice.call(arguments, 2); 20 | return function(){ 21 | return fn.apply(obj, args.concat(slice.call(arguments))); 22 | } 23 | }; 24 | -------------------------------------------------------------------------------- /node_modules/component-bind/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_args": [ 3 | [ 4 | "component-bind@1.0.0", 5 | "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\socket.io-client" 6 | ] 7 | ], 8 | "_from": "component-bind@1.0.0", 9 | "_id": "component-bind@1.0.0", 10 | "_inCache": true, 11 | "_installable": true, 12 | "_location": "/component-bind", 13 | "_npmUser": { 14 | "email": "nathan@tootallnate.net", 15 | "name": "tootallnate" 16 | }, 17 | "_npmVersion": "1.4.9", 18 | "_phantomChildren": {}, 19 | "_requested": { 20 | "name": "component-bind", 21 | "raw": "component-bind@1.0.0", 22 | "rawSpec": "1.0.0", 23 | "scope": null, 24 | "spec": "1.0.0", 25 | "type": "version" 26 | }, 27 | "_requiredBy": [ 28 | "/socket.io-client" 29 | ], 30 | "_resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", 31 | "_shasum": "00c608ab7dcd93897c0009651b1d3a8e1e73bbd1", 32 | "_shrinkwrap": null, 33 | "_spec": "component-bind@1.0.0", 34 | "_where": "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\socket.io-client", 35 | "bugs": { 36 | "url": "https://github.com/component/bind/issues" 37 | }, 38 | "component": { 39 | "scripts": { 40 | "bind/index.js": "index.js" 41 | } 42 | }, 43 | "dependencies": {}, 44 | "description": "function binding utility", 45 | "devDependencies": { 46 | "mocha": "*", 47 | "should": "*" 48 | }, 49 | "directories": {}, 50 | "dist": { 51 | "shasum": "00c608ab7dcd93897c0009651b1d3a8e1e73bbd1", 52 | "tarball": "http://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz" 53 | }, 54 | "homepage": "https://github.com/component/bind", 55 | "keywords": [ 56 | "bind", 57 | "utility" 58 | ], 59 | "maintainers": [ 60 | { 61 | "name": "tootallnate", 62 | "email": "nathan@tootallnate.net" 63 | } 64 | ], 65 | "name": "component-bind", 66 | "optionalDependencies": {}, 67 | "readme": "ERROR: No README data found!", 68 | "repository": { 69 | "type": "git", 70 | "url": "git+https://github.com/component/bind.git" 71 | }, 72 | "version": "1.0.0" 73 | } 74 | -------------------------------------------------------------------------------- /node_modules/component-emitter/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | test 3 | -------------------------------------------------------------------------------- /node_modules/component-emitter/.travis.yml: -------------------------------------------------------------------------------- 1 | node_js: 2 | - "0.8" 3 | - "0.10" 4 | language: node_js -------------------------------------------------------------------------------- /node_modules/component-emitter/History.md: -------------------------------------------------------------------------------- 1 | 2 | 1.1.2 / 2014-02-10 3 | ================== 4 | 5 | * package: rename to "component-emitter" 6 | * package: update "main" and "component" fields 7 | * Add license to Readme (same format as the other components) 8 | * created .npmignore 9 | * travis stuff 10 | 11 | 1.1.1 / 2013-12-01 12 | ================== 13 | 14 | * fix .once adding .on to the listener 15 | * docs: Emitter#off() 16 | * component: add `.repo` prop 17 | 18 | 1.1.0 / 2013-10-20 19 | ================== 20 | 21 | * add `.addEventListener()` and `.removeEventListener()` aliases 22 | 23 | 1.0.1 / 2013-06-27 24 | ================== 25 | 26 | * add support for legacy ie 27 | 28 | 1.0.0 / 2013-02-26 29 | ================== 30 | 31 | * add `.off()` support for removing all listeners 32 | 33 | 0.0.6 / 2012-10-08 34 | ================== 35 | 36 | * add `this._callbacks` initialization to prevent funky gotcha 37 | 38 | 0.0.5 / 2012-09-07 39 | ================== 40 | 41 | * fix `Emitter.call(this)` usage 42 | 43 | 0.0.3 / 2012-07-11 44 | ================== 45 | 46 | * add `.listeners()` 47 | * rename `.has()` to `.hasListeners()` 48 | 49 | 0.0.2 / 2012-06-28 50 | ================== 51 | 52 | * fix `.off()` with `.once()`-registered callbacks 53 | -------------------------------------------------------------------------------- /node_modules/component-emitter/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha \ 4 | --require should \ 5 | --reporter spec 6 | 7 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/component-emitter/Readme.md: -------------------------------------------------------------------------------- 1 | # Emitter [![Build Status](https://travis-ci.org/component/emitter.png)](https://travis-ci.org/component/emitter) 2 | 3 | Event emitter component. 4 | 5 | ## Installation 6 | 7 | ``` 8 | $ component install component/emitter 9 | ``` 10 | 11 | ## API 12 | 13 | ### Emitter(obj) 14 | 15 | The `Emitter` may also be used as a mixin. For example 16 | a "plain" object may become an emitter, or you may 17 | extend an existing prototype. 18 | 19 | As an `Emitter` instance: 20 | 21 | ```js 22 | var Emitter = require('emitter'); 23 | var emitter = new Emitter; 24 | emitter.emit('something'); 25 | ``` 26 | 27 | As a mixin: 28 | 29 | ```js 30 | var Emitter = require('emitter'); 31 | var user = { name: 'tobi' }; 32 | Emitter(user); 33 | 34 | user.emit('im a user'); 35 | ``` 36 | 37 | As a prototype mixin: 38 | 39 | ```js 40 | var Emitter = require('emitter'); 41 | Emitter(User.prototype); 42 | ``` 43 | 44 | ### Emitter#on(event, fn) 45 | 46 | Register an `event` handler `fn`. 47 | 48 | ### Emitter#once(event, fn) 49 | 50 | Register a single-shot `event` handler `fn`, 51 | removed immediately after it is invoked the 52 | first time. 53 | 54 | ### Emitter#off(event, fn) 55 | 56 | * Pass `event` and `fn` to remove a listener. 57 | * Pass `event` to remove all listeners on that event. 58 | * Pass nothing to remove all listeners on all events. 59 | 60 | ### Emitter#emit(event, ...) 61 | 62 | Emit an `event` with variable option args. 63 | 64 | ### Emitter#listeners(event) 65 | 66 | Return an array of callbacks, or an empty array. 67 | 68 | ### Emitter#hasListeners(event) 69 | 70 | Check if this emitter has `event` handlers. 71 | 72 | ## License 73 | 74 | MIT 75 | -------------------------------------------------------------------------------- /node_modules/component-emitter/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "emitter", 3 | "description": "Event emitter", 4 | "keywords": [ 5 | "emitter", 6 | "events" 7 | ], 8 | "version": "1.1.2", 9 | "license": "MIT", 10 | "main": "index.js", 11 | "homepage": "https://github.com/component/emitter", 12 | "ignore": [ 13 | "**/.*", 14 | "node_modules", 15 | "bower_components", 16 | "test", 17 | "Makefile", 18 | "package.json", 19 | "component.json" 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /node_modules/component-emitter/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "emitter", 3 | "repo": "component/emitter", 4 | "description": "Event emitter", 5 | "keywords": [ 6 | "emitter", 7 | "events" 8 | ], 9 | "version": "1.1.2", 10 | "scripts": [ 11 | "index.js" 12 | ], 13 | "license": "MIT" 14 | } 15 | -------------------------------------------------------------------------------- /node_modules/component-inherit/.npmignore: -------------------------------------------------------------------------------- 1 | components 2 | build 3 | node_modules 4 | -------------------------------------------------------------------------------- /node_modules/component-inherit/History.md: -------------------------------------------------------------------------------- 1 | 2 | 0.0.2 / 2012-09-03 3 | ================== 4 | 5 | * fix typo in package.json 6 | -------------------------------------------------------------------------------- /node_modules/component-inherit/Makefile: -------------------------------------------------------------------------------- 1 | 2 | build: components index.js 3 | @component build 4 | 5 | components: 6 | @Component install 7 | 8 | clean: 9 | rm -fr build components template.js 10 | 11 | test: 12 | @node_modules/.bin/mocha \ 13 | --require should \ 14 | --reporter spec 15 | 16 | .PHONY: clean test 17 | -------------------------------------------------------------------------------- /node_modules/component-inherit/Readme.md: -------------------------------------------------------------------------------- 1 | # inherit 2 | 3 | Prototype inheritance utility. 4 | 5 | ## Installation 6 | 7 | ``` 8 | $ component install component/inherit 9 | ``` 10 | 11 | ## Example 12 | 13 | ```js 14 | var inherit = require('inherit'); 15 | 16 | function Human() {} 17 | function Woman() {} 18 | 19 | inherit(Woman, Human); 20 | ``` 21 | 22 | ## License 23 | 24 | MIT 25 | -------------------------------------------------------------------------------- /node_modules/component-inherit/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "inherit", 3 | "description": "Prototype inheritance utility", 4 | "version": "0.0.3", 5 | "keywords": ["inherit", "utility"], 6 | "dependencies": {}, 7 | "scripts": [ 8 | "index.js" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/component-inherit/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = function(a, b){ 3 | var fn = function(){}; 4 | fn.prototype = b.prototype; 5 | a.prototype = new fn; 6 | a.prototype.constructor = a; 7 | }; -------------------------------------------------------------------------------- /node_modules/component-inherit/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_args": [ 3 | [ 4 | "component-inherit@0.0.3", 5 | "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\engine.io-client" 6 | ] 7 | ], 8 | "_from": "component-inherit@0.0.3", 9 | "_id": "component-inherit@0.0.3", 10 | "_inCache": true, 11 | "_installable": true, 12 | "_location": "/component-inherit", 13 | "_npmUser": { 14 | "email": "thecoreh@gmail.com", 15 | "name": "coreh" 16 | }, 17 | "_npmVersion": "1.3.24", 18 | "_phantomChildren": {}, 19 | "_requested": { 20 | "name": "component-inherit", 21 | "raw": "component-inherit@0.0.3", 22 | "rawSpec": "0.0.3", 23 | "scope": null, 24 | "spec": "0.0.3", 25 | "type": "version" 26 | }, 27 | "_requiredBy": [ 28 | "/engine.io-client" 29 | ], 30 | "_resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", 31 | "_shasum": "645fc4adf58b72b649d5cae65135619db26ff143", 32 | "_shrinkwrap": null, 33 | "_spec": "component-inherit@0.0.3", 34 | "_where": "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\engine.io-client", 35 | "bugs": { 36 | "url": "https://github.com/component/inherit/issues" 37 | }, 38 | "component": { 39 | "scripts": { 40 | "inherit/index.js": "index.js" 41 | } 42 | }, 43 | "dependencies": {}, 44 | "description": "Prototype inheritance utility", 45 | "devDependencies": {}, 46 | "directories": {}, 47 | "dist": { 48 | "shasum": "645fc4adf58b72b649d5cae65135619db26ff143", 49 | "tarball": "http://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz" 50 | }, 51 | "homepage": "https://github.com/component/inherit", 52 | "keywords": [ 53 | "inherit", 54 | "utility" 55 | ], 56 | "maintainers": [ 57 | { 58 | "name": "coreh", 59 | "email": "thecoreh@gmail.com" 60 | } 61 | ], 62 | "name": "component-inherit", 63 | "optionalDependencies": {}, 64 | "readme": "ERROR: No README data found!", 65 | "repository": { 66 | "type": "git", 67 | "url": "git+https://github.com/component/inherit.git" 68 | }, 69 | "version": "0.0.3" 70 | } 71 | -------------------------------------------------------------------------------- /node_modules/component-inherit/test/inherit.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Module dependencies. 4 | */ 5 | 6 | var inherit = require('..'); 7 | 8 | describe('inherit(a, b)', function(){ 9 | it('should inherit b\'s prototype', function(){ 10 | function Loki(){} 11 | function Animal(){} 12 | 13 | Animal.prototype.species = 'unknown'; 14 | 15 | inherit(Loki, Animal); 16 | 17 | var loki = new Loki; 18 | loki.species.should.equal('unknown'); 19 | loki.constructor.should.equal(Loki); 20 | }) 21 | }) -------------------------------------------------------------------------------- /node_modules/debug/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "laxbreak": true 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | -------------------------------------------------------------------------------- /node_modules/debug/Makefile: -------------------------------------------------------------------------------- 1 | 2 | # get Makefile directory name: http://stackoverflow.com/a/5982798/376773 3 | THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) 4 | THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) 5 | 6 | # BIN directory 7 | BIN := $(THIS_DIR)/node_modules/.bin 8 | 9 | # applications 10 | NODE ?= $(shell which node) 11 | NPM ?= $(NODE) $(shell which npm) 12 | BROWSERIFY ?= $(NODE) $(BIN)/browserify 13 | 14 | all: dist/debug.js 15 | 16 | install: node_modules 17 | 18 | clean: 19 | @rm -rf node_modules dist 20 | 21 | dist: 22 | @mkdir -p $@ 23 | 24 | dist/debug.js: node_modules browser.js debug.js dist 25 | @$(BROWSERIFY) \ 26 | --standalone debug \ 27 | . > $@ 28 | 29 | node_modules: package.json 30 | @NODE_ENV= $(NPM) install 31 | @touch node_modules 32 | 33 | .PHONY: all install clean 34 | -------------------------------------------------------------------------------- /node_modules/debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "2.1.0", 6 | "keywords": [ 7 | "debug", 8 | "log", 9 | "debugger" 10 | ], 11 | "main": "browser.js", 12 | "scripts": [ 13 | "browser.js", 14 | "debug.js" 15 | ], 16 | "dependencies": { 17 | "guille/ms.js": "0.6.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/.npmignore: -------------------------------------------------------------------------------- 1 | support/ 2 | test 3 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | - "4.0.0" 5 | notifications: 6 | irc: "irc.freenode.org#socket.io" 7 | matrix: 8 | include: 9 | - node_js: '0.10' 10 | env: BROWSER_NAME=chrome BROWSER_VERSION=latest 11 | - node_js: '0.10' 12 | env: BROWSER_NAME=safari BROWSER_VERSION=latest 13 | - node_js: '0.10' 14 | env: BROWSER_NAME=ie BROWSER_VERSION=6 15 | - node_js: '0.10' 16 | env: BROWSER_NAME=ie BROWSER_VERSION=7 17 | - node_js: '0.10' 18 | env: BROWSER_NAME=ie BROWSER_VERSION=8 19 | - node_js: '0.10' 20 | env: BROWSER_NAME=ie BROWSER_VERSION=9 21 | - node_js: '0.10' 22 | env: BROWSER_NAME=ie BROWSER_VERSION=10 BROWSER_PLATFORM="Windows 2012" 23 | - node_js: '0.10' 24 | env: BROWSER_NAME=ie BROWSER_VERSION=latest BROWSER_PLATFORM="Windows 2012" 25 | - node_js: '0.10' 26 | env: BROWSER_NAME=iphone BROWSER_VERSION=4.3 27 | - node_js: '0.10' 28 | env: BROWSER_NAME=iphone BROWSER_VERSION=5.1 29 | - node_js: '0.10' 30 | env: BROWSER_NAME=iphone BROWSER_VERSION=6.1 31 | - node_js: '0.10' 32 | env: BROWSER_NAME=iphone BROWSER_VERSION=7.1 33 | - node_js: '0.10' 34 | env: BROWSER_NAME=android BROWSER_VERSION=4.0 35 | - node_js: '0.10' 36 | env: BROWSER_NAME=android BROWSER_VERSION=4.1 37 | - node_js: '0.10' 38 | env: BROWSER_NAME=android BROWSER_VERSION=4.2 39 | - node_js: '0.10' 40 | env: BROWSER_NAME=android BROWSER_VERSION=4.3 41 | - node_js: '0.10' 42 | env: BROWSER_NAME=android BROWSER_VERSION=4.4 43 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/.zuul.yml: -------------------------------------------------------------------------------- 1 | ui: mocha-bdd 2 | server: ./test/support/server.js 3 | browsers: 4 | - name: chrome 5 | version: 29..latest 6 | # Firefox disabled for now because it can cause infinite wait loops when 7 | # running any tests 8 | # - name: firefox 9 | # version: latest 10 | - name: safari 11 | version: latest 12 | - name: ie 13 | version: 10 14 | platform: Windows 2012 15 | - name: ie 16 | version: [6..9, latest] 17 | - name: iphone 18 | version: oldest..latest 19 | - name: android 20 | version: oldest..latest 21 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/Makefile: -------------------------------------------------------------------------------- 1 | 2 | REPORTER = dot 3 | 4 | build: engine.io.js 5 | 6 | engine.io.js: lib/*.js lib/transports/*.js package.json 7 | @./support/browserify.sh > engine.io.js 8 | 9 | test: 10 | @if [ "x$(BROWSER_NAME)" = "x" ]; then make test-node; else make test-zuul; fi 11 | 12 | test-node: 13 | @./node_modules/.bin/mocha \ 14 | --reporter $(REPORTER) \ 15 | test/index.js 16 | 17 | test-zuul: 18 | @if [ "x$(BROWSER_PLATFORM)" = "x" ]; then \ 19 | ./node_modules/zuul/bin/zuul \ 20 | --browser-name $(BROWSER_NAME) \ 21 | --browser-version $(BROWSER_VERSION) \ 22 | test/index.js; \ 23 | else \ 24 | ./node_modules/zuul/bin/zuul \ 25 | --browser-name $(BROWSER_NAME) \ 26 | --browser-version $(BROWSER_VERSION) \ 27 | --browser-platform "$(BROWSER_PLATFORM)" \ 28 | test/index.js; \ 29 | fi 30 | 31 | test-cov: 32 | @./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- \ 33 | --require ./test/common \ 34 | --reporter $(REPORTER) \ 35 | $(TESTS) 36 | 37 | .PHONY: test build 38 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/'); 3 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/lib/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./socket'); 3 | 4 | /** 5 | * Exports parser 6 | * 7 | * @api public 8 | * 9 | */ 10 | module.exports.parser = require('engine.io-parser'); 11 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/lib/transports/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Module dependencies 3 | */ 4 | 5 | var XMLHttpRequest = require('xmlhttprequest'); 6 | var XHR = require('./polling-xhr'); 7 | var JSONP = require('./polling-jsonp'); 8 | var websocket = require('./websocket'); 9 | 10 | /** 11 | * Export transports. 12 | */ 13 | 14 | exports.polling = polling; 15 | exports.websocket = websocket; 16 | 17 | /** 18 | * Polling transport polymorphic constructor. 19 | * Decides on xhr vs jsonp based on feature detection. 20 | * 21 | * @api private 22 | */ 23 | 24 | function polling(opts){ 25 | var xhr; 26 | var xd = false; 27 | var xs = false; 28 | var jsonp = false !== opts.jsonp; 29 | 30 | if (global.location) { 31 | var isSSL = 'https:' == location.protocol; 32 | var port = location.port; 33 | 34 | // some user agents have empty `location.port` 35 | if (!port) { 36 | port = isSSL ? 443 : 80; 37 | } 38 | 39 | xd = opts.hostname != location.hostname || port != opts.port; 40 | xs = opts.secure != isSSL; 41 | } 42 | 43 | opts.xdomain = xd; 44 | opts.xscheme = xs; 45 | xhr = new XMLHttpRequest(opts); 46 | 47 | if ('open' in xhr && !opts.forceJSONP) { 48 | return new XHR(opts); 49 | } else { 50 | if (!jsonp) throw new Error('JSONP disabled'); 51 | return new JSONP(opts); 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/lib/xmlhttprequest.js: -------------------------------------------------------------------------------- 1 | // browser shim for xmlhttprequest module 2 | var hasCORS = require('has-cors'); 3 | 4 | module.exports = function(opts) { 5 | var xdomain = opts.xdomain; 6 | 7 | // scheme must be same when usign XDomainRequest 8 | // http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx 9 | var xscheme = opts.xscheme; 10 | 11 | // XDomainRequest has a flow of not sending cookie, therefore it should be disabled as a default. 12 | // https://github.com/Automattic/engine.io-client/pull/217 13 | var enablesXDR = opts.enablesXDR; 14 | 15 | // XMLHttpRequest can be disabled on IE 16 | try { 17 | if ('undefined' != typeof XMLHttpRequest && (!xdomain || hasCORS)) { 18 | return new XMLHttpRequest(); 19 | } 20 | } catch (e) { } 21 | 22 | // Use XDomainRequest for IE8 if enablesXDR is true 23 | // because loading bar keeps flashing when using jsonp-polling 24 | // https://github.com/yujiosaka/socke.io-ie8-loading-example 25 | try { 26 | if ('undefined' != typeof XDomainRequest && !xscheme && enablesXDR) { 27 | return new XDomainRequest(); 28 | } 29 | } catch (e) { } 30 | 31 | if (!xdomain) { 32 | try { 33 | return new ActiveXObject('Microsoft.XMLHTTP'); 34 | } catch(e) { } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/node_modules/debug/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "laxbreak": true 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/node_modules/debug/Makefile: -------------------------------------------------------------------------------- 1 | 2 | # get Makefile directory name: http://stackoverflow.com/a/5982798/376773 3 | THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) 4 | THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) 5 | 6 | # BIN directory 7 | BIN := $(THIS_DIR)/node_modules/.bin 8 | 9 | # applications 10 | NODE ?= $(shell which node) 11 | NPM ?= $(NODE) $(shell which npm) 12 | BROWSERIFY ?= $(NODE) $(BIN)/browserify 13 | 14 | all: dist/debug.js 15 | 16 | install: node_modules 17 | 18 | clean: 19 | @rm -rf node_modules dist 20 | 21 | dist: 22 | @mkdir -p $@ 23 | 24 | dist/debug.js: node_modules browser.js debug.js dist 25 | @$(BROWSERIFY) \ 26 | --standalone debug \ 27 | . > $@ 28 | 29 | node_modules: package.json 30 | @NODE_ENV= $(NPM) install 31 | @touch node_modules 32 | 33 | .PHONY: all install clean 34 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/node_modules/debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "1.0.4", 6 | "keywords": [ 7 | "debug", 8 | "log", 9 | "debugger" 10 | ], 11 | "main": "browser.js", 12 | "scripts": [ 13 | "browser.js", 14 | "debug.js" 15 | ], 16 | "dependencies": { 17 | "guille/ms.js": "0.6.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/node_modules/parseuri/History.md: -------------------------------------------------------------------------------- 1 | 2 | n.n.n / 2014-02-09 3 | ================== 4 | 5 | * parseuri first commit 6 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/node_modules/parseuri/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha test.js 4 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/node_modules/parseuri/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Parses an URI 3 | * 4 | * @author Steven Levithan (MIT license) 5 | * @api private 6 | */ 7 | 8 | var re = /^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/; 9 | 10 | var parts = [ 11 | 'source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor' 12 | ]; 13 | 14 | module.exports = function parseuri(str) { 15 | var src = str, 16 | b = str.indexOf('['), 17 | e = str.indexOf(']'); 18 | 19 | if (b != -1 && e != -1) { 20 | str = str.substring(0, b) + str.substring(b, e).replace(/:/g, ';') + str.substring(e, str.length); 21 | } 22 | 23 | var m = re.exec(str || ''), 24 | uri = {}, 25 | i = 14; 26 | 27 | while (i--) { 28 | uri[parts[i]] = m[i] || ''; 29 | } 30 | 31 | if (b != -1 && e != -1) { 32 | uri.source = src; 33 | uri.host = uri.host.substring(1, uri.host.length - 1).replace(/;/g, ':'); 34 | uri.authority = uri.authority.replace('[', '').replace(']', '').replace(/;/g, ':'); 35 | uri.ipv6uri = true; 36 | } 37 | 38 | return uri; 39 | }; 40 | -------------------------------------------------------------------------------- /node_modules/engine.io-client/node_modules/parseuri/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_args": [ 3 | [ 4 | "parseuri@0.0.4", 5 | "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\engine.io-client" 6 | ] 7 | ], 8 | "_from": "parseuri@0.0.4", 9 | "_id": "parseuri@0.0.4", 10 | "_inCache": true, 11 | "_installable": true, 12 | "_location": "/engine.io-client/parseuri", 13 | "_npmUser": { 14 | "email": "koren@mit.edu", 15 | "name": "gal" 16 | }, 17 | "_npmVersion": "1.3.15", 18 | "_phantomChildren": {}, 19 | "_requested": { 20 | "name": "parseuri", 21 | "raw": "parseuri@0.0.4", 22 | "rawSpec": "0.0.4", 23 | "scope": null, 24 | "spec": "0.0.4", 25 | "type": "version" 26 | }, 27 | "_requiredBy": [ 28 | "/engine.io-client" 29 | ], 30 | "_resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.4.tgz", 31 | "_shasum": "806582a39887e1ea18dd5e2fe0e01902268e9350", 32 | "_shrinkwrap": null, 33 | "_spec": "parseuri@0.0.4", 34 | "_where": "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\engine.io-client", 35 | "author": "", 36 | "bugs": { 37 | "url": "https://github.com/get/parseuri/issues" 38 | }, 39 | "dependencies": { 40 | "better-assert": "~1.0.0" 41 | }, 42 | "description": "Method that parses a URI and returns an array of its components", 43 | "devDependencies": { 44 | "mocha": "1.17.1" 45 | }, 46 | "directories": {}, 47 | "dist": { 48 | "shasum": "806582a39887e1ea18dd5e2fe0e01902268e9350", 49 | "tarball": "http://registry.npmjs.org/parseuri/-/parseuri-0.0.4.tgz" 50 | }, 51 | "homepage": "https://github.com/get/parseuri", 52 | "license": "MIT", 53 | "maintainers": [ 54 | { 55 | "name": "gal", 56 | "email": "koren@mit.edu" 57 | } 58 | ], 59 | "name": "parseuri", 60 | "optionalDependencies": {}, 61 | "readme": "ERROR: No README data found!", 62 | "repository": { 63 | "type": "git", 64 | "url": "git+https://github.com/get/parseuri.git" 65 | }, 66 | "scripts": { 67 | "test": "make test" 68 | }, 69 | "version": "0.0.4" 70 | } 71 | -------------------------------------------------------------------------------- /node_modules/engine.io-parser/.npmignore: -------------------------------------------------------------------------------- 1 | lib-cov 2 | *.seed 3 | *.log 4 | *.csv 5 | *.dat 6 | *.out 7 | *.pid 8 | *.gz 9 | 10 | pids 11 | logs 12 | results 13 | 14 | npm-debug.log 15 | node_modules/* 16 | 17 | test 18 | -------------------------------------------------------------------------------- /node_modules/engine.io-parser/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.10 4 | - 0.12 5 | sudo: false 6 | notifications: 7 | irc: irc.freenode.org##socket.io 8 | matrix: 9 | include: 10 | - node_js: '0.12' 11 | env: BROWSER_NAME=chrome BROWSER_VERSION=latest 12 | - node_js: '0.12' 13 | env: BROWSER_NAME=safari BROWSER_VERSION=latest 14 | - node_js: '0.12' 15 | env: BROWSER_NAME=ie BROWSER_VERSION=6 16 | - node_js: '0.12' 17 | env: BROWSER_NAME=ie BROWSER_VERSION=7 18 | - node_js: '0.12' 19 | env: BROWSER_NAME=ie BROWSER_VERSION=8 20 | - node_js: '0.12' 21 | env: BROWSER_NAME=ie BROWSER_VERSION=9 22 | - node_js: '0.12' 23 | env: BROWSER_NAME=ie BROWSER_VERSION=10 BROWSER_PLATFORM="Windows 2012" 24 | - node_js: '0.12' 25 | env: BROWSER_NAME=ie BROWSER_VERSION=latest BROWSER_PLATFORM="Windows 2012" 26 | - node_js: '0.12' 27 | env: BROWSER_NAME=iphone BROWSER_VERSION=5.1 28 | - node_js: '0.12' 29 | env: BROWSER_NAME=iphone BROWSER_VERSION=6.1 30 | - node_js: '0.12' 31 | env: BROWSER_NAME=iphone BROWSER_VERSION=7.1 32 | - node_js: '0.12' 33 | env: BROWSER_NAME=android BROWSER_VERSION=4.0 34 | - node_js: '0.12' 35 | env: BROWSER_NAME=android BROWSER_VERSION=4.1 36 | - node_js: '0.12' 37 | env: BROWSER_NAME=android BROWSER_VERSION=4.2 38 | - node_js: '0.12' 39 | env: BROWSER_NAME=android BROWSER_VERSION=4.3 40 | - node_js: '0.12' 41 | env: BROWSER_NAME=android BROWSER_VERSION=4.4 42 | -------------------------------------------------------------------------------- /node_modules/engine.io-parser/.zuul.yml: -------------------------------------------------------------------------------- 1 | ui: mocha-bdd 2 | tunnel: 3 | type: ngrok 4 | authtoken: JnawIksKFkXQzrxSjIjQ 5 | proto: tcp 6 | browsers: 7 | - name: chrome 8 | version: 29..latest 9 | - name: firefox 10 | version: latest 11 | - name: safari 12 | version: latest 13 | - name: ie 14 | version: 10 15 | platform: Windows 2012 16 | - name: ie 17 | version: 9 18 | version: [6..9, latest] 19 | - name: iphone 20 | version: oldest..latest 21 | - name: android 22 | version: latest 23 | -------------------------------------------------------------------------------- /node_modules/engine.io-parser/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Automattic 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /node_modules/engine.io-parser/Makefile: -------------------------------------------------------------------------------- 1 | 2 | REPORTER = dot 3 | 4 | test: 5 | @if [ "x$(BROWSER_NAME)" = "x" ]; then make test-node; else make test-zuul; fi 6 | 7 | test-node: 8 | @./node_modules/.bin/mocha \ 9 | --reporter $(REPORTER) \ 10 | test/index.js 11 | 12 | test-zuul: 13 | @if [ "x$(BROWSER_PLATFORM)" = "x" ]; then \ 14 | ./node_modules/zuul/bin/zuul \ 15 | --browser-name $(BROWSER_NAME) \ 16 | --browser-version $(BROWSER_VERSION) \ 17 | test/index.js; \ 18 | else \ 19 | ./node_modules/zuul/bin/zuul \ 20 | --browser-name $(BROWSER_NAME) \ 21 | --browser-version $(BROWSER_VERSION) \ 22 | --browser-platform "$(BROWSER_PLATFORM)" \ 23 | test/index.js; \ 24 | fi 25 | 26 | .PHONY: test 27 | -------------------------------------------------------------------------------- /node_modules/engine.io-parser/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/'); 3 | -------------------------------------------------------------------------------- /node_modules/engine.io-parser/lib/keys.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Gets the keys for an object. 4 | * 5 | * @return {Array} keys 6 | * @api private 7 | */ 8 | 9 | module.exports = Object.keys || function keys (obj){ 10 | var arr = []; 11 | var has = Object.prototype.hasOwnProperty; 12 | 13 | for (var i in obj) { 14 | if (has.call(obj, i)) { 15 | arr.push(i); 16 | } 17 | } 18 | return arr; 19 | }; 20 | -------------------------------------------------------------------------------- /node_modules/engine.io/.npmignore: -------------------------------------------------------------------------------- 1 | examples 2 | node_modules 3 | test 4 | npm-debug.log 5 | coverage.html 6 | .gitignore 7 | -------------------------------------------------------------------------------- /node_modules/engine.io/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | - "0.8" 5 | - "4.0.0" 6 | 7 | notifications: 8 | irc: "irc.freenode.org#socket.io" 9 | -------------------------------------------------------------------------------- /node_modules/engine.io/Makefile: -------------------------------------------------------------------------------- 1 | 2 | TESTS = test/*.js 3 | BENCHMARKS = $(shell find bench -type f ! -name 'runner.js') 4 | REPORTER = dot 5 | 6 | test: 7 | @./node_modules/.bin/mocha \ 8 | --reporter $(REPORTER) \ 9 | --slow 500ms \ 10 | --bail \ 11 | --globals ___eio,document \ 12 | $(TESTS) 13 | 14 | test-cov: lib-cov 15 | EIO_COV=1 $(MAKE) test REPORTER=html-cov > coverage.html 16 | 17 | lib-cov: 18 | jscoverage --no-highlight lib lib-cov 19 | 20 | bench: 21 | @node $(PROFILEFLAGS) bench/runner.js $(BENCHMARKS) 22 | 23 | .PHONY: test test-cov bench 24 | -------------------------------------------------------------------------------- /node_modules/engine.io/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = process.env.EIO_COV 3 | ? require('./lib-cov/engine.io') 4 | : require('./lib/engine.io'); 5 | -------------------------------------------------------------------------------- /node_modules/engine.io/lib/transports/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Module dependencies. 4 | */ 5 | 6 | var XHR = require('./polling-xhr'); 7 | var JSONP = require('./polling-jsonp'); 8 | 9 | /** 10 | * Export transports. 11 | */ 12 | 13 | module.exports = exports = { 14 | polling: polling, 15 | websocket: require('./websocket') 16 | }; 17 | 18 | /** 19 | * Export upgrades map. 20 | */ 21 | 22 | exports.polling.upgradesTo = ['websocket']; 23 | 24 | /** 25 | * Polling polimorphic constructor. 26 | * 27 | * @api private 28 | */ 29 | 30 | function polling (req) { 31 | if ('string' == typeof req._query.j) { 32 | return new JSONP(req); 33 | } else { 34 | return new XHR(req); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /node_modules/engine.io/node_modules/debug/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "laxbreak": true 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/engine.io/node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | -------------------------------------------------------------------------------- /node_modules/engine.io/node_modules/debug/Makefile: -------------------------------------------------------------------------------- 1 | 2 | # get Makefile directory name: http://stackoverflow.com/a/5982798/376773 3 | THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) 4 | THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) 5 | 6 | # BIN directory 7 | BIN := $(THIS_DIR)/node_modules/.bin 8 | 9 | # applications 10 | NODE ?= $(shell which node) 11 | NPM ?= $(NODE) $(shell which npm) 12 | BROWSERIFY ?= $(NODE) $(BIN)/browserify 13 | 14 | all: dist/debug.js 15 | 16 | install: node_modules 17 | 18 | clean: 19 | @rm -rf node_modules dist 20 | 21 | dist: 22 | @mkdir -p $@ 23 | 24 | dist/debug.js: node_modules browser.js debug.js dist 25 | @$(BROWSERIFY) \ 26 | --standalone debug \ 27 | . > $@ 28 | 29 | node_modules: package.json 30 | @NODE_ENV= $(NPM) install 31 | @touch node_modules 32 | 33 | .PHONY: all install clean 34 | -------------------------------------------------------------------------------- /node_modules/engine.io/node_modules/debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "1.0.3", 6 | "keywords": [ 7 | "debug", 8 | "log", 9 | "debugger" 10 | ], 11 | "main": "browser.js", 12 | "scripts": [ 13 | "browser.js", 14 | "debug.js" 15 | ], 16 | "dependencies": { 17 | "guille/ms.js": "0.6.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/global/.npmignore: -------------------------------------------------------------------------------- 1 | /components 2 | /build 3 | /node_modules 4 | -------------------------------------------------------------------------------- /node_modules/global/History.md: -------------------------------------------------------------------------------- 1 | 2 | 2.0.1 / 2013-08-23 3 | ================== 4 | 5 | - package: add "component" section 6 | 7 | 2.0.0 / 2013-08-22 8 | ================== 9 | 10 | - No more function invocation required, returns `global` directly 11 | 12 | 1.0.0 / 2013-08-22 13 | ================== 14 | 15 | - Initial release 16 | -------------------------------------------------------------------------------- /node_modules/global/Makefile: -------------------------------------------------------------------------------- 1 | 2 | build: components 3 | @component build --dev 4 | 5 | components: component.json 6 | @component install --dev 7 | 8 | clean: 9 | rm -fr build components template.js 10 | 11 | .PHONY: clean 12 | -------------------------------------------------------------------------------- /node_modules/global/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # global 3 | 4 | Returns a reference to the `global` object 5 | 6 | ## Installation 7 | 8 | Install with [component(1)](http://component.io): 9 | 10 | $ component install component/global 11 | 12 | ## API 13 | 14 | ``` js 15 | var global = require('global'); 16 | ``` 17 | 18 | ## License 19 | 20 | MIT 21 | -------------------------------------------------------------------------------- /node_modules/global/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "global", 3 | "repo": "component/global", 4 | "description": "Returns a reference to the `global` object", 5 | "version": "2.0.1", 6 | "keywords": [], 7 | "dependencies": {}, 8 | "development": { 9 | "component/assert": "*" 10 | }, 11 | "scripts": [ 12 | "index.js" 13 | ], 14 | "license": "MIT" 15 | } 16 | -------------------------------------------------------------------------------- /node_modules/global/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Returns `this`. Execute this without a "context" (i.e. without it being 4 | * attached to an object of the left-hand side), and `this` points to the 5 | * "global" scope of the current JS execution. 6 | */ 7 | 8 | module.exports = (function () { return this; })(); 9 | -------------------------------------------------------------------------------- /node_modules/global/test/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Mocha 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /node_modules/global/test/test.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Module dependencies. 4 | */ 5 | 6 | var assert = require('assert'); 7 | var global; 8 | 9 | try { 10 | // component 11 | global = require('global'); 12 | } catch (e) { 13 | // node.js 14 | global = require('../'); 15 | } 16 | 17 | describe('global', function () { 18 | it('should return the `global` object', function () { 19 | var str = String(global); 20 | assert('[object global]' == str || '[object Window]' == str); 21 | }); 22 | }); 23 | -------------------------------------------------------------------------------- /node_modules/has-binary-data/.npmignore: -------------------------------------------------------------------------------- 1 | lib-cov 2 | *.seed 3 | *.log 4 | *.csv 5 | *.dat 6 | *.out 7 | *.pid 8 | *.gz 9 | 10 | pids 11 | logs 12 | results 13 | 14 | npm-debug.log 15 | node_modules 16 | -------------------------------------------------------------------------------- /node_modules/has-binary-data/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Kevin Roark 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /node_modules/has-binary-data/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha test.js 4 | -------------------------------------------------------------------------------- /node_modules/has-binary-data/README.md: -------------------------------------------------------------------------------- 1 | has-binarydata.js 2 | ================= 3 | 4 | Simple module to test if an object contains binary data 5 | -------------------------------------------------------------------------------- /node_modules/has-binary-data/gen.js: -------------------------------------------------------------------------------- 1 | var ob = {}; 2 | 3 | var max = 5230; // just before call stack breaks 4 | var count = 0; 5 | 6 | function g(o) { 7 | if (count++ < max) { 8 | o.k = {}; 9 | g(o.k); 10 | } 11 | else { 12 | o.k = 'cool'; 13 | } 14 | } 15 | 16 | g(ob); 17 | console.log(JSON.stringify(ob)); 18 | -------------------------------------------------------------------------------- /node_modules/has-binary-data/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Module requirements. 3 | */ 4 | 5 | var isArray = require('isarray'); 6 | 7 | /** 8 | * Module exports. 9 | */ 10 | 11 | module.exports = hasBinary; 12 | 13 | /** 14 | * Checks for binary data. 15 | * 16 | * Right now only Buffer and ArrayBuffer are supported.. 17 | * 18 | * @param {Object} anything 19 | * @api public 20 | */ 21 | 22 | function hasBinary(data) { 23 | 24 | function _hasBinary(obj) { 25 | if (!obj) return false; 26 | 27 | if ( (global.Buffer && Buffer.isBuffer(obj)) || 28 | (global.ArrayBuffer && obj instanceof ArrayBuffer) || 29 | (global.Blob && obj instanceof Blob) || 30 | (global.File && obj instanceof File) 31 | ) { 32 | return true; 33 | } 34 | 35 | if (isArray(obj)) { 36 | for (var i = 0; i < obj.length; i++) { 37 | if (_hasBinary(obj[i])) { 38 | return true; 39 | } 40 | } 41 | } else if (obj && 'object' == typeof obj) { 42 | if (obj.toJSON) { 43 | obj = obj.toJSON(); 44 | } 45 | 46 | for (var key in obj) { 47 | if (obj.hasOwnProperty(key) && _hasBinary(obj[key])) { 48 | return true; 49 | } 50 | } 51 | } 52 | 53 | return false; 54 | } 55 | 56 | return _hasBinary(data); 57 | } 58 | -------------------------------------------------------------------------------- /node_modules/has-binary-data/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_args": [ 3 | [ 4 | "has-binary-data@0.1.3", 5 | "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\socket.io" 6 | ] 7 | ], 8 | "_from": "has-binary-data@0.1.3", 9 | "_id": "has-binary-data@0.1.3", 10 | "_inCache": true, 11 | "_installable": true, 12 | "_location": "/has-binary-data", 13 | "_npmUser": { 14 | "email": "ker2143@columbia.edu", 15 | "name": "porkfat" 16 | }, 17 | "_npmVersion": "1.3.24", 18 | "_phantomChildren": {}, 19 | "_requested": { 20 | "name": "has-binary-data", 21 | "raw": "has-binary-data@0.1.3", 22 | "rawSpec": "0.1.3", 23 | "scope": null, 24 | "spec": "0.1.3", 25 | "type": "version" 26 | }, 27 | "_requiredBy": [ 28 | "/socket.io" 29 | ], 30 | "_resolved": "https://registry.npmjs.org/has-binary-data/-/has-binary-data-0.1.3.tgz", 31 | "_shasum": "8ebb18388b57f19a5231275a16fc18d51f379aae", 32 | "_shrinkwrap": null, 33 | "_spec": "has-binary-data@0.1.3", 34 | "_where": "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\socket.io", 35 | "author": { 36 | "name": "Kevin Roark" 37 | }, 38 | "dependencies": { 39 | "isarray": "0.0.1" 40 | }, 41 | "description": "A function that takes anything in javascript and returns true if its argument contains binary data.", 42 | "devDependencies": { 43 | "better-assert": "1.0.0", 44 | "mocha": "1.17.1" 45 | }, 46 | "directories": {}, 47 | "dist": { 48 | "shasum": "8ebb18388b57f19a5231275a16fc18d51f379aae", 49 | "tarball": "http://registry.npmjs.org/has-binary-data/-/has-binary-data-0.1.3.tgz" 50 | }, 51 | "license": "ISC", 52 | "maintainers": [ 53 | { 54 | "name": "porkfat", 55 | "email": "ker2143@columbia.edu" 56 | } 57 | ], 58 | "name": "has-binary-data", 59 | "optionalDependencies": {}, 60 | "readme": "ERROR: No README data found!", 61 | "version": "0.1.3" 62 | } 63 | -------------------------------------------------------------------------------- /node_modules/has-binary/.npmignore: -------------------------------------------------------------------------------- 1 | lib-cov 2 | *.seed 3 | *.log 4 | *.csv 5 | *.dat 6 | *.out 7 | *.pid 8 | *.gz 9 | 10 | pids 11 | logs 12 | results 13 | 14 | npm-debug.log 15 | node_modules 16 | -------------------------------------------------------------------------------- /node_modules/has-binary/History.md: -------------------------------------------------------------------------------- 1 | 2 | 0.1.6 / 2015-01-24 3 | ================== 4 | 5 | * fix "undefined function" bug when iterating 6 | an object created with Object.create(null) [gunta] 7 | 8 | 0.1.5 / 2014-09-04 9 | ================== 10 | 11 | * prevent browserify from bundling `Buffer` 12 | -------------------------------------------------------------------------------- /node_modules/has-binary/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Kevin Roark 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /node_modules/has-binary/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha test.js 4 | -------------------------------------------------------------------------------- /node_modules/has-binary/README.md: -------------------------------------------------------------------------------- 1 | has-binarydata.js 2 | ================= 3 | 4 | Simple module to test if an object contains binary data 5 | -------------------------------------------------------------------------------- /node_modules/has-binary/index.js: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Module requirements. 4 | */ 5 | 6 | var isArray = require('isarray'); 7 | 8 | /** 9 | * Module exports. 10 | */ 11 | 12 | module.exports = hasBinary; 13 | 14 | /** 15 | * Checks for binary data. 16 | * 17 | * Right now only Buffer and ArrayBuffer are supported.. 18 | * 19 | * @param {Object} anything 20 | * @api public 21 | */ 22 | 23 | function hasBinary(data) { 24 | 25 | function _hasBinary(obj) { 26 | if (!obj) return false; 27 | 28 | if ( (global.Buffer && global.Buffer.isBuffer(obj)) || 29 | (global.ArrayBuffer && obj instanceof ArrayBuffer) || 30 | (global.Blob && obj instanceof Blob) || 31 | (global.File && obj instanceof File) 32 | ) { 33 | return true; 34 | } 35 | 36 | if (isArray(obj)) { 37 | for (var i = 0; i < obj.length; i++) { 38 | if (_hasBinary(obj[i])) { 39 | return true; 40 | } 41 | } 42 | } else if (obj && 'object' == typeof obj) { 43 | if (obj.toJSON) { 44 | obj = obj.toJSON(); 45 | } 46 | 47 | for (var key in obj) { 48 | if (Object.prototype.hasOwnProperty.call(obj, key) && _hasBinary(obj[key])) { 49 | return true; 50 | } 51 | } 52 | } 53 | 54 | return false; 55 | } 56 | 57 | return _hasBinary(data); 58 | } 59 | -------------------------------------------------------------------------------- /node_modules/has-binary/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_args": [ 3 | [ 4 | "has-binary@0.1.6", 5 | "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\engine.io-parser" 6 | ] 7 | ], 8 | "_from": "has-binary@0.1.6", 9 | "_id": "has-binary@0.1.6", 10 | "_inCache": true, 11 | "_installable": true, 12 | "_location": "/has-binary", 13 | "_npmUser": { 14 | "email": "rauchg@gmail.com", 15 | "name": "rauchg" 16 | }, 17 | "_npmVersion": "1.4.28", 18 | "_phantomChildren": {}, 19 | "_requested": { 20 | "name": "has-binary", 21 | "raw": "has-binary@0.1.6", 22 | "rawSpec": "0.1.6", 23 | "scope": null, 24 | "spec": "0.1.6", 25 | "type": "version" 26 | }, 27 | "_requiredBy": [ 28 | "/engine.io-parser", 29 | "/socket.io-client" 30 | ], 31 | "_resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.6.tgz", 32 | "_shasum": "25326f39cfa4f616ad8787894e3af2cfbc7b6e10", 33 | "_shrinkwrap": null, 34 | "_spec": "has-binary@0.1.6", 35 | "_where": "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\engine.io-parser", 36 | "author": { 37 | "name": "Kevin Roark" 38 | }, 39 | "dependencies": { 40 | "isarray": "0.0.1" 41 | }, 42 | "description": "A function that takes anything in javascript and returns true if its argument contains binary data.", 43 | "devDependencies": { 44 | "better-assert": "1.0.0", 45 | "mocha": "1.17.1" 46 | }, 47 | "directories": {}, 48 | "dist": { 49 | "shasum": "25326f39cfa4f616ad8787894e3af2cfbc7b6e10", 50 | "tarball": "http://registry.npmjs.org/has-binary/-/has-binary-0.1.6.tgz" 51 | }, 52 | "gitHead": "a37d7ed88fb88e49d5ed1ca15e6cc7dd004dd0e8", 53 | "license": "MIT", 54 | "maintainers": [ 55 | { 56 | "name": "rauchg", 57 | "email": "rauchg@gmail.com" 58 | } 59 | ], 60 | "name": "has-binary", 61 | "optionalDependencies": {}, 62 | "readme": "ERROR: No README data found!", 63 | "scripts": {}, 64 | "version": "0.1.6" 65 | } 66 | -------------------------------------------------------------------------------- /node_modules/has-cors/.npmignore: -------------------------------------------------------------------------------- 1 | components 2 | build 3 | -------------------------------------------------------------------------------- /node_modules/has-cors/History.md: -------------------------------------------------------------------------------- 1 | 2 | 1.0.2 / 2013-08-27 3 | ================== 4 | 5 | - explicitly use `global` instead of being implicit 6 | - pin "component/global" to v2.0.1 7 | 8 | 1.0.1 / 2013-08-23 9 | ================== 10 | 11 | - package: add "component" section 12 | 13 | 1.0.0 / 2013-08-22 14 | ================== 15 | 16 | - Initial release 17 | -------------------------------------------------------------------------------- /node_modules/has-cors/Makefile: -------------------------------------------------------------------------------- 1 | 2 | build: components index.js 3 | @component build --dev 4 | 5 | components: component.json 6 | @component install --dev 7 | 8 | clean: 9 | rm -fr build components template.js 10 | 11 | .PHONY: clean 12 | -------------------------------------------------------------------------------- /node_modules/has-cors/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # has-cors 3 | 4 | Detects support for Cross-Origin Resource Sharing 5 | 6 | ## Installation 7 | 8 | Install with [component(1)](http://component.io): 9 | 10 | $ component install component/has-cors 11 | 12 | ## API 13 | 14 | Exports `true` if the user-agent supports CORS, or `false` otherwise. 15 | 16 | ``` js 17 | var hasCORS = require('has-cors'); 18 | console.log(hasCORS); 19 | // true 20 | ``` 21 | 22 | ## License 23 | 24 | MIT 25 | -------------------------------------------------------------------------------- /node_modules/has-cors/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "has-cors", 3 | "repo": "component/has-cors", 4 | "description": "Detects support for Cross-Origin Resource Sharing", 5 | "version": "1.0.3", 6 | "keywords": [], 7 | "dependencies": { 8 | "component/global": "2.0.1" 9 | }, 10 | "development": {}, 11 | "license": "MIT", 12 | "main": "index.js", 13 | "scripts": [ 14 | "index.js" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /node_modules/has-cors/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Module dependencies. 4 | */ 5 | 6 | var global = require('global'); 7 | 8 | /** 9 | * Module exports. 10 | * 11 | * Logic borrowed from Modernizr: 12 | * 13 | * - https://github.com/Modernizr/Modernizr/blob/master/feature-detects/cors.js 14 | */ 15 | 16 | try { 17 | module.exports = 'XMLHttpRequest' in global && 18 | 'withCredentials' in new global.XMLHttpRequest(); 19 | } catch (err) { 20 | // if XMLHttp support is disabled in IE then it will throw 21 | // when trying to create 22 | module.exports = false; 23 | } 24 | -------------------------------------------------------------------------------- /node_modules/indexof/.npmignore: -------------------------------------------------------------------------------- 1 | components 2 | build 3 | -------------------------------------------------------------------------------- /node_modules/indexof/Makefile: -------------------------------------------------------------------------------- 1 | 2 | build: components index.js 3 | @component build 4 | 5 | components: 6 | @Component install 7 | 8 | clean: 9 | rm -fr build components template.js 10 | 11 | .PHONY: clean 12 | -------------------------------------------------------------------------------- /node_modules/indexof/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # indexOf 3 | 4 | Lame indexOf thing, thanks microsoft 5 | 6 | ## Example 7 | 8 | ```js 9 | var index = require('indexof'); 10 | index(arr, obj); 11 | ``` 12 | 13 | ## License 14 | 15 | MIT -------------------------------------------------------------------------------- /node_modules/indexof/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "indexof", 3 | "description": "Microsoft sucks", 4 | "version": "0.0.1", 5 | "keywords": ["index", "array", "indexOf"], 6 | "dependencies": {}, 7 | "scripts": [ 8 | "index.js" 9 | ] 10 | } -------------------------------------------------------------------------------- /node_modules/indexof/index.js: -------------------------------------------------------------------------------- 1 | 2 | var indexOf = [].indexOf; 3 | 4 | module.exports = function(arr, obj){ 5 | if (indexOf) return arr.indexOf(obj); 6 | for (var i = 0; i < arr.length; ++i) { 7 | if (arr[i] === obj) return i; 8 | } 9 | return -1; 10 | }; -------------------------------------------------------------------------------- /node_modules/indexof/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_args": [ 3 | [ 4 | "indexof@0.0.1", 5 | "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\socket.io-client" 6 | ] 7 | ], 8 | "_from": "indexof@0.0.1", 9 | "_id": "indexof@0.0.1", 10 | "_inCache": true, 11 | "_installable": true, 12 | "_location": "/indexof", 13 | "_phantomChildren": {}, 14 | "_requested": { 15 | "name": "indexof", 16 | "raw": "indexof@0.0.1", 17 | "rawSpec": "0.0.1", 18 | "scope": null, 19 | "spec": "0.0.1", 20 | "type": "version" 21 | }, 22 | "_requiredBy": [ 23 | "/engine.io-client", 24 | "/socket.io-client" 25 | ], 26 | "_resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", 27 | "_shasum": "82dc336d232b9062179d05ab3293a66059fd435d", 28 | "_shrinkwrap": null, 29 | "_spec": "indexof@0.0.1", 30 | "_where": "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\socket.io-client", 31 | "component": { 32 | "scripts": { 33 | "indexof/index.js": "index.js" 34 | } 35 | }, 36 | "dependencies": {}, 37 | "description": "Microsoft sucks", 38 | "devDependencies": {}, 39 | "directories": {}, 40 | "dist": { 41 | "shasum": "82dc336d232b9062179d05ab3293a66059fd435d", 42 | "tarball": "http://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz" 43 | }, 44 | "keywords": [ 45 | "array", 46 | "index", 47 | "indexOf" 48 | ], 49 | "maintainers": [ 50 | { 51 | "name": "tjholowaychuk", 52 | "email": "tj@vision-media.ca" 53 | } 54 | ], 55 | "name": "indexof", 56 | "optionalDependencies": {}, 57 | "readme": "ERROR: No README data found!", 58 | "version": "0.0.1" 59 | } 60 | -------------------------------------------------------------------------------- /node_modules/isarray/README.md: -------------------------------------------------------------------------------- 1 | 2 | # isarray 3 | 4 | `Array#isArray` for older browsers. 5 | 6 | ## Usage 7 | 8 | ```js 9 | var isArray = require('isarray'); 10 | 11 | console.log(isArray([])); // => true 12 | console.log(isArray({})); // => false 13 | ``` 14 | 15 | ## Installation 16 | 17 | With [npm](http://npmjs.org) do 18 | 19 | ```bash 20 | $ npm install isarray 21 | ``` 22 | 23 | Then bundle for the browser with 24 | [browserify](https://github.com/substack/browserify). 25 | 26 | With [component](http://component.io) do 27 | 28 | ```bash 29 | $ component install juliangruber/isarray 30 | ``` 31 | 32 | ## License 33 | 34 | (MIT) 35 | 36 | Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> 37 | 38 | Permission is hereby granted, free of charge, to any person obtaining a copy of 39 | this software and associated documentation files (the "Software"), to deal in 40 | the Software without restriction, including without limitation the rights to 41 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 42 | of the Software, and to permit persons to whom the Software is furnished to do 43 | so, subject to the following conditions: 44 | 45 | The above copyright notice and this permission notice shall be included in all 46 | copies or substantial portions of the Software. 47 | 48 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 49 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 50 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 51 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 52 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 53 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 54 | SOFTWARE. 55 | -------------------------------------------------------------------------------- /node_modules/isarray/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "isarray", 3 | "description" : "Array#isArray for older browsers", 4 | "version" : "0.0.1", 5 | "repository" : "juliangruber/isarray", 6 | "homepage": "https://github.com/juliangruber/isarray", 7 | "main" : "index.js", 8 | "scripts" : [ 9 | "index.js" 10 | ], 11 | "dependencies" : {}, 12 | "keywords": ["browser","isarray","array"], 13 | "author": { 14 | "name": "Julian Gruber", 15 | "email": "mail@juliangruber.com", 16 | "url": "http://juliangruber.com" 17 | }, 18 | "license": "MIT" 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/isarray/index.js: -------------------------------------------------------------------------------- 1 | module.exports = Array.isArray || function (arr) { 2 | return Object.prototype.toString.call(arr) == '[object Array]'; 3 | }; 4 | -------------------------------------------------------------------------------- /node_modules/json3/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "vendor/spec"] 2 | path = vendor/spec 3 | url = git://github.com/kitcambridge/spec.git 4 | [submodule "vendor/marked"] 5 | path = vendor/marked 6 | url = git://github.com/chjj/marked.git 7 | -------------------------------------------------------------------------------- /node_modules/json3/.jamignore: -------------------------------------------------------------------------------- 1 | .* 2 | build.js 3 | index.html 4 | component.json 5 | bower.json 6 | index.js 7 | benchmark 8 | page 9 | test 10 | vendor 11 | -------------------------------------------------------------------------------- /node_modules/json3/.npmignore: -------------------------------------------------------------------------------- 1 | bower.json 2 | component.json 3 | build.js 4 | index.html 5 | index.js 6 | .jshintrc 7 | 8 | benchmark 9 | page 10 | test 11 | vendor 12 | -------------------------------------------------------------------------------- /node_modules/json3/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.6" 4 | - "0.8" 5 | - "0.10" 6 | env: 7 | matrix: 8 | - BIN="node" 9 | - BIN="phantomjs" 10 | matrix: 11 | include: 12 | - node_js: "0.10" 13 | env: BIN="narwhal" 14 | - node_js: "0.10" 15 | env: BIN="rhino" 16 | - node_js: "0.10" 17 | env: BIN="ringo" 18 | git: 19 | depth: 10 20 | branches: 21 | only: 22 | - gh-pages 23 | before_install: 24 | - "[ $BIN == 'istanbul' ] && npm i -g istanbul@\"~0.1.0\" || true" 25 | - "[ $BIN == 'narwhal' ] && wget https://github.com/280north/narwhal/archive/v0.3.2.zip && sudo unzip v0.3.2 -d /opt/ && rm v0.3.2.zip || true" 26 | - "[ $BIN == 'narwhal' ] && sudo ln -s /opt/narwhal-0.3.2/bin/narwhal /usr/local/bin/narwhal && sudo chmod +x /usr/local/bin/narwhal || true" 27 | - "[ $BIN == 'rhino' ] && sudo mkdir /opt/rhino-1.7R5 && sudo wget -O /opt/rhino-1.7R5/js.jar https://oss.sonatype.org/content/repositories/snapshots/org/mozilla/rhino/1.7R5-SNAPSHOT/rhino-1.7R5-20120629.144839-4.jar || true" 28 | - "[ $BIN == 'rhino' ] && echo -e '#!/bin/sh\\njava -jar /opt/rhino-1.7R5/js.jar $@' | sudo tee /usr/local/bin/rhino && sudo chmod +x /usr/local/bin/rhino || true" 29 | - "[ $BIN == 'ringo' ] && wget http://ringojs.org/downloads/ringojs-0.9.zip && sudo unzip ringojs-0.9 -d /opt && rm ringojs-0.9.zip || true" 30 | - "[ $BIN == 'ringo' ] && sudo ln -s /opt/ringojs-0.9/bin/ringo /usr/local/bin/ringo && sudo chmod +x /usr/local/bin/ringo || true" 31 | install: true 32 | script: 33 | - "[ $BIN == 'istanbul' ] && $BIN cover ./test/test_json3.js || cd test && $BIN ./test_json3.js" 34 | -------------------------------------------------------------------------------- /node_modules/json3/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012-2013 Kit Cambridge. 2 | http://kitcambridge.be/ 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy of 5 | this software and associated documentation files (the "Software"), to deal in 6 | the Software without restriction, including without limitation the rights to 7 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 8 | of the Software, and to permit persons to whom the Software is furnished to do 9 | so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all 12 | copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | SOFTWARE. -------------------------------------------------------------------------------- /node_modules/json3/coverage/lcov-report/prettify.css: -------------------------------------------------------------------------------- 1 | .pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} 2 | -------------------------------------------------------------------------------- /node_modules/ms/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | test 3 | History.md 4 | Makefile 5 | component.json 6 | -------------------------------------------------------------------------------- /node_modules/ms/README.md: -------------------------------------------------------------------------------- 1 | # ms.js: miliseconds conversion utility 2 | 3 | ```js 4 | ms('1d') // 86400000 5 | ms('10h') // 36000000 6 | ms('2h') // 7200000 7 | ms('1m') // 60000 8 | ms('5s') // 5000 9 | ms('100') // 100 10 | ``` 11 | 12 | ```js 13 | ms(60000) // "1m" 14 | ms(2 * 60000) // "2m" 15 | ms(ms('10 hours')) // "10h" 16 | ``` 17 | 18 | ```js 19 | ms(60000, { long: true }) // "1 minute" 20 | ms(2 * 60000, { long: true }) // "2 minutes" 21 | ms(ms('10 hours', { long: true })) // "10 hours" 22 | ``` 23 | 24 | - Node/Browser compatible. Published as `ms` in NPM. 25 | - If a number is supplied to `ms`, a string with a unit is returned. 26 | - If a string that contains the number is supplied, it returns it as 27 | a number (e.g: it returns `100` for `'100'`). 28 | - If you pass a string with a number and a valid unit, the number of 29 | equivalent ms is returned. 30 | 31 | ## License 32 | 33 | MIT -------------------------------------------------------------------------------- /node_modules/ms/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_args": [ 3 | [ 4 | "ms@0.6.2", 5 | "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\debug" 6 | ] 7 | ], 8 | "_from": "ms@0.6.2", 9 | "_id": "ms@0.6.2", 10 | "_inCache": true, 11 | "_installable": true, 12 | "_location": "/ms", 13 | "_npmUser": { 14 | "email": "rauchg@gmail.com", 15 | "name": "rauchg" 16 | }, 17 | "_npmVersion": "1.2.30", 18 | "_phantomChildren": {}, 19 | "_requested": { 20 | "name": "ms", 21 | "raw": "ms@0.6.2", 22 | "rawSpec": "0.6.2", 23 | "scope": null, 24 | "spec": "0.6.2", 25 | "type": "version" 26 | }, 27 | "_requiredBy": [ 28 | "/debug", 29 | "/engine.io-client/debug", 30 | "/engine.io/debug", 31 | "/socket.io-adapter/debug" 32 | ], 33 | "_resolved": "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz", 34 | "_shasum": "d89c2124c6fdc1353d65a8b77bf1aac4b193708c", 35 | "_shrinkwrap": null, 36 | "_spec": "ms@0.6.2", 37 | "_where": "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\debug", 38 | "bugs": { 39 | "url": "https://github.com/guille/ms.js/issues" 40 | }, 41 | "component": { 42 | "scripts": { 43 | "ms/index.js": "index.js" 44 | } 45 | }, 46 | "dependencies": {}, 47 | "description": "Tiny ms conversion utility", 48 | "devDependencies": { 49 | "expect.js": "*", 50 | "mocha": "*", 51 | "serve": "*" 52 | }, 53 | "directories": {}, 54 | "dist": { 55 | "shasum": "d89c2124c6fdc1353d65a8b77bf1aac4b193708c", 56 | "tarball": "http://registry.npmjs.org/ms/-/ms-0.6.2.tgz" 57 | }, 58 | "homepage": "https://github.com/guille/ms.js#readme", 59 | "main": "./index", 60 | "maintainers": [ 61 | { 62 | "name": "rauchg", 63 | "email": "rauchg@gmail.com" 64 | } 65 | ], 66 | "name": "ms", 67 | "optionalDependencies": {}, 68 | "readme": "ERROR: No README data found!", 69 | "repository": { 70 | "type": "git", 71 | "url": "git://github.com/guille/ms.js.git" 72 | }, 73 | "version": "0.6.2" 74 | } 75 | -------------------------------------------------------------------------------- /node_modules/object-component/.npmignore: -------------------------------------------------------------------------------- 1 | components 2 | build 3 | node_modules 4 | -------------------------------------------------------------------------------- /node_modules/object-component/History.md: -------------------------------------------------------------------------------- 1 | 2 | 0.0.3 / 2012-10-15 3 | ================== 4 | 5 | * package: added `component` namespace (fixes #1) 6 | 7 | 0.0.2 / 2012-09-20 8 | ================== 9 | 10 | * add code smell to `.merge()` 11 | -------------------------------------------------------------------------------- /node_modules/object-component/Makefile: -------------------------------------------------------------------------------- 1 | 2 | build: components index.js 3 | @component build 4 | 5 | components: 6 | @Component install 7 | 8 | clean: 9 | rm -fr build components template.js 10 | 11 | test: 12 | @./node_modules/.bin/mocha \ 13 | --require should \ 14 | --reporter spec 15 | 16 | .PHONY: clean test 17 | -------------------------------------------------------------------------------- /node_modules/object-component/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # object 3 | 4 | Object utils. 5 | 6 | ## API 7 | 8 | ### .keys(obj) 9 | 10 | Return the keys for `obj`. 11 | 12 | ### .values(obj) 13 | 14 | Return the values for `obj`. 15 | 16 | ### .length(obj) 17 | 18 | Return the number of keys for `obj`. 19 | 20 | ### .isEmpty(obj) 21 | 22 | Check if `obj` is empty. 23 | 24 | ### .merge(a, b) 25 | 26 | Merge object `b` into `a`, returns `a`. 27 | Precedence is given to `b`. 28 | 29 | ## License 30 | 31 | MIT -------------------------------------------------------------------------------- /node_modules/object-component/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "object", 3 | "description": "Object keys / values / length", 4 | "version": "0.0.3", 5 | "keywords": ["object", "keys", "utility"], 6 | "dependencies": {}, 7 | "scripts": [ 8 | "index.js" 9 | ] 10 | } -------------------------------------------------------------------------------- /node_modules/object-component/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * HOP ref. 4 | */ 5 | 6 | var has = Object.prototype.hasOwnProperty; 7 | 8 | /** 9 | * Return own keys in `obj`. 10 | * 11 | * @param {Object} obj 12 | * @return {Array} 13 | * @api public 14 | */ 15 | 16 | exports.keys = Object.keys || function(obj){ 17 | var keys = []; 18 | for (var key in obj) { 19 | if (has.call(obj, key)) { 20 | keys.push(key); 21 | } 22 | } 23 | return keys; 24 | }; 25 | 26 | /** 27 | * Return own values in `obj`. 28 | * 29 | * @param {Object} obj 30 | * @return {Array} 31 | * @api public 32 | */ 33 | 34 | exports.values = function(obj){ 35 | var vals = []; 36 | for (var key in obj) { 37 | if (has.call(obj, key)) { 38 | vals.push(obj[key]); 39 | } 40 | } 41 | return vals; 42 | }; 43 | 44 | /** 45 | * Merge `b` into `a`. 46 | * 47 | * @param {Object} a 48 | * @param {Object} b 49 | * @return {Object} a 50 | * @api public 51 | */ 52 | 53 | exports.merge = function(a, b){ 54 | for (var key in b) { 55 | if (has.call(b, key)) { 56 | a[key] = b[key]; 57 | } 58 | } 59 | return a; 60 | }; 61 | 62 | /** 63 | * Return length of `obj`. 64 | * 65 | * @param {Object} obj 66 | * @return {Number} 67 | * @api public 68 | */ 69 | 70 | exports.length = function(obj){ 71 | return exports.keys(obj).length; 72 | }; 73 | 74 | /** 75 | * Check if `obj` is empty. 76 | * 77 | * @param {Object} obj 78 | * @return {Boolean} 79 | * @api public 80 | */ 81 | 82 | exports.isEmpty = function(obj){ 83 | return 0 == exports.length(obj); 84 | }; -------------------------------------------------------------------------------- /node_modules/object-component/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_args": [ 3 | [ 4 | "object-component@0.0.3", 5 | "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\socket.io-client" 6 | ] 7 | ], 8 | "_from": "object-component@0.0.3", 9 | "_id": "object-component@0.0.3", 10 | "_inCache": true, 11 | "_installable": true, 12 | "_location": "/object-component", 13 | "_npmUser": { 14 | "email": "tj@vision-media.ca", 15 | "name": "tjholowaychuk" 16 | }, 17 | "_npmVersion": "1.1.61", 18 | "_phantomChildren": {}, 19 | "_requested": { 20 | "name": "object-component", 21 | "raw": "object-component@0.0.3", 22 | "rawSpec": "0.0.3", 23 | "scope": null, 24 | "spec": "0.0.3", 25 | "type": "version" 26 | }, 27 | "_requiredBy": [ 28 | "/socket.io-client" 29 | ], 30 | "_resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", 31 | "_shasum": "f0c69aa50efc95b866c186f400a33769cb2f1291", 32 | "_shrinkwrap": null, 33 | "_spec": "object-component@0.0.3", 34 | "_where": "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\socket.io-client", 35 | "component": { 36 | "scripts": { 37 | "object/index.js": "index.js" 38 | } 39 | }, 40 | "dependencies": {}, 41 | "description": "Object utils.", 42 | "devDependencies": { 43 | "mocha": "*", 44 | "should": "*" 45 | }, 46 | "directories": {}, 47 | "dist": { 48 | "shasum": "f0c69aa50efc95b866c186f400a33769cb2f1291", 49 | "tarball": "http://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz" 50 | }, 51 | "maintainers": [ 52 | { 53 | "name": "tjholowaychuk", 54 | "email": "tj@vision-media.ca" 55 | } 56 | ], 57 | "name": "object-component", 58 | "optionalDependencies": {}, 59 | "readme": "\n# object\n\n Object utils.\n\n## API\n\n### .keys(obj)\n\n Return the keys for `obj`.\n\n### .values(obj)\n\n Return the values for `obj`.\n\n### .length(obj)\n\n Return the number of keys for `obj`.\n\n### .isEmpty(obj)\n\n Check if `obj` is empty.\n\n### .merge(a, b)\n\n Merge object `b` into `a`, returns `a`.\n Precedence is given to `b`.\n\n## License\n\n MIT", 60 | "version": "0.0.3" 61 | } 62 | -------------------------------------------------------------------------------- /node_modules/object-component/test/object.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Module dependencies. 4 | */ 5 | 6 | var object = require('..'); 7 | 8 | describe('.keys(obj)', function(){ 9 | it('should return the keys of an object', function(){ 10 | var obj = { name: 'tobi', age: 1 }; 11 | object.keys(obj).should.eql(['name', 'age']); 12 | }) 13 | }) 14 | 15 | describe('.values(obj)', function(){ 16 | it('should return the values of an object', function(){ 17 | var obj = { name: 'tobi', age: 1 }; 18 | object.values(obj).should.eql(['tobi', 1]); 19 | }) 20 | }) 21 | 22 | describe('.length(obj)', function(){ 23 | it('should return key count', function(){ 24 | var obj = { name: 'tobi', age: 1 }; 25 | object.length(obj).should.equal(2); 26 | }) 27 | }) 28 | 29 | describe('.merge(a, b)', function(){ 30 | it('should merge two objects', function(){ 31 | var a = { foo: 'bar' }; 32 | var b = { bar: 'baz' }; 33 | object.merge(a, b).should.eql({ foo: 'bar', bar: 'baz' }); 34 | }) 35 | 36 | it('should give precedence to b', function(){ 37 | var a = { foo: 'bar' }; 38 | var b = { foo: 'baz' }; 39 | object.merge(a, b).should.eql({ foo: 'baz' }); 40 | }) 41 | }) 42 | 43 | describe('.isEmpty()', function(){ 44 | it('should check if the object is empty', function(){ 45 | object.isEmpty({}).should.be.true; 46 | object.isEmpty({ foo: 'bar' }).should.be.false; 47 | }) 48 | }) -------------------------------------------------------------------------------- /node_modules/object-keys/.jscs.json: -------------------------------------------------------------------------------- 1 | { 2 | "requireCurlyBraces": ["if", "else", "for", "while", "do", "try", "catch"], 3 | 4 | "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"], 5 | 6 | "disallowSpaceAfterKeywords": [], 7 | 8 | "requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true }, 9 | "requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true }, 10 | "disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true }, 11 | "requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true }, 12 | "disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true }, 13 | 14 | "disallowSpacesInsideParentheses": true, 15 | 16 | "disallowSpacesInsideArrayBrackets": true, 17 | 18 | "disallowQuotedKeysInObjects": "allButReserved", 19 | 20 | "disallowSpaceAfterObjectKeys": true, 21 | 22 | "requireCommaBeforeLineBreak": true, 23 | 24 | "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"], 25 | "requireSpaceAfterPrefixUnaryOperators": [], 26 | 27 | "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"], 28 | "requireSpaceBeforePostfixUnaryOperators": [], 29 | 30 | "disallowSpaceBeforeBinaryOperators": [], 31 | "requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], 32 | 33 | "requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], 34 | "disallowSpaceAfterBinaryOperators": [], 35 | 36 | "disallowImplicitTypeConversion": ["binary", "string"], 37 | 38 | "disallowKeywords": ["with", "eval"], 39 | 40 | "validateLineBreaks": "LF", 41 | 42 | "requireKeywordsOnNewLine": [], 43 | "disallowKeywordsOnNewLine": ["else"], 44 | 45 | "requireLineFeedAtFileEnd": true, 46 | 47 | "disallowTrailingWhitespace": true, 48 | 49 | "excludeFiles": ["node_modules/**", "vendor/**"], 50 | 51 | "disallowMultipleLineStrings": true, 52 | 53 | "additionalRules": [] 54 | } 55 | 56 | -------------------------------------------------------------------------------- /node_modules/object-keys/.npmignore: -------------------------------------------------------------------------------- 1 | test/* 2 | 3 | -------------------------------------------------------------------------------- /node_modules/object-keys/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.11" 4 | - "0.10" 5 | - "0.9" 6 | - "0.8" 7 | - "0.6" 8 | - "0.4" 9 | before_install: 10 | - '[ "${TRAVIS_NODE_VERSION}" == "0.6" ] || npm install -g npm@~1.4.6' 11 | matrix: 12 | fast_finish: true 13 | allow_failures: 14 | - node_js: "0.11" 15 | - node_js: "0.9" 16 | - node_js: "0.6" 17 | - node_js: "0.4" 18 | 19 | -------------------------------------------------------------------------------- /node_modules/object-keys/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (C) 2013 Jordan Harband 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /node_modules/object-keys/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | // modified from https://github.com/es-shims/es5-shim 4 | var has = Object.prototype.hasOwnProperty; 5 | var toString = Object.prototype.toString; 6 | var isArgs = require('./isArguments'); 7 | var hasDontEnumBug = !({'toString': null}).propertyIsEnumerable('toString'); 8 | var hasProtoEnumBug = (function () {}).propertyIsEnumerable('prototype'); 9 | var dontEnums = [ 10 | "toString", 11 | "toLocaleString", 12 | "valueOf", 13 | "hasOwnProperty", 14 | "isPrototypeOf", 15 | "propertyIsEnumerable", 16 | "constructor" 17 | ]; 18 | 19 | var keysShim = function keys(object) { 20 | var isObject = object !== null && typeof object === 'object'; 21 | var isFunction = toString.call(object) === '[object Function]'; 22 | var isArguments = isArgs(object); 23 | var isString = isObject && toString.call(object) === '[object String]'; 24 | var theKeys = []; 25 | 26 | if (!isObject && !isFunction && !isArguments) { 27 | throw new TypeError("Object.keys called on a non-object"); 28 | } 29 | 30 | var skipProto = hasProtoEnumBug && isFunction; 31 | if (isString && object.length > 0 && !has.call(object, 0)) { 32 | for (var i = 0; i < object.length; ++i) { 33 | theKeys.push(String(i)); 34 | } 35 | } 36 | 37 | if (isArguments && object.length > 0) { 38 | for (var j = 0; j < object.length; ++j) { 39 | theKeys.push(String(j)); 40 | } 41 | } else { 42 | for (var name in object) { 43 | if (!(skipProto && name === 'prototype') && has.call(object, name)) { 44 | theKeys.push(String(name)); 45 | } 46 | } 47 | } 48 | 49 | if (hasDontEnumBug) { 50 | var ctor = object.constructor; 51 | var skipConstructor = ctor && ctor.prototype === object; 52 | 53 | for (var j = 0; j < dontEnums.length; ++j) { 54 | if (!(skipConstructor && dontEnums[j] === 'constructor') && has.call(object, dontEnums[j])) { 55 | theKeys.push(dontEnums[j]); 56 | } 57 | } 58 | } 59 | return theKeys; 60 | }; 61 | 62 | keysShim.shim = function shimObjectKeys() { 63 | if (!Object.keys) { 64 | Object.keys = keysShim; 65 | } 66 | return Object.keys || keysShim; 67 | }; 68 | 69 | module.exports = keysShim; 70 | 71 | -------------------------------------------------------------------------------- /node_modules/object-keys/isArguments.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var toString = Object.prototype.toString; 4 | 5 | module.exports = function isArguments(value) { 6 | var str = toString.call(value); 7 | var isArguments = str === '[object Arguments]'; 8 | if (!isArguments) { 9 | isArguments = str !== '[object Array]' 10 | && value !== null 11 | && typeof value === 'object' 12 | && typeof value.length === 'number' 13 | && value.length >= 0 14 | && toString.call(value.callee) === '[object Function]'; 15 | } 16 | return isArguments; 17 | }; 18 | 19 | -------------------------------------------------------------------------------- /node_modules/options/.npmignore: -------------------------------------------------------------------------------- 1 | npm-debug.log 2 | node_modules 3 | .*.swp 4 | .lock-* 5 | build/ 6 | 7 | test 8 | -------------------------------------------------------------------------------- /node_modules/options/Makefile: -------------------------------------------------------------------------------- 1 | ALL_TESTS = $(shell find test/ -name '*.test.js') 2 | 3 | run-tests: 4 | @./node_modules/.bin/mocha \ 5 | -t 2000 \ 6 | $(TESTFLAGS) \ 7 | $(TESTS) 8 | 9 | test: 10 | @$(MAKE) NODE_PATH=lib TESTS="$(ALL_TESTS)" run-tests 11 | 12 | .PHONY: test 13 | -------------------------------------------------------------------------------- /node_modules/parsejson/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha test.js 4 | -------------------------------------------------------------------------------- /node_modules/parsejson/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * JSON parse. 3 | * 4 | * @see Based on jQuery#parseJSON (MIT) and JSON2 5 | * @api private 6 | */ 7 | 8 | var rvalidchars = /^[\],:{}\s]*$/; 9 | var rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g; 10 | var rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g; 11 | var rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g; 12 | var rtrimLeft = /^\s+/; 13 | var rtrimRight = /\s+$/; 14 | 15 | module.exports = function parsejson(data) { 16 | if ('string' != typeof data || !data) { 17 | return null; 18 | } 19 | 20 | data = data.replace(rtrimLeft, '').replace(rtrimRight, ''); 21 | 22 | // Attempt to parse using the native JSON parser first 23 | if (global.JSON && JSON.parse) { 24 | return JSON.parse(data); 25 | } 26 | 27 | if (rvalidchars.test(data.replace(rvalidescape, '@') 28 | .replace(rvalidtokens, ']') 29 | .replace(rvalidbraces, ''))) { 30 | return (new Function('return ' + data))(); 31 | } 32 | }; -------------------------------------------------------------------------------- /node_modules/parsejson/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_args": [ 3 | [ 4 | "parsejson@0.0.1", 5 | "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\engine.io-client" 6 | ] 7 | ], 8 | "_from": "parsejson@0.0.1", 9 | "_id": "parsejson@0.0.1", 10 | "_inCache": true, 11 | "_installable": true, 12 | "_location": "/parsejson", 13 | "_npmUser": { 14 | "email": "koren@mit.edu", 15 | "name": "gal" 16 | }, 17 | "_npmVersion": "1.3.15", 18 | "_phantomChildren": {}, 19 | "_requested": { 20 | "name": "parsejson", 21 | "raw": "parsejson@0.0.1", 22 | "rawSpec": "0.0.1", 23 | "scope": null, 24 | "spec": "0.0.1", 25 | "type": "version" 26 | }, 27 | "_requiredBy": [ 28 | "/engine.io-client" 29 | ], 30 | "_resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.1.tgz", 31 | "_shasum": "9b10c6c0d825ab589e685153826de0a3ba278bcc", 32 | "_shrinkwrap": null, 33 | "_spec": "parsejson@0.0.1", 34 | "_where": "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\engine.io-client", 35 | "author": "", 36 | "dependencies": { 37 | "better-assert": "~1.0.0" 38 | }, 39 | "description": "Method that parses a JSON string and returns a JSON object", 40 | "devDependencies": { 41 | "mocha": "1.17.1" 42 | }, 43 | "directories": {}, 44 | "dist": { 45 | "shasum": "9b10c6c0d825ab589e685153826de0a3ba278bcc", 46 | "tarball": "http://registry.npmjs.org/parsejson/-/parsejson-0.0.1.tgz" 47 | }, 48 | "license": "MIT", 49 | "maintainers": [ 50 | { 51 | "name": "gal", 52 | "email": "koren@mit.edu" 53 | } 54 | ], 55 | "name": "parsejson", 56 | "optionalDependencies": {}, 57 | "readme": "ERROR: No README data found!", 58 | "scripts": { 59 | "test": "make test" 60 | }, 61 | "version": "0.0.1" 62 | } 63 | -------------------------------------------------------------------------------- /node_modules/parsejson/test.js: -------------------------------------------------------------------------------- 1 | var assert = require('better-assert'); 2 | var expect = require('expect.js'); 3 | var parsejson = require('./index.js'); 4 | 5 | describe('my suite', function(){ 6 | it('should parse a JSON string', function () { 7 | 8 | var jsonString = '{"users" :[{"first_name":"foo", "last_name":"bar"}],' + 9 | '"id" :40,' + 10 | '"cities":["los angeles", "new york", "boston"]}'; 11 | 12 | var jsonObj = parsejson(jsonString); 13 | expect(jsonObj.users[0].first_name).to.be("foo"); 14 | expect(jsonObj.users[0].last_name).to.be("bar"); 15 | expect(jsonObj.id).to.be(40); 16 | expect(jsonObj.cities[0]).to.be('los angeles'); 17 | expect(jsonObj.cities[1]).to.be('new york'); 18 | expect(jsonObj.cities[2]).to.be('boston'); 19 | 20 | }); 21 | }); 22 | -------------------------------------------------------------------------------- /node_modules/parseqs/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha test.js 4 | -------------------------------------------------------------------------------- /node_modules/parseqs/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Compiles a querystring 3 | * Returns string representation of the object 4 | * 5 | * @param {Object} 6 | * @api private 7 | */ 8 | 9 | exports.encode = function (obj) { 10 | var str = ''; 11 | 12 | for (var i in obj) { 13 | if (obj.hasOwnProperty(i)) { 14 | if (str.length) str += '&'; 15 | str += encodeURIComponent(i) + '=' + encodeURIComponent(obj[i]); 16 | } 17 | } 18 | 19 | return str; 20 | }; 21 | 22 | /** 23 | * Parses a simple querystring into an object 24 | * 25 | * @param {String} qs 26 | * @api private 27 | */ 28 | 29 | exports.decode = function(qs){ 30 | var qry = {}; 31 | var pairs = qs.split('&'); 32 | for (var i = 0, l = pairs.length; i < l; i++) { 33 | var pair = pairs[i].split('='); 34 | qry[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]); 35 | } 36 | return qry; 37 | }; 38 | -------------------------------------------------------------------------------- /node_modules/parseqs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_args": [ 3 | [ 4 | "parseqs@0.0.2", 5 | "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\engine.io-client" 6 | ] 7 | ], 8 | "_from": "parseqs@0.0.2", 9 | "_id": "parseqs@0.0.2", 10 | "_inCache": true, 11 | "_installable": true, 12 | "_location": "/parseqs", 13 | "_npmUser": { 14 | "email": "koren@mit.edu", 15 | "name": "gal" 16 | }, 17 | "_npmVersion": "1.3.15", 18 | "_phantomChildren": {}, 19 | "_requested": { 20 | "name": "parseqs", 21 | "raw": "parseqs@0.0.2", 22 | "rawSpec": "0.0.2", 23 | "scope": null, 24 | "spec": "0.0.2", 25 | "type": "version" 26 | }, 27 | "_requiredBy": [ 28 | "/engine.io-client" 29 | ], 30 | "_resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.2.tgz", 31 | "_shasum": "9dfe70b2cddac388bde4f35b1f240fa58adbe6c7", 32 | "_shrinkwrap": null, 33 | "_spec": "parseqs@0.0.2", 34 | "_where": "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\engine.io-client", 35 | "author": "", 36 | "dependencies": { 37 | "better-assert": "~1.0.0" 38 | }, 39 | "description": "Provides methods for parsing a query string into an object, and vice versa.", 40 | "devDependencies": { 41 | "mocha": "1.17.1" 42 | }, 43 | "directories": {}, 44 | "dist": { 45 | "shasum": "9dfe70b2cddac388bde4f35b1f240fa58adbe6c7", 46 | "tarball": "http://registry.npmjs.org/parseqs/-/parseqs-0.0.2.tgz" 47 | }, 48 | "license": "MIT", 49 | "maintainers": [ 50 | { 51 | "name": "gal", 52 | "email": "koren@mit.edu" 53 | } 54 | ], 55 | "name": "parseqs", 56 | "optionalDependencies": {}, 57 | "readme": "ERROR: No README data found!", 58 | "scripts": { 59 | "test": "make test" 60 | }, 61 | "version": "0.0.2" 62 | } 63 | -------------------------------------------------------------------------------- /node_modules/parseqs/test.js: -------------------------------------------------------------------------------- 1 | var assert = require('better-assert'); 2 | var expect = require('expect.js'); 3 | var util = require('./index.js'); 4 | 5 | describe('querystring test suite', function(){ 6 | it('should parse a querystring and return an object', function () { 7 | 8 | // Single assignment 9 | var queryObj = util.decode("foo=bar"); 10 | expect(queryObj.foo).to.be("bar"); 11 | 12 | // Multiple assignments 13 | queryObj = util.decode("france=paris&germany=berlin"); 14 | expect(queryObj.france).to.be("paris"); 15 | expect(queryObj.germany).to.be("berlin"); 16 | 17 | // Assignments containing non-alphanumeric characters 18 | queryObj = util.decode("india=new%20delhi"); 19 | expect(queryObj.india).to.be("new delhi"); 20 | }); 21 | 22 | it('should construct a query string from an object', function () { 23 | expect(util.encode({ a: 'b' })).to.be('a=b'); 24 | expect(util.encode({ a: 'b', c: 'd' })).to.be('a=b&c=d'); 25 | expect(util.encode({ a: 'b', c: 'tobi rocks' })).to.be('a=b&c=tobi%20rocks'); 26 | }); 27 | }); 28 | -------------------------------------------------------------------------------- /node_modules/parseuri/History.md: -------------------------------------------------------------------------------- 1 | 2 | n.n.n / 2014-02-09 3 | ================== 4 | 5 | * parseuri first commit 6 | -------------------------------------------------------------------------------- /node_modules/parseuri/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha test.js 4 | -------------------------------------------------------------------------------- /node_modules/parseuri/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Parses an URI 3 | * 4 | * @author Steven Levithan (MIT license) 5 | * @api private 6 | */ 7 | 8 | var re = /^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/; 9 | 10 | var parts = [ 11 | 'source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host' 12 | , 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor' 13 | ]; 14 | 15 | module.exports = function parseuri(str) { 16 | var m = re.exec(str || '') 17 | , uri = {} 18 | , i = 14; 19 | 20 | while (i--) { 21 | uri[parts[i]] = m[i] || ''; 22 | } 23 | 24 | return uri; 25 | }; 26 | -------------------------------------------------------------------------------- /node_modules/parseuri/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_args": [ 3 | [ 4 | "parseuri@0.0.2", 5 | "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\socket.io-client" 6 | ] 7 | ], 8 | "_from": "parseuri@0.0.2", 9 | "_id": "parseuri@0.0.2", 10 | "_inCache": true, 11 | "_installable": true, 12 | "_location": "/parseuri", 13 | "_npmUser": { 14 | "email": "koren@mit.edu", 15 | "name": "gal" 16 | }, 17 | "_npmVersion": "1.3.15", 18 | "_phantomChildren": {}, 19 | "_requested": { 20 | "name": "parseuri", 21 | "raw": "parseuri@0.0.2", 22 | "rawSpec": "0.0.2", 23 | "scope": null, 24 | "spec": "0.0.2", 25 | "type": "version" 26 | }, 27 | "_requiredBy": [ 28 | "/socket.io-client" 29 | ], 30 | "_resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.2.tgz", 31 | "_shasum": "db41878f2d6964718be870b3140973d8093be156", 32 | "_shrinkwrap": null, 33 | "_spec": "parseuri@0.0.2", 34 | "_where": "C:\\Users\\Johannes\\Desktop\\game\\node_modules\\socket.io-client", 35 | "author": "", 36 | "dependencies": { 37 | "better-assert": "~1.0.0" 38 | }, 39 | "description": "Method that parses a URI and returns an array of its components", 40 | "devDependencies": { 41 | "mocha": "1.17.1" 42 | }, 43 | "directories": {}, 44 | "dist": { 45 | "shasum": "db41878f2d6964718be870b3140973d8093be156", 46 | "tarball": "http://registry.npmjs.org/parseuri/-/parseuri-0.0.2.tgz" 47 | }, 48 | "license": "MIT", 49 | "maintainers": [ 50 | { 51 | "name": "gal", 52 | "email": "koren@mit.edu" 53 | } 54 | ], 55 | "name": "parseuri", 56 | "optionalDependencies": {}, 57 | "readme": "ERROR: No README data found!", 58 | "scripts": { 59 | "test": "make test" 60 | }, 61 | "version": "0.0.2" 62 | } 63 | -------------------------------------------------------------------------------- /node_modules/parseuri/test.js: -------------------------------------------------------------------------------- 1 | var assert = require('better-assert'); 2 | var expect = require('expect.js'); 3 | var parseuri = require('./index.js'); 4 | 5 | describe('my suite', function(){ 6 | it('should parse an uri', function () { 7 | var http = parseuri('http://google.com') 8 | , https = parseuri('https://www.google.com:80') 9 | , query = parseuri('google.com:8080/foo/bar?foo=bar') 10 | , localhost = parseuri('localhost:8080') 11 | , ipv6 = parseuri('2001:0db8:85a3:0042:1000:8a2e:0370:7334') 12 | , ipv6short = parseuri('2001:db8:85a3:42:1000:8a2e:370:7334') 13 | , ipv6port = parseuri('2001:db8:85a3:42:1000:8a2e:370:7334:80') 14 | , ipv6abbrev = parseuri('2001::7334:a:80') 15 | 16 | expect(http.protocol).to.be('http'); 17 | expect(http.port).to.be(''); 18 | expect(http.host).to.be('google.com'); 19 | expect(https.protocol).to.be('https'); 20 | expect(https.port).to.be('80'); 21 | expect(https.host).to.be('www.google.com'); 22 | expect(query.port).to.be('8080'); 23 | expect(query.query).to.be('foo=bar'); 24 | expect(query.path).to.be('/foo/bar'); 25 | expect(query.relative).to.be('/foo/bar?foo=bar'); 26 | expect(localhost.protocol).to.be(''); 27 | expect(localhost.host).to.be('localhost'); 28 | expect(localhost.port).to.be('8080'); 29 | expect(ipv6.protocol).to.be(''); 30 | expect(ipv6.host).to.be('2001:0db8:85a3:0042:1000:8a2e:0370:7334'); 31 | expect(ipv6.port).to.be(''); 32 | expect(ipv6short.protocol).to.be(''); 33 | expect(ipv6short.host).to.be('2001:db8:85a3:42:1000:8a2e:370:7334'); 34 | expect(ipv6short.port).to.be(''); 35 | expect(ipv6port.protocol).to.be(''); 36 | expect(ipv6port.host).to.be('2001:db8:85a3:42:1000:8a2e:370:7334'); 37 | expect(ipv6port.port).to.be('80'); 38 | expect(ipv6abbrev.protocol).to.be(''); 39 | expect(ipv6abbrev.host).to.be('2001::7334:a:80'); 40 | expect(ipv6abbrev.port).to.be(''); 41 | }); 42 | }); 43 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/History.md: -------------------------------------------------------------------------------- 1 | 2 | 0.3.1 / 2014-10-27 3 | ================== 4 | 5 | * bump parser version 6 | * fix room autopruning 7 | * add autoprunning of empty rooms 8 | * rooms are now created as objects 9 | * added the repository field. 10 | * updated the debug dependency. 11 | 12 | 0.3.0 / 2014-05-30 13 | ================== 14 | 15 | * bump `socket.io-parser` for binary ack fix 16 | 17 | 0.2.0 / 2014-03-14 18 | ================== 19 | 20 | * upgraded faster parser 21 | 22 | 0.1.0 / 2014-03-07 23 | ================== 24 | 25 | * initial commit 26 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # socket.io-adapter 3 | 4 | Default socket.io in-memory adapter class. 5 | 6 | ## How to use 7 | 8 | This module is not intended for end-user usage, but can be used as an 9 | interface to inheirt from from other adapters you might want to build. 10 | 11 | As an example of an adapter that builds on top of this, please take a look 12 | at [socket.io-redis](https://github.com/learnboost/socket.io-redis). 13 | 14 | ## License 15 | 16 | MIT 17 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/debug/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "laxbreak": true 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/debug/Makefile: -------------------------------------------------------------------------------- 1 | 2 | # get Makefile directory name: http://stackoverflow.com/a/5982798/376773 3 | THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) 4 | THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) 5 | 6 | # BIN directory 7 | BIN := $(THIS_DIR)/node_modules/.bin 8 | 9 | # applications 10 | NODE ?= $(shell which node) 11 | NPM ?= $(NODE) $(shell which npm) 12 | BROWSERIFY ?= $(NODE) $(BIN)/browserify 13 | 14 | all: dist/debug.js 15 | 16 | install: node_modules 17 | 18 | clean: 19 | @rm -rf node_modules dist 20 | 21 | dist: 22 | @mkdir -p $@ 23 | 24 | dist/debug.js: node_modules browser.js debug.js dist 25 | @$(BROWSERIFY) \ 26 | --standalone debug \ 27 | . > $@ 28 | 29 | node_modules: package.json 30 | @NODE_ENV= $(NPM) install 31 | @touch node_modules 32 | 33 | .PHONY: all install clean 34 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "1.0.2", 6 | "keywords": [ 7 | "debug", 8 | "log", 9 | "debugger" 10 | ], 11 | "main": "browser.js", 12 | "scripts": [ 13 | "browser.js", 14 | "debug.js" 15 | ], 16 | "dependencies": { 17 | "guille/ms.js": "0.6.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/socket.io-parser/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | build 3 | components 4 | 5 | test 6 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/socket.io-parser/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.10 4 | notifications: 5 | irc: irc.freenode.org##socket.io 6 | git: 7 | depth: 1 8 | env: 9 | global: 10 | - secure: 28HHk1J0H64KNjzmmlxG/Ro0EPuLnhO0rU+kZjjthDHj/FaugIsqjAVQ1Dl6heWV2/MlVzw6nDCyMNiGwiVk0ruZPQ0SYdAKLplrdMtzAihbU3xx+ULFQPLM3SoW0ZFCEpe8dWPGy4WdgW7aLByeel9TJb3vlhAu7p7AvrcO7Fs= 11 | - secure: rKEG0Cfw0vkw8thk63RHYG7h8XWYcBlvZ0w1IWpr2dAfnnLMi1palSTrBrFQc77flk7rN00zGIe76FhKydV9r4WWYAUYKPqo4k+9/FkpzjZlNtL49QRoNwC9jmJ8OeUwGowA13gZPyl/5P13wVaKCB0YrKnzz5LHo3Sp7So6J8U= 12 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/socket.io-parser/.zuul.yml: -------------------------------------------------------------------------------- 1 | ui: mocha-bdd 2 | browsers: 3 | - name: chrome 4 | version: 29..latest 5 | - name: firefox 6 | version: latest 7 | - name: safari 8 | version: latest 9 | - name: ie 10 | version: 10 11 | platform: Windows 2012 12 | - name: ie 13 | version: 9 14 | version: [6..9, latest] 15 | - name: iphone 16 | version: oldest..latest 17 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/socket.io-parser/History.md: -------------------------------------------------------------------------------- 1 | 2 | 2.2.2 / 2014-09-04 3 | ================== 4 | 5 | * prevent direct `Buffer` reference that breaks browserify 6 | * binary: reuse `isBuf` helper 7 | 8 | 2.2.1 / 2014-06-20 9 | ================== 10 | 11 | * added benchmarking [kevin-roark] 12 | * upgrade component-emitter to 1.1.2 [kevin-roark] 13 | * update protocol version [kevin-roark] 14 | * less indentation and a small optimization [kevin-roark] 15 | 16 | 2.2.0 / 2014-05-30 17 | ================== 18 | 19 | * added a BINARY_ACK type [kevin-roark] 20 | 21 | 2.1.5 / 2014-05-24 22 | ================== 23 | 24 | * don't iterate keys of `Date` objects [Rase-] 25 | 26 | 2.1.4 / 2014-05-17 27 | ================== 28 | 29 | * fix null reconstruction bug [kevin-roark] 30 | 31 | 2.1.3 / 2014-04-27 32 | ================== 33 | 34 | * bump zuul version 35 | * updated protocol version 36 | 37 | 2.1.2 / 2014-03-06 38 | ================== 39 | 40 | * added support for binary in ACK packets 41 | 42 | 2.1.1 / 2014-03-04 43 | ================== 44 | 45 | * removed has-binary-data dependency 46 | * fixed the object check in binary.removeBlobs 47 | 48 | 2.1.0 / 2014-03-01 49 | ================== 50 | 51 | * faster and smaller binary parser and protocol [kevin-roark] 52 | 53 | 2.0.0 / 2014-02-19 54 | ================== 55 | 56 | * binary support [kevin-roark] 57 | 58 | 1.1.2 / 2014-02-11 59 | ================== 60 | 61 | * package: bump `json3` to fix IE6-7 62 | 63 | 1.1.1 / 2014-02-10 64 | ================== 65 | 66 | * package: bump debug to fix browserify issues 67 | 68 | 1.1.0 / 2013-12-25 69 | ================== 70 | 71 | * index: use `json3` 72 | 73 | 1.0.3 / 2012-12-18 74 | ================== 75 | 76 | * index: added instrumentation through `debug` 77 | * index: make sure decoded `id` is a `Number` 78 | 79 | 1.0.2 / 2012-12-18 80 | ================== 81 | 82 | * index: allow for falsy values in `id` and `data` 83 | 84 | 1.0.1 / 2012-12-10 85 | ================== 86 | 87 | * Revision 1 88 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/socket.io-parser/Makefile: -------------------------------------------------------------------------------- 1 | 2 | REPORTER = dot 3 | 4 | test: 5 | @./node_modules/.bin/mocha \ 6 | --reporter $(REPORTER) \ 7 | --bail \ 8 | test/index.js 9 | @./node_modules/.bin/zuul -- test/index.js 10 | 11 | .PHONY: test 12 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/socket.io-parser/bench/bench.js: -------------------------------------------------------------------------------- 1 | var bencher = require('./index'); 2 | bencher(function(benchmark) { 3 | function logMean(test) { 4 | console.log(test.name + ' mean run time: ' + test.stats.mean); 5 | } 6 | 7 | for (var i = 0; i < benchmark.length; i++) { 8 | logMean(benchmark[i]); 9 | } 10 | }); 11 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/socket.io-parser/is-buffer.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = isBuf; 3 | 4 | /** 5 | * Returns true if obj is a buffer or an arraybuffer. 6 | * 7 | * @api private 8 | */ 9 | 10 | function isBuf(obj) { 11 | return (global.Buffer && global.Buffer.isBuffer(obj)) || 12 | (global.ArrayBuffer && obj instanceof ArrayBuffer); 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/debug/index.js: -------------------------------------------------------------------------------- 1 | if ('undefined' == typeof window) { 2 | module.exports = require('./lib/debug'); 3 | } else { 4 | module.exports = require('./debug'); 5 | } 6 | -------------------------------------------------------------------------------- /node_modules/socket.io-client/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Guillermo Rauch 4 | 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. -------------------------------------------------------------------------------- /node_modules/socket.io-client/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/'); 3 | -------------------------------------------------------------------------------- /node_modules/socket.io-client/lib/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Module dependencies. 4 | */ 5 | 6 | var url = require('./url'); 7 | var parser = require('socket.io-parser'); 8 | var Manager = require('./manager'); 9 | var debug = require('debug')('socket.io-client'); 10 | 11 | /** 12 | * Module exports. 13 | */ 14 | 15 | module.exports = exports = lookup; 16 | 17 | /** 18 | * Managers cache. 19 | */ 20 | 21 | var cache = exports.managers = {}; 22 | 23 | /** 24 | * Looks up an existing `Manager` for multiplexing. 25 | * If the user summons: 26 | * 27 | * `io('http://localhost/a');` 28 | * `io('http://localhost/b');` 29 | * 30 | * We reuse the existing instance based on same scheme/port/host, 31 | * and we initialize sockets for each namespace. 32 | * 33 | * @api public 34 | */ 35 | 36 | function lookup(uri, opts) { 37 | if (typeof uri == 'object') { 38 | opts = uri; 39 | uri = undefined; 40 | } 41 | 42 | opts = opts || {}; 43 | 44 | var parsed = url(uri); 45 | var source = parsed.source; 46 | var id = parsed.id; 47 | var io; 48 | 49 | if (opts.forceNew || opts['force new connection'] || false === opts.multiplex) { 50 | debug('ignoring socket cache for %s', source); 51 | io = Manager(source, opts); 52 | } else { 53 | if (!cache[id]) { 54 | debug('new io instance for %s', source); 55 | cache[id] = Manager(source, opts); 56 | } 57 | io = cache[id]; 58 | } 59 | 60 | return io.socket(parsed.path); 61 | } 62 | 63 | /** 64 | * Protocol version. 65 | * 66 | * @api public 67 | */ 68 | 69 | exports.protocol = parser.protocol; 70 | 71 | /** 72 | * `connect`. 73 | * 74 | * @param {String} uri 75 | * @api public 76 | */ 77 | 78 | exports.connect = lookup; 79 | 80 | /** 81 | * Expose constructors for standalone build. 82 | * 83 | * @api public 84 | */ 85 | 86 | exports.Manager = require('./manager'); 87 | exports.Socket = require('./socket'); 88 | -------------------------------------------------------------------------------- /node_modules/socket.io-client/lib/on.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Module exports. 4 | */ 5 | 6 | module.exports = on; 7 | 8 | /** 9 | * Helper for subscriptions. 10 | * 11 | * @param {Object|EventEmitter} obj with `Emitter` mixin or `EventEmitter` 12 | * @param {String} event name 13 | * @param {Function} callback 14 | * @api public 15 | */ 16 | 17 | function on(obj, ev, fn) { 18 | obj.on(ev, fn); 19 | return { 20 | destroy: function(){ 21 | obj.removeListener(ev, fn); 22 | } 23 | }; 24 | } 25 | -------------------------------------------------------------------------------- /node_modules/socket.io-client/lib/url.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Module dependencies. 4 | */ 5 | 6 | var parseuri = require('parseuri'); 7 | var debug = require('debug')('socket.io-client:url'); 8 | 9 | /** 10 | * Module exports. 11 | */ 12 | 13 | module.exports = url; 14 | 15 | /** 16 | * URL parser. 17 | * 18 | * @param {String} url 19 | * @param {Object} An object meant to mimic window.location. 20 | * Defaults to window.location. 21 | * @api public 22 | */ 23 | 24 | function url(uri, loc){ 25 | var obj = uri; 26 | 27 | // default to window.location 28 | var loc = loc || global.location; 29 | if (null == uri) uri = loc.protocol + '//' + loc.host; 30 | 31 | // relative path support 32 | if ('string' == typeof uri) { 33 | if ('/' == uri.charAt(0)) { 34 | if ('/' == uri.charAt(1)) { 35 | uri = loc.protocol + uri; 36 | } else { 37 | uri = loc.hostname + uri; 38 | } 39 | } 40 | 41 | if (!/^(https?|wss?):\/\//.test(uri)) { 42 | debug('protocol-less url %s', uri); 43 | if ('undefined' != typeof loc) { 44 | uri = loc.protocol + '//' + uri; 45 | } else { 46 | uri = 'https://' + uri; 47 | } 48 | } 49 | 50 | // parse 51 | debug('parse %s', uri); 52 | obj = parseuri(uri); 53 | } 54 | 55 | // make sure we treat `localhost:80` and `localhost` equally 56 | if (!obj.port) { 57 | if (/^(http|ws)$/.test(obj.protocol)) { 58 | obj.port = '80'; 59 | } 60 | else if (/^(http|ws)s$/.test(obj.protocol)) { 61 | obj.port = '443'; 62 | } 63 | } 64 | 65 | obj.path = obj.path || '/'; 66 | 67 | // define unique id 68 | obj.id = obj.protocol + '://' + obj.host + ':' + obj.port; 69 | // define href 70 | obj.href = obj.protocol + '://' + obj.host + (loc && loc.port == obj.port ? '' : (':' + obj.port)); 71 | 72 | return obj; 73 | } 74 | -------------------------------------------------------------------------------- /node_modules/socket.io-client/node_modules/debug/index.js: -------------------------------------------------------------------------------- 1 | if ('undefined' == typeof window) { 2 | module.exports = require('./lib/debug'); 3 | } else { 4 | module.exports = require('./debug'); 5 | } 6 | -------------------------------------------------------------------------------- /node_modules/socket.io-parser/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | build 3 | components 4 | 5 | test 6 | -------------------------------------------------------------------------------- /node_modules/socket.io-parser/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.10 4 | notifications: 5 | irc: irc.freenode.org##socket.io 6 | git: 7 | depth: 1 8 | env: 9 | global: 10 | - secure: 28HHk1J0H64KNjzmmlxG/Ro0EPuLnhO0rU+kZjjthDHj/FaugIsqjAVQ1Dl6heWV2/MlVzw6nDCyMNiGwiVk0ruZPQ0SYdAKLplrdMtzAihbU3xx+ULFQPLM3SoW0ZFCEpe8dWPGy4WdgW7aLByeel9TJb3vlhAu7p7AvrcO7Fs= 11 | - secure: rKEG0Cfw0vkw8thk63RHYG7h8XWYcBlvZ0w1IWpr2dAfnnLMi1palSTrBrFQc77flk7rN00zGIe76FhKydV9r4WWYAUYKPqo4k+9/FkpzjZlNtL49QRoNwC9jmJ8OeUwGowA13gZPyl/5P13wVaKCB0YrKnzz5LHo3Sp7So6J8U= 12 | -------------------------------------------------------------------------------- /node_modules/socket.io-parser/.zuul.yml: -------------------------------------------------------------------------------- 1 | ui: mocha-bdd 2 | browsers: 3 | - name: chrome 4 | version: 29..latest 5 | - name: firefox 6 | version: latest 7 | - name: safari 8 | version: latest 9 | - name: ie 10 | version: 10 11 | platform: Windows 2012 12 | - name: ie 13 | version: 9 14 | version: [6..9, latest] 15 | - name: iphone 16 | version: oldest..latest 17 | -------------------------------------------------------------------------------- /node_modules/socket.io-parser/Makefile: -------------------------------------------------------------------------------- 1 | 2 | REPORTER = dot 3 | 4 | test: 5 | @./node_modules/.bin/mocha \ 6 | --reporter $(REPORTER) \ 7 | --bail \ 8 | test/index.js 9 | @./node_modules/.bin/zuul -- test/index.js 10 | 11 | .PHONY: test 12 | -------------------------------------------------------------------------------- /node_modules/socket.io-parser/bench/bench.js: -------------------------------------------------------------------------------- 1 | var bencher = require('./index'); 2 | bencher(function(benchmark) { 3 | function logMean(test) { 4 | console.log(test.name + ' mean run time: ' + test.stats.mean); 5 | } 6 | 7 | for (var i = 0; i < benchmark.length; i++) { 8 | logMean(benchmark[i]); 9 | } 10 | }); 11 | -------------------------------------------------------------------------------- /node_modules/socket.io-parser/bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/node_modules/socket.io-parser/bg.gif -------------------------------------------------------------------------------- /node_modules/socket.io-parser/is-buffer.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = isBuf; 3 | 4 | /** 5 | * Returns true if obj is a buffer or an arraybuffer. 6 | * 7 | * @api private 8 | */ 9 | 10 | function isBuf(obj) { 11 | return (global.Buffer && global.Buffer.isBuffer(obj)) || 12 | (global.ArrayBuffer && obj instanceof ArrayBuffer); 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/socket.io-parser/node_modules/debug/index.js: -------------------------------------------------------------------------------- 1 | if ('undefined' == typeof window) { 2 | module.exports = require('./lib/debug'); 3 | } else { 4 | module.exports = require('./debug'); 5 | } 6 | -------------------------------------------------------------------------------- /node_modules/socket.io/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | .gitignore 5 | -------------------------------------------------------------------------------- /node_modules/socket.io/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | - "0.11" 6 | 7 | git: 8 | depth: 1 9 | 10 | matrix: 11 | fast_finish: true 12 | allow_failures: 13 | - node_js: "0.11" 14 | 15 | notifications: 16 | irc: "irc.freenode.org#socket.io" 17 | -------------------------------------------------------------------------------- /node_modules/socket.io/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2015 Automattic 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/socket.io/Makefile: -------------------------------------------------------------------------------- 1 | 2 | REPORTER = dot 3 | 4 | test: 5 | @./node_modules/.bin/mocha \ 6 | --reporter $(REPORTER) \ 7 | --slow 200ms \ 8 | --bail 9 | 10 | test-cov: 11 | @./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- \ 12 | --reporter $(REPORTER) \ 13 | test/ 14 | 15 | .PHONY: test 16 | -------------------------------------------------------------------------------- /node_modules/socket.io/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib'); 3 | -------------------------------------------------------------------------------- /node_modules/to-array/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.log 3 | *.err -------------------------------------------------------------------------------- /node_modules/to-array/LICENCE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Raynos. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. -------------------------------------------------------------------------------- /node_modules/to-array/README.md: -------------------------------------------------------------------------------- 1 | # to-array 2 | 3 | Turn an array like into an array 4 | 5 | ## Example 6 | 7 | ``` js 8 | var toArray = require("to-array") 9 | , elems = document.links 10 | 11 | var array = toArray(elems) 12 | ``` 13 | 14 | ## Installation 15 | 16 | `npm install to-array` 17 | 18 | ## Contributors 19 | 20 | - Raynos 21 | 22 | ## MIT Licenced 23 | -------------------------------------------------------------------------------- /node_modules/to-array/index.js: -------------------------------------------------------------------------------- 1 | module.exports = toArray 2 | 3 | function toArray(list, index) { 4 | var array = [] 5 | 6 | index = index || 0 7 | 8 | for (var i = index || 0; i < list.length; i++) { 9 | array[i - index] = list[i] 10 | } 11 | 12 | return array 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/ultron/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .tern-port 4 | -------------------------------------------------------------------------------- /node_modules/ultron/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: node_js 3 | node_js: 4 | - "0.12" 5 | - "0.10" 6 | - "0.8" 7 | - "iojs" 8 | before_install: 9 | - 'if [ "${TRAVIS_NODE_VERSION}" == "0.8" ]; then npm install -g npm@2.11.1; fi' 10 | script: 11 | - "npm run test-travis" 12 | after_script: 13 | - "npm install coveralls@2.11.x && cat coverage/lcov.info | coveralls" 14 | matrix: 15 | fast_finish: true 16 | notifications: 17 | irc: 18 | channels: 19 | - "irc.freenode.org#unshift" 20 | on_success: change 21 | on_failure: change 22 | -------------------------------------------------------------------------------- /node_modules/ultron/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /node_modules/utf8/.gitattributes: -------------------------------------------------------------------------------- 1 | # Automatically normalize line endings for all text-based files 2 | * text=auto 3 | -------------------------------------------------------------------------------- /node_modules/utf8/.npmignore: -------------------------------------------------------------------------------- 1 | # Generated test data file (> 100 MB) 2 | tests/data.json 3 | 4 | # Coverage report 5 | coverage 6 | 7 | # Installed npm modules 8 | node_modules 9 | 10 | # Folder view configuration files 11 | .DS_Store 12 | Desktop.ini 13 | 14 | # Thumbnail cache files 15 | ._* 16 | Thumbs.db 17 | 18 | # Files that might appear on external disks 19 | .Spotlight-V100 20 | .Trashes 21 | -------------------------------------------------------------------------------- /node_modules/utf8/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | before_script: 5 | - "npm install -g grunt-cli" 6 | # Narwhal uses a hardcoded path to openjdk v6, so use that version 7 | - "sudo apt-get update -qq" 8 | - "sudo apt-get install -qq openjdk-6-jre" 9 | - "PACKAGE=rhino1_7R3; wget http://ftp.mozilla.org/pub/mozilla.org/js/$PACKAGE.zip && sudo unzip $PACKAGE -d /opt/ && rm $PACKAGE.zip" 10 | - "PACKAGE=rhino1_7R3; echo -e '#!/bin/sh\\njava -jar /opt/'$PACKAGE'/js.jar $@' | sudo tee /usr/local/bin/rhino && sudo chmod +x /usr/local/bin/rhino" 11 | - "PACKAGE=ringojs-0.11; wget https://github.com/ringo/ringojs/releases/download/v0.11.0/$PACKAGE.zip && sudo unzip $PACKAGE -d /opt/ && rm $PACKAGE.zip" 12 | - "PACKAGE=ringojs-0.11; sudo ln -s /opt/$PACKAGE/bin/ringo /usr/local/bin/ringo && sudo chmod +x /usr/local/bin/ringo" 13 | - "PACKAGE=v0.3.2; wget https://github.com/280north/narwhal/archive/$PACKAGE.zip && sudo unzip $PACKAGE -d /opt/ && rm $PACKAGE.zip" 14 | - "PACKAGE=narwhal-0.3.2; sudo ln -s /opt/$PACKAGE/bin/narwhal /usr/local/bin/narwhal && sudo chmod +x /usr/local/bin/narwhal" 15 | # If the enviroment stores rt.jar in a different directory, find it and symlink the directory 16 | - "PREFIX=/usr/lib/jvm; if [ ! -d $PREFIX/java-6-openjdk ]; then for d in $PREFIX/java-6-openjdk-*; do if [ -e $d/jre/lib/rt.jar ]; then sudo ln -s $d $PREFIX/java-6-openjdk; break; fi; done; fi" 17 | - "sudo apt-get install -qq python; python --version" 18 | script: 19 | - "grunt ci" 20 | after_script: 21 | - "grunt shell:cover-coveralls" 22 | -------------------------------------------------------------------------------- /node_modules/utf8/LICENSE-MIT.txt: -------------------------------------------------------------------------------- 1 | Copyright Mathias Bynens 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /node_modules/utf8/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "utf8", 3 | "version": "2.0.0", 4 | "main": "utf8.js", 5 | "ignore": [ 6 | "coverage", 7 | "tests", 8 | ".*", 9 | "component.json", 10 | "Gruntfile.js", 11 | "node_modules", 12 | "package.json" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /node_modules/utf8/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "utf8", 3 | "version": "2.0.0", 4 | "description": "A well-tested UTF-8 encoder/decoder written in JavaScript.", 5 | "repo": "mathiasbynens/utf8.js", 6 | "license": "MIT/GPL", 7 | "scripts": [ 8 | "utf8.js" 9 | ], 10 | "keywords": [ 11 | "charset", 12 | "encoding", 13 | "unicode", 14 | "utf8" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /node_modules/utf8/tests/generate-test-data.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import re 4 | import json 5 | 6 | # https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae 7 | # http://stackoverflow.com/a/13436167/96656 8 | def unisymbol(codePoint): 9 | if codePoint >= 0x0000 and codePoint <= 0xFFFF: 10 | return unichr(codePoint) 11 | elif codePoint >= 0x010000 and codePoint <= 0x10FFFF: 12 | highSurrogate = int((codePoint - 0x10000) / 0x400) + 0xD800 13 | lowSurrogate = int((codePoint - 0x10000) % 0x400) + 0xDC00 14 | return unichr(highSurrogate) + unichr(lowSurrogate) 15 | else: 16 | return 'Error' 17 | 18 | def hexify(codePoint): 19 | return 'U+' + hex(codePoint)[2:].upper().zfill(6) 20 | 21 | def writeFile(filename, contents): 22 | print filename 23 | with open(filename, 'w') as f: 24 | f.write(contents.strip() + '\n') 25 | 26 | data = [] 27 | for codePoint in range(0x000000, 0x10FFFF + 1): 28 | # Skip non-scalar values. 29 | if codePoint >= 0xD800 and codePoint <= 0xDFFF: 30 | continue 31 | symbol = unisymbol(codePoint) 32 | # http://stackoverflow.com/a/17199950/96656 33 | bytes = symbol.encode('utf8').decode('latin1') 34 | data.append({ 35 | 'codePoint': codePoint, 36 | 'decoded': symbol, 37 | 'encoded': bytes 38 | }); 39 | 40 | jsonData = json.dumps(data, sort_keys=False, indent=2, separators=(',', ': ')) 41 | # Use tabs instead of double spaces for indentation 42 | jsonData = jsonData.replace(' ', '\t') 43 | # Escape hexadecimal digits in escape sequences 44 | jsonData = re.sub( 45 | r'\\u([a-fA-F0-9]{4})', 46 | lambda match: r'\u{}'.format(match.group(1).upper()), 47 | jsonData 48 | ) 49 | 50 | writeFile('data.json', jsonData) 51 | -------------------------------------------------------------------------------- /node_modules/utf8/tests/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | utf8.js test suite 6 | 7 | 8 | 9 |
10 | 11 | 12 | 22 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /node_modules/ws/.npmignore: -------------------------------------------------------------------------------- 1 | npm-debug.log 2 | node_modules 3 | .*.swp 4 | .lock-* 5 | build 6 | 7 | bench 8 | doc 9 | examples 10 | test 11 | 12 | -------------------------------------------------------------------------------- /node_modules/ws/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | sudo: false 3 | npm_args: --ws:native 4 | node_js: 5 | - "iojs-v3" 6 | - "iojs-v2" 7 | - "iojs-v1" 8 | - "0.12" 9 | - "0.11" 10 | - "0.10" 11 | - "0.9" 12 | - "0.8" 13 | addons: 14 | apt: 15 | sources: 16 | - ubuntu-toolchain-r-test 17 | packages: 18 | - gcc-4.9 19 | - g++-4.9 20 | before_install: 21 | - export CC="gcc-4.9" CXX="g++-4.9" 22 | - "if [[ $(node --version) == v0.8.* ]]; then npm install -g npm@2.1.18; fi" 23 | matrix: 24 | fast_finish: true 25 | allow_failures: 26 | - node_js: "0.11" 27 | - node_js: "0.9" 28 | - node_js: "0.8" 29 | -------------------------------------------------------------------------------- /node_modules/ws/Makefile: -------------------------------------------------------------------------------- 1 | ALL_TESTS = $(shell find test/ -name '*.test.js') 2 | ALL_INTEGRATION = $(shell find test/ -name '*.integration.js') 3 | 4 | all: 5 | node-gyp configure build 6 | 7 | clean: 8 | node-gyp clean 9 | 10 | run-tests: 11 | @./node_modules/.bin/mocha \ 12 | -t 5000 \ 13 | -s 2400 \ 14 | $(TESTFLAGS) \ 15 | $(TESTS) 16 | 17 | run-integrationtests: 18 | @./node_modules/.bin/mocha \ 19 | -t 5000 \ 20 | -s 6000 \ 21 | $(TESTFLAGS) \ 22 | $(TESTS) 23 | 24 | test: 25 | @$(MAKE) NODE_TLS_REJECT_UNAUTHORIZED=0 NODE_PATH=lib TESTS="$(ALL_TESTS)" run-tests 26 | 27 | integrationtest: 28 | @$(MAKE) NODE_TLS_REJECT_UNAUTHORIZED=0 NODE_PATH=lib TESTS="$(ALL_INTEGRATION)" run-integrationtests 29 | 30 | benchmark: 31 | @node bench/sender.benchmark.js 32 | @node bench/parser.benchmark.js 33 | 34 | autobahn: 35 | @NODE_PATH=lib node test/autobahn.js 36 | 37 | autobahn-server: 38 | @NODE_PATH=lib node test/autobahn-server.js 39 | 40 | .PHONY: test 41 | -------------------------------------------------------------------------------- /node_modules/ws/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ws: a node.js websocket client 5 | * Copyright(c) 2011 Einar Otto Stangvik 6 | * MIT Licensed 7 | */ 8 | 9 | var WS = module.exports = require('./lib/WebSocket'); 10 | 11 | WS.Server = require('./lib/WebSocketServer'); 12 | WS.Sender = require('./lib/Sender'); 13 | WS.Receiver = require('./lib/Receiver'); 14 | 15 | /** 16 | * Create a new WebSocket server. 17 | * 18 | * @param {Object} options Server options 19 | * @param {Function} fn Optional connection listener. 20 | * @returns {WS.Server} 21 | * @api public 22 | */ 23 | WS.createServer = function createServer(options, fn) { 24 | var server = new WS.Server(options); 25 | 26 | if (typeof fn === 'function') { 27 | server.on('connection', fn); 28 | } 29 | 30 | return server; 31 | }; 32 | 33 | /** 34 | * Create a new WebSocket connection. 35 | * 36 | * @param {String} address The URL/address we need to connect to. 37 | * @param {Function} fn Open listener. 38 | * @returns {WS} 39 | * @api public 40 | */ 41 | WS.connect = WS.createConnection = function connect(address, fn) { 42 | var client = new WS(address); 43 | 44 | if (typeof fn === 'function') { 45 | client.on('open', fn); 46 | } 47 | 48 | return client; 49 | }; 50 | -------------------------------------------------------------------------------- /node_modules/ws/lib/BufferPool.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ws: a node.js websocket client 3 | * Copyright(c) 2011 Einar Otto Stangvik 4 | * MIT Licensed 5 | */ 6 | 7 | var util = require('util'); 8 | 9 | function BufferPool(initialSize, growStrategy, shrinkStrategy) { 10 | if (this instanceof BufferPool === false) { 11 | throw new TypeError("Classes can't be function-called"); 12 | } 13 | 14 | if (typeof initialSize === 'function') { 15 | shrinkStrategy = growStrategy; 16 | growStrategy = initialSize; 17 | initialSize = 0; 18 | } 19 | else if (typeof initialSize === 'undefined') { 20 | initialSize = 0; 21 | } 22 | this._growStrategy = (growStrategy || function(db, size) { 23 | return db.used + size; 24 | }).bind(null, this); 25 | this._shrinkStrategy = (shrinkStrategy || function(db) { 26 | return initialSize; 27 | }).bind(null, this); 28 | this._buffer = initialSize ? new Buffer(initialSize) : null; 29 | this._offset = 0; 30 | this._used = 0; 31 | this._changeFactor = 0; 32 | this.__defineGetter__('size', function(){ 33 | return this._buffer == null ? 0 : this._buffer.length; 34 | }); 35 | this.__defineGetter__('used', function(){ 36 | return this._used; 37 | }); 38 | } 39 | 40 | BufferPool.prototype.get = function(length) { 41 | if (this._buffer == null || this._offset + length > this._buffer.length) { 42 | var newBuf = new Buffer(this._growStrategy(length)); 43 | this._buffer = newBuf; 44 | this._offset = 0; 45 | } 46 | this._used += length; 47 | var buf = this._buffer.slice(this._offset, this._offset + length); 48 | this._offset += length; 49 | return buf; 50 | } 51 | 52 | BufferPool.prototype.reset = function(forceNewBuffer) { 53 | var len = this._shrinkStrategy(); 54 | if (len < this.size) this._changeFactor -= 1; 55 | if (forceNewBuffer || this._changeFactor < -2) { 56 | this._changeFactor = 0; 57 | this._buffer = len ? new Buffer(len) : null; 58 | } 59 | this._offset = 0; 60 | this._used = 0; 61 | } 62 | 63 | module.exports = BufferPool; 64 | -------------------------------------------------------------------------------- /node_modules/ws/lib/BufferUtil.fallback.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ws: a node.js websocket client 3 | * Copyright(c) 2011 Einar Otto Stangvik 4 | * MIT Licensed 5 | */ 6 | 7 | module.exports.BufferUtil = { 8 | merge: function(mergedBuffer, buffers) { 9 | var offset = 0; 10 | for (var i = 0, l = buffers.length; i < l; ++i) { 11 | var buf = buffers[i]; 12 | buf.copy(mergedBuffer, offset); 13 | offset += buf.length; 14 | } 15 | }, 16 | mask: function(source, mask, output, offset, length) { 17 | var maskNum = mask.readUInt32LE(0, true); 18 | var i = 0; 19 | for (; i < length - 3; i += 4) { 20 | var num = maskNum ^ source.readUInt32LE(i, true); 21 | if (num < 0) num = 4294967296 + num; 22 | output.writeUInt32LE(num, offset + i, true); 23 | } 24 | switch (length % 4) { 25 | case 3: output[offset + i + 2] = source[i + 2] ^ mask[2]; 26 | case 2: output[offset + i + 1] = source[i + 1] ^ mask[1]; 27 | case 1: output[offset + i] = source[i] ^ mask[0]; 28 | case 0:; 29 | } 30 | }, 31 | unmask: function(data, mask) { 32 | var maskNum = mask.readUInt32LE(0, true); 33 | var length = data.length; 34 | var i = 0; 35 | for (; i < length - 3; i += 4) { 36 | var num = maskNum ^ data.readUInt32LE(i, true); 37 | if (num < 0) num = 4294967296 + num; 38 | data.writeUInt32LE(num, i, true); 39 | } 40 | switch (length % 4) { 41 | case 3: data[i + 2] = data[i + 2] ^ mask[2]; 42 | case 2: data[i + 1] = data[i + 1] ^ mask[1]; 43 | case 1: data[i] = data[i] ^ mask[0]; 44 | case 0:; 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /node_modules/ws/lib/BufferUtil.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ws: a node.js websocket client 5 | * Copyright(c) 2011 Einar Otto Stangvik 6 | * MIT Licensed 7 | */ 8 | 9 | try { 10 | module.exports = require('bufferutil'); 11 | } catch (e) { 12 | module.exports = require('./BufferUtil.fallback'); 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/ws/lib/ErrorCodes.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ws: a node.js websocket client 3 | * Copyright(c) 2011 Einar Otto Stangvik 4 | * MIT Licensed 5 | */ 6 | 7 | module.exports = { 8 | isValidErrorCode: function(code) { 9 | return (code >= 1000 && code <= 1011 && code != 1004 && code != 1005 && code != 1006) || 10 | (code >= 3000 && code <= 4999); 11 | }, 12 | 1000: 'normal', 13 | 1001: 'going away', 14 | 1002: 'protocol error', 15 | 1003: 'unsupported data', 16 | 1004: 'reserved', 17 | 1005: 'reserved for extensions', 18 | 1006: 'reserved for extensions', 19 | 1007: 'inconsistent or invalid data', 20 | 1008: 'policy violation', 21 | 1009: 'message too big', 22 | 1010: 'extension handshake missing', 23 | 1011: 'an unexpected condition prevented the request from being fulfilled', 24 | }; -------------------------------------------------------------------------------- /node_modules/ws/lib/Extensions.js: -------------------------------------------------------------------------------- 1 | 2 | var util = require('util'); 3 | 4 | /** 5 | * Module exports. 6 | */ 7 | 8 | exports.parse = parse; 9 | exports.format = format; 10 | 11 | /** 12 | * Parse extensions header value 13 | */ 14 | 15 | function parse(value) { 16 | value = value || ''; 17 | 18 | var extensions = {}; 19 | 20 | value.split(',').forEach(function(v) { 21 | var params = v.split(';'); 22 | var token = params.shift().trim(); 23 | var paramsList = extensions[token] = extensions[token] || []; 24 | var parsedParams = {}; 25 | 26 | params.forEach(function(param) { 27 | var parts = param.trim().split('='); 28 | var key = parts[0]; 29 | var value = parts[1]; 30 | if (typeof value === 'undefined') { 31 | value = true; 32 | } else { 33 | // unquote value 34 | if (value[0] === '"') { 35 | value = value.slice(1); 36 | } 37 | if (value[value.length - 1] === '"') { 38 | value = value.slice(0, value.length - 1); 39 | } 40 | } 41 | (parsedParams[key] = parsedParams[key] || []).push(value); 42 | }); 43 | 44 | paramsList.push(parsedParams); 45 | }); 46 | 47 | return extensions; 48 | } 49 | 50 | /** 51 | * Format extensions header value 52 | */ 53 | 54 | function format(value) { 55 | return Object.keys(value).map(function(token) { 56 | var paramsList = value[token]; 57 | if (!util.isArray(paramsList)) { 58 | paramsList = [paramsList]; 59 | } 60 | return paramsList.map(function(params) { 61 | return [token].concat(Object.keys(params).map(function(k) { 62 | var p = params[k]; 63 | if (!util.isArray(p)) p = [p]; 64 | return p.map(function(v) { 65 | return v === true ? k : k + '=' + v; 66 | }).join('; '); 67 | })).join('; '); 68 | }).join(', '); 69 | }).join(', '); 70 | } 71 | -------------------------------------------------------------------------------- /node_modules/ws/lib/Validation.fallback.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ws: a node.js websocket client 3 | * Copyright(c) 2011 Einar Otto Stangvik 4 | * MIT Licensed 5 | */ 6 | 7 | module.exports.Validation = { 8 | isValidUTF8: function(buffer) { 9 | return true; 10 | } 11 | }; 12 | 13 | -------------------------------------------------------------------------------- /node_modules/ws/lib/Validation.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ws: a node.js websocket client 5 | * Copyright(c) 2011 Einar Otto Stangvik 6 | * MIT Licensed 7 | */ 8 | 9 | try { 10 | module.exports = require('utf-8-validate'); 11 | } catch (e) { 12 | module.exports = require('./Validation.fallback'); 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/ws/lib/browser.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Module dependencies. 4 | */ 5 | 6 | var global = (function() { return this; })(); 7 | 8 | /** 9 | * WebSocket constructor. 10 | */ 11 | 12 | var WebSocket = global.WebSocket || global.MozWebSocket; 13 | 14 | /** 15 | * Module exports. 16 | */ 17 | 18 | module.exports = WebSocket ? ws : null; 19 | 20 | /** 21 | * WebSocket constructor. 22 | * 23 | * The third `opts` options object gets ignored in web browsers, since it's 24 | * non-standard, and throws a TypeError if passed to the constructor. 25 | * See: https://github.com/einaros/ws/issues/227 26 | * 27 | * @param {String} uri 28 | * @param {Array} protocols (optional) 29 | * @param {Object) opts (optional) 30 | * @api public 31 | */ 32 | 33 | function ws(uri, protocols, opts) { 34 | var instance; 35 | if (protocols) { 36 | instance = new WebSocket(uri, protocols); 37 | } else { 38 | instance = new WebSocket(uri); 39 | } 40 | return instance; 41 | } 42 | 43 | if (WebSocket) ws.prototype = WebSocket.prototype; 44 | -------------------------------------------------------------------------------- /node_modules/xmlhttprequest/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010 passive.ly LLC 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/xmlhttprequest/autotest.watchr: -------------------------------------------------------------------------------- 1 | def run_all_tests 2 | puts `clear` 3 | puts `node tests/test-constants.js` 4 | puts `node tests/test-headers.js` 5 | puts `node tests/test-request.js` 6 | end 7 | watch('.*.js') { run_all_tests } 8 | run_all_tests 9 | -------------------------------------------------------------------------------- /node_modules/xmlhttprequest/example/demo.js: -------------------------------------------------------------------------------- 1 | var sys = require('util'); 2 | var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest; 3 | 4 | var xhr = new XMLHttpRequest(); 5 | 6 | xhr.onreadystatechange = function() { 7 | sys.puts("State: " + this.readyState); 8 | 9 | if (this.readyState == 4) { 10 | sys.puts("Complete.\nBody length: " + this.responseText.length); 11 | sys.puts("Body:\n" + this.responseText); 12 | } 13 | }; 14 | 15 | xhr.open("GET", "http://driverdan.com"); 16 | xhr.send(); 17 | -------------------------------------------------------------------------------- /node_modules/xmlhttprequest/tests/test-constants.js: -------------------------------------------------------------------------------- 1 | var sys = require("util") 2 | , assert = require("assert") 3 | , XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest 4 | , xhr = new XMLHttpRequest(); 5 | 6 | // Test constant values 7 | assert.equal(0, xhr.UNSENT); 8 | assert.equal(1, xhr.OPENED); 9 | assert.equal(2, xhr.HEADERS_RECEIVED); 10 | assert.equal(3, xhr.LOADING); 11 | assert.equal(4, xhr.DONE); 12 | 13 | sys.puts("done"); 14 | -------------------------------------------------------------------------------- /node_modules/xmlhttprequest/tests/test-events.js: -------------------------------------------------------------------------------- 1 | var sys = require("util") 2 | , assert = require("assert") 3 | , http = require("http") 4 | , XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest 5 | , xhr; 6 | 7 | // Test server 8 | var server = http.createServer(function (req, res) { 9 | var body = (req.method != "HEAD" ? "Hello World" : ""); 10 | 11 | res.writeHead(200, { 12 | "Content-Type": "text/plain", 13 | "Content-Length": Buffer.byteLength(body) 14 | }); 15 | // HEAD has no body 16 | if (req.method != "HEAD") { 17 | res.write(body); 18 | } 19 | res.end(); 20 | assert.equal(onreadystatechange, true); 21 | assert.equal(readystatechange, true); 22 | assert.equal(removed, true); 23 | sys.puts("done"); 24 | this.close(); 25 | }).listen(8000); 26 | 27 | xhr = new XMLHttpRequest(); 28 | 29 | // Track event calls 30 | var onreadystatechange = false; 31 | var readystatechange = false; 32 | var removed = true; 33 | var removedEvent = function() { 34 | removed = false; 35 | }; 36 | 37 | xhr.onreadystatechange = function() { 38 | onreadystatechange = true; 39 | }; 40 | 41 | xhr.addEventListener("readystatechange", function() { 42 | readystatechange = true; 43 | }); 44 | 45 | // This isn't perfect, won't guarantee it was added in the first place 46 | xhr.addEventListener("readystatechange", removedEvent); 47 | xhr.removeEventListener("readystatechange", removedEvent); 48 | 49 | xhr.open("GET", "http://localhost:8000"); 50 | xhr.send(); 51 | -------------------------------------------------------------------------------- /node_modules/xmlhttprequest/tests/test-exceptions.js: -------------------------------------------------------------------------------- 1 | var sys = require("util") 2 | , assert = require("assert") 3 | , XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest 4 | , xhr = new XMLHttpRequest(); 5 | 6 | // Test request methods that aren't allowed 7 | try { 8 | xhr.open("TRACK", "http://localhost:8000/"); 9 | console.log("ERROR: TRACK should have thrown exception"); 10 | } catch(e) {} 11 | try { 12 | xhr.open("TRACE", "http://localhost:8000/"); 13 | console.log("ERROR: TRACE should have thrown exception"); 14 | } catch(e) {} 15 | try { 16 | xhr.open("CONNECT", "http://localhost:8000/"); 17 | console.log("ERROR: CONNECT should have thrown exception"); 18 | } catch(e) {} 19 | // Test valid request method 20 | try { 21 | xhr.open("GET", "http://localhost:8000/"); 22 | } catch(e) { 23 | console.log("ERROR: Invalid exception for GET", e); 24 | } 25 | 26 | // Test forbidden headers 27 | var forbiddenRequestHeaders = [ 28 | "accept-charset", 29 | "accept-encoding", 30 | "access-control-request-headers", 31 | "access-control-request-method", 32 | "connection", 33 | "content-length", 34 | "content-transfer-encoding", 35 | "cookie", 36 | "cookie2", 37 | "date", 38 | "expect", 39 | "host", 40 | "keep-alive", 41 | "origin", 42 | "referer", 43 | "te", 44 | "trailer", 45 | "transfer-encoding", 46 | "upgrade", 47 | "user-agent", 48 | "via" 49 | ]; 50 | 51 | for (var i in forbiddenRequestHeaders) { 52 | try { 53 | xhr.setRequestHeader(forbiddenRequestHeaders[i], "Test"); 54 | console.log("ERROR: " + forbiddenRequestHeaders[i] + " should have thrown exception"); 55 | } catch(e) { 56 | } 57 | } 58 | 59 | // Try valid header 60 | xhr.setRequestHeader("X-Foobar", "Test"); 61 | 62 | console.log("Done"); 63 | -------------------------------------------------------------------------------- /node_modules/xmlhttprequest/tests/test-redirect-302.js: -------------------------------------------------------------------------------- 1 | var sys = require("util") 2 | , assert = require("assert") 3 | , XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest 4 | , xhr = new XMLHttpRequest() 5 | , http = require("http"); 6 | 7 | // Test server 8 | var server = http.createServer(function (req, res) { 9 | if (req.url === '/redirectingResource') { 10 | res.writeHead(302, {'Location': 'http://localhost:8000/'}); 11 | res.end(); 12 | return; 13 | } 14 | 15 | var body = "Hello World"; 16 | res.writeHead(200, { 17 | "Content-Type": "text/plain", 18 | "Content-Length": Buffer.byteLength(body), 19 | "Date": "Thu, 30 Aug 2012 18:17:53 GMT", 20 | "Connection": "close" 21 | }); 22 | res.write("Hello World"); 23 | res.end(); 24 | 25 | this.close(); 26 | }).listen(8000); 27 | 28 | xhr.onreadystatechange = function() { 29 | if (this.readyState == 4) { 30 | assert.equal(xhr.getRequestHeader('Location'), ''); 31 | assert.equal(xhr.responseText, "Hello World"); 32 | sys.puts("done"); 33 | } 34 | }; 35 | 36 | try { 37 | xhr.open("GET", "http://localhost:8000/redirectingResource"); 38 | xhr.send(); 39 | } catch(e) { 40 | console.log("ERROR: Exception raised", e); 41 | } 42 | -------------------------------------------------------------------------------- /node_modules/xmlhttprequest/tests/test-redirect-303.js: -------------------------------------------------------------------------------- 1 | var sys = require("util") 2 | , assert = require("assert") 3 | , XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest 4 | , xhr = new XMLHttpRequest() 5 | , http = require("http"); 6 | 7 | // Test server 8 | var server = http.createServer(function (req, res) { 9 | if (req.url === '/redirectingResource') { 10 | res.writeHead(303, {'Location': 'http://localhost:8000/'}); 11 | res.end(); 12 | return; 13 | } 14 | 15 | var body = "Hello World"; 16 | res.writeHead(200, { 17 | "Content-Type": "text/plain", 18 | "Content-Length": Buffer.byteLength(body), 19 | "Date": "Thu, 30 Aug 2012 18:17:53 GMT", 20 | "Connection": "close" 21 | }); 22 | res.write("Hello World"); 23 | res.end(); 24 | 25 | this.close(); 26 | }).listen(8000); 27 | 28 | xhr.onreadystatechange = function() { 29 | if (this.readyState == 4) { 30 | assert.equal(xhr.getRequestHeader('Location'), ''); 31 | assert.equal(xhr.responseText, "Hello World"); 32 | sys.puts("done"); 33 | } 34 | }; 35 | 36 | try { 37 | xhr.open("POST", "http://localhost:8000/redirectingResource"); 38 | xhr.send(); 39 | } catch(e) { 40 | console.log("ERROR: Exception raised", e); 41 | } 42 | -------------------------------------------------------------------------------- /node_modules/xmlhttprequest/tests/test-redirect-307.js: -------------------------------------------------------------------------------- 1 | var sys = require("util") 2 | , assert = require("assert") 3 | , XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest 4 | , xhr = new XMLHttpRequest() 5 | , http = require("http"); 6 | 7 | // Test server 8 | var server = http.createServer(function (req, res) { 9 | if (req.url === '/redirectingResource') { 10 | res.writeHead(307, {'Location': 'http://localhost:8000/'}); 11 | res.end(); 12 | return; 13 | } 14 | 15 | assert.equal(req.method, 'POST'); 16 | 17 | var body = "Hello World"; 18 | res.writeHead(200, { 19 | "Content-Type": "text/plain", 20 | "Content-Length": Buffer.byteLength(body), 21 | "Date": "Thu, 30 Aug 2012 18:17:53 GMT", 22 | "Connection": "close" 23 | }); 24 | res.write("Hello World"); 25 | res.end(); 26 | 27 | this.close(); 28 | }).listen(8000); 29 | 30 | xhr.onreadystatechange = function() { 31 | if (this.readyState == 4) { 32 | assert.equal(xhr.getRequestHeader('Location'), ''); 33 | assert.equal(xhr.responseText, "Hello World"); 34 | sys.puts("done"); 35 | } 36 | }; 37 | 38 | try { 39 | xhr.open("POST", "http://localhost:8000/redirectingResource"); 40 | xhr.send(); 41 | } catch(e) { 42 | console.log("ERROR: Exception raised", e); 43 | } 44 | -------------------------------------------------------------------------------- /node_modules/xmlhttprequest/tests/test-request-methods.js: -------------------------------------------------------------------------------- 1 | var sys = require("util") 2 | , assert = require("assert") 3 | , XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest 4 | , http = require("http") 5 | , xhr; 6 | 7 | // Test server 8 | var server = http.createServer(function (req, res) { 9 | // Check request method and URL 10 | assert.equal(methods[curMethod], req.method); 11 | assert.equal("/" + methods[curMethod], req.url); 12 | 13 | var body = (req.method != "HEAD" ? "Hello World" : ""); 14 | 15 | res.writeHead(200, { 16 | "Content-Type": "text/plain", 17 | "Content-Length": Buffer.byteLength(body) 18 | }); 19 | // HEAD has no body 20 | if (req.method != "HEAD") { 21 | res.write(body); 22 | } 23 | res.end(); 24 | 25 | if (curMethod == methods.length - 1) { 26 | this.close(); 27 | sys.puts("done"); 28 | } 29 | }).listen(8000); 30 | 31 | // Test standard methods 32 | var methods = ["GET", "POST", "HEAD", "PUT", "DELETE"]; 33 | var curMethod = 0; 34 | 35 | function start(method) { 36 | // Reset each time 37 | xhr = new XMLHttpRequest(); 38 | 39 | xhr.onreadystatechange = function() { 40 | if (this.readyState == 4) { 41 | if (method == "HEAD") { 42 | assert.equal("", this.responseText); 43 | } else { 44 | assert.equal("Hello World", this.responseText); 45 | } 46 | 47 | curMethod++; 48 | 49 | if (curMethod < methods.length) { 50 | sys.puts("Testing " + methods[curMethod]); 51 | start(methods[curMethod]); 52 | } 53 | } 54 | }; 55 | 56 | var url = "http://localhost:8000/" + method; 57 | xhr.open(method, url); 58 | xhr.send(); 59 | } 60 | 61 | sys.puts("Testing " + methods[curMethod]); 62 | start(methods[curMethod]); 63 | -------------------------------------------------------------------------------- /node_modules/xmlhttprequest/tests/test-request-protocols.js: -------------------------------------------------------------------------------- 1 | var sys = require("util") 2 | , assert = require("assert") 3 | , XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest 4 | , xhr; 5 | 6 | xhr = new XMLHttpRequest(); 7 | 8 | xhr.onreadystatechange = function() { 9 | if (this.readyState == 4) { 10 | assert.equal("Hello World", this.responseText); 11 | this.close(); 12 | runSync(); 13 | } 14 | }; 15 | 16 | // Async 17 | var url = "file://" + __dirname + "/testdata.txt"; 18 | xhr.open("GET", url); 19 | xhr.send(); 20 | 21 | // Sync 22 | var runSync = function() { 23 | xhr = new XMLHttpRequest(); 24 | 25 | xhr.onreadystatechange = function() { 26 | if (this.readyState == 4) { 27 | assert.equal("Hello World", this.responseText); 28 | this.close(); 29 | sys.puts("done"); 30 | } 31 | }; 32 | xhr.open("GET", url, false); 33 | xhr.send(); 34 | } 35 | -------------------------------------------------------------------------------- /node_modules/xmlhttprequest/tests/testdata.txt: -------------------------------------------------------------------------------- 1 | Hello World 2 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "game", 3 | "description": "A multiplayer first person shooter", 4 | "author": "invisible", 5 | "dependencies": { 6 | "socket.io": "1.3.x" 7 | }, 8 | "engine": "node >= 5.3.0" 9 | } -------------------------------------------------------------------------------- /public/assets/bush1/untitled.log: -------------------------------------------------------------------------------- 1 | Exporter version: 4.0.1, Blender version: 2.76 (sub 0) 2 | ========= Conversion from Blender to Babylon.js ========= 3 | Scene settings used: 4 | selected layers only: false 5 | flat shading entire scene: false 6 | inline textures: false 7 | Python World class constructor completed 8 | processing begun of mesh: bush_leaves 9 | processing begun of Standard material: Material.001 10 | processing begun of Standard material: Material.002 11 | processing begun of multimaterial: untitled.Multimaterial#0 12 | num positions : 37660 13 | num normals : 37660 14 | num uvs : 0 15 | num uvs2 : 0 16 | num colors : 0 17 | num indices : 142608 18 | WARNING: # of 0 area faces found: 1372 19 | processing begun of camera (FreeCamera): Camera 20 | processing begun of light (POINT): Lamp 21 | ========= Writing of scene file started ========= 22 | ========= Writing of scene file completed ========= 23 | ========= end of processing ========= 24 | elapsed time: 0 min, 7.0994 secs 25 | -------------------------------------------------------------------------------- /public/assets/bush2/european_cranberry_bush_bark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/assets/bush2/european_cranberry_bush_bark.png -------------------------------------------------------------------------------- /public/assets/bush2/european_cranberry_bush_flowers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/assets/bush2/european_cranberry_bush_flowers.png -------------------------------------------------------------------------------- /public/assets/bush2/european_cranberry_bush_leaf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/assets/bush2/european_cranberry_bush_leaf.png -------------------------------------------------------------------------------- /public/assets/soldire/body01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/assets/soldire/body01.png -------------------------------------------------------------------------------- /public/assets/soldire/head01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/assets/soldire/head01.png -------------------------------------------------------------------------------- /public/assets/soldire/m4tex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/assets/soldire/m4tex.png -------------------------------------------------------------------------------- /public/assets/soldire/soldire.log: -------------------------------------------------------------------------------- 1 | Exporter version: 4.0.1, Blender version: 2.76 (sub 0) 2 | ========= Conversion from Blender to Babylon.js ========= 3 | Scene settings used: 4 | selected layers only: false 5 | flat shading entire scene: false 6 | inline textures: false 7 | Python World class constructor completed 8 | processing begun of mesh: Pelvis 9 | processing begun of Standard material: unity_pilot_head_01 10 | Diffuse texture found"Kd" 11 | Image texture found, type: diffuseTexture, mapped using: "UVMap" 12 | processing begun of Standard material: unity_pilot_body_01 13 | Diffuse texture found"Kd.001" 14 | Image texture found, type: diffuseTexture, mapped using: "UVMap" 15 | processing begun of Standard material: m4 16 | Diffuse texture found"Kd.002" 17 | Image texture found, type: diffuseTexture, mapped using: "UVMap" 18 | processing begun of multimaterial: untitled.Multimaterial#0 19 | num positions : 14719 20 | num normals : 14719 21 | num uvs : 29438 22 | num uvs2 : 0 23 | num colors : 0 24 | num indices : 55392 25 | processing begun of camera (FreeCamera): Camera 26 | processing begun of light (POINT): Lamp 27 | ========= Writing of scene file started ========= 28 | ========= Writing of scene file completed ========= 29 | ========= end of processing ========= 30 | elapsed time: 0 min, 11.8667 secs 31 | -------------------------------------------------------------------------------- /public/assets/textures/crate.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/assets/textures/crate.jpg -------------------------------------------------------------------------------- /public/assets/textures/gras1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/assets/textures/gras1.jpg -------------------------------------------------------------------------------- /public/assets/textures/gras2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/assets/textures/gras2.jpg -------------------------------------------------------------------------------- /public/assets/textures/gras3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/assets/textures/gras3.jpg -------------------------------------------------------------------------------- /public/assets/textures/impact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/assets/textures/impact.png -------------------------------------------------------------------------------- /public/assets/textures/map.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/assets/textures/map.jpg -------------------------------------------------------------------------------- /public/assets/textures/metal_black.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/assets/textures/metal_black.jpg -------------------------------------------------------------------------------- /public/assets/tree/89016.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/assets/tree/89016.jpg -------------------------------------------------------------------------------- /public/assets/tree/branch2_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/assets/tree/branch2_small.png -------------------------------------------------------------------------------- /public/assets/tree/treebump.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/assets/tree/treebump.png -------------------------------------------------------------------------------- /public/assets/weapon/untitled.log: -------------------------------------------------------------------------------- 1 | Exporter version: 4.0.1, Blender version: 2.76 (sub 0) 2 | ========= Conversion from Blender to Babylon.js ========= 3 | Scene settings used: 4 | selected layers only: false 5 | flat shading entire scene: false 6 | inline textures: false 7 | Python World class constructor completed 8 | processing begun of mesh: weapon 9 | WARNING: No materials have been assigned: 10 | num positions : 20594 11 | num normals : 20594 12 | num uvs : 41188 13 | num uvs2 : 0 14 | num colors : 0 15 | num indices : 54462 16 | processing begun of camera (FreeCamera): Camera 17 | processing begun of light (POINT): Lamp 18 | ========= Writing of scene file started ========= 19 | ========= Writing of scene file completed ========= 20 | ========= end of processing ========= 21 | elapsed time: 0 min, 4.1082 secs 22 | -------------------------------------------------------------------------------- /public/css/images/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/css/images/background.jpg -------------------------------------------------------------------------------- /public/css/images/background2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/css/images/background2.jpg -------------------------------------------------------------------------------- /public/css/images/bulletIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/css/images/bulletIcon.png -------------------------------------------------------------------------------- /public/css/images/gunPoint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/css/images/gunPoint.png -------------------------------------------------------------------------------- /public/js/Chat.js: -------------------------------------------------------------------------------- 1 | var Chat = { 2 | reciveMsg : function(from, msg){ 3 | 4 | }, 5 | sendMsg : function(msg){ 6 | sendChatMsg(msg); 7 | } 8 | } -------------------------------------------------------------------------------- /public/js/Environment/LevelManager.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Loading all sorts of Mesh , Textures needed for a certain Level 3 | * As well as deciding the physics for this level and the sky and lightning (basicly the weather) 4 | */ 5 | 6 | //Note: All these things like objectLoader, physics, terrain and so on should be created with this.render 7 | //This is because these are needed in some other classes and i added this class on later stage ... feels not really right, i am not sure 8 | var LevelManager = function(render){ 9 | this.render = render; 10 | this.currentLevel = ""; 11 | this.render.objectLoader = new ObjectLoader(this.render); 12 | } 13 | 14 | //Loading a specific Level 15 | LevelManager.prototype.loadLevel = function(levelName, callback){ 16 | this.currentLevel = levelName; 17 | if(this.currentLevel == "standard"){ 18 | //init physics 19 | this.render.physics = new Physics(this.render.scene); 20 | //create lights 21 | this.render.lights = new Lights(this.render.scene, false); 22 | //create sky 23 | this.render.sky = new Sky(this.render); 24 | //load terrain 25 | this.render.terrain = new Terrain(this.render); 26 | //load mesh 27 | this.render.objectLoader.loadBoxes(StandardLevel); 28 | this.render.objectLoader.loadTrees(StandardLevel); 29 | this.render.objectLoader.loadBushes(StandardLevel); 30 | this.render.objectLoader.loadGun(); 31 | this.render.objectLoader.loadSoldire(); 32 | } 33 | else{ 34 | console.log("unknown Level!"); 35 | } 36 | 37 | var _this = this; 38 | this.render.scene.executeWhenReady(function () { 39 | _this.postLoad(); 40 | callback(); 41 | }); 42 | } 43 | 44 | //This should be called when the mesh is done loading 45 | LevelManager.prototype.postLoad = function(){ 46 | this.render.objectLoader.moveBoxes(); 47 | this.render.objectLoader.moveTrees(); 48 | this.render.objectLoader.moveBushes(); 49 | } -------------------------------------------------------------------------------- /public/js/Environment/Lights.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Create Lights and Shadows 3 | */ 4 | var Lights = function(scene, shadowFlag) { 5 | this.shadowFlag = shadowFlag; 6 | 7 | //Lights 8 | this.lightHem = new BABYLON.HemisphericLight("lightHem", new BABYLON.Vector3(0, 100, 0), scene); 9 | this.lightHem.intensity = 0.4; 10 | this.lightDir = new BABYLON.DirectionalLight("lightDir", new BABYLON.Vector3(-2, -4, 2), scene); 11 | this.lightDir.diffuse = new BABYLON.Color3(1, 1, 1); 12 | this.lightDir.specular = new BABYLON.Color3(0, 0, 0); 13 | this.lightDir.position = new BABYLON.Vector3(250, 400, 0); 14 | this.lightDir.intensity = 1.8; 15 | 16 | //Shadows 17 | if(shadowFlag){ 18 | this.shadowGenerator = new BABYLON.ShadowGenerator(4192, this.lightDir); 19 | this.shadowGenerator.useVarianceShadowMap = true; 20 | } 21 | 22 | } 23 | 24 | Lights.prototype.addShadowCaster = function(mesh){ 25 | if(this.shadowFlag){ 26 | this.shadowGenerator.getShadowMap().renderList.push(mesh); 27 | } 28 | } 29 | 30 | Lights.prototype.addShadowReciver = function(mesh){ 31 | if(this.shadowFlag){ 32 | mesh.receiveShadows = true; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /public/js/Environment/Physics.js: -------------------------------------------------------------------------------- 1 | 2 | var Physics = function(scene) { 3 | 4 | //Set gravity for the scene (G force like, on Y-axis) 5 | scene.gravity = new BABYLON.Vector3(0, -0.04, 0); 6 | // Enable Collisions 7 | scene.collisionsEnabled = true; 8 | } 9 | 10 | Physics.prototype.initLocalPlayer = function(camera){ 11 | //ToDo: Take height into account! 12 | //Then apply collisions and gravity to the active camera 13 | camera.checkCollisions = true; 14 | camera.useOctreeForCollisions = true; 15 | camera.applyGravity = true; 16 | 17 | //Set the ellipsoid around the camera (e.g. your player's size) 18 | //y is the height, x and z need to be this big because of the weapon sticking out infront 19 | camera.ellipsoid = new BABYLON.Vector3(4.8, 3, 4.8); 20 | } 21 | 22 | Physics.prototype.initMesh = function(mesh){ 23 | mesh.checkCollisions = true; 24 | } -------------------------------------------------------------------------------- /public/js/Environment/Sky.js: -------------------------------------------------------------------------------- 1 | var Sky = function(render){ 2 | this.render = render; 3 | //Sky 4 | BABYLON.Engine.ShadersRepository = "shaders/"; 5 | var skybox = BABYLON.Mesh.CreateSphere("skyBox", 10, 2500, this.render.scene); 6 | var shader = new BABYLON.ShaderMaterial("gradient", this.render.scene, "gradient", {}); 7 | shader.setFloat("offset", 0); 8 | shader.setFloat("exponent", 0.6); 9 | shader.setColor3("topColor", BABYLON.Color3.FromInts(0,119,255)); 10 | shader.setColor3("bottomColor", BABYLON.Color3.FromInts(240,240, 255)); 11 | shader.backFaceCulling = false; 12 | skybox.material = shader; 13 | 14 | //Create Fog 15 | this.render.scene.fogMode = BABYLON.Scene.FOGMODE_EXP2; 16 | this.render.scene.fogDensity = 0.003; 17 | this.render.scene.fogColor = new BABYLON.Color3(0.8,0.83,0.8); 18 | } -------------------------------------------------------------------------------- /public/js/Environment/Terrain.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Create the Ground of the Scene 3 | */ 4 | 5 | var Terrain = function(render){ 6 | this.render = render; 7 | 8 | // Terrain options 9 | this.groundDivs = 64; 10 | this.tileSize = 1000; 11 | this.bottomPoint = -5; 12 | this.topPoint = 19; 13 | 14 | this.ground = BABYLON.Mesh.CreateGroundFromHeightMap("ground", "assets/textures/map.jpg", this.tileSize, this.tileSize, this.groundDivs, this.bottomPoint, this.topPoint, this.render.scene, true); 15 | 16 | //I wanted to make play around with multimaterial.. but could not get it to work :(, so i just changed it back to one texture 17 | var groundMaterial1 = new BABYLON.StandardMaterial("groundMat", this.render.scene); 18 | groundMaterial1.diffuseTexture = new BABYLON.Texture("assets/textures/gras1.jpg", this.render.scene); 19 | groundMaterial1.diffuseTexture.uScale = 10.0; 20 | groundMaterial1.diffuseTexture.vScale = 10.0; 21 | 22 | this.ground.material = groundMaterial1; 23 | 24 | //Ground should recive shadows and also cast shadows 25 | this.render.lights.addShadowCaster(this.ground); 26 | this.render.lights.addShadowReciver(this.ground); 27 | 28 | //Init physics for the ground 29 | this.render.physics.initMesh(this.ground); 30 | } 31 | 32 | //Calculate the elvation of the heightfield at a certain x,z Coordinate 33 | Terrain.prototype.calcElevation = function(x , z){ 34 | var ray = new BABYLON.Ray(new BABYLON.Vector3(0, this.topPoint + 10 , 0), new BABYLON.Vector3(0, this.bottomPoint - 10,0), ((this.topPoint - this.bottomPoint)+20)); 35 | ray.origin.x = x; 36 | ray.origin.z = z; 37 | var i = this.ground.intersects(ray); 38 | 39 | if (!i || !i.pickedPoint) { 40 | return false; 41 | } 42 | 43 | return i.pickedPoint.y; 44 | 45 | } 46 | -------------------------------------------------------------------------------- /public/js/RemotePlayer.js: -------------------------------------------------------------------------------- 1 | var RemotePlayer = function(render, player) { 2 | 3 | this.render = render; 4 | this.player = player; 5 | this.mesh = this.render.objectLoader.cloneSoldire(this.player.getID()); 6 | 7 | this.mesh.position.x = player.getX(); 8 | this.mesh.position.y = player.getY() - this.player.getHeight(); 9 | this.mesh.position.z = player.getZ(); 10 | 11 | if(this.player.isDead()){ 12 | console.log("Mesh Not Visible"); 13 | this.mesh.isVisible = false; 14 | } 15 | 16 | 17 | //Adding shadows to the mesh 18 | this.render.lights.addShadowCaster(this.mesh); 19 | 20 | //Adding physics to the Mesh 21 | this.render.physics.initMesh(this.mesh); 22 | 23 | Pannel.updatePlayerJoind(this.player.getName()); 24 | } 25 | 26 | RemotePlayer.prototype.remove = function(){ 27 | Pannel.updatePlayerLeft(this.player.getName()); 28 | this.mesh.dispose(); 29 | } 30 | 31 | RemotePlayer.prototype.move = function(pos, rot){ 32 | this.mesh.position = new BABYLON.Vector3(pos.x, pos.y - this.player.getHeight(), pos.z); 33 | //oponent.rotation = new BABYLON.Vector3(rot.x, rot.y, rot.z); 34 | this.mesh.rotation.y = rot.y - Math.PI; 35 | } 36 | 37 | RemotePlayer.prototype.gotKilled = function(killer){ 38 | Pannel.updateKill(this.player.getName() , killer.player.getName()); 39 | this.mesh.isVisible = false; 40 | } 41 | 42 | RemotePlayer.prototype.respawn = function(){ 43 | this.mesh.position.x = this.player.getX(); 44 | this.mesh.position.y = this.player.getY(); 45 | this.mesh.position.z = this.player.getZ(); 46 | this.mesh.rotation.y = this.player.getRotY(); 47 | this.mesh.isVisible = true; 48 | } -------------------------------------------------------------------------------- /public/shaders/gradient.fragment.fx: -------------------------------------------------------------------------------- 1 | precision mediump float; 2 | 3 | uniform mat4 worldView; 4 | varying vec4 vPosition; 5 | varying vec3 vNormal; 6 | 7 | // PARAMETER GIVEN IN THE JS CODE // 8 | // Offset position 9 | uniform float offset; 10 | // Exponent 11 | uniform float exponent; 12 | // Colors 13 | uniform vec3 topColor; 14 | uniform vec3 bottomColor; 15 | 16 | void main(void) { 17 | float h = normalize(vPosition + offset).y; 18 | gl_FragColor = vec4( mix(bottomColor, topColor, max(pow(max(h, 0.0), exponent), 0.0)), 1.0 ); 19 | } 20 | -------------------------------------------------------------------------------- /public/shaders/gradient.vertex.fx: -------------------------------------------------------------------------------- 1 | precision mediump float; 2 | 3 | // Attributes 4 | attribute vec3 position; 5 | attribute vec3 normal; 6 | attribute vec2 uv; 7 | 8 | // Uniforms 9 | uniform mat4 worldViewProjection; 10 | 11 | // Varying 12 | varying vec4 vPosition; 13 | varying vec3 vNormal; 14 | 15 | void main() { 16 | 17 | vec4 p = vec4( position, 1. ); 18 | vPosition = p; 19 | vNormal = normal; 20 | gl_Position = worldViewProjection * p; 21 | 22 | } 23 | -------------------------------------------------------------------------------- /public/shared/models/Game.js: -------------------------------------------------------------------------------- 1 | //Every instance of a created game has this model ... still in progress -------------------------------------------------------------------------------- /public/sounds/groan.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/sounds/groan.wav -------------------------------------------------------------------------------- /public/sounds/grunt.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/sounds/grunt.wav -------------------------------------------------------------------------------- /public/sounds/gun_empty.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/sounds/gun_empty.wav -------------------------------------------------------------------------------- /public/sounds/gun_fire.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/sounds/gun_fire.wav -------------------------------------------------------------------------------- /public/sounds/head_of.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/sounds/head_of.wav -------------------------------------------------------------------------------- /public/sounds/heart_beat.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/sounds/heart_beat.wav -------------------------------------------------------------------------------- /public/sounds/pain.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/sounds/pain.wav -------------------------------------------------------------------------------- /public/sounds/reload.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/sounds/reload.wav -------------------------------------------------------------------------------- /public/sounds/reload2.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aeon0/FPS-Game/61543fcaa725ee486ac92a4f8c83a0c744545e78/public/sounds/reload2.wav --------------------------------------------------------------------------------