r3321
2
Updater.bat
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
@echo off
|
||||||
|
.\plutonium.exe -install-dir "%cd%" -update-only
|
BIN
bin/AppCore.dll
Normal file
BIN
bin/Ultralight.dll
Normal file
BIN
bin/UltralightCore.dll
Normal file
BIN
bin/WebCore.dll
Normal file
BIN
bin/discord_game_sdk.dll
Normal file
BIN
bin/plutonium-bootstrapper-win32.exe
Normal file
BIN
bin/plutonium-launcher-win32.exe
Normal file
1
config.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"iw5Path":"","t4Path":"","t5Path":"","t6Path":"","token":""}
|
BIN
games/iw5mp.exe
Normal file
BIN
games/iw5sp.exe
Normal file
BIN
games/t4mp.exe
Normal file
BIN
games/t4sp.exe
Normal file
BIN
games/t5mp.exe
Normal file
BIN
games/t5sp.exe
Normal file
BIN
games/t6mp.exe
Normal file
BIN
games/t6zm.exe
Normal file
1
info.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"revision":3321,"launchTarget":"bin/plutonium-launcher-win32.exe"}
|
1
launcher/assets/css/app.5b0a1e7d.css
Normal file
1
launcher/assets/css/auth.4a6b27be.css
Normal 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}
|
1
launcher/assets/css/chunk-4f6208b2.def6a674.css
Normal 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)}
|
1
launcher/assets/css/chunk-520ec366.3f565a45.css
Normal 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}
|
1
launcher/assets/css/chunk-59eb3327.48ed8008.css
Normal 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}
|
1
launcher/assets/css/chunk-d15685cc.29ddedaf.css
Normal file
1
launcher/assets/css/games.b0791aa4.css
Normal 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}
|
BIN
launcher/assets/img/avatar-default.849d500f.jpg
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
launcher/assets/img/iw5.fa555ecb.jpg
Normal file
After Width: | Height: | Size: 1018 KiB |
BIN
launcher/assets/img/iw5_icon.804ee006.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
launcher/assets/img/iw5_logo.9bd3a45d.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
launcher/assets/img/login_bg.62db7e11.png
Normal file
After Width: | Height: | Size: 2.8 MiB |
BIN
launcher/assets/img/t4mp.e77924d1.jpg
Normal file
After Width: | Height: | Size: 271 KiB |
BIN
launcher/assets/img/t4mp_icon.84a265b7.png
Normal file
After Width: | Height: | Size: 154 KiB |
BIN
launcher/assets/img/t4mp_logo.59e4aebd.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
launcher/assets/img/t4sp.20d70303.jpg
Normal file
After Width: | Height: | Size: 378 KiB |
BIN
launcher/assets/img/t4sp_icon.1e1987d8.png
Normal file
After Width: | Height: | Size: 272 KiB |
BIN
launcher/assets/img/t4sp_logo.3b95821f.png
Normal file
After Width: | Height: | Size: 75 KiB |
BIN
launcher/assets/img/t5mp.a4c26415.jpg
Normal file
After Width: | Height: | Size: 497 KiB |
BIN
launcher/assets/img/t5mp_icon.215e7d94.png
Normal file
After Width: | Height: | Size: 67 KiB |
BIN
launcher/assets/img/t5mp_logo.ab399f8f.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
launcher/assets/img/t5sp.463f63af.jpg
Normal file
After Width: | Height: | Size: 881 KiB |
BIN
launcher/assets/img/t5sp_icon.f951b0ce.png
Normal file
After Width: | Height: | Size: 256 KiB |
BIN
launcher/assets/img/t5sp_logo.923e4106.png
Normal file
After Width: | Height: | Size: 61 KiB |
BIN
launcher/assets/img/t6mp.bf54e437.jpg
Normal file
After Width: | Height: | Size: 770 KiB |
BIN
launcher/assets/img/t6mp_logo.e4fc734b.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
launcher/assets/img/t6zm.6ff8e1f7.jpg
Normal file
After Width: | Height: | Size: 1.8 MiB |
BIN
launcher/assets/img/t6zm_icon.992fa331.png
Normal file
After Width: | Height: | Size: 392 KiB |
BIN
launcher/assets/img/t6zm_logo.6935c7f4.png
Normal file
After Width: | Height: | Size: 65 KiB |
11
launcher/assets/index.html
Normal 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>
|
2
launcher/assets/js/app.454f4f9e.js
Normal file
2
launcher/assets/js/auth.688202d0.js
Normal 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
|
2
launcher/assets/js/chunk-4f6208b2.22635986.js
Normal 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
|
2
launcher/assets/js/chunk-520ec366.59e39e11.js
Normal 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
|
2
launcher/assets/js/chunk-59eb3327.5536132d.js
Normal 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
|
2
launcher/assets/js/chunk-d15685cc.589056ed.js
Normal 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
|
19
launcher/assets/js/chunk-vendors.d77b8b8e.js
Normal file
2
launcher/assets/js/games.2559cd9a.js
Normal 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
|
1
launcher/assets/manifest.json
Normal 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"}
|
41
launcher/assets/nix-bridge.js
Normal 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();
|
||||||
|
}
|
@ -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"
|
||||||
|
}
|
||||||
|
]);
|
2
launcher/assets/robots.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
User-agent: *
|
||||||
|
Disallow:
|
34
launcher/assets/service-worker.js
Normal 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
BIN
storage/demonware/18301/pub/online_tu14_mp_english.wad
Normal file
BIN
storage/demonware/18301/pub/online_tu14_sp_english.wad
Normal file
BIN
storage/demonware/18397/pub/ffotd_tu13_mp_147.ff.00
Normal file
BIN
storage/demonware/18397/pub/ffotd_tu13_zm_147.ff.00
Normal file
BIN
storage/demonware/18397/pub/largeheatmap.raw
Normal file
BIN
storage/demonware/18397/pub/lsssk0
Normal file
BIN
storage/demonware/18397/pub/lsssk1
Normal file
BIN
storage/demonware/18397/pub/online_tu13_mp.wad
Normal file
BIN
storage/demonware/18397/pub/online_tu13_zm.wad
Normal file
BIN
storage/demonware/18409/pub/heatmap.raw
Normal file
BIN
storage/demonware/18409/pub/iotd-english.jpg
Normal file
After Width: | Height: | Size: 31 KiB |
1
storage/demonware/18409/pub/iotd-english.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Welcome to Plutonium IW5!
|
1
storage/demonware/18409/pub/motd-english.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Welcome to Plutonium IW5!
|
BIN
storage/demonware/18409/pub/online_mp.img
Normal file
BIN
storage/demonware/18409/pub/online_tu14_mp_english.wad
Normal file
BIN
storage/demonware/18409/pub/playlists_tu21.aggr
Normal file
55
storage/demonware/18409/pub/social_tu21.cfg
Normal 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
|
72
storage/iw5/default_mp_controls.cfg
Normal 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"
|
0
storage/iw5/demo/.gitkeep
Normal file
BIN
storage/iw5/images/background_image.iwi
Normal file
BIN
storage/iw5/images/background_image_blur_less.iwi
Normal file
BIN
storage/iw5/images/cardicon_plutonium.iwi
Normal file
BIN
storage/iw5/images/gamefonts_gamepad.iwi
Normal file
BIN
storage/iw5/images/gamefonts_gamepad_ps3.iwi
Normal file
BIN
storage/iw5/images/loadscreen_mp_deltacamp.iwi
Normal file
BIN
storage/iw5/images/menu_background.iwi
Normal file
BIN
storage/iw5/images/mtl_weapon_ak74u_black_col.iwi
Normal file
BIN
storage/iw5/images/navbar_selection_bar.iwi
Normal file
BIN
storage/iw5/images/plutonium_logo.iwi
Normal file
BIN
storage/iw5/images/preview_mp_deltacamp.iwi
Normal file
BIN
storage/iw5/images/pumpkin_texture.iwi
Normal file
BIN
storage/iw5/images/~weapon_ak47_iw5_spc-rgb&weap~fa48e615.iwi
Normal file
135
storage/iw5/maps/mp/gametypes/_callbacksetup.gsc
Normal 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()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
2430
storage/iw5/maps/mp/gametypes/_class.gsc
Normal file
3128
storage/iw5/maps/mp/gametypes/_dev.gsc
Normal file
2676
storage/iw5/maps/mp/gametypes/_gamelogic.gsc
Normal file
469
storage/iw5/maps/mp/gametypes/_music_and_dialog.gsc
Normal 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" );
|
||||||
|
}
|