// initialize jwplayer var playerInstance = jwplayer('player');// player dom elements var playerContainerEl = document.querySelector('.player-container');// returns video player position from top of document function getElementOffsetTop(el) { var boundingClientRect = el.getBoundingClientRect(); var bodyEl = document.body; var docEl = document.documentElement; var scrollTop = window.pageYOffset || docEl.scrollTop || bodyEl.scrollTop; var clientTop = docEl.clientTop || bodyEl.clientTop || 0; return Math.round(boundingClientRect.top + scrollTop - clientTop); }// returns the current y scroll position function getScrollTop() { var docEl = document.documentElement; return (window.pageYOffset || docEl.scrollTop) - (docEl.clientTop || 0); }// configure jwplayer instance playerInstance.setup({ autostart: true, playlist: 'https://cdn.jwplayer.com/v2/playlists/mYdavspX', primary: 'html5', setFullscreen: true, width: '100%' });// when jwplayer instance is ready playerInstance.on('ready', function() { var config = playerInstance.getConfig(); var utils = playerInstance.utils; // get height of player element var playerHeight = config.containerHeight; // flag determining whether close has been clicked var closed = true; // CHANGED // flag determing whether player is playing var playing = false; // ADDED // eventhandler for when close button is being pressed document.getElementsByClassName('icon-close')[0].addEventListener('click', () => { closed = true; onScrollViewHandler(); }); playerInstance.on('play', function() { closed = false; playing = true; // ADDED }).on('pause', function () { playing = false; // ADDED }).on('adPlay', function() { closed = false; // ADDED playing = true; // ADDED }).on('adPause', function() { playing = false; // ADDED });// get player element position from top of document var playerOffsetTop = getElementOffsetTop(playerContainerEl);// set player container to match height of actual video element playerContainerEl.style.height = playerHeight + 'px';// below we handle window scroll event without killing performance function onScrollViewHandler() { var minimized = getScrollTop() >= playerOffsetTop;if (closed && minimized) { minimized = false; jwplayer().pause(); playing = false; // ADDED } else if (!minimized && !playing) { closed = true; // ADDED } utils.toggleClass(playerContainerEl, 'player-minimize', minimized); // update the player's size so the controls are adjusted playerInstance.resize(); }// namespace for whether or not we are waiting for setTimeout() to finish var isScrollTimeout = false;// window onscroll event handler window.onscroll = function() { // skip if we're waiting on a scroll update timeout to finish if (isScrollTimeout) return; // flag that a new timeout will begin isScrollTimeout = true; // otherwise, call scroll event view handler onScrollViewHandler(); // set new timeout setTimeout(function() { // reset timeout flag to false (no longer waiting) isScrollTimeout = false; }, 80); };});

The data mining from the PC files of Call of Duty: Modern Warfare continues.

Now, on Reddit, a user has shared 23 different game modes that have been found in the Call of Duty: Modern Warfare PC files that have not yet been released publicly.

Some of these modes are brand new and have not been in Call of Duty before, while others like Infected appear to be returning.

There’s a set of modes discovered that do not have descriptions yet in the in-game files:

  • Showdown (+ Hardcore) (gametype_showdown)
  • Onslaught (gametype_onslaught)
  • Incursion (gametype_incursion)
  • Fireteam (+ Hardcore) (gametype_fireteam)
  • Breach (gametype_breach)
  • Arms Race (+ Hardcore) (gametype_arm)

And, another set of modes that have descriptions attached to them:

  • Team Juggernaut (gametype_tjugg): Each team has a Juggernaut. Juggernaut kills are worth more points. The first team to reach the score limit wins.
  • Reinforce (gametype_siege): Capture points to revive fallen teammates. Taking all points will win the round.
  • Rupture (gametype_rugby): Take control of a powerful Juggernaut and push to the enemy’s base to win.
  • One in the Chamber (gametype_oic): Gain Ammo by eliminating enemies. Highest score wins.
  • Invasion (+ Hardcore) (gametype_blitz): Take your team’s flag into the enemy team’s base.
  • Infected (gametype_infect): Eliminated Survivors become Infected. Infect everyone, or survive the game to win.
  • High Value Target (gametype_hvt): Gain score by eliminating players on the opposing team. Extract high value enemy combatants to steal score back.
  • Gun Game (gametype_gun): Be the first player to score a kill with each one of the provided weapons.
  • Grind (gametype_grind): Recover dog tags and take them to the objective marker to score for your team.
  • Drop Zone (gametype_dropzone): Hold the Drop Zone to earn points and Drone Packages.
  • Demolition (gametype_demo): Teams alternate in attacking and defending two bomb sites, both of which must be destroyed by the attacking team equipped with bombs.
  • Defender (gametype_tdef): Capture the drone and hold it to upload data and earn points for your team.
  • Search and Rescue (gametype_sr): Teams take turns defending and destroying an objective. Recover dog tags to allow or deny respawns.
  • Capture the Flag (gametype_ctf): Get the enemy flag and return it to your base.
  • Fire Mission (+ Hardcore) (gametype_btm): Eliminate enemies, capture HQ’s and extract VIPs to earn score for your team.
  • Assault (gametype_assault): Attackers attack bomb site. Defenders defend!
  • All or Nothing (gametype_aon): Spawn with a custom pistol, throwing knife and no starting ammo. Extra perks are gained on kills, but you lose everything on death.

Infinity Ward has not said when these modes will be available or if these modes are just for testing purposes internally.

We’ll keep you updated.

comments below