This commit is contained in:
Rim 2023-12-10 07:55:13 -05:00
commit 37d47570e5
250 changed files with 28321 additions and 0 deletions

2
Updater.bat Normal file
View File

@ -0,0 +1,2 @@
@echo off
.\plutonium.exe -install-dir "%cd%" -update-only

BIN
bin/AppCore.dll Normal file

Binary file not shown.

BIN
bin/Ultralight.dll Normal file

Binary file not shown.

BIN
bin/UltralightCore.dll Normal file

Binary file not shown.

BIN
bin/WebCore.dll Normal file

Binary file not shown.

BIN
bin/discord_game_sdk.dll Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

1
config.json Normal file
View File

@ -0,0 +1 @@
{"iw5Path":"","t4Path":"","t5Path":"","t6Path":"","token":""}

BIN
games/iw5mp.exe Normal file

Binary file not shown.

BIN
games/iw5sp.exe Normal file

Binary file not shown.

BIN
games/t4mp.exe Normal file

Binary file not shown.

BIN
games/t4sp.exe Normal file

Binary file not shown.

BIN
games/t5mp.exe Normal file

Binary file not shown.

BIN
games/t5sp.exe Normal file

Binary file not shown.

BIN
games/t6mp.exe Normal file

Binary file not shown.

BIN
games/t6zm.exe Normal file

Binary file not shown.

1
info.json Normal file
View File

