diff --git a/plugins/README.md b/plugins/README.md index 0afa8f07..614a611b 100644 --- a/plugins/README.md +++ b/plugins/README.md @@ -12,7 +12,7 @@ Available Plugins - [**Guess Player Level**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/guess-player-levels.user.js) looks for the highest placed resonator per player in the current view to guess the player level. - [**Highlight Weakened Portals**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/show-portal-weakness.user.js) fill portals with red to indicate portal's state of disrepair. The brighter the color the more attention needed (recharge, shields, resonators). A dashed portal means a resonator is missing. - [**Draw Tools**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/draw-tools.user.js) allows to draw circles and lines on the map to aid you with planning your next big field. - +- [**Render Limit Increase**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/render-limit-increase.user.js) increases render limits. Good for high density areas (e.g. London, UK) and faster PCs. Hacking ------- diff --git a/plugins/render-limit-increase.user.js b/plugins/render-limit-increase.user.js new file mode 100644 index 00000000..56e66b9a --- /dev/null +++ b/plugins/render-limit-increase.user.js @@ -0,0 +1,61 @@ +// ==UserScript== +// @id iitc-plugin-render-limit-increase@jonatkins +// @name iitc: render limit increase +// @version 0.1 +// @namespace https://github.com/breunigs/ingress-intel-total-conversion +// @updateURL https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/render-limit-increase.user.js +// @downloadURL https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/render-limit-increase.user.js +// @description Increase the render limits, so less likely to be hit in higher density areas +// @include http://www.ingress.com/intel* +// @match http://www.ingress.com/intel* +// ==/UserScript== + +function wrapper() { +// ensure plugin framework is there, even if iitc is not yet loaded +if(typeof window.plugin !== 'function') window.plugin = function() {}; + + +// PLUGIN START //////////////////////////////////////////////////////// + + +// use own namespace for plugin +window.plugin.renderLimitIncrease = function() {}; + +window.plugin.renderLimitIncrease.setHigherLimits = function() { + + // this controls how far data is being drawn outside the viewport. Set + // it 0 to only draw entities that intersect the current view. A value + // of one will render an area twice the size of the viewport (or some- + // thing like that, Leaflet doc isn’t too specific). Setting it too low + // makes the missing data on move/zoom out more obvious. Setting it too + // high causes too many items to be drawn, making drag&drop sluggish. + // default for iitc is 0.3. a lower value reduces overdraw + window.VIEWPORT_PAD_RATIO = 0.1; + + + // Leaflet will get very slow for MANY items. It’s better to display + // only some instead of crashing the browser. + // defaults are 1000 portals, 400 links and 200 fields + window.MAX_DRAWN_PORTALS = 3000; + window.MAX_DRAWN_LINKS = 1000; + window.MAX_DRAWN_FIELDS = 500; + +}; + +var setup = window.plugin.renderLimitIncrease.setHigherLimits; + +// PLUGIN END ////////////////////////////////////////////////////////// + +if(window.iitcLoaded && typeof setup === 'function') { + setup(); +} else { + if(window.bootPlugins) + window.bootPlugins.push(setup); + else + window.bootPlugins = [setup]; +} +} // wrapper end +// inject code into site context +var script = document.createElement('script'); +script.appendChild(document.createTextNode('('+ wrapper +')();')); +(document.body || document.head || document.documentElement).appendChild(script);