diff --git a/CHANGELOG.md b/CHANGELOG.md index f2c525c..fbd2bdf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,4 +14,21 @@ Added null check for pixi sprite calculateverticies because it sometimes makes a DPI is now taken into account when resizing. Added credits to mission modal. Added ability to go fullscreen. -Missions JSON moved to translations submodule so missions can be added/enabled without disturbing main project. \ No newline at end of file +Missions JSON moved to translations submodule so missions can be added/enabled without disturbing main project. + +## V1.2.1 (2018-12-29) + +Custom asset support +Russian language support +Fix translation fallback + +## V1.2.2 (2019-01-20) + +Add language url parameter +Fix noise\_disappearance commands + +## V1.3.0 (2019-05-13) + +Macro support +Webpack distribution +ES6 modules diff --git a/Js/BgmLoop.json b/Js/BgmLoop.json index 1e0aaa2..72cc64c 100644 --- a/Js/BgmLoop.json +++ b/Js/BgmLoop.json @@ -363,6 +363,19 @@ "seconds": 20.034 } }, + "music_axia_no_kaze": { + "duration": 227.14678125, + "loop_end": { + "samples_48k": 10902963, + "samples_native": 7268642, + "seconds": 227.1450625 + }, + "loop_start": { + "samples_48k": 7334256, + "samples_native": 4889504, + "seconds": 152.797 + } + }, "music_beyond_the_blade": { "duration": 107.07978125, "loop_end": { diff --git a/Js/Main.js b/Js/Main.js index 45cf4c6..8c35060 100644 --- a/Js/Main.js +++ b/Js/Main.js @@ -23,7 +23,7 @@ const textFunc = new TextFunctions(); let audio = undefined; //Cant create a audio context without user input. const player = new Player(pixiApp, utage, textFunc, audio, shaders); const languages = ["eng", "jpn", "rus"]; -const version = "YameteTomete XDUPlayer V1.2.1"; +const version = "YameteTomete XDUPlayer V1.3.0"; let bodyLoaded = false; let utageLoaded = false; let languagesLoaded = false; @@ -72,7 +72,7 @@ function onBodyLoaded() { (function checkIsLoaded() { if(bodyLoaded) { document.getElementById('loading-font').style.cssText = "display: none;"; - loadQueryParameters(); + checkQueryParameters(); loadLocalStorage(); } if(utageLoaded && languagesLoaded) { @@ -96,6 +96,7 @@ function onAllLoaded(success) { document.getElementById('parent-container').style.cssText = "opacity: 1;"; onWindowResize(); window.addEventListener("resize", onWindowResize); + checkQueryParameters(); }, 0); } @@ -171,14 +172,13 @@ function buildLanguageList() { selectBox.value = selectedLang; } -function loadQueryParameters() { +function checkQueryParameters() { urlParams = commonFunctions.readQueryParameters(); if(urlParams['mstid'] && urlParams['id'] && utage.groupedMissions[urlParams['mstid']] && utage.groupedMissions[urlParams['mstid']].Missions[urlParams['id']]) { document.getElementById('play-from-query').style.cssText = "position: fixed; z-index: 15; text-align: center; top: 50%; left: 50%; display: block;"; } } - function playFromQuery(event) { missionChanged(urlParams['mstid'], urlParams['id']); document.getElementById('play-from-query').style.cssText = "display: none;"; diff --git a/Js/Player.js b/Js/Player.js index a6873e0..872ac84 100644 --- a/Js/Player.js +++ b/Js/Player.js @@ -561,7 +561,7 @@ class Player { this.lerpTargets.push({type: 'alpha', object: sprite, curTime: 0, time: 300, finalV: 1, initV: 0}); this.lerpTargets.push({type: 'alpha', object: sprite, curTime: -(this.waitTime+500), time: 300, finalV: 0, initV: 1, post: "destroy"}); } catch (error) { } - let text = cur.English ? (this.utage.translations[cur.English] || cur.Text) : cur.Text; + let text = cur.English ? (this.utage.translations ? (this.utage.translations[cur.English] || cur.Text) : cur.Text) : cur.Text; this.text.titleText(true, text); break; } @@ -570,7 +570,7 @@ class Player { break; case "divaeffect": { this.waitTime = Number(cur.Arg5) * 1000; - let text = cur.English ? (this.utage.translations[cur.English] || cur.Text) : cur.Text; + let text = cur.English ? (this.utage.translations ? (this.utage.translations[cur.English] || cur.Text) : cur.Text) : cur.Text; this.text.divaText(true, text); break; } @@ -808,7 +808,6 @@ class Player { } break; } - case "darkaura01": //312000111 this.audio.stopSound('Se_不幸のオーラ(ヴォォオンン)'); this.audio.playSound('Se_不幸のオーラ(ヴォォオンン)', 'Se'); @@ -1015,7 +1014,7 @@ class Player { } } - processTryRemoveChar(character) { + processTryRemoveChar(character, fadeTime) { let curChar = undefined; for(let c of Object.keys(this.currentCharacters)) { if(!this.currentCharacters[c]) { continue; } @@ -1026,7 +1025,10 @@ class Player { if(!curChar) { return; } - this.lerpTargets.push({type: 'alpha', object: curChar.sprite, curTime: 0, time: 500, finalV: 0, initV: 1, post: "destroy" }); + if(fadeTime == undefined) { + fadeTime = 500; + } + this.lerpTargets.push({type: 'alpha', object: curChar.sprite, curTime: 0, time: fadeTime, finalV: 0, initV: 1, post: "destroy" }); this.currentCharacters[curChar.layer.info.LayerName] = undefined; } @@ -1036,8 +1038,8 @@ class Player { this.audio.stopSound(this.playingVoice); } if(!cur.Command && cur.Arg1 && cur.Text) { - //If its chracter off screen text - let text = cur.English ? (this.utage.translations[cur.English] || cur.Text) : cur.Text; + //If its character off screen text + let text = cur.English ? (this.utage.translations ? (this.utage.translations[cur.English] || cur.Text) : cur.Text) : cur.Text; text = commonFunctions.convertUtageTextTags(text); if(cur.Arg2 && cur.Arg2.toLowerCase() === "") { this.text.characterName(true, this.utage.charTranslations[cur.Arg1] || cur.Arg1); @@ -1074,7 +1076,7 @@ class Player { this.manualNext = true; //Sometimes they don't give a Arg1 for the text. } else if(!cur.Command && cur.Arg2.toLowerCase() === "" && cur.Text) { - let text = cur.English ? (this.utage.translations[cur.English] || cur.Text) : cur.Text; + let text = cur.English ? (this.utage.translations ? (this.utage.translations[cur.English] || cur.Text) : cur.Text) : cur.Text; this.text.characterName(true, ""); this.text.dialogText(true, commonFunctions.convertUtageTextTags(text)); this.manualNext = true; diff --git a/Js/Translations b/Js/Translations index 533c483..dc15df9 160000 --- a/Js/Translations +++ b/Js/Translations @@ -1 +1 @@ -Subproject commit 533c48371ed01ed7265b6b5f052d1b2c3fce940f +Subproject commit dc15df970a33c34dd53654fb77ce775ee9e3f051 diff --git a/package.json b/package.json index 42ed705..154b4b3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "XduPlayer", - "version": "1.0.0", + "version": "1.3.0", "private": true, "license": "MIT", "scripts": {