@ -0,0 +1 @@
{"revision":3321,"launchTarget":"bin/plutonium-launcher-win32.exe"}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
button[data-v-51d897ea]:focus,input[data-v-51d897ea]:focus,select[data-v-51d897ea]:focus,textarea[data-v-51d897ea]:focus{outline:none}.w-notify-notification[data-v-51d897ea]{position:absolute;left:50%;transofrm:translateX(-50%)}pre[data-v-51d897ea]{overflow-x:auto;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.vue-notification[data-v-51d897ea]{font-size:20px!important}.float-left[data-v-51d897ea]{float:left}.float-right[data-v-51d897ea]{float:right}.cursor-pointer[data-v-51d897ea]{cursor:pointer}.clickable[data-v-51d897ea]{position:relative}.clickable[data-v-51d897ea]:hover{cursor:pointer;color:#fff;-webkit-transition:all .25s ease-in-out;transition:all .25s ease-in-out}.clickable:hover:not(.no-backdrop-highlight).clickable[data-v-51d897ea]:hover:after{top:0;bottom:0;left:0;right:0;content:"";position:absolute;background-color:hsla(0,0%,100%,.15);z-index:1000;-webkit-transition:all .25s ease-in-out;transition:all .25s ease-in-out}.clickable:hover.round-highlight[data-v-51d897ea]:after{border-radius:100%}.main[data-v-51d897ea]{width:100vw;height:100vh;position:relative}.loginBox[data-v-51d897ea]{background-color:#4c4c4c;min-width:500px;width:750px;max-width:50%;max-height:50%;-webkit-box-shadow:2px 2px 2px 0 rgba(0,0,0,.1);box-shadow:2px 2px 2px 0 rgba(0,0,0,.1);border-radius:5px;margin:0 auto;position:absolute;top:50%;-webkit-transform:translateY(-50%) translateX(-50%);transform:translateY(-50%) translateX(-50%);left:50%}.loginBox .title[data-v-51d897ea]{text-transform:uppercase;background-color:#6c6c6c;padding:12px 16px 12px 16px;font-family:politica-expanded,sans-serif;font-weight:700;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.1);box-shadow:0 2px 2px 0 rgba(0,0,0,.1)}.loginBox .container[data-v-51d897ea]{margin:4px}.loginBox .actions[data-v-51d897ea]{float:right}.signupText[data-v-51d897ea]{display:inline-block;position:absolute;left:0;bottom:-25px;margin-left:8px;font-size:15px;color:hsla(0,0%,100%,.3)}.signupText pre[data-v-51d897ea]{display:inline;padding:0;margin:0}

View File

@ -0,0 +1 @@
button[data-v-53a34254]:focus,input[data-v-53a34254]:focus,select[data-v-53a34254]:focus,textarea[data-v-53a34254]:focus{outline:none}.w-notify-notification[data-v-53a34254]{position:absolute;left:50%;transofrm:translateX(-50%)}pre[data-v-53a34254]{overflow-x:auto;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.vue-notification[data-v-53a34254]{font-size:20px!important}.float-left[data-v-53a34254]{float:left}.float-right[data-v-53a34254]{float:right}.cursor-pointer[data-v-53a34254]{cursor:pointer}.clickable[data-v-53a34254]{position:relative}.clickable[data-v-53a34254]:hover{cursor:pointer;color:#fff;-webkit-transition:all .25s ease-in-out;transition:all .25s ease-in-out}.clickable:hover:not(.no-backdrop-highlight).clickable[data-v-53a34254]:hover:after{top:0;bottom:0;left:0;right:0;content:"";position:absolute;background-color:hsla(0,0%,100%,.15);z-index:1000;-webkit-transition:all .25s ease-in-out;transition:all .25s ease-in-out}.clickable:hover.round-highlight[data-v-53a34254]:after{border-radius:100%}#app[data-v-53a34254]{height:100vh;width:100vw}#app[data-v-53a34254]:before{content:"";background-repeat:no-repeat;background-size:cover;background-position:bottom;position:absolute;top:0;left:0;right:0;bottom:0;opacity:.25;-webkit-transition:background-image .4s ease-in-out;transition:background-image .4s ease-in-out;z-index:-1;background-image:url(../img/login_bg.62db7e11.png)}

View File

@ -0,0 +1 @@
button[data-v-a6e43a64]:focus,input[data-v-a6e43a64]:focus,select[data-v-a6e43a64]:focus,textarea[data-v-a6e43a64]:focus{outline:none}.w-notify-notification[data-v-a6e43a64]{position:absolute;left:50%;transofrm:translateX(-50%)}pre[data-v-a6e43a64]{overflow-x:auto;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.vue-notification[data-v-a6e43a64]{font-size:20px!important}.float-left[data-v-a6e43a64]{float:left}.float-right[data-v-a6e43a64]{float:right}.cursor-pointer[data-v-a6e43a64]{cursor:pointer}.clickable[data-v-a6e43a64]{position:relative}.clickable[data-v-a6e43a64]:hover{cursor:pointer;color:#fff;-webkit-transition:all .25s ease-in-out;transition:all .25s ease-in-out}.clickable:hover:not(.no-backdrop-highlight).clickable[data-v-a6e43a64]:hover:after{top:0;bottom:0;left:0;right:0;content:"";position:absolute;background-color:hsla(0,0%,100%,.15);z-index:1000;-webkit-transition:all .25s ease-in-out;transition:all .25s ease-in-out}.clickable:hover.round-highlight[data-v-a6e43a64]:after{border-radius:100%}.friend[data-v-a6e43a64]{display:inline-block;position:relative}.friend img[data-v-a6e43a64]{width:48px;border-radius:100%;margin:8px;margin-left:13px;margin-right:13px;background-color:rgba(0,0,0,.05)}.friend[data-v-a6e43a64]:hover{cursor:pointer}.friend:hover .name[data-v-a6e43a64]{display:block}.friend .name[data-v-a6e43a64]{text-align:center;position:absolute;bottom:-10px;width:100%;display:none;white-space:nowrap}.content[data-v-a6e43a64]{padding:16px}

View File

@ -0,0 +1 @@
button[data-v-100b658a]:focus,input[data-v-100b658a]:focus,select[data-v-100b658a]:focus,textarea[data-v-100b658a]:focus{outline:none}.w-notify-notification[data-v-100b658a]{position:absolute;left:50%;transofrm:translateX(-50%)}pre[data-v-100b658a]{overflow-x:auto;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.vue-notification[data-v-100b658a]{font-size:20px!important}.float-left[data-v-100b658a]{float:left}.float-right[data-v-100b658a]{float:right}.cursor-pointer[data-v-100b658a]{cursor:pointer}.clickable[data-v-100b658a]{position:relative}.clickable[data-v-100b658a]:hover{cursor:pointer;color:#fff;-webkit-transition:all .25s ease-in-out;transition:all .25s ease-in-out}.clickable:hover:not(.no-backdrop-highlight).clickable[data-v-100b658a]:hover:after{top:0;bottom:0;left:0;right:0;content:"";position:absolute;background-color:hsla(0,0%,100%,.15);z-index:1000;-webkit-transition:all .25s ease-in-out;transition:all .25s ease-in-out}.clickable:hover.round-highlight[data-v-100b658a]:after{border-radius:100%}.filePath[data-v-100b658a]{background-color:#262626;padding-top:13px;padding-left:12px;height:39px;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.filePath .text[data-v-100b658a]{max-width:calc(100% - 1000px)}.filePath .button[data-v-100b658a]{position:absolute;top:0;bottom:0;right:0;width:100px;background-color:#4c4c4c;text-align:center;padding-top:13px}.header[data-v-100b658a]{font-family:politica,sans-serif;font-weight:700;margin-bottom:8px}.header[data-v-100b658a]:nth-child(n+2){margin-top:16px}.content[data-v-100b658a]{padding:16px}.footer[data-v-100b658a]{position:fixed;bottom:0;right:0;padding:16px}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
button[data-v-9e56bc9e]:focus,input[data-v-9e56bc9e]:focus,select[data-v-9e56bc9e]:focus,textarea[data-v-9e56bc9e]:focus{outline:none}.w-notify-notification[data-v-9e56bc9e]{position:absolute;left:50%;transofrm:translateX(-50%)}pre[data-v-9e56bc9e]{overflow-x:auto;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.vue-notification[data-v-9e56bc9e]{font-size:20px!important}.float-left[data-v-9e56bc9e]{float:left}.float-right[data-v-9e56bc9e]{float:right}.cursor-pointer[data-v-9e56bc9e]{cursor:pointer}.clickable[data-v-9e56bc9e]{position:relative}.clickable[data-v-9e56bc9e]:hover{cursor:pointer;color:#fff;-webkit-transition:all .25s ease-in-out;transition:all .25s ease-in-out}.clickable:hover:not(.no-backdrop-highlight).clickable[data-v-9e56bc9e]:hover:after{top:0;bottom:0;left:0;right:0;content:"";position:absolute;background-color:hsla(0,0%,100%,.15);z-index:1000;-webkit-transition:all .25s ease-in-out;transition:all .25s ease-in-out}.clickable:hover.round-highlight[data-v-9e56bc9e]:after{border-radius:100%}.button[data-v-9e56bc9e]{font-family:nimbus-sans,sans-serif;font-size:44px;text-transform:uppercase;display:inline-block;background-color:#59c7ff;color:#fff;padding:8px;height:60px;width:300px;text-align:center;cursor:pointer}.button.installed[data-v-9e56bc9e]{background-color:#21ba45}.button .caption[data-v-9e56bc9e]{font-size:12px}.button.lanMode[data-v-9e56bc9e]{font-size:28px;padding:6px;border:2px solid hsla(0,0%,100%,.65);background-color:#f2c037}.button.lanMode .text[data-v-9e56bc9e]{margin-top:12px}.options[data-v-9e56bc9e]{font-family:nimbus-sans,sans-serif;font-size:32px;text-transform:uppercase;display:inline-block;background-color:#21ba45;color:#fff;padding:8px;padding-top:19px;padding-bottom:0;margin-left:2px;height:57px;width:34px;text-align:center;cursor:pointer}.options.lanMode[data-v-9e56bc9e]{font-size:28px;padding:6px;padding-top:17px;padding-bottom:0;border:2px solid hsla(0,0%,100%,.65);height:55px;background-color:#f2c037}.options.lanMode .text[data-v-9e56bc9e]{margin-top:12px}.text[data-v-9e56bc9e]{margin-top:3px}button[data-v-d152bae2]:focus,input[data-v-d152bae2]:focus,select[data-v-d152bae2]:focus,textarea[data-v-d152bae2]:focus{outline:none}.w-notify-notification[data-v-d152bae2]{position:absolute;left:50%;transofrm:translateX(-50%)}pre[data-v-d152bae2]{overflow-x:auto;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.vue-notification[data-v-d152bae2]{font-size:20px!important}.float-left[data-v-d152bae2]{float:left}.float-right[data-v-d152bae2]{float:right}.cursor-pointer[data-v-d152bae2]{cursor:pointer}.clickable[data-v-d152bae2]{position:relative}.clickable[data-v-d152bae2]:hover{cursor:pointer;color:#fff;-webkit-transition:all .25s ease-in-out;transition:all .25s ease-in-out}.clickable:hover:not(.no-backdrop-highlight).clickable[data-v-d152bae2]:hover:after{top:0;bottom:0;left:0;right:0;content:"";position:absolute;background-color:hsla(0,0%,100%,.15);z-index:1000;-webkit-transition:all .25s ease-in-out;transition:all .25s ease-in-out}.clickable:hover.round-highlight[data-v-d152bae2]:after{border-radius:100%}[data-v-d152bae2]{overflow:hidden}.gamePage[data-v-d152bae2]{word-wrap:break-word}.vertical-grid[data-v-d152bae2]{display:grid;grid-template-columns:auto;grid-template-rows:auto 100px;height:calc(100vh - 116px)}.grid[data-v-d152bae2]{display:grid;grid-template-columns:-webkit-min-content auto;grid-template-columns:min-content auto;grid-column-gap:16px}.gameButton[data-v-d152bae2]{margin:auto auto}

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1018 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 497 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 881 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 770 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

View File

@ -0,0 +1,11 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="stylesheet" href="https://use.typekit.net/qyo5vvn.css"><script src="https://kit.fontawesome.com/0787521d16.js" crossorigin="anonymous"></script><script src="nix-bridge.js"></script><title>pluto-launcher</title><link href="css/app.5b0a1e7d.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but there was an issue loading the UI element of Plutonium Launcher. Please report this to a dev. (noscript)</strong></noscript><div id="app"></div><script src="js/chunk-vendors.d77b8b8e.js"></script><script src="js/app.454f4f9e.js"></script></body><style>html {
background-color: black;
}
html,
body {
margin: 0;
padding: 0;
font-family: eurostile, sans-serif;
color: #cfcfcf;
}</style></html>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["auth"],{4186:function(e,t,s){},"59c9":function(e,t,s){"use strict";s("4186")},"9ed6":function(e,t,s){"use strict";s.r(t);var a=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"main"},[s("div",{staticClass:"loginBox"},[s("div",{staticClass:"title"},[e._v(" Login ")]),s("div",{staticClass:"container"},[s("w-input",{attrs:{type:"email",name:"email",placeholder:"Username",disable:e.loading},model:{value:e.username,callback:function(t){e.username=t},expression:"username"}}),s("w-input",{attrs:{type:"password",name:"password",placeholder:"Password",disable:e.loading},on:{enter:e.signIn},model:{value:e.password,callback:function(t){e.password=t},expression:"password"}}),e._m(0),s("div",{staticClass:"actions"},[s("w-btn",{attrs:{label:"Sign in",disable:!e.canContinue},on:{click:e.signIn}})],1)],1)])])},i=[function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"signupText"},[e._v(" To create an account, go to "),s("pre",[e._v("https://forum.plutonium.pw/register")])])}],n=s("5530"),o=s("2f62"),r={name:"Login",data:function(){return{username:"",password:"",remember:!0}},computed:Object(n["a"])(Object(n["a"])({},Object(o["b"])({loading:"ui/showLoadingModal"})),{},{canContinue:function(){return this.username&&this.password&&!this.loading}}),beforeCreate:function(){this.$store.dispatch("ui/setLoadingState",{show:!0,message:"Checking for saved credentials..."})},mounted:function(){var e=this;this.$route.query.logout?this.$store.dispatch("ui/setLoadingState",{show:!1}):this.$nextTick((function(){try{var t=isTokenAvailable();t?e.$store.dispatch("authentication/preAuthed"):e.$store.dispatch("ui/setLoadingState",{show:!1})}catch(s){console.error("error while trying to check if nix is logged in. Probably because nix isn't ready yet."),e.$store.dispatch("ui/setLoadingState",{show:!1})}}))},methods:{signIn:function(){this.username&&this.password&&this.$store.dispatch("authentication/authenticate",{username:this.username,password:this.password,remember:this.remember})}}},c=r,u=(s("59c9"),s("2877")),d=Object(u["a"])(c,a,i,!1,null,"51d897ea",null);t["default"]=d.exports}}]);
//# sourceMappingURL=auth.688202d0.js.map

View File

@ -0,0 +1,2 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-4f6208b2"],{8578:function(t,n,c){"use strict";c.r(n);var s=function(){var t=this,n=t.$createElement,c=t._self._c||n;return c("div",{class:t.backgroundClass,attrs:{id:"app"}},[c("div",{staticClass:"main"},[c("router-view")],1)])},a=[],e=(c("caad"),c("2532"),{computed:{backgroundClass:function(){var t=this.$route.path;return t.includes("mw3")?"mw3":t.includes("bo2")?"bo2":"mw3"}}}),u=e,i=(c("c68e"),c("2877")),r=Object(i["a"])(u,s,a,!1,null,"53a34254",null);n["default"]=r.exports},c68e:function(t,n,c){"use strict";c("f0d6")},f0d6:function(t,n,c){}}]);
//# sourceMappingURL=chunk-4f6208b2.22635986.js.map

View File

@ -0,0 +1,2 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-520ec366"],{"32c0":function(e,t,s){},"41b9":function(e,t,s){e.exports=s.p+"img/avatar-default.849d500f.jpg"},"8b5a":function(e,t,s){"use strict";s.r(t);var i=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("div",{staticClass:"titleBar"},[i("div",{staticClass:"float-left cursor-pointer",on:{click:e.logout}},[i("i",{staticClass:"fal fa-sign-out-alt"}),e._v(" Logout ")]),i("div",{staticClass:"float-right"},[i("div",{staticClass:"title"},[e._v(" "+e._s(e.user.username)+" ")]),i("img",{attrs:{src:e.user.profilePic||s("41b9")}})])]),i("div",{staticClass:"content"},[i("div",{staticClass:"header"},[e._v(" Friends "),e.user.friends&&e.user.friends.length?i("span",[e._v(" - ["+e._s(e.user.friends.length)+"]")]):e._e(),i("div",{on:{click:e.reloadFriends}},[i("i",{staticClass:"fas fa-sync-alt float-right clickable"})])]),e.user.friends?[e.user.friends.length?e._l(e.user.friends,(function(t){return i("div",{key:t.uid,staticClass:"friend"},[i("img",{staticClass:"clickable round-highlight",attrs:{src:t.avatar}}),i("div",{staticClass:"name"},[e._v(" "+e._s(t.username)+" ")])])})):i("em",[e._v("No Friends online")])]:e._e(),i("div",{staticClass:"header"},[e._v(" Settings ")]),i("em",[e._v("Settings currently not available")])],2),i("div",{staticClass:"footer"},[e._v(" Core version: "),i("em",[e._v(e._s(e.coreVersion))]),i("br"),e._v(" Launcher version: "),i("em",[e._v(e._s(e.launcherUIVersion))])])])},n=[],r=s("5530"),a=s("2f62"),c={computed:Object(r["a"])(Object(r["a"])({},Object(a["b"])({user:"authentication/user"})),{},{showPeek:function(){return this.$store.getters["ui/showPeek"]},coreVersion:function(){return launcherVersion()},launcherUIVersion:function(){return"2.2.1"}}),created:function(){this.user.friends.length||this.reloadFriends()},methods:{checkClose:function(e){e.target===this.$el&&this.closePeek()},closePeek:function(){this.$store.dispatch("ui/setPeek",!1)},logout:function(){this.closePeek(),this.$store.dispatch("authentication/logout")},reloadFriends:function(){this.$store.dispatch("authentication/loadFriends")}}},o=c,l=(s("e95f"),s("2877")),u=Object(l["a"])(o,i,n,!1,null,"a6e43a64",null);t["default"]=u.exports},e95f:function(e,t,s){"use strict";s("32c0")}}]);
//# sourceMappingURL=chunk-520ec366.59e39e11.js.map

View File

@ -0,0 +1,2 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-59eb3327"],{"10da":function(t,e,a){"use strict";a("ce7b")},"67f8":function(t,e,a){"use strict";a.r(e);var i=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("div",{staticClass:"content"},[a("div",{staticClass:"header"},[a("div",{staticClass:"title"},[t._v(" "+t._s(t.game.title)+" ")]),t._v(" Game Settings ")]),a("div",{staticClass:"header"},[t._v(" Game Path ")]),a("div",{staticClass:"filePath"},[a("div",{staticClass:"text"},[t._v(" "+t._s(t.path)+" ")]),a("div",{staticClass:"button clickable",on:{click:function(e){return t.setGameDir()}}},[t._v(" Select Dir ")])])])])},s=[],n=a("5530"),c=(a("7db0"),a("d3b7"),a("2f62")),r=a("9193"),u={data:function(){return{gamePath:null}},computed:Object(n["a"])(Object(n["a"])({},Object(c["b"])({user:"authentication/user",gameTag:"ui/peekInfo"})),{},{game:function(){return r["a"].find(this.gameTag)},path:function(){var t=38,e=this.gamePath;if(e&&e.length>t){var a=e.length-t,i=e?Math.floor(.45*a):0;return"..."+e.substr(i)}return e}}),mounted:function(){this.refreshGamePath()},methods:{setGameDir:function(){var t=this;this.$store.dispatch("entities/games/selectDir",this.gameTag).then((function(e){t.gamePath=e||t.gamePath}))},refreshGamePath:function(){this.gamePath=launcherGetGameFolder(this.gameTag)}}},h=u,l=(a("10da"),a("2877")),o=Object(l["a"])(h,i,s,!1,null,"100b658a",null);e["default"]=o.exports},ce7b:function(t,e,a){}}]);
//# sourceMappingURL=chunk-59eb3327.5536132d.js.map

View File

@ -0,0 +1,2 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-d15685cc"],{"0eef":function(t,e,n){},1092:function(t,e,n){"use strict";n.r(e);var s=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:t.backgroundClass,attrs:{id:"app"}},[n("app-bar"),n("div",{staticClass:"row one"},[n("sidebar"),n("div",{staticClass:"main"},[n("router-view")],1)],1)],1)},a=[],i=(n("caad"),n("2532"),function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{attrs:{id:"sidebar"},on:{mouseenter:function(e){t.big=!0},mouseleave:function(e){t.big=!1}}},t._l(t.games,(function(e){return n("game-button",{key:e.title,attrs:{button:e,"full-button":t.big},nativeOn:{click:function(n){return t.selectOption(e)}}})})),1)}),c=[],u=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"button",staticClass:"button",class:{selected:t.selected}},[n("div",{staticClass:"row"},[n("div",[t.button.icon?n("img",{attrs:{src:t.button.icon,width:"35px"}}):t._e()]),t.fullButton?n("div",{staticClass:"buttonName"},[t._v(" "+t._s(t.button.title)+" ")]):t._e()])])},o=[],r=(n("b0c0"),{name:"MenuButton",props:{button:{type:Object,required:!1},fullButton:{type:Boolean,default:!1}},computed:{selected:function(){var t=this.$route;return"games"===t.name&&t.path.includes(this.button.tag)}}}),l=r,d=(n("326b"),n("2877")),p=Object(d["a"])(l,u,o,!1,null,"0428b96f",null),f=p.exports,b=n("9193"),m={name:"Sidebar",components:{gameButton:f},data:function(){return{big:!1}},computed:{games:function(){return b["a"].all()}},methods:{selectOption:function(t){this.$router.push({path:"/game/".concat(t.tag)})}}},v=m,h=(n("1c3f"),Object(d["a"])(v,i,c,!1,null,"e9aa2ffe",null)),g=h.exports,_=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"appbar"},[n("div",{staticClass:"content"},[n("div",{staticClass:"title"},[t._v(" Plutonium ")]),n("div",{staticClass:"user"},[n("div",{staticClass:"avatar",on:{click:t.openPeek}},[n("div",{staticClass:"avatarImage clickable round-highlight",style:t.avatarStyle})])])])])},k=[],C=n("5530"),w=n("2f62"),O={name:"AppBar",computed:Object(C["a"])(Object(C["a"])({},Object(w["b"])({user:"authentication/user"})),{},{avatarStyle:function(){return this.user.profilePic?"background-image: url('".concat(this.user.profilePic,"');"):""}}),methods:{openPeek:function(){this.$store.dispatch("ui/setPeek","profile")}}},j=O,$=(n("9c35"),Object(d["a"])(j,_,k,!1,null,"f8ef4b46",null)),B=$.exports,y={components:{sidebar:g,appBar:B},computed:{backgroundClass:function(){var t=this.$route.path;return t.includes("iw5mp")?"iw5mp":t.includes("t6mp")?"t6mp":t.includes("t6zm")?"t6zm":t.includes("t5mp")?"t5mp":t.includes("t5sp")?"t5sp":t.includes("t4mp")?"t4mp":t.includes("t4sp")?"t4sp":"default"}}},P=y,x=(n("1d22"),Object(d["a"])(P,s,a,!1,null,"6f4f723e",null));e["default"]=x.exports},"1c3f":function(t,e,n){"use strict";n("f8ea")},"1d22":function(t,e,n){"use strict";n("0eef")},"29c8":function(t,e,n){},"326b":function(t,e,n){"use strict";n("29c8")},"37eb":function(t,e,n){},"9c35":function(t,e,n){"use strict";n("37eb")},f8ea:function(t,e,n){}}]);
//# sourceMappingURL=chunk-d15685cc.589056ed.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["games"],{2526:function(t,a,e){"use strict";e("5170")},"48b1":function(t,a,e){"use strict";e("ee55")},5170:function(t,a,e){},"88e6":function(t,a,e){"use strict";e.r(a);var i=function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("div",{staticClass:"gamePage"},[e("div",{staticClass:"vertical-grid"},[e("div",{staticClass:"grid"},[e("div",[t.game.logo?e("img",{attrs:{src:t.game.logo,width:"350px"}}):e("div",{staticClass:"gameTitle"},[t._v(" "+t._s(t.gameTag)+" ")])])]),e("div",{staticClass:"grid"},[e("game-action-button",{attrs:{game:t.game,installed:!!t.gamePath},on:{click:t.gameActionButton}}),e("div",[t.gamePath?e("div",{staticClass:"settings clickable no-backdrop-highlight",on:{click:t.openGameSettings}},[e("i",{staticClass:"fas fa-cog"}),t._v(" Game Settings"),e("br")]):t._e()])],1)])])},n=[],s=(e("7db0"),e("d3b7"),e("9193")),o=function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("div",{staticStyle:{display:"inline-flex"}},[e("div",{staticClass:"button clickable",class:{installed:t.installed,lanMode:t.lanMode},on:{click:function(a){return t.loading?null:t.$emit("click",{lanMode:t.lanMode})}}},[t.actionLabel?e("div",{staticClass:"text"},[t._v(" "+t._s(t.actionLabel)+" ")]):t._e(),t.lanMode?e("div",{staticClass:"caption"},[t._v(" Anticheat disabled ")]):t._e()]),t.installed?e("div",{key:(t.lanMode?"up":"down")+"arrow",staticClass:"options clickable",class:{lanMode:t.lanMode},on:{click:t.toggleLan}},[t.lanMode?e("i",{key:t.upArrow,staticClass:"fas fa-chevron-up"}):e("i",{key:t.dwnArrow,staticClass:"fas fa-chevron-down"})]):t._e()])},l=[],c=e("5530"),d=e("2f62"),r={name:"MainButton",props:{game:{type:Object,required:!0},installed:{type:Boolean}},data:function(){return{lanMode:!1}},computed:Object(c["a"])(Object(c["a"])({},Object(d["b"])({loading:"ui/showLoadingModal"})),{},{actionLabel:function(){return this.installed?this.lanMode?"Play in LAN Mode":"Play":"Setup"}}),methods:{toggleLan:function(){this.lanMode=!this.lanMode}}},g=r,u=(e("2526"),e("2877")),m=Object(u["a"])(g,o,l,!1,null,"9e56bc9e",null),h=m.exports,f={components:{gameActionButton:h},props:{gameTag:{type:String,required:!0}},data:function(){return{gamePath:null}},computed:{game:function(){return s["a"].find(this.gameTag)}},watch:{gameTag:function(t){this.refreshGamePath()}},mounted:function(){this.refreshGamePath()},methods:{gameActionButton:function(t){this.gamePath?this.$store.dispatch("entities/games/play",{gameTag:this.game.tag,params:t.lanMode?"-lan":""}):this.setGameDir()},setGameDir:function(){var t=this;this.$store.dispatch("entities/games/selectDir",this.game.tag).then((function(a){t.gamePath=a||t.gamePath}))},refreshGamePath:function(){this.gamePath=launcherGetGameFolder(this.gameTag)},openGameSettings:function(){this.$store.dispatch("ui/setPeek","game/".concat(this.game.tag))}}},p=f,b=(e("48b1"),Object(u["a"])(p,i,n,!1,null,"d152bae2",null));a["default"]=b.exports},ee55:function(t,a,e){}}]);
//# sourceMappingURL=games.2559cd9a.js.map

View File

@ -0,0 +1 @@
{"name":"pluto-launcher","short_name":"pluto-launcher","theme_color":"#4DBA87","icons":[{"src":"./img/icons/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"./img/icons/android-chrome-512x512.png","sizes":"512x512","type":"image/png"},{"src":"./img/icons/android-chrome-maskable-192x192.png","sizes":"192x192","type":"image/png","purpose":"maskable"},{"src":"./img/icons/android-chrome-maskable-512x512.png","sizes":"512x512","type":"image/png","purpose":"maskable"}],"start_url":".","display":"standalone","background_color":"#000000"}

View File

@ -0,0 +1,41 @@
/* eslint-disable */
function login (username, password) {
return new Promise((resolve, reject) => {
nixLoginInternal(username, password, data => resolve(JSON.parse(data)), reject);
});
}
function validateToken () {
return new Promise((resolve, reject) => {
nixValidateTokenInternal(data => resolve(JSON.parse(data)), reject);
});
}
function createSession (game) {
return new Promise((resolve, reject) => {
nixCreateSessionInternal(game, data => resolve(JSON.parse(data).token), reject);
});
}
function getFriends () {
return new Promise((resolve, reject) => {
nixGetFriendsInternal(data => resolve(JSON.parse(data)), reject);
});
}
function isTokenAvailable () {
return nixTokenIsAvailableInternal();
}
function getUserId () {
return nixGetUidInternal();
}
function getUsername () {
return nixGetUsernameInternal();
}
function getAvatar () {
return nixGetAvatarInternal();
}

View File

@ -0,0 +1,166 @@
self.__precacheManifest = (self.__precacheManifest || []).concat([
{
"revision": "8df072156626798063ea",
"url": "css/app.5b0a1e7d.css"
},
{
"revision": "1db33393287b08b651af",
"url": "css/auth.4a6b27be.css"
},
{
"revision": "32f058dcacc7c8ec9c93",
"url": "css/chunk-4f6208b2.def6a674.css"
},
{
"revision": "e68241c11dfe686e5120",
"url": "css/chunk-520ec366.3f565a45.css"
},
{
"revision": "b7a11927d924841de70b",
"url": "css/chunk-59eb3327.48ed8008.css"
},
{
"revision": "64d7930daade3538fae7",
"url": "css/chunk-d15685cc.29ddedaf.css"
},
{
"revision": "94237cc6dd86c40ca16b",
"url": "css/games.b0791aa4.css"
},
{
"revision": "849d500f76d7850d3a46058e457ed5a5",
"url": "img/avatar-default.849d500f.jpg"
},
{
"revision": "fa555ecb0c62c09f285090ad08223a83",
"url": "img/iw5.fa555ecb.jpg"
},
{
"revision": "804ee0068586c992ba3b54bf66995971",
"url": "img/iw5_icon.804ee006.png"
},
{
"revision": "9bd3a45dbbc3f8d6452e720e38d886b5",
"url": "img/iw5_logo.9bd3a45d.png"
},
{
"revision": "62db7e114bbcdb7eddb6aac2bce0ec51",
"url": "img/login_bg.62db7e11.png"
},
{
"revision": "e77924d1eb12ac9e6c9d93d718a987b3",
"url": "img/t4mp.e77924d1.jpg"
},
{
"revision": "84a265b71adf15ada388eb8fcb2ea64c",
"url": "img/t4mp_icon.84a265b7.png"
},
{
"revision": "59e4aebdb4b97380adc358981ab29add",
"url": "img/t4mp_logo.59e4aebd.png"
},
{
"revision": "20d703034854d0fe7c5206920f01c0ab",
"url": "img/t4sp.20d70303.jpg"
},
{
"revision": "1e1987d84038aae38610cab9c999868d",
"url": "img/t4sp_icon.1e1987d8.png"
},
{
"revision": "3b95821fdcfda7fddfa9c7deb752b0d7",
"url": "img/t4sp_logo.3b95821f.png"
},
{
"revision": "a4c26415540278cc3c9886d360819716",
"url": "img/t5mp.a4c26415.jpg"
},
{
"revision": "215e7d942e2aec310bb6a617fa6a523f",
"url": "img/t5mp_icon.215e7d94.png"
},
{
"revision": "ab399f8ffd1d1bd26ba2af1f8f6ade8c",
"url": "img/t5mp_logo.ab399f8f.png"
},
{
"revision": "463f63afdb30d8193d8288e8474db8a2",
"url": "img/t5sp.463f63af.jpg"
},
{
"revision": "f951b0ced18db7f719c74cc4d98ec0f9",
"url": "img/t5sp_icon.f951b0ce.png"
},
{
"revision": "923e41065e3995b2b8a44265f12523b7",
"url": "img/t5sp_logo.923e4106.png"
},
{
"revision": "bf54e4370841e6353563854140089e1a",
"url": "img/t6mp.bf54e437.jpg"
},
{
"revision": "e4fc734b7e536d945d9fafaea2ea8e52",
"url": "img/t6mp_logo.e4fc734b.png"
},
{
"revision": "6ff8e1f7c0889c0ef56394ccb8cf67e3",
"url": "img/t6zm.6ff8e1f7.jpg"
},
{
"revision": "992fa331f512b4cb45b83e0720a9a5c5",
"url": "img/t6zm_icon.992fa331.png"
},
{
"revision": "6935c7f41ac75f5a14882b4a48bf7143",
"url": "img/t6zm_logo.6935c7f4.png"
},
{
"revision": "d65338923abf47e2a887d8915356d767",
"url": "index.html"
},
{
"revision": "8df072156626798063ea",
"url": "js/app.454f4f9e.js"
},
{
"revision": "1db33393287b08b651af",
"url": "js/auth.688202d0.js"
},
{
"revision": "32f058dcacc7c8ec9c93",
"url": "js/chunk-4f6208b2.22635986.js"
},
{
"revision": "e68241c11dfe686e5120",
"url": "js/chunk-520ec366.59e39e11.js"
},
{
"revision": "b7a11927d924841de70b",
"url": "js/chunk-59eb3327.5536132d.js"
},
{
"revision": "64d7930daade3538fae7",
"url": "js/chunk-d15685cc.589056ed.js"
},
{
"revision": "a86b0bef0e10c297ab3f",
"url": "js/chunk-vendors.d77b8b8e.js"
},
{
"revision": "94237cc6dd86c40ca16b",
"url": "js/games.2559cd9a.js"
},
{
"revision": "515e59f16e9296205663258d761e2471",
"url": "manifest.json"
},
{
"revision": "644c032e7a0f872e8f1b34598b3db70d",
"url": "nix-bridge.js"
},
{
"revision": "735ab4f94fbcd57074377afca324c813",
"url": "robots.txt"
}
]);

View File

@ -0,0 +1,2 @@
User-agent: *
Disallow:

View File

@ -0,0 +1,34 @@
/**
* Welcome to your Workbox-powered service worker!
*
* You'll need to register this file in your web app and you should
* disable HTTP caching for this file too.
* See https://goo.gl/nhQhGp
*
* The rest of the code is auto-generated. Please don't update this file
* directly; instead, make changes to your Workbox build configuration
* and re-run your build process.
* See https://goo.gl/2aRDsh
*/
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
importScripts(
"precache-manifest.770504f950f1cb412a3b4b9dd63cac63.js"
);
workbox.core.setCacheNameDetails({prefix: "pluto-launcher"});
self.addEventListener('message', (event) => {
if (event.data && event.data.type === 'SKIP_WAITING') {
self.skipWaiting();
}
});
/**
* The workboxSW.precacheAndRoute() method efficiently caches and responds to
* requests for URLs in the manifest.
* See https://goo.gl/S9QRab
*/
self.__precacheManifest = [].concat(self.__precacheManifest || []);
workbox.precaching.precacheAndRoute(self.__precacheManifest, {});

BIN
plutonium.exe Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@ -0,0 +1 @@
Welcome to Plutonium IW5!

View File

@ -0,0 +1 @@
Welcome to Plutonium IW5!

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,55 @@
// DW Delay values
set facebook_active 0
set facebook_friends_active 0
set facebook_upload_video_active 0
set facebook_upload_photo_active 0
set facebook_delay 750
set facebook_max_retry_time 30000
set facebook_retry_step 1000
set facebook_friends_max_retry_time 30000
set facebook_friends_retry_step 1000
set entitlements_active 0
set entitlements_delay 500
set entitlements_config_file_max_retry_time 30000
set entitlements_config_file_retry_step 1000
set entitlements_key_archive_max_retry_time 30000
set entitlements_key_archive_retry_step 1000
set userGroup_active 1
set elite_clan_active 0
set cl_enableDedicatedServerBrowser 1
set dw_presence_active 0
set dw_presence_put_delay 5000
set dw_presence_put_rate 30000
set dw_presence_get_delay 5000
set dw_presence_get_rate 60000
#ifdef MP
set onlinevault_active 1
set onlinevault_maxslots_sub0 10
set onlinevault_maxslots_sub1 10
set onlinevault_maxslots_sub2 10
set onlinevault_maxtime_sub0 30
set onlinevault_maxtime_sub1 30
set onlinevault_maxtime_sub2 60
#endif // #ifdef MP
set past_title_data_active 0
set pm_gamesetup_mode_altmodes 1
set pm_gamesetup_mode_altmodes_dropzone 1
set pm_gamesetup_mode_altmodes_teamjug 1
set pm_gamesetup_mode_altmodes_jug 1
set pm_gamesetup_mode_altmodes_gungame 1
set pm_gamesetup_mode_altmodes_infected 1
set pm_gamesetup_mode_altmodes_oneinthechamber 1
set pm_gamesetup_options_createdefaultclass 1
set pm_gamesetup_options_customclassrestrictions 1
set prestige_shop_active 1
set theater_active 1

View File

@ -0,0 +1,72 @@
unbindall
// Movement
bind w "+forward"
bind s "+back"
bind a "+moveleft"
bind d "+moveright"
// Weapon Controls
bind SHIFT "+breath_sprint"
bind MOUSE1 "+attack"
bind MOUSE2 "+toggleads_throw"
bind e "+melee_zoom"
bind n "+actionslot 1" //Nightvision
bind 3 "+actionslot 3" //Grenade Launcher
bind 4 "+actionslot 4" // Killstreaks
bind 5 "+actionslot 5"
bind 6 "+actionslot 6"
bind 7 "+actionslot 7"
// Weapon Slots
bind 1 "weapnext"
bind 2 "weapnext"
// Inventory
bind MOUSE3 "+frag"
bind g "+frag"
bind q "+smoke"
// Interaction
bind f "+activate"
bind r "+reload"
bind TAB "+scores"
// Stance
bind SPACE "+gostand"
bind CTRL "toggleprone"
bind c "togglecrouch"
// Mouse movement dvars
set sensitivity "5"
set cl_freelook "1"
set ui_mousePitch "0"
set m_pitch "0.022"
set m_filter "0"
set cl_mouseAccel "0"
// Menus
bind PAUSE "toggle cl_paused"
bind ESCAPE "togglemenu"
bind ~ "toggleconsole"
bind ` "toggleconsole"
// MULTIPLAYER CONTROLS
bind t "chatmodepublic"
bind y "chatmodeteam"
bind z "+talk"
//bind x "openscriptmenu ingame changeweapon"
// CLIENT ENVIRONMENT COMMANDS
bind F12 "screenshotJPEG"
bind F1 "vote yes"
bind F2 "vote no"
// Gamepad settings
set gpad_sticksConfig "thumbstick_default"
set gpad_buttonsConfig "gamepad_default"
set input_invertpitch "0"
set input_viewSensitivity "1.0"

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,135 @@
// IW5 PC GSC
// Decompiled by https://github.com/xensik/gsc-tool
CodeCallback_StartGameType()
{
if ( getdvar( "r_reflectionProbeGenerate" ) == "1" )
level waittill( "eternity" );
if ( !isdefined( level.gametypestarted ) || !level.gametypestarted )
{
[[ level.callbackStartGameType ]]();
level.gametypestarted = 1;
}
}
CodeCallback_PlayerConnect()
{
if ( getdvar( "r_reflectionProbeGenerate" ) == "1" )
level waittill( "eternity" );
self endon( "disconnect" );
[[ level.callbackPlayerConnect ]]();
}
CodeCallback_PlayerDisconnect()
{
self notify( "disconnect" );
[[ level.callbackPlayerDisconnect ]]();
}
CodeCallback_PlayerDamage( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9 )
{
self endon( "disconnect" );
[[ level.callbackPlayerDamage ]]( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9 );
}
CodeCallback_PlayerKilled( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8 )
{
self endon( "disconnect" );
[[ level.callbackPlayerKilled ]]( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8 );
}
CodeCallback_VehicleDamage( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10, var_11 )
{
if ( isdefined( self.damageCallback ) )
self [[ self.damageCallback ]]( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10, var_11 );
else
self vehicle_finishdamage( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10, var_11 );
}
CodeCallback_CodeEndGame()
{
self endon( "disconnect" );
[[ level.callbackCodeEndGame ]]();
}
CodeCallback_PlayerLastStand( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8 )
{
self endon( "disconnect" );
[[ level.callbackPlayerLastStand ]]( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8 );
}
CodeCallback_PlayerMigrated()
{
self endon( "disconnect" );
[[ level.callbackPlayerMigrated ]]();
}
CodeCallback_HostMigration()
{
[[ level.callbackHostMigration ]]();
}
SetupDamageFlags()
{
level.iDFLAGS_RADIUS = 1;
level.iDFLAGS_NO_ARMOR = 2;
level.iDFLAGS_NO_KNOCKBACK = 4;
level.iDFLAGS_PENETRATION = 8;
level.iDFLAGS_STUN = 16;
level.iDFLAGS_SHIELD_EXPLOSIVE_IMPACT = 32;
level.iDFLAGS_SHIELD_EXPLOSIVE_IMPACT_HUGE = 64;
level.iDFLAGS_SHIELD_EXPLOSIVE_SPLASH = 128;
level.iDFLAGS_NO_TEAM_PROTECTION = 256;
level.iDFLAGS_NO_PROTECTION = 512;
level.iDFLAGS_PASSTHRU = 1024;
}
SetupCallbacks()
{
SetDefaultCallbacks();
SetupDamageFlags();
}
StartGameTypeWithDev()
{
maps\mp\gametypes\_gamelogic::Callback_StartGameType();
/#
maps\mp\gametypes\_dev::init();
#/
}
SetDefaultCallbacks()
{
level.callbackStartGameType = ::StartGameTypeWithDev;
level.callbackPlayerConnect = maps\mp\gametypes\_playerlogic::Callback_PlayerConnect;
level.callbackPlayerDisconnect = maps\mp\gametypes\_playerlogic::Callback_PlayerDisconnect;
level.callbackPlayerDamage = maps\mp\gametypes\_damage::Callback_PlayerDamage;
level.callbackPlayerKilled = maps\mp\gametypes\_damage::Callback_PlayerKilled;
level.callbackCodeEndGame = maps\mp\gametypes\_gamelogic::Callback_CodeEndGame;
level.callbackPlayerLastStand = maps\mp\gametypes\_damage::Callback_PlayerLastStand;
level.callbackPlayerMigrated = maps\mp\gametypes\_playerlogic::Callback_PlayerMigrated;
level.callbackHostMigration = maps\mp\gametypes\_hostmigration::Callback_HostMigration;
}
AbortLevel()
{
level.callbackStartGameType = ::callbackVoid;
level.callbackPlayerConnect = ::callbackVoid;
level.callbackPlayerDisconnect = ::callbackVoid;
level.callbackPlayerDamage = ::callbackVoid;
level.callbackPlayerKilled = ::callbackVoid;
level.callbackCodeEndGame = ::callbackVoid;
level.callbackPlayerLastStand = ::callbackVoid;
level.callbackPlayerMigrated = ::callbackVoid;
level.callbackHostMigration = ::callbackVoid;
setdvar( "g_gametype", "dm" );
exitlevel( 0 );
}
callbackVoid()
{
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,469 @@
// IW5 PC GSC
// Decompiled by https://github.com/xensik/gsc-tool
init()
{
game["music"]["spawn_allies"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "allies" ) + "spawn_music";
game["music"]["defeat_allies"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "allies" ) + "defeat_music";
game["music"]["victory_allies"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "allies" ) + "victory_music";
game["music"]["winning_allies"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "allies" ) + "winning_music";
game["music"]["losing_allies"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "allies" ) + "losing_music";
game["voice"]["allies"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "allies" ) + "1mc_";
game["music"]["spawn_axis"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "axis" ) + "spawn_music";
game["music"]["defeat_axis"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "axis" ) + "defeat_music";
game["music"]["victory_axis"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "axis" ) + "victory_music";
game["music"]["winning_axis"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "axis" ) + "winning_music";
game["music"]["losing_axis"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "axis" ) + "losing_music";
game["voice"]["axis"] = maps\mp\gametypes\_teams::getTeamVoicePrefix( "axis" ) + "1mc_";
game["music"]["losing_time"] = "mp_time_running_out_losing";
game["music"]["suspense"] = [];
game["music"]["suspense"][game["music"]["suspense"].size] = "mp_suspense_01";
game["music"]["suspense"][game["music"]["suspense"].size] = "mp_suspense_02";
game["music"]["suspense"][game["music"]["suspense"].size] = "mp_suspense_03";
game["music"]["suspense"][game["music"]["suspense"].size] = "mp_suspense_04";
game["music"]["suspense"][game["music"]["suspense"].size] = "mp_suspense_05";
game["music"]["suspense"][game["music"]["suspense"].size] = "mp_suspense_06";
game["dialog"]["mission_success"] = "mission_success";
game["dialog"]["mission_failure"] = "mission_fail";
game["dialog"]["mission_draw"] = "draw";
game["dialog"]["round_success"] = "encourage_win";
game["dialog"]["round_failure"] = "encourage_lost";
game["dialog"]["round_draw"] = "draw";
game["dialog"]["timesup"] = "timesup";
game["dialog"]["winning_time"] = "winning";
game["dialog"]["losing_time"] = "losing";
game["dialog"]["winning_score"] = "winning_fight";
game["dialog"]["losing_score"] = "losing_fight";
game["dialog"]["lead_lost"] = "lead_lost";
game["dialog"]["lead_tied"] = "tied";
game["dialog"]["lead_taken"] = "lead_taken";
game["dialog"]["last_alive"] = "lastalive";
game["dialog"]["boost"] = "boost";
if ( !isdefined( game["dialog"]["offense_obj"] ) )
game["dialog"]["offense_obj"] = "boost";
if ( !isdefined( game["dialog"]["defense_obj"] ) )
game["dialog"]["defense_obj"] = "boost";
game["dialog"]["hardcore"] = "hardcore";
game["dialog"]["highspeed"] = "highspeed";
game["dialog"]["tactical"] = "tactical";
game["dialog"]["challenge"] = "challengecomplete";
game["dialog"]["promotion"] = "promotion";
game["dialog"]["bomb_taken"] = "acheive_bomb";
game["dialog"]["bomb_lost"] = "bomb_taken";
game["dialog"]["bomb_defused"] = "bomb_defused";
game["dialog"]["bomb_planted"] = "bomb_planted";
game["dialog"]["obj_taken"] = "securedobj";
game["dialog"]["obj_lost"] = "lostobj";
game["dialog"]["obj_defend"] = "obj_defend";
game["dialog"]["obj_destroy"] = "obj_destroy";
game["dialog"]["obj_capture"] = "capture_obj";
game["dialog"]["objs_capture"] = "capture_objs";
game["dialog"]["hq_located"] = "hq_located";
game["dialog"]["hq_enemy_captured"] = "hq_captured";
game["dialog"]["hq_enemy_destroyed"] = "hq_destroyed";
game["dialog"]["hq_secured"] = "hq_secured";
game["dialog"]["hq_offline"] = "hq_offline";
game["dialog"]["hq_online"] = "hq_online";
game["dialog"]["move_to_new"] = "new_positions";
game["dialog"]["push_forward"] = "pushforward";
game["dialog"]["attack"] = "attack";
game["dialog"]["defend"] = "defend";
game["dialog"]["offense"] = "offense";
game["dialog"]["defense"] = "defense";
game["dialog"]["halftime"] = "halftime";
game["dialog"]["overtime"] = "overtime";
game["dialog"]["side_switch"] = "switching";
game["dialog"]["flag_taken"] = "ourflag";
game["dialog"]["flag_dropped"] = "ourflag_drop";
game["dialog"]["flag_returned"] = "ourflag_return";
game["dialog"]["flag_captured"] = "ourflag_capt";
game["dialog"]["flag_getback"] = "getback_ourflag";
game["dialog"]["enemy_flag_bringhome"] = "enemyflag_tobase";
game["dialog"]["enemy_flag_taken"] = "enemyflag";
game["dialog"]["enemy_flag_dropped"] = "enemyflag_drop";
game["dialog"]["enemy_flag_returned"] = "enemyflag_return";
game["dialog"]["enemy_flag_captured"] = "enemyflag_capt";
game["dialog"]["got_flag"] = "achieve_flag";
game["dialog"]["dropped_flag"] = "lost_flag";
game["dialog"]["enemy_got_flag"] = "enemy_has_flag";
game["dialog"]["enemy_dropped_flag"] = "enemy_dropped_flag";
game["dialog"]["capturing_a"] = "capturing_a";
game["dialog"]["capturing_b"] = "capturing_b";
game["dialog"]["capturing_c"] = "capturing_c";
game["dialog"]["captured_a"] = "capture_a";
game["dialog"]["captured_b"] = "capture_c";
game["dialog"]["captured_c"] = "capture_b";
game["dialog"]["securing_a"] = "securing_a";
game["dialog"]["securing_b"] = "securing_b";
game["dialog"]["securing_c"] = "securing_c";
game["dialog"]["secured_a"] = "secure_a";
game["dialog"]["secured_b"] = "secure_b";
game["dialog"]["secured_c"] = "secure_c";
game["dialog"]["losing_a"] = "losing_a";
game["dialog"]["losing_b"] = "losing_b";
game["dialog"]["losing_c"] = "losing_c";
game["dialog"]["lost_a"] = "lost_a";
game["dialog"]["lost_b"] = "lost_b";
game["dialog"]["lost_c"] = "lost_c";
game["dialog"]["enemy_taking_a"] = "enemy_take_a";
game["dialog"]["enemy_taking_b"] = "enemy_take_b";
game["dialog"]["enemy_taking_c"] = "enemy_take_c";
game["dialog"]["enemy_has_a"] = "enemy_has_a";
game["dialog"]["enemy_has_b"] = "enemy_has_b";
game["dialog"]["enemy_has_c"] = "enemy_has_c";
game["dialog"]["lost_all"] = "take_positions";
game["dialog"]["secure_all"] = "positions_lock";
game["dialog"]["destroy_sentry"] = "dest_sentrygun";
game["music"]["nuke_music"] = "nuke_music";
game["dialog"]["sentry_gone"] = "sentry_gone";
game["dialog"]["sentry_destroyed"] = "sentry_destroyed";
game["dialog"]["ti_gone"] = "ti_cancelled";
game["dialog"]["ti_destroyed"] = "ti_blocked";
game["dialog"]["ims_destroyed"] = "ims_destroyed";
game["dialog"]["lbguard_destroyed"] = "lbguard_destroyed";
game["dialog"]["ballistic_vest_destroyed"] = "ballistic_vest_destroyed";
game["dialog"]["remote_sentry_destroyed"] = "remote_sentry_destroyed";
game["dialog"]["sam_destroyed"] = "sam_destroyed";
game["dialog"]["sam_gone"] = "sam_gone";
level thread onPlayerConnect();
level thread onLastAlive();
level thread musicController();
level thread onGameEnded();
level thread onRoundSwitch();
}
onPlayerConnect()
{
for (;;)
{
level waittill( "connected", var_0 );
var_0 thread onPlayerSpawned();
var_0 thread finalKillcamMusic();
}
}
onPlayerSpawned()
{
self endon( "disconnect" );
self waittill( "spawned_player" );
if ( !level.splitscreen || level.splitscreen && !isdefined( level.playedStartingMusic ) )
{
if ( !self issplitscreenplayer() || self issplitscreenplayerprimary() )
self playlocalsound( game["music"]["spawn_" + self.team] );
if ( level.splitscreen )
level.playedStartingMusic = 1;
}
if ( isdefined( game["dialog"]["gametype"] ) && ( !level.splitscreen || self == level.players[0] ) )
{
if ( isdefined( game["dialog"]["allies_gametype"] ) && self.team == "allies" )
maps\mp\_utility::leaderDialogOnPlayer( "allies_gametype" );
else if ( isdefined( game["dialog"]["axis_gametype"] ) && self.team == "axis" )
maps\mp\_utility::leaderDialogOnPlayer( "axis_gametype" );
else if ( !self issplitscreenplayer() || self issplitscreenplayerprimary() )
maps\mp\_utility::leaderDialogOnPlayer( "gametype" );
}
maps\mp\_utility::gameFlagWait( "prematch_done" );
if ( self.team == game["attackers"] )
{
if ( !self issplitscreenplayer() || self issplitscreenplayerprimary() )
maps\mp\_utility::leaderDialogOnPlayer( "offense_obj", "introboost" );
}
else if ( !self issplitscreenplayer() || self issplitscreenplayerprimary() )
maps\mp\_utility::leaderDialogOnPlayer( "defense_obj", "introboost" );
}
onLastAlive()
{
level endon( "game_ended" );
level waittill( "last_alive", var_0 );
if ( !isalive( var_0 ) )
return;
var_0 maps\mp\_utility::leaderDialogOnPlayer( "last_alive" );
}
onRoundSwitch()
{
level waittill( "round_switch", var_0 );
switch ( var_0 )
{
case "halftime":
foreach ( var_2 in level.players )
{
if ( var_2 issplitscreenplayer() && !var_2 issplitscreenplayerprimary() )
continue;
var_2 maps\mp\_utility::leaderDialogOnPlayer( "halftime" );
}
break;
case "overtime":
foreach ( var_2 in level.players )
{
if ( var_2 issplitscreenplayer() && !var_2 issplitscreenplayerprimary() )
continue;
var_2 maps\mp\_utility::leaderDialogOnPlayer( "overtime" );
}
break;
default:
foreach ( var_2 in level.players )
{
if ( var_2 issplitscreenplayer() && !var_2 issplitscreenplayerprimary() )
continue;
var_2 maps\mp\_utility::leaderDialogOnPlayer( "side_switch" );
}
break;
}
}
onGameEnded()
{
level thread roundWinnerDialog();
level thread gameWinnerDialog();
level waittill( "game_win", var_0 );
if ( level.teamBased )
{
if ( level.splitscreen )
{
if ( var_0 == "allies" )
maps\mp\_utility::playSoundOnPlayers( game["music"]["victory_allies"], "allies" );
else if ( var_0 == "axis" )
maps\mp\_utility::playSoundOnPlayers( game["music"]["victory_axis"], "axis" );
else
maps\mp\_utility::playSoundOnPlayers( game["music"]["nuke_music"] );
}
else if ( var_0 == "allies" )
{
maps\mp\_utility::playSoundOnPlayers( game["music"]["victory_allies"], "allies" );
maps\mp\_utility::playSoundOnPlayers( game["music"]["defeat_axis"], "axis" );
}
else if ( var_0 == "axis" )
{
maps\mp\_utility::playSoundOnPlayers( game["music"]["victory_axis"], "axis" );
maps\mp\_utility::playSoundOnPlayers( game["music"]["defeat_allies"], "allies" );
}
else
maps\mp\_utility::playSoundOnPlayers( game["music"]["nuke_music"] );
}
else
{
foreach ( var_2 in level.players )
{
if ( var_2 issplitscreenplayer() && !var_2 issplitscreenplayerprimary() )
continue;
if ( var_2.pers["team"] != "allies" && var_2.pers["team"] != "axis" )
{
var_2 playlocalsound( game["music"]["nuke_music"] );
continue;
}
if ( isdefined( var_0 ) && isplayer( var_0 ) && var_2 == var_0 )
{
var_2 playlocalsound( game["music"]["victory_" + var_2.pers["team"]] );
continue;
}
if ( !level.splitscreen )
var_2 playlocalsound( game["music"]["defeat_" + var_2.pers["team"]] );
}
}
}
roundWinnerDialog()
{
level waittill( "round_win", var_0 );
var_1 = level.roundEndDelay / 4;
if ( var_1 > 0 )
wait(var_1);
if ( !isdefined( var_0 ) || isplayer( var_0 ) )
return;
if ( var_0 == "allies" )
{
maps\mp\_utility::leaderDialog( "round_success", "allies" );
maps\mp\_utility::leaderDialog( "round_failure", "axis" );
}
else if ( var_0 == "axis" )
{
maps\mp\_utility::leaderDialog( "round_success", "axis" );
maps\mp\_utility::leaderDialog( "round_failure", "allies" );
}
}
gameWinnerDialog()
{
level waittill( "game_win", var_0 );
var_1 = level.postRoundTime / 2;
if ( var_1 > 0 )
wait(var_1);
if ( !isdefined( var_0 ) || isplayer( var_0 ) )
return;
if ( var_0 == "allies" )
{
maps\mp\_utility::leaderDialog( "mission_success", "allies" );
maps\mp\_utility::leaderDialog( "mission_failure", "axis" );
}
else if ( var_0 == "axis" )
{
maps\mp\_utility::leaderDialog( "mission_success", "axis" );
maps\mp\_utility::leaderDialog( "mission_failure", "allies" );
}
else
maps\mp\_utility::leaderDialog( "mission_draw" );
}
// Plutonium change: allow gametype scripts to define custom logic to determine
// which team is winning
playTeamBasedScoreNotification()
{
winningTeam = "";
if (isDefined(level.determineWinningTeam))
{
winningTeam = [[ level.determineWinningTeam ]]();
assert(winningTeam == "allies" || winningTeam == "axis" || winningTeam == "tie", "Bad level.determineWinningTeam! " + winningTeam);
}
else
{
if ( game["teamScores"]["allies"] > game["teamScores"]["axis"] )
{
winningTeam = "allies";
}
else if ( game["teamScores"]["axis"] > game["teamScores"]["allies"] )
{
winningTeam = "axis";
}
}
if ( winningTeam == "allies" )
{
if ( !level.hardcoreMode )
{
maps\mp\_utility::playSoundOnPlayers( game["music"]["winning_allies"], "allies" );
maps\mp\_utility::playSoundOnPlayers( game["music"]["losing_axis"], "axis" );
}
maps\mp\_utility::leaderDialog( "winning_time", "allies" );
maps\mp\_utility::leaderDialog( "losing_time", "axis" );
}
else if ( winningTeam == "axis" )
{
if ( !level.hardcoreMode )
{
maps\mp\_utility::playSoundOnPlayers( game["music"]["winning_axis"], "axis" );
maps\mp\_utility::playSoundOnPlayers( game["music"]["losing_allies"], "allies" );
}
maps\mp\_utility::leaderDialog( "winning_time", "axis" );
maps\mp\_utility::leaderDialog( "losing_time", "allies" );
}
}
musicController()
{
level endon( "game_ended" );
if ( !level.hardcoreMode )
thread suspenseMusic();
level waittill( "match_ending_soon", var_0 );
if ( maps\mp\_utility::getWatchedDvar( "roundlimit" ) == 1 || game["roundsPlayed"] == maps\mp\_utility::getWatchedDvar( "roundlimit" ) - 1 )
{
if ( !level.splitscreen )
{
if ( var_0 == "time" )
{
if ( level.teamBased )
{
playTeamBasedScoreNotification();
}
else
{
if ( !level.hardcoreMode )
maps\mp\_utility::playSoundOnPlayers( game["music"]["losing_time"] );
maps\mp\_utility::leaderDialog( "timesup" );
}
}
else if ( var_0 == "score" )
{
if ( level.teamBased )
{
playTeamBasedScoreNotification();
}
else
{
var_1 = maps\mp\gametypes\_gamescore::getHighestScoringPlayer();
var_2 = maps\mp\gametypes\_gamescore::getLosingPlayers();
var_3[0] = var_1;
if ( !level.hardcoreMode )
{
var_1 playlocalsound( game["music"]["winning_" + var_1.pers["team"]] );
foreach ( var_5 in level.players )
{
if ( var_5 == var_1 )
continue;
var_5 playlocalsound( game["music"]["losing_" + var_5.pers["team"]] );
}
}
var_1 maps\mp\_utility::leaderDialogOnPlayer( "winning_score" );
maps\mp\_utility::leaderDialogOnPlayers( "losing_score", var_2 );
}
}
level waittill( "match_ending_very_soon" );
maps\mp\_utility::leaderDialog( "timesup" );
}
}
else
{
if ( !level.hardcoreMode )
maps\mp\_utility::playSoundOnPlayers( game["music"]["losing_allies"] );
maps\mp\_utility::leaderDialog( "timesup" );
}
}
suspenseMusic()
{
level endon( "game_ended" );
level endon( "match_ending_soon" );
var_0 = game["music"]["suspense"].size;
wait 120;
for (;;)
{
wait(randomfloatrange( 60, 120 ));
maps\mp\_utility::playSoundOnPlayers( game["music"]["suspense"][randomint( var_0 )] );
}
}
finalKillcamMusic()
{
self waittill( "showing_final_killcam" );
}

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More