prison-brave/js/plugins/AudioAdjust.js
2025-08-28 10:38:20 -05:00

131 lines
4.5 KiB
JavaScript

//=============================================================================
// RPG Maker MZ - AudioAdjust
//
// Copyright 2024 Panzer-IV. All rights reserved.
// This source code or any portion thereof must not be
// reproduced or used without licensed in any manner whatsoever.
//=============================================================================
/*:
* @target MZ
* @plugindesc 音声調節プラグイン
* @author 四号戦車
* @base PluginCommonBase
* @base DebugSwitch
* @base TextResource
* @base PluginUtils
* @orderAfter PluginCommonBase
* @orderAfter DebugSwitch
* @orderAfter TextResource
* @orderAfter PluginUtils
*
* @help AudioAdjust.js
*
* Version: 0.0.3
*
* ME/BGS/BGMをパラレルに鳴らしたり、全体音量調節をするプラグイン
*
*/
(() => {
"use strict";
//========================================================================
// プラグイン定義
//========================================================================
const pluginName = "AudioAdjust";
const script = document.currentScript;
const param = PluginManagerEx.createParameter(script);
//========================================================================
// コアスクリプト変更部 (AudioManager)
//========================================================================
AudioManager._bgmVolume = 20;
AudioManager._bgsVolume = 60;
AudioManager._meVolume = 100;
AudioManager._seVolume = 60;
const _AudioManager_playSe = AudioManager.playSe;
AudioManager.playSe = function(audio) {
const adjust = 1.0;
if (!!audio) {
const adjusted = {
name: audio.name,
volume: (audio.volume * adjust),
pitch: audio.pitch,
pan: audio.pan,
pos: audio.pos,
};
_AudioManager_playSe.apply(this, [ adjusted ]);
} else {
_AudioManager_playSe.apply(this, arguments);
}
};
const _AudioManager_playMe = AudioManager.playMe;
AudioManager.playMe = function(audio) {
const adjust = 1.0;
if (!!audio) {
const adjusted = {
name: audio.name,
volume: (audio.volume * adjust),
pitch: audio.pitch,
pan: audio.pan,
pos: audio.pos,
};
this.stopMe();
this._meBuffer = this.createBuffer("me/", audio.name);
this.updateMeParameters(adjusted);
this._meBuffer.play(false);
this._meBuffer.addStopListener(this.stopMe.bind(this));
} else {
this.stopMe();
}
};
const _AudioManager_playBgs = AudioManager.playBgs;
AudioManager.playBgs = function(audio, pos) {
const adjust = 1.0;
if (!!audio && $gameSystem._bgsOnSave) {
const adjusted = {
name: audio.name,
volume: (audio.volume * adjust),
pitch: audio.pitch,
pan: audio.pan,
pos: audio.pos,
};
_AudioManager_playBgs.apply(this, [ adjusted, pos ]);
} else {
_AudioManager_playBgs.apply(this, arguments);
}
};
const _AudioManager_playBgm = AudioManager.playBgm;
AudioManager.playBgm = function(audio, pos) {
if (!!audio && audio !== $gameSystem._savedBgm && audio !== $gameSystem._bgmOnSave) {
const adjust = 1.0;
const adjusted = {
name: audio.name,
volume: (audio.volume * adjust),
pitch: audio.pitch,
pan: audio.pan,
pos: audio.pos,
};
_AudioManager_playBgm.apply(this, [ adjusted, pos ]);
} else {
_AudioManager_playBgm.apply(this, arguments);
}
};
//========================================================================
// 定数定義 ()
//========================================================================
//========================================================================
// クラス定義 ()
//========================================================================
//========================================================================
// プラグインコマンド
//========================================================================
})();