diff --git a/data/pokedex-mini-g5.js b/data/pokedex-mini-bw.js similarity index 100% rename from data/pokedex-mini-g5.js rename to data/pokedex-mini-bw.js diff --git a/js/battledata.js b/js/battledata.js index d572c870f..853fdd5f9 100644 --- a/js/battledata.js +++ b/js/battledata.js @@ -775,6 +775,15 @@ var Tools = { return type; }, + loadSpriteData: function(gen) { + var path = $('script[src*="pokedex-mini.js"]').attr('src'); + var qs = path.split('?')[1] || ''; + path = (path.match(/.+?(?=data\/pokedex-mini\.js)/) || [])[0] || ''; + + var el = document.createElement('script'); + el.src = path + 'data/pokedex-mini' + (gen !== 'xy' ? '-' + gen : '') + '.js' + (qs ? '?' + qs : ''); + document.getElementsByTagName('body')[0].appendChild(el); + }, getSpriteData: function(pokemon, siden, options) { pokemon = Tools.getTemplate(pokemon); var spriteData = { @@ -814,6 +823,9 @@ var Tools = { } var gen = 'xy'; + if (Tools.prefs('bwgfx')) { + gen = 'bw'; + } if (animationData && animationData[facing]) { var spriteType = ''; diff --git a/js/client.js b/js/client.js index 114d00ea1..f94051312 100644 --- a/js/client.js +++ b/js/client.js @@ -276,6 +276,12 @@ debugStyle.innerHTML = onCSS; } } + + if (Tools.prefs('bwgfx')) { + // since xy data is loaded by default, only call + // loadSpriteData if we want bw sprites + Tools.loadSpriteData('bw'); + } }); this.on('init:unsupported', function() { @@ -2272,6 +2278,7 @@ }, events: { 'change input[name=noanim]': 'setNoanim', + 'change input[name=bwgfx]': 'setBwgfx', 'change input[name=notournaments]': 'setNotournaments', 'change input[name=nolobbypm]': 'setNolobbypm', 'change input[name=temporarynotifications]': 'setTemporaryNotifications', @@ -2294,6 +2301,7 @@ buf += '
'; buf += '

'; buf += '

'; + buf += '

'; buf += '

'; buf += '

'; buf += '

'; @@ -2353,6 +2361,11 @@ var noanim = !!e.currentTarget.checked; Tools.prefs('noanim', noanim); }, + setBwgfx: function(e) { + var bwgfx = !!e.currentTarget.checked; + Tools.prefs('bwgfx', bwgfx); + Tools.loadSpriteData(bwgfx ? 'bw' : 'xy'); + }, setNotournaments: function(e) { var notournaments = !!e.currentTarget.checked; Tools.prefs('notournaments', notournaments);