2125 lines
63 KiB
JavaScript
2125 lines
63 KiB
JavaScript
//=============================================================================
|
||
// Nore_Tachie.js
|
||
//=============================================================================
|
||
/*:ja
|
||
* @target MZ
|
||
* @author ル
|
||
* @plugindesc 立ち絵を簡単に表示するプラグインです。別途画像が必要です
|
||
*
|
||
* @param disablesTachieActorIdList
|
||
* @desc 立ち絵を使わないアクターの ID のリストです。(カンマ区切り。 1, 2, 3...)無駄な読み込みをしないための設定です。
|
||
* @default 0
|
||
*
|
||
* @param leftPosX
|
||
* @desc 左側に立つ場合のx座標です
|
||
* @default 0
|
||
*
|
||
* @param rightPosX
|
||
* @desc 右側に立つ場合のx座標です
|
||
* @type number
|
||
* @default 800
|
||
*
|
||
* @param centerPosX
|
||
* @desc 中央に立つ場合のx座標です
|
||
* @type number
|
||
* @default 200
|
||
*
|
||
*
|
||
* @param posY
|
||
* @desc 全員のy座標です
|
||
* @type number
|
||
* @default 0
|
||
*
|
||
* @param actor1offset
|
||
* @desc アクター1のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor2offset
|
||
* @desc アクター2のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor3offset
|
||
* @desc アクター3のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor4offset
|
||
* @desc アクター4のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor5offset
|
||
* @desc アクター5のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor6offset
|
||
* @desc アクター6のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor7offset
|
||
* @desc アクター7のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor8offset
|
||
* @desc アクター8のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor9offset
|
||
* @desc アクター9のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor10offset
|
||
* @desc アクター10のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor11offset
|
||
* @desc アクター11のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor12offset
|
||
* @desc アクター12のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor13offset
|
||
* @desc アクター13のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor14offset
|
||
* @desc アクター14のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor15offset
|
||
* @desc アクター15のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor16offset
|
||
* @desc アクター16のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor17offset
|
||
* @desc アクター17のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor18offset
|
||
* @desc アクター18のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor19offset
|
||
* @desc アクター19のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor20offset
|
||
* @desc アクター20のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor21offset
|
||
* @desc アクター21のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor22offset
|
||
* @desc アクター22のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor23offset
|
||
* @desc アクター23のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param actor24offset
|
||
* @desc アクター24のキャラのx座標,y座標の補正値です
|
||
* @default 0, 0
|
||
*
|
||
* @param skipKey
|
||
* @desc メッセージスキップに使うボタンです。tab, shift, control, pageup, pagedown などが使えます。
|
||
* @default control
|
||
*
|
||
* @param windowHideKey
|
||
* @desc ウィンドウ消去に使うボタンです。tab, shift, control, pageup, pagedown などが使えます。
|
||
* @default shift
|
||
*
|
||
* @param inactiveActorTone
|
||
* @desc 喋っていない方のキャラの Tone です
|
||
* @default -80, -80, -80, 0
|
||
*
|
||
* @param toneChangeDuration
|
||
* @desc 喋っていない方のキャラの Tone を変える時の時間です
|
||
* @default 25
|
||
*
|
||
* @param windowMargin
|
||
* @desc メッセージウィンドウの表示位置の空きです。上、右、下、左の順です
|
||
* @default 0, 0, 0, 0
|
||
*
|
||
* @param windowPadding
|
||
* @desc メッセージウィンドウの文字と枠の空きです。上、右、下、左の順です
|
||
* @default 0, 0, 0, 0
|
||
*
|
||
* @command showLeft
|
||
* @text 左に表示
|
||
* @des 左に表示
|
||
* @arg actorId
|
||
* @type number
|
||
* @text actorId
|
||
* @desc actorId
|
||
*
|
||
* @command showRight
|
||
* @text 右に表示
|
||
* @des 右に表示
|
||
* @arg actorId
|
||
* @type number
|
||
* @text actorId
|
||
* @desc actorId
|
||
*
|
||
* @command hoppe
|
||
* @text ほっぺ
|
||
* @des ほっぺ
|
||
* @arg actorId
|
||
* @type number
|
||
* @text actorId
|
||
* @desc actorId
|
||
* @arg hoppeId
|
||
* @type number
|
||
* @text hoppeId
|
||
* @desc hoppeId
|
||
*
|
||
* @command face
|
||
* @text 表情
|
||
* @des 表情
|
||
* @arg actorId
|
||
* @type number
|
||
* @text actorId
|
||
* @desc actorId
|
||
* @arg faceId
|
||
* @type number
|
||
* @text faceId
|
||
* @desc faceId
|
||
*
|
||
* @help
|
||
* Ver
|
||
*
|
||
* 左側に立つキャラは、pictureId 11 のピクチャで表示しているので、
|
||
* イベントコマンドで pictureId 11 を対象とすることで操作できます。
|
||
*
|
||
* 同様に、右側に立つキャラは、pictureId 12
|
||
*
|
||
* ■画像の設定方法
|
||
* img/tachie フォルダを使います。
|
||
* ここに、全キャラ分の立ち絵画像を入れてください。
|
||
* ※「未使用ファイルを含まない」には非対応なので、
|
||
* 手動でコピーしてください。
|
||
*
|
||
* 以下、アクター1の場合の例です。
|
||
*p
|
||
* actor01_<<表情ID>>.png
|
||
* →表情
|
||
* actor01_body_<<ポーズID>>.png
|
||
* →体
|
||
* actor01_face_<<ポーズID>>.png
|
||
* →後ろ髪
|
||
* actor01_hair_<<ポーズID>>.png
|
||
* →頭
|
||
* actor01_hoppe.png
|
||
* →ほっぺ
|
||
* actor01_in_<<衣装ID>>_bottom.png
|
||
* →パンツ
|
||
* actor01_in_<<衣装ID>>_top.png
|
||
* →ブラ
|
||
* actor01_out_<<衣装ID>>_front_<<ポーズID>>.png
|
||
* actor01_out_<<衣装ID>>_main_<<ポーズID>>.png
|
||
* actor01_out_<<衣装ID>>_back_<<ポーズID>>.png
|
||
* →上着
|
||
*
|
||
* 必要ない場合でも、画像をよみに行ってエラーになる場合があります。
|
||
* その場合、透明な画像を入れておいてください。
|
||
*
|
||
*
|
||
*
|
||
* プラグインコマンド
|
||
* Tachie showLeft actorId x y opacity # 立ち絵を左側に表示する
|
||
* Tachie showRight actorId x y opacity # 立ち絵を右側に表示する
|
||
* Tachie showCenter actorId x y opacity # 立ち絵を中央に表示する
|
||
* Tachie hideLeft # 左側の立ち絵を非表示にする
|
||
* Tachie hideRight # 右側の立ち絵を非表示にする
|
||
* Tachie hideCenter # 中央の立ち絵を非表示にする
|
||
* Tachie face actorId faceId # アクターの表情を変更する
|
||
* Tachie pose actorId poseId # アクターのポーズを変更する
|
||
* Tachie hoppe actorId hoppeId # アクターのほっぺを変更する
|
||
* Tachie outer actorId cosId # アクターのアウターを変更する
|
||
* Tachie innerTop actorId cosId # アクターのブラを変更する
|
||
* Tachie innerBottom actorId cosId # アクターのパンツを変更する
|
||
* Tachie preload actorId # アクターの現在のコスを事前に読み込んでおく
|
||
* Tachie preloadFaces actorId 1 2 3... # アクターの表情を事前に読み込んでおく
|
||
* Tachie notClose on # ウィンドウを閉じないようにする
|
||
* Tachie notClose off # ↑を解除する
|
||
* Tachie showName hoge # 名前欄に hoge を表示する
|
||
* Tachie hideName # 名前欄を非表示にする
|
||
* Tachie clear # 立ち絵を全て非表示にする
|
||
* Tachie hideBalloon # 一時的に吹き出しを非表示にする
|
||
* Tachie deactivateAll # すべてのキャラを暗くします
|
||
*
|
||
* @command activateAll
|
||
*
|
||
* @requiredAssets img/tachie/actor01.json
|
||
* @requiredAssets img/tachie/actor01.webp
|
||
* @requiredAssets img/tachie/actor05.json
|
||
* @requiredAssets img/tachie/actor05.webp
|
||
* @requiredAssets audio/se/Chime2.ogg
|
||
* @requiredAssets audio/se/Jump1.ogg
|
||
*
|
||
* @license
|
||
* Nore_Tachie licensed under the MIT License.
|
||
*/
|
||
var Nore;
|
||
(function (Nore) {
|
||
var Tachie;
|
||
(function (Tachie) {
|
||
var parameters = PluginManager.parameters("Nore_Tachie");
|
||
Tachie.LEFT_POS_X = parseInt(parameters["leftPosX"]);
|
||
Tachie.RIGHT_POS_X = parseInt(parameters["rightPosX"]);
|
||
Tachie.CENTER_POS_X = parseInt(parameters["centerPosX"]);
|
||
var POS_Y = parseInt(parameters["posY"]);
|
||
var INACTIVE_ACTOR_TONE = Nore.toIntArrayByStr(
|
||
parameters["inactiveActorTone"],
|
||
4
|
||
);
|
||
var DISALVED_ACTOR_ID_LIST = Nore.toIntArrayByStr(
|
||
parameters["disablesctorIdList"]
|
||
);
|
||
var TONE_CHANGE_DURATION = parseInt(parameters["toneChangeDuration"]);
|
||
Tachie.offset = {};
|
||
for (var i = 1; i <= 24; i++) {
|
||
if (parameters["actor" + i + "offset"]) {
|
||
var offset1 = String(parameters["actor" + i + "offset"]).split(",");
|
||
var x = parseInt(offset1[0] || "0");
|
||
var y = parseInt(offset1[1] || "0");
|
||
if (isNaN(x)) {
|
||
x = 0;
|
||
}
|
||
if (isNaN(y)) {
|
||
y = 0;
|
||
}
|
||
Tachie.offset[i] = new PIXI.Point(x, y);
|
||
}
|
||
}
|
||
var OFFSET_Y = -100;
|
||
var AUTO_MODE_DELAY_COMMON = Nore.parseIntValue(
|
||
parameters["autoModeDelayCommon"],
|
||
2500
|
||
);
|
||
var AUTO_MODE_DELAY_PER_CHAR = Nore.parseIntValue(
|
||
parameters["autoModeDelayPerChar"],
|
||
120
|
||
);
|
||
var AUTO_MODE_MARK_TOTAL_FRAME = parseInt(
|
||
parameters["autoModeMarkFrameNum"]
|
||
);
|
||
var AUTO_MODE_MARK_X = parseInt(parameters["autoModeMarkX"]);
|
||
var AUTO_MODE_MARK_Y = parseInt(parameters["autoModeMarkY"]);
|
||
var DEFAULT_PICTURE_ID1 = 11; // 左
|
||
var DEFAULT_PICTURE_ID2 = 14; // 右
|
||
var DEFAULT_PICTURE_ID3 = 13; // センター
|
||
var DEFAULT_PICTURE_ID4 = 12; // センター2
|
||
var DEFAULT_PICTURE_ID5 = 15;
|
||
var DEFAULT_PICTURE_ID6 = 16;
|
||
var DEFAULT_PICTURE_ID7 = 17;
|
||
var DEFAULT_PICTURE_ID8 = 18;
|
||
var DEFAULT_PICTURE_ID9 = 19;
|
||
var ERO_PICTURE_ID = 20; // エロ中
|
||
var PICTURES = [
|
||
DEFAULT_PICTURE_ID1,
|
||
DEFAULT_PICTURE_ID2,
|
||
DEFAULT_PICTURE_ID3,
|
||
DEFAULT_PICTURE_ID4,
|
||
DEFAULT_PICTURE_ID5,
|
||
DEFAULT_PICTURE_ID6,
|
||
DEFAULT_PICTURE_ID7,
|
||
DEFAULT_PICTURE_ID8,
|
||
DEFAULT_PICTURE_ID9,
|
||
];
|
||
var ACTOR_PREFIX = "___actor";
|
||
Tachie.LEFT_POS = 1;
|
||
Tachie.RIGHT_POS = 2;
|
||
Tachie.CENTER_POS = 3;
|
||
Tachie.OUT_POS = 10;
|
||
Tachie.NONE_POS = 11;
|
||
Tachie.CENTER2_POS = 4;
|
||
Tachie.CENTER3_POS = 5;
|
||
Tachie.POS6 = 6;
|
||
Tachie.POS7 = 7;
|
||
Tachie.POS8 = 8;
|
||
Tachie.POS9 = 9;
|
||
Tachie.actorCashedSprites = {};
|
||
Game_Actor.prototype.getCashedSprite = function () {
|
||
var s = Tachie.actorCashedSprites[this.actorId()];
|
||
if (s) {
|
||
var renderTexture = $gameTemp.getActorBitmapBodyCache(this.actorId());
|
||
var t = new PIXI.Texture(renderTexture);
|
||
return new PIXI.Sprite(t);
|
||
}
|
||
return null;
|
||
};
|
||
var _DataManager_extractSaveContents = DataManager.extractSaveContents;
|
||
DataManager.extractSaveContents = function (contents) {
|
||
_DataManager_extractSaveContents.call(this, contents);
|
||
var len = $dataActors.length;
|
||
for (var i = 0; i < len; i++) {
|
||
var actor = $gameActors._data[i];
|
||
if (actor) {
|
||
actor.setCacheChanged();
|
||
Tachie.actorCashedSprites[actor.actorId()] = false;
|
||
}
|
||
}
|
||
};
|
||
var pluginName = "Nore_Tachie";
|
||
PluginManager.registerCommand(pluginName, "deactivateAll", function (args) {
|
||
for (var _b = 0, PICTURES_1 = PICTURES; _b < PICTURES_1.length; _b++) {
|
||
var pictureId = PICTURES_1[_b];
|
||
var picture = $gameScreen.picture(pictureId);
|
||
if (picture && picture.name() != "") {
|
||
var c = {
|
||
code: 234,
|
||
indent: this._indent,
|
||
parameters: [
|
||
pictureId,
|
||
INACTIVE_ACTOR_TONE,
|
||
TONE_CHANGE_DURATION,
|
||
false,
|
||
],
|
||
};
|
||
this._list.splice(this._index + 1, 0, c);
|
||
}
|
||
}
|
||
});
|
||
PluginManager.registerCommand(pluginName, "activateAll", function (args) {
|
||
for (var _b = 0, PICTURES_2 = PICTURES; _b < PICTURES_2.length; _b++) {
|
||
var pictureId = PICTURES_2[_b];
|
||
var picture = $gameScreen.picture(pictureId);
|
||
if (picture && picture.name() != "") {
|
||
var c = {
|
||
code: 234,
|
||
indent: this._indent,
|
||
parameters: [pictureId, [0, 0, 0, 0], TONE_CHANGE_DURATION, false],
|
||
};
|
||
this._list.splice(this._index + 1, 0, c);
|
||
}
|
||
}
|
||
});
|
||
PluginManager.registerCommand(pluginName, "notClose", function (args) {
|
||
$gameTemp.tachieAvairable = args.flag === "on";
|
||
});
|
||
PluginManager.registerCommand(pluginName, "hideLeft", function (args) {
|
||
var commands = [];
|
||
for (var _b = 0, PICTURES_3 = PICTURES; _b < PICTURES_3.length; _b++) {
|
||
var pictureId = PICTURES_3[_b];
|
||
var picture = $gameScreen.picture(pictureId);
|
||
if (pictureId != DEFAULT_PICTURE_ID1) {
|
||
continue;
|
||
}
|
||
if (picture && picture.opacity() > 0) {
|
||
var c = {
|
||
code: 232,
|
||
indent: this._indent,
|
||
parameters: [
|
||
pictureId,
|
||
0,
|
||
0,
|
||
0,
|
||
picture.x(),
|
||
picture.y(),
|
||
100,
|
||
100,
|
||
0,
|
||
0,
|
||
30,
|
||
false,
|
||
],
|
||
};
|
||
commands.push(c);
|
||
}
|
||
}
|
||
for (var _c = 0, commands_1 = commands; _c < commands_1.length; _c++) {
|
||
var c = commands_1[_c];
|
||
this._list.splice(this._index + 1, 0, c);
|
||
}
|
||
var c2 = {
|
||
code: 356,
|
||
indent: this._indent,
|
||
parameters: ["Tachie clear"],
|
||
};
|
||
this._list.splice(this._index + 1 + commands.length, 0, c2);
|
||
$gameTemp.hideMessage = true;
|
||
});
|
||
PluginManager.registerCommand(pluginName, "hideRight", function (args) {
|
||
var commands = [];
|
||
for (var _b = 0, PICTURES_4 = PICTURES; _b < PICTURES_4.length; _b++) {
|
||
var pictureId = PICTURES_4[_b];
|
||
var picture = $gameScreen.picture(pictureId);
|
||
if (pictureId != DEFAULT_PICTURE_ID2) {
|
||
continue;
|
||
}
|
||
if (picture && picture.opacity() > 0) {
|
||
var c = {
|
||
code: 232,
|
||
indent: this._indent,
|
||
parameters: [
|
||
pictureId,
|
||
0,
|
||
0,
|
||
0,
|
||
picture.x(),
|
||
picture.y(),
|
||
100,
|
||
100,
|
||
0,
|
||
0,
|
||
30,
|
||
false,
|
||
],
|
||
};
|
||
commands.push(c);
|
||
}
|
||
}
|
||
for (var _c = 0, commands_2 = commands; _c < commands_2.length; _c++) {
|
||
var c = commands_2[_c];
|
||
this._list.splice(this._index + 1, 0, c);
|
||
}
|
||
var c2 = {
|
||
code: 356,
|
||
indent: this._indent,
|
||
parameters: ["Tachie clear"],
|
||
};
|
||
this._list.splice(this._index + 1 + commands.length, 0, c2);
|
||
$gameTemp.hideMessage = true;
|
||
});
|
||
PluginManager.registerCommand(pluginName, "hideCenter", function (args) {
|
||
var commands = [];
|
||
for (var _b = 0, PICTURES_5 = PICTURES; _b < PICTURES_5.length; _b++) {
|
||
var pictureId = PICTURES_5[_b];
|
||
var picture = $gameScreen.picture(pictureId);
|
||
if (pictureId != DEFAULT_PICTURE_ID3) {
|
||
continue;
|
||
}
|
||
if (picture && picture.opacity() > 0) {
|
||
var c = {
|
||
code: 232,
|
||
indent: this._indent,
|
||
parameters: [
|
||
pictureId,
|
||
0,
|
||
0,
|
||
0,
|
||
picture.x(),
|
||
picture.y(),
|
||
100,
|
||
100,
|
||
0,
|
||
0,
|
||
30,
|
||
false,
|
||
],
|
||
};
|
||
commands.push(c);
|
||
}
|
||
}
|
||
for (var _c = 0, commands_3 = commands; _c < commands_3.length; _c++) {
|
||
var c = commands_3[_c];
|
||
this._list.splice(this._index + 1, 0, c);
|
||
}
|
||
var c2 = {
|
||
code: 356,
|
||
indent: this._indent,
|
||
parameters: ["Tachie clear"],
|
||
};
|
||
this._list.splice(this._index + 1 + commands.length, 0, c2);
|
||
$gameTemp.hideMessage = true;
|
||
});
|
||
PluginManager.registerCommand(pluginName, "hide", function (args) {
|
||
var commands = [];
|
||
for (var _b = 0, PICTURES_6 = PICTURES; _b < PICTURES_6.length; _b++) {
|
||
var pictureId = PICTURES_6[_b];
|
||
var picture = $gameScreen.picture(pictureId);
|
||
if (picture && picture.opacity() > 0) {
|
||
var c = {
|
||
code: 232,
|
||
indent: this._indent,
|
||
parameters: [
|
||
pictureId,
|
||
0,
|
||
0,
|
||
0,
|
||
picture.x(),
|
||
picture.y(),
|
||
100,
|
||
100,
|
||
0,
|
||
0,
|
||
30,
|
||
false,
|
||
],
|
||
};
|
||
commands.push(c);
|
||
}
|
||
}
|
||
for (var _c = 0, commands_4 = commands; _c < commands_4.length; _c++) {
|
||
var c = commands_4[_c];
|
||
this._list.splice(this._index + 1, 0, c);
|
||
}
|
||
var c2 = {
|
||
code: 356,
|
||
indent: this._indent,
|
||
parameters: ["Tachie clear"],
|
||
};
|
||
this._list.splice(this._index + 1 + commands.length, 0, c2);
|
||
for (var _d = 0, _e = $gameParty.members(); _d < _e.length; _d++) {
|
||
var m = _e[_d];
|
||
m.setHoppeId(0);
|
||
m.setNamidaId(0);
|
||
}
|
||
$gameVariables.setValue(12, 0);
|
||
$gameSwitches.setValue(NO_ALARM_SOUND_SW, false);
|
||
$gameTemp.hideMessage = true;
|
||
});
|
||
PluginManager.registerCommand(pluginName, "clear", function (args) {
|
||
for (var _b = 0, PICTURES_7 = PICTURES; _b < PICTURES_7.length; _b++) {
|
||
var pictureId = PICTURES_7[_b];
|
||
var picture = $gameScreen.picture(pictureId);
|
||
if (picture) {
|
||
//picture.erase();
|
||
}
|
||
}
|
||
});
|
||
PluginManager.registerCommand(pluginName, "showLeft", function (args) {
|
||
var actorId = args.actorId;
|
||
var x = args.x || 0;
|
||
var y = args.y || 0;
|
||
var opacity = args.opacity || 255;
|
||
$gameVariables.setValue(12, Tachie.LEFT_POS);
|
||
this.tachiePictureCommnad("showLeft", actorId, x, y, opacity);
|
||
});
|
||
PluginManager.registerCommand(pluginName, "showRight", function (args) {
|
||
var actorId = args.actorId;
|
||
var x = args.x || 0;
|
||
var y = args.y || 0;
|
||
var opacity = args.opacity || 255;
|
||
$gameVariables.setValue(12, Tachie.RIGHT_POS);
|
||
this.tachiePictureCommnad("showRight", actorId, x, y, opacity);
|
||
});
|
||
PluginManager.registerCommand(pluginName, "showCenter", function (args) {
|
||
var actorId = args.actorId;
|
||
var x = args.x || 0;
|
||
var y = args.y || 0;
|
||
var opacity = args.opacity || 255;
|
||
$gameVariables.setValue(12, Tachie.CENTER_POS);
|
||
this.tachiePictureCommnad("showCenter", actorId, x, y, opacity);
|
||
});
|
||
PluginManager.registerCommand(pluginName, "showOut", function (args) {
|
||
var actorId = args.actorId;
|
||
var x = args.x || 0;
|
||
var y = args.y || 0;
|
||
var opacity = args.opacity || 255;
|
||
$gameVariables.setValue(12, 0);
|
||
this.tachiePictureCommnad("showOut", actorId, x, y, opacity);
|
||
});
|
||
PluginManager.registerCommand(pluginName, "showCenter2", function (args) {
|
||
var actorId = args.actorId;
|
||
var x = args.x || 0;
|
||
var y = args.y || 0;
|
||
var opacity = args.opacity || 255;
|
||
$gameVariables.setValue(12, Tachie.CENTER2_POS);
|
||
this.tachiePictureCommnad("show4", actorId, x, y, opacity);
|
||
});
|
||
PluginManager.registerCommand(pluginName, "showCenter3", function (args) {
|
||
var actorId = args.actorId;
|
||
var x = args.x || 0;
|
||
var y = args.y || 0;
|
||
var opacity = args.opacity || 255;
|
||
$gameVariables.setValue(12, Tachie.CENTER3_POS);
|
||
this.tachiePictureCommnad("show5", actorId, x, y, opacity);
|
||
});
|
||
PluginManager.registerCommand(pluginName, "face", function (args) {
|
||
var actorId = args.actorId;
|
||
var actor = $gameActors.actor(actorId);
|
||
var faceId = args.faceId;
|
||
actor.setFaceId(faceId);
|
||
});
|
||
PluginManager.registerCommand(pluginName, "pose", function (args) {
|
||
var actorId = args.actorId;
|
||
var actor = $gameActors.actor(actorId);
|
||
var poseId = args.poseId;
|
||
actor.setPoseId(poseId);
|
||
});
|
||
PluginManager.registerCommand(pluginName, "namida", function (args) {
|
||
var actorId = args.actorId;
|
||
var actor = $gameActors.actor(actorId);
|
||
if (!actor) {
|
||
return;
|
||
}
|
||
var namidaId = args.namidaId;
|
||
actor.setNamidaId(namidaId);
|
||
});
|
||
PluginManager.registerCommand(pluginName, "hoppe", function (args) {
|
||
var actorId = args.actorId;
|
||
var actor = $gameActors.actor(actorId);
|
||
if (!actor) {
|
||
return;
|
||
}
|
||
var hoppeId = args.hoppeId;
|
||
if ($gameVariables.value(29) > 0) {
|
||
hoppeId = $gameVariables.value(29);
|
||
}
|
||
actor.setHoppeId(hoppeId);
|
||
});
|
||
PluginManager.registerCommand(pluginName, "outer", function (args) {
|
||
var actorId = args.actorId;
|
||
var actor = $gameActors.actor(actorId);
|
||
var outerId = args.outerId;
|
||
actor.setOuterId(outerId);
|
||
});
|
||
PluginManager.registerCommand(pluginName, "innerTop", function (args) {
|
||
var actorId = args.actorId;
|
||
var actor = $gameActors.actor(actorId);
|
||
var innerTopId = args.innerTopId;
|
||
actor.setInnerTopId(innerTopId);
|
||
});
|
||
PluginManager.registerCommand(pluginName, "innerBottom", function (args) {
|
||
var actorId = args.actorId;
|
||
var actor = $gameActors.actor(actorId);
|
||
var innerBottomId = args.innerBottomId;
|
||
actor.setInnerBottomId(innerBottomId);
|
||
});
|
||
PluginManager.registerCommand(pluginName, "acceOn", function (args) {
|
||
var actorId = args.actorId;
|
||
var actor = $gameActors.actor(actorId);
|
||
var acceId = args.acceId;
|
||
actor.addAcce(acceId);
|
||
});
|
||
PluginManager.registerCommand(pluginName, "acceOff", function (args) {
|
||
var actorId = args.actorId;
|
||
var actor = $gameActors.actor(actorId);
|
||
var acceId = args.acceId;
|
||
actor.removeAcce(acceId);
|
||
});
|
||
Game_Interpreter.prototype.tachiePictureCommnad = function (
|
||
command,
|
||
actorId,
|
||
x,
|
||
y,
|
||
opacity
|
||
) {
|
||
switch (command) {
|
||
case "showEro":
|
||
this.showTachiePicture(
|
||
actorId,
|
||
Tachie.RIGHT_POS,
|
||
ERO_PICTURE_ID,
|
||
x,
|
||
y,
|
||
opacity
|
||
);
|
||
break;
|
||
case "showLeft":
|
||
this.showTachiePicture(
|
||
actorId,
|
||
Tachie.LEFT_POS,
|
||
DEFAULT_PICTURE_ID1,
|
||
x,
|
||
y,
|
||
opacity
|
||
);
|
||
this.deactivateTachiePicture(DEFAULT_PICTURE_ID2);
|
||
this.deactivateTachiePicture(DEFAULT_PICTURE_ID3);
|
||
this.deactivateTachiePicture(DEFAULT_PICTURE_ID4);
|
||
break;
|
||
case "showRight":
|
||
this.showTachiePicture(
|
||
actorId,
|
||
Tachie.RIGHT_POS,
|
||
DEFAULT_PICTURE_ID2,
|
||
x,
|
||
y,
|
||
opacity
|
||
);
|
||
this.deactivateTachiePicture(DEFAULT_PICTURE_ID1);
|
||
this.deactivateTachiePicture(DEFAULT_PICTURE_ID3);
|
||
this.deactivateTachiePicture(DEFAULT_PICTURE_ID4);
|
||
break;
|
||
case "showCenter":
|
||
this.showTachiePicture(
|
||
actorId,
|
||
Tachie.CENTER_POS,
|
||
DEFAULT_PICTURE_ID3,
|
||
x,
|
||
y,
|
||
opacity
|
||
);
|
||
this.deactivateTachiePicture(DEFAULT_PICTURE_ID1);
|
||
this.deactivateTachiePicture(DEFAULT_PICTURE_ID2);
|
||
this.deactivateTachiePicture(DEFAULT_PICTURE_ID4);
|
||
break;
|
||
case "showOut":
|
||
this.deactivateTachiePicture(DEFAULT_PICTURE_ID1);
|
||
this.deactivateTachiePicture(DEFAULT_PICTURE_ID2);
|
||
this.deactivateTachiePicture(DEFAULT_PICTURE_ID3);
|
||
this.deactivateTachiePicture(DEFAULT_PICTURE_ID4);
|
||
break;
|
||
case "show4":
|
||
this.showTachiePicture(
|
||
actorId,
|
||
Tachie.CENTER2_POS,
|
||
DEFAULT_PICTURE_ID4,
|
||
x,
|
||
y,
|
||
opacity
|
||
);
|
||
this.deactivateTachiePicture(DEFAULT_PICTURE_ID1);
|
||
this.deactivateTachiePicture(DEFAULT_PICTURE_ID2);
|
||
this.deactivateTachiePicture(DEFAULT_PICTURE_ID3);
|
||
break;
|
||
case "show5":
|
||
this.showTachiePicture(
|
||
actorId,
|
||
Tachie.CENTER3_POS,
|
||
DEFAULT_PICTURE_ID4,
|
||
x,
|
||
y,
|
||
opacity
|
||
);
|
||
this.deactivateTachiePicture(DEFAULT_PICTURE_ID1);
|
||
this.deactivateTachiePicture(DEFAULT_PICTURE_ID2);
|
||
this.deactivateTachiePicture(DEFAULT_PICTURE_ID3);
|
||
break;
|
||
}
|
||
};
|
||
Game_Interpreter.prototype.showTachiePicture = function (
|
||
actorId,
|
||
posId,
|
||
pictureId,
|
||
x,
|
||
y,
|
||
opacity
|
||
) {
|
||
$gameTemp.tachieActorId = actorId;
|
||
$gameTemp.tachieActorPos = posId;
|
||
var lastTone = [0, 0, 0, 0];
|
||
if (opacity < 255) {
|
||
var picture_1 = $gameScreen.picture(pictureId);
|
||
if (picture_1 && picture_1.tachieActorId === actorId) {
|
||
opacity = 255;
|
||
lastTone = picture_1.tone();
|
||
}
|
||
}
|
||
var xx = x + this.getPosX(posId) + getTachieOffsetX(actorId);
|
||
var yy = y + POS_Y;
|
||
$gameScreen.showPicture(
|
||
pictureId,
|
||
ACTOR_PREFIX + actorId,
|
||
0,
|
||
xx,
|
||
yy,
|
||
100,
|
||
100,
|
||
opacity,
|
||
PIXI.BLEND_MODES.NORMAL
|
||
);
|
||
var picture = $gameScreen.picture(pictureId);
|
||
picture.tint(lastTone, 0);
|
||
var c = {
|
||
code: 234,
|
||
indent: this._indent,
|
||
parameters: [pictureId, [0, 0, 0, 0], TONE_CHANGE_DURATION, false],
|
||
};
|
||
this._list.splice(this._index + 1, 0, c);
|
||
if (opacity < 255) {
|
||
var c = {
|
||
code: 232,
|
||
indent: this._indent,
|
||
parameters: [pictureId, 0, 0, 0, xx, yy, 100, 100, 255, 0, 15, false],
|
||
};
|
||
this._list.splice(this._index + 1, 0, c);
|
||
}
|
||
$gameActors.actor(actorId).setDirty();
|
||
};
|
||
function getTachieOffsetX(actorId) {
|
||
switch (actorId) {
|
||
case 3:
|
||
return 60;
|
||
case 7:
|
||
return -10;
|
||
}
|
||
return 0;
|
||
}
|
||
Tachie.getTachieOffsetX = getTachieOffsetX;
|
||
/**
|
||
* 指定の pictureId のピクチャが表示されている場合、暗くします
|
||
*/
|
||
Game_Interpreter.prototype.deactivateTachiePicture = function (pictureId) {
|
||
if ($gameSwitches.value(922)) {
|
||
// deactivate無効
|
||
return;
|
||
}
|
||
var leftPicture = $gameScreen.picture(pictureId);
|
||
if (leftPicture && leftPicture.name() != "") {
|
||
var c = {
|
||
code: 234,
|
||
indent: this._indent,
|
||
parameters: [
|
||
pictureId,
|
||
INACTIVE_ACTOR_TONE,
|
||
TONE_CHANGE_DURATION,
|
||
false,
|
||
],
|
||
};
|
||
this._list.splice(this._index + 1, 0, c);
|
||
}
|
||
};
|
||
/**
|
||
* 指定の positionId に対応する x 座標を返します。
|
||
*/
|
||
Game_Interpreter.prototype.getPosX = function (posId) {
|
||
switch (posId) {
|
||
case Tachie.LEFT_POS:
|
||
return Tachie.LEFT_POS_X;
|
||
case Tachie.RIGHT_POS:
|
||
return Tachie.RIGHT_POS_X;
|
||
case Tachie.CENTER_POS:
|
||
return Tachie.CENTER_POS_X;
|
||
case Tachie.CENTER2_POS:
|
||
return Tachie.CENTER_POS_X - 120;
|
||
case Tachie.CENTER3_POS:
|
||
return Tachie.CENTER_POS_X - 60;
|
||
default:
|
||
console.error("posId が不正です:" + posId);
|
||
}
|
||
};
|
||
Game_Interpreter.prototype.command232 = function (params) {
|
||
var x, y;
|
||
if (params[3] === 0) {
|
||
x = params[4];
|
||
y = params[5];
|
||
} else {
|
||
x = $gameVariables.value(params[4]);
|
||
y = $gameVariables.value(params[5]);
|
||
}
|
||
var time = params[10];
|
||
if (this.isSkip() && PICTURES.indexOf(params[0]) > 0) {
|
||
time = 1;
|
||
}
|
||
$gameScreen.movePicture(
|
||
params[0],
|
||
params[2],
|
||
x,
|
||
y,
|
||
params[6],
|
||
params[7],
|
||
params[8],
|
||
params[9],
|
||
time,
|
||
0
|
||
);
|
||
if (params[11]) {
|
||
this.wait(time);
|
||
}
|
||
return true;
|
||
};
|
||
Game_Interpreter.prototype.isSkip = function () {
|
||
if ($gameSwitches.value(72)) {
|
||
return false;
|
||
}
|
||
return Input.isPressed("control") || TouchInput.rightButton;
|
||
};
|
||
Object.defineProperty(Game_Actor.prototype, "tachieOffsetX", {
|
||
get: function () {
|
||
return (Tachie.offset[this.actorId()] || new PIXI.Point()).x;
|
||
},
|
||
enumerable: true,
|
||
configurable: true,
|
||
});
|
||
Object.defineProperty(Game_Actor.prototype, "tachieOffsetY", {
|
||
get: function () {
|
||
return (Tachie.offset[this.actorId()] || new PIXI.Point()).y;
|
||
},
|
||
enumerable: true,
|
||
configurable: true,
|
||
});
|
||
Game_Actor.prototype.isTachieDisabled = function () {
|
||
return DISALVED_ACTOR_ID_LIST.indexOf(this.actorId()) >= 0;
|
||
};
|
||
var Game_Picture_prototype_initTarget = Game_Picture.prototype.initTarget;
|
||
Game_Picture.prototype.initTarget = function () {
|
||
Game_Picture_prototype_initTarget.call(this);
|
||
this.tachieActorId = this.getTachieActorId();
|
||
};
|
||
Game_Picture.prototype.getTachieActorId = function () {
|
||
var matcher = /^___actor([-+]?\d+)/;
|
||
var result = matcher.exec(this._name);
|
||
if (result && result.length > 1) {
|
||
return parseInt(result[1]) || 0;
|
||
} else {
|
||
return 0;
|
||
}
|
||
};
|
||
ImageManager.loadTachie = function (filename, hue) {
|
||
return this.loadBitmap("img/tachie/", filename, hue, true);
|
||
};
|
||
ImageManager.loadSpriteSheet = function (file, callback) {
|
||
var matcher = /ero\/ero(.+)\.json/;
|
||
var result = matcher.exec(file);
|
||
if (result && PIXI.utils.TextureCache[result[1] + "_01_01.png"]) {
|
||
if (callback) {
|
||
callback();
|
||
}
|
||
return;
|
||
}
|
||
/*if (result) {
|
||
p(result[0])
|
||
}*/
|
||
var loader = new PIXI.Loader();
|
||
loader.add({
|
||
name: "",
|
||
url: file,
|
||
});
|
||
this._loadingSpriteSheet = true;
|
||
var self = this;
|
||
loader.onComplete.add(function (e, resources) {
|
||
//p('comp:' + file)
|
||
for (var key in resources) {
|
||
Nore.spriteSheetCache[key] = resources[key];
|
||
}
|
||
self._loadingSpriteSheet = false;
|
||
if (callback) {
|
||
callback();
|
||
}
|
||
});
|
||
loader.load(); // ロード開始!
|
||
};
|
||
var _ImageManager_isReady = ImageManager.isReady;
|
||
ImageManager.isReady = function () {
|
||
if (this._loadingSpriteSheet) {
|
||
return false;
|
||
}
|
||
return _ImageManager_isReady.call(this);
|
||
};
|
||
Game_Temp.prototype.getActorBitmapBodyCache = function (picId) {
|
||
this.actorBitmapBodyCache = this.actorBitmapBodyCache || {};
|
||
if (!this.actorBitmapBodyCache[picId]) {
|
||
if (picId >= 100) {
|
||
this.actorBitmapBodyCache[picId] = PIXI.RenderTexture.create(
|
||
806,
|
||
1000
|
||
);
|
||
} else if (picId >= 15) {
|
||
this.actorBitmapBodyCache[picId] = PIXI.RenderTexture.create(
|
||
1366,
|
||
1000
|
||
);
|
||
} else {
|
||
this.actorBitmapBodyCache[picId] = PIXI.RenderTexture.create(
|
||
740,
|
||
1000
|
||
);
|
||
}
|
||
}
|
||
return this.actorBitmapBodyCache[picId];
|
||
};
|
||
Game_Temp.prototype.getPictureBitmapCache = function (actorId) {
|
||
this.actorBitmapCache = this.actorBitmapCache || {};
|
||
if (!this.actorBitmapCache[actorId]) {
|
||
this.actorBitmapCache[actorId] = new Bitmap(
|
||
Graphics.width,
|
||
Graphics.height
|
||
);
|
||
}
|
||
return this.actorBitmapCache[actorId];
|
||
};
|
||
Game_Screen.prototype.showActorPicture = function (
|
||
actorId,
|
||
pictureId,
|
||
x,
|
||
y
|
||
) {
|
||
var name = ACTOR_PREFIX + actorId;
|
||
this.showPicture(pictureId, name, 0, x, y, 1, 1, 1, 0);
|
||
};
|
||
Game_Screen.prototype.getPictureId = function (picture) {
|
||
for (var i = 0; i < this._pictures.length; i++) {
|
||
if (this._pictures[i] === picture) {
|
||
return i;
|
||
}
|
||
}
|
||
console.error("picture not found." + picture);
|
||
};
|
||
var TachieDrawerMixin = function () {
|
||
this.drawTachie = function (
|
||
actorId,
|
||
parent,
|
||
x,
|
||
y,
|
||
rect,
|
||
faceId,
|
||
scale,
|
||
clearByDraw
|
||
) {
|
||
if (x === void 0) {
|
||
x = 0;
|
||
}
|
||
if (y === void 0) {
|
||
y = 0;
|
||
}
|
||
if (faceId === void 0) {
|
||
faceId = 0;
|
||
}
|
||
if (scale === void 0) {
|
||
scale = 1;
|
||
}
|
||
if (clearByDraw === void 0) {
|
||
clearByDraw = false;
|
||
}
|
||
var actor = $gameActors.actor(actorId);
|
||
if (!actor) {
|
||
console.error(
|
||
"アクターが存在しないため、描画をしませんでした。actorId:" + actorId
|
||
);
|
||
return false;
|
||
}
|
||
return this.drawTachieActor(
|
||
actor,
|
||
parent,
|
||
x,
|
||
y,
|
||
rect,
|
||
faceId,
|
||
scale,
|
||
clearByDraw
|
||
);
|
||
};
|
||
this.drawTachieActor = function (
|
||
actor,
|
||
parent,
|
||
x,
|
||
y,
|
||
rect,
|
||
faceId,
|
||
scale,
|
||
clearByDraw,
|
||
naked,
|
||
alpha,
|
||
argActorId
|
||
) {
|
||
if (x === void 0) {
|
||
x = 0;
|
||
}
|
||
if (y === void 0) {
|
||
y = 0;
|
||
}
|
||
if (faceId === void 0) {
|
||
faceId = 0;
|
||
}
|
||
if (scale === void 0) {
|
||
scale = 1;
|
||
}
|
||
if (alpha === void 0) {
|
||
alpha = 1;
|
||
}
|
||
if (clearByDraw === void 0) {
|
||
clearByDraw = false;
|
||
}
|
||
if (actor.isTachieDisabled()) {
|
||
return true;
|
||
}
|
||
if (!ImageManager.isReady()) {
|
||
//return false;
|
||
}
|
||
//actor.preloadTachie();
|
||
if (!ImageManager.isReady()) {
|
||
//return false;
|
||
}
|
||
if (!naked) {
|
||
naked = 0;
|
||
}
|
||
var actorId = actor.actorId();
|
||
if (actorId == 10 && actor.poseId == 7 && $gameSwitches.value(921)) {
|
||
x -= 100;
|
||
}
|
||
if (actorId == 9 && actor.poseId == 4 && $gameSwitches.value(921)) {
|
||
x -= 130;
|
||
}
|
||
//rect.x += point.x;
|
||
//rect.y += point.y;
|
||
actor.clearDirty();
|
||
actor.clearCacheChanged();
|
||
var beforeActorId = actorId;
|
||
if (
|
||
(actorId >= 25 && actorId <= 34) ||
|
||
actorId == 48 ||
|
||
actorId == 49 ||
|
||
actorId == 62 ||
|
||
actorId == 64 ||
|
||
actorId == 80 ||
|
||
actorId == 85 ||
|
||
actorId == 87 ||
|
||
actorId == 89
|
||
) {
|
||
switch (actorId) {
|
||
case 26:
|
||
faceId = 13;
|
||
break;
|
||
case 27:
|
||
faceId = 5;
|
||
break;
|
||
case 28:
|
||
faceId = 6;
|
||
break;
|
||
case 80:
|
||
faceId = 6;
|
||
break;
|
||
case 29:
|
||
faceId = 7;
|
||
break;
|
||
case 30:
|
||
faceId = 8;
|
||
break;
|
||
case 31:
|
||
faceId = 9;
|
||
break;
|
||
case 32:
|
||
faceId = 10;
|
||
break;
|
||
case 33:
|
||
faceId = 11;
|
||
break;
|
||
case 34:
|
||
faceId = 12;
|
||
break;
|
||
case 48:
|
||
faceId = 3;
|
||
break;
|
||
case 49:
|
||
faceId = 4;
|
||
break;
|
||
case 62:
|
||
faceId = 22;
|
||
break;
|
||
case 64:
|
||
faceId = 14;
|
||
break;
|
||
case 85:
|
||
faceId = 23;
|
||
break;
|
||
case 87:
|
||
faceId = 24;
|
||
break;
|
||
case 89:
|
||
faceId = 25;
|
||
break;
|
||
}
|
||
actorId = 7;
|
||
actor = $gameActors.actor(actorId);
|
||
}
|
||
if (actorId == 77 || actorId == 78) {
|
||
actorId = 7;
|
||
switch ($gameVariables.value(55)) {
|
||
case 1:
|
||
case 2:
|
||
case 3:
|
||
case 5:
|
||
case 16:
|
||
case 18:
|
||
case 19:
|
||
case 20:
|
||
case 21:
|
||
case 22:
|
||
case 24:
|
||
actorId = $gameVariables.value(55);
|
||
faceId = $gameActors.actor(beforeActorId).faceId;
|
||
$gameActors.actor(actorId)._hoppeId =
|
||
$gameActors.actor(beforeActorId)._hoppeId;
|
||
break;
|
||
case 26:
|
||
faceId = 13;
|
||
break;
|
||
case 27:
|
||
faceId = 5;
|
||
break;
|
||
case 28:
|
||
faceId = 6;
|
||
break;
|
||
case 80:
|
||
faceId = 6;
|
||
break;
|
||
case 29:
|
||
faceId = 7;
|
||
break;
|
||
case 30:
|
||
faceId = 8;
|
||
break;
|
||
case 31:
|
||
faceId = 9;
|
||
break;
|
||
case 32:
|
||
faceId = 10;
|
||
break;
|
||
case 33:
|
||
faceId = 11;
|
||
break;
|
||
case 34:
|
||
faceId = 12;
|
||
break;
|
||
case 48:
|
||
faceId = 3;
|
||
break;
|
||
case 49:
|
||
faceId = 4;
|
||
break;
|
||
case 50:
|
||
faceId = 17;
|
||
break;
|
||
case 51:
|
||
faceId = 21;
|
||
break;
|
||
case 52:
|
||
faceId = 15;
|
||
break;
|
||
case 53:
|
||
faceId = 20;
|
||
break;
|
||
case 54:
|
||
faceId = 15;
|
||
break;
|
||
case 55:
|
||
faceId = 16;
|
||
break;
|
||
case 56:
|
||
faceId = 20;
|
||
break;
|
||
case 57:
|
||
faceId = 20;
|
||
break;
|
||
case 58:
|
||
faceId = 18;
|
||
break;
|
||
case 59:
|
||
faceId = 19;
|
||
break;
|
||
case 64:
|
||
faceId = 14;
|
||
break;
|
||
default:
|
||
faceId = 1;
|
||
break;
|
||
}
|
||
actor = $gameActors.actor(actorId);
|
||
}
|
||
if (argActorId) {
|
||
actorId = argActorId;
|
||
}
|
||
var point = this.calcTachieActorPos(actor);
|
||
if (!rect) {
|
||
rect = new Rectangle(0, 0, 0, 0);
|
||
}
|
||
//point.y *= scale;
|
||
x += point.x;
|
||
y += point.y;
|
||
y += OFFSET_Y * scale;
|
||
var sprite = new PIXI.Sprite();
|
||
//var time = new Date().getTime();
|
||
var cash = actor.getCashedSprite();
|
||
var isOverallCash = actor.isOverallCash();
|
||
var renderTexture = null;
|
||
if (actorId < 100) {
|
||
renderTexture = $gameTemp.getActorBitmapBodyCache(actorId);
|
||
}
|
||
var offX = 20;
|
||
if (cash == null || isOverallCash) {
|
||
var mainSprite = new PIXI.Sprite();
|
||
this.drawTachieHair(actor, mainSprite);
|
||
this.drawTachieOuterBack(actor, mainSprite);
|
||
this.drawTachieBodyBack(actor, mainSprite);
|
||
this.drawTachieFile(actor.legShadowFile(), mainSprite, actor);
|
||
this.drawTachieSeiekiMiddleBack(actor, mainSprite);
|
||
this.drawTachieOuterShadow(actor, mainSprite);
|
||
this.drawTachieSkinAcce(actor, mainSprite);
|
||
this.drawTachieSeiekiMiddle(actor, mainSprite);
|
||
this.drawTachieInnerBottom(actor, mainSprite);
|
||
this.drawTachieInnerTop(actor, mainSprite);
|
||
this.drawTachieFile(actor.legSkinFile(), mainSprite, actor);
|
||
this.drawTachieMiddleAcce(actor, mainSprite);
|
||
//this.drawTachieFile(actor.armMainFile(), mainSprite, actor);
|
||
this.drawTachieFile(actor.legMainFile(), mainSprite, actor);
|
||
this.drawTachieOuterMain(actor, mainSprite);
|
||
this.drawTachieMiddleFrontAcce(actor, mainSprite);
|
||
this.drawTachieBodyFront(actor, mainSprite);
|
||
this.drawTachieOuterFront(actor, mainSprite);
|
||
if (isOverallCash) {
|
||
this.drawTachieHoppe(actor, mainSprite);
|
||
this.drawTachieFrontRakugakiAcce(actor, mainSprite);
|
||
this.drawTachieFace(actor, mainSprite, faceId);
|
||
this.drawTachieNamida(actor, mainSprite, faceId);
|
||
this.drawTachieFrontAcce(actor, mainSprite);
|
||
}
|
||
if (renderTexture) {
|
||
var renderer = Graphics.app.renderer;
|
||
renderer.render(mainSprite, renderTexture);
|
||
var t = new PIXI.Texture(renderTexture);
|
||
cash = new PIXI.Sprite(t);
|
||
Tachie.actorCashedSprites[actorId] = true;
|
||
mainSprite.destroy({
|
||
texture: true,
|
||
children: true,
|
||
});
|
||
} else {
|
||
cash = mainSprite;
|
||
}
|
||
} else {
|
||
//p('cash')
|
||
}
|
||
if (!isOverallCash) {
|
||
this.drawTachieHoppe(actor, sprite);
|
||
this.drawTachieFrontRakugakiAcce(actor, sprite);
|
||
this.drawTachieFace(actor, sprite, faceId);
|
||
this.drawTachieNamida(actor, sprite, faceId);
|
||
this.drawTachieFrontAcce(actor, sprite);
|
||
}
|
||
this.drawTachieSeiekiFrontBack(actor, sprite);
|
||
this.drawTachieSeiekiFront(actor, sprite);
|
||
this.drawTachieFile(actor.armFrontFile(), sprite, actor);
|
||
this.lastDrawnActorId = actor.actorId();
|
||
var picId = 0;
|
||
if (this.picture) {
|
||
var picture = this.picture();
|
||
picId = $gameScreen.getPictureId(picture);
|
||
}
|
||
/* if (!Graphics.isWebGL()) {
|
||
if (renderTexture.baseTexture._canvasRenderTarget) {
|
||
renderTexture.baseTexture._canvasRenderTarget.context.setTransform(1, 0, 0, 1, 0, 0);
|
||
renderTexture.baseTexture._canvasRenderTarget.context.clearRect(0, 0, 740, 1000)
|
||
}
|
||
}*/
|
||
var sp;
|
||
if (cash) {
|
||
sp = new PIXI.Sprite();
|
||
sp.addChild(cash);
|
||
sp.addChild(sprite);
|
||
} else {
|
||
Graphics._renderer.render(sprite, renderTexture);
|
||
sprite.removeChild(mainSprite);
|
||
sprite.destroy({
|
||
children: true,
|
||
texture: true,
|
||
});
|
||
var t_1 = new PIXI.Texture(renderTexture);
|
||
sp = new PIXI.Sprite(t_1);
|
||
}
|
||
//p(new Date().getTime() - time)
|
||
var myMask = null;
|
||
if (rect.width > 0 && rect.height > 0) {
|
||
myMask = new PIXI.Graphics();
|
||
myMask.beginFill();
|
||
myMask.drawRect(
|
||
rect.x + parent.getGlobalPosition().x,
|
||
rect.y + parent.getGlobalPosition().y,
|
||
rect.width,
|
||
rect.height
|
||
);
|
||
myMask.endFill();
|
||
sp.mask = myMask;
|
||
}
|
||
sp.position.x = x;
|
||
sp.position.y = y;
|
||
sp.scale.x = scale;
|
||
sp.scale.y = scale;
|
||
sp.alpha = alpha;
|
||
if (parent) {
|
||
if (clearByDraw) {
|
||
parent.destroyAndRemoveChildren();
|
||
}
|
||
parent.addChild(sp);
|
||
} else {
|
||
if (clearByDraw) {
|
||
for (var i = 0, j = this.children.length; i < j; ++i) {
|
||
if (this.children[i]) {
|
||
this.children[i].destroy({
|
||
texture: true,
|
||
children: true,
|
||
});
|
||
}
|
||
}
|
||
this.destroyAndRemoveChildren();
|
||
}
|
||
this.addChild(sp);
|
||
if (myMask) {
|
||
this.addChild(myMask);
|
||
}
|
||
}
|
||
if (beforeActorId == 89) {
|
||
actor = $gameActors.actor(beforeActorId);
|
||
}
|
||
this.addOutlineFilter(actor, sp);
|
||
return sp;
|
||
};
|
||
this.addOutlineFilter = function (actor, s) {
|
||
if (!actor.isShowOutline()) {
|
||
return;
|
||
}
|
||
var filter3 = new PIXI.filters.OutlineFilter(2, actor.outlineColor());
|
||
var filter2 = new PIXI.filters.GlowFilter({
|
||
distance: 8,
|
||
outerStrength: 2,
|
||
color: actor.outlineColor(),
|
||
quality: 1,
|
||
});
|
||
s.filters = [filter3, filter2];
|
||
};
|
||
this.drawTachieBack = function (
|
||
actorId,
|
||
parent,
|
||
x,
|
||
y,
|
||
rect,
|
||
faceId,
|
||
scale,
|
||
clearByDraw
|
||
) {
|
||
if (x === void 0) {
|
||
x = 0;
|
||
}
|
||
if (y === void 0) {
|
||
y = 0;
|
||
}
|
||
if (faceId === void 0) {
|
||
faceId = 0;
|
||
}
|
||
if (scale === void 0) {
|
||
scale = 1;
|
||
}
|
||
if (clearByDraw === void 0) {
|
||
clearByDraw = false;
|
||
}
|
||
var actor = $gameActors.actor(actorId);
|
||
if (!actor) {
|
||
console.error(
|
||
"アクターが存在しないため、描画をしませんでした。actorId:" + actorId
|
||
);
|
||
return false;
|
||
}
|
||
return this.drawTachieBackActor(
|
||
actor,
|
||
parent,
|
||
x,
|
||
y,
|
||
rect,
|
||
faceId,
|
||
scale,
|
||
clearByDraw
|
||
);
|
||
};
|
||
this.drawTachieBackActor = function (
|
||
actor,
|
||
parent,
|
||
x,
|
||
y,
|
||
rect,
|
||
faceId,
|
||
scale,
|
||
clearByDraw,
|
||
naked,
|
||
alpha
|
||
) {
|
||
if (scale === void 0) {
|
||
scale = 1;
|
||
}
|
||
if (alpha === void 0) {
|
||
alpha = 1;
|
||
}
|
||
if (clearByDraw === void 0) {
|
||
clearByDraw = false;
|
||
}
|
||
var point = this.calcTachieActorPos(actor);
|
||
if (!rect) {
|
||
rect = new Rectangle(0, 0, 0, 0);
|
||
}
|
||
x += point.x;
|
||
y += point.y;
|
||
y += OFFSET_Y;
|
||
var sprite = new PIXI.Sprite();
|
||
sprite.position.x = x;
|
||
sprite.position.y = y;
|
||
if (clearByDraw) {
|
||
parent.destroyAndRemoveChildren();
|
||
}
|
||
parent.addChild(sprite);
|
||
//cache.context.drawImage(canvas, x, y, canvas.width * scale, canvas.height * scale);
|
||
return true;
|
||
};
|
||
this.calcTachieActorPos = function (actor) {
|
||
var dx = actor.tachieOffsetX;
|
||
var dy = actor.tachieOffsetY;
|
||
if (isNaN(dx)) {
|
||
dx = 0;
|
||
}
|
||
if (isNaN(dy)) {
|
||
dy = 0;
|
||
}
|
||
return new Point(dx, dy);
|
||
};
|
||
this.drawTachieCache = function (
|
||
actor,
|
||
cache,
|
||
bitmap,
|
||
x,
|
||
y,
|
||
rect,
|
||
scale
|
||
) {
|
||
var xx = -rect.x < 0 ? 0 : -rect.x;
|
||
var yy = -rect.y < 0 ? 0 : -rect.y;
|
||
var ww = rect.width / scale;
|
||
var w = rect.width;
|
||
if (w <= 0 || w + xx > cache.width) {
|
||
w = cache.width - xx;
|
||
ww = w / scale;
|
||
}
|
||
if (xx + ww > cache.width) {
|
||
var xScale = ((cache.width - xx) * 1.0) / ww;
|
||
ww = cache.width - xx;
|
||
w *= xScale;
|
||
}
|
||
var hh = rect.height / scale;
|
||
var h = rect.height;
|
||
if (h <= 0 || h + yy > cache.height) {
|
||
h = cache.height - yy;
|
||
hh = h / scale;
|
||
}
|
||
if (yy + hh > cache.height) {
|
||
var yScale = ((cache.height - yy) * 1.0) / hh;
|
||
hh = cache.height - yy;
|
||
h *= yScale;
|
||
}
|
||
bitmap.blt(cache, xx, yy, ww, hh, x, y, w, h);
|
||
};
|
||
this.drawTachieFile = function (
|
||
file,
|
||
bitmap,
|
||
actor,
|
||
x,
|
||
y,
|
||
rect,
|
||
scale,
|
||
alpha
|
||
) {
|
||
if (x === void 0) {
|
||
x = 0;
|
||
}
|
||
if (y === void 0) {
|
||
y = 0;
|
||
}
|
||
if (scale === void 0) {
|
||
scale = 1;
|
||
}
|
||
if (alpha === void 0) {
|
||
alpha = 1;
|
||
}
|
||
if (!file) {
|
||
return;
|
||
}
|
||
if (!rect) {
|
||
rect = new Rectangle(0, 0, 0, 0);
|
||
}
|
||
this.drawTachieTextureAtlas(
|
||
file,
|
||
bitmap,
|
||
actor,
|
||
x,
|
||
y,
|
||
rect,
|
||
scale,
|
||
alpha
|
||
);
|
||
};
|
||
this.drawTachieTextureAtlas = function (
|
||
file,
|
||
bitmap,
|
||
actor,
|
||
x,
|
||
y,
|
||
rect,
|
||
scale,
|
||
alpha,
|
||
hue,
|
||
tone
|
||
) {
|
||
if (hue === void 0) {
|
||
hue = 0;
|
||
}
|
||
if (tone === void 0) {
|
||
tone = 0;
|
||
}
|
||
var textureBase = PIXI.utils.TextureCache[file + ".png"];
|
||
if (!textureBase) {
|
||
//p(file)
|
||
return;
|
||
}
|
||
var frame = textureBase.frame;
|
||
var sx = frame.x;
|
||
var sy = frame.y;
|
||
var trim = textureBase.trim;
|
||
var crop = textureBase.trim;
|
||
var ww = crop.width / scale;
|
||
var w = crop.width;
|
||
var hh = crop.height / scale;
|
||
var h = crop.height;
|
||
var dx = trim.x + rect.x;
|
||
var dy = trim.y + rect.y;
|
||
var texture = new PIXI.Texture(textureBase.baseTexture);
|
||
texture.frame = new PIXI.Rectangle(sx, sy, ww, hh);
|
||
var sprite = new PIXI.Sprite(texture);
|
||
if (hue != 0) {
|
||
var colorFilter = new ColorFilter();
|
||
colorFilter.setHue(hue);
|
||
colorFilter.setColorTone([tone, tone, tone, 0]);
|
||
sprite.filters = [];
|
||
sprite.filters.push(colorFilter);
|
||
alpha = 0.75;
|
||
}
|
||
sprite.position.x = dx + x;
|
||
sprite.position.y = dy + y;
|
||
sprite.width = w;
|
||
sprite.height = h;
|
||
sprite.alpha = alpha;
|
||
bitmap.addChild(sprite);
|
||
};
|
||
this.drawTachieHair = function (actor, bitmap) {
|
||
this.drawTachieFile(actor.hairFile(), bitmap, actor);
|
||
this.drawTachieBackAcce(actor, bitmap);
|
||
};
|
||
this.drawTachieOuterBack = function (actor, bitmap) {
|
||
this.drawTachieFile(
|
||
actor.outerBackFile(),
|
||
bitmap,
|
||
actor,
|
||
undefined,
|
||
undefined,
|
||
undefined,
|
||
undefined,
|
||
$gameSystem.outerAlpha()
|
||
);
|
||
};
|
||
this.drawTachieOuterShadow = function (actor, bitmap) {
|
||
this.drawTachieFile(actor.innerBottomShadowFile(), bitmap, actor);
|
||
this.drawTachieFile(actor.innerTopShadowFile(), bitmap, actor);
|
||
this.drawTachieFile(
|
||
actor.outerShadowFile(),
|
||
bitmap,
|
||
actor,
|
||
undefined,
|
||
undefined,
|
||
undefined,
|
||
undefined,
|
||
$gameSystem.outerAlpha()
|
||
);
|
||
this.drawTachieFile(actor.outerBottomShadowFile(), bitmap, actor);
|
||
this.drawTachieFile(actor.outerTopShadowFile(), bitmap, actor);
|
||
this.drawTachieFile(actor.outerBottomShadowFile(), bitmap, actor);
|
||
};
|
||
this.drawTachieOuterMain = function (actor, bitmap) {
|
||
this.drawTachieFile(actor.outerBottomMainFile(), bitmap, actor);
|
||
this.drawTachieFile(actor.outerMiddleFile(), bitmap, actor);
|
||
this.drawTachieFile(
|
||
actor.outerMainFile(),
|
||
bitmap,
|
||
actor,
|
||
undefined,
|
||
undefined,
|
||
undefined,
|
||
undefined,
|
||
$gameSystem.outerAlpha()
|
||
);
|
||
this.drawTachieFile(actor.outerTopMainFile(), bitmap, actor);
|
||
};
|
||
this.drawTachieOuterFront = function (actor, bitmap) {
|
||
this.drawTachieFile(
|
||
actor.outerFrontFile(),
|
||
bitmap,
|
||
actor,
|
||
undefined,
|
||
undefined,
|
||
undefined,
|
||
undefined,
|
||
$gameSystem.outerAlpha()
|
||
);
|
||
};
|
||
this.drawTachieBodyBack = function (actor, bitmap) {
|
||
this.drawTachieFile(
|
||
actor.backOptionFile(),
|
||
bitmap,
|
||
actor,
|
||
undefined,
|
||
undefined,
|
||
undefined,
|
||
undefined,
|
||
$gameSystem.outerAlpha()
|
||
);
|
||
this.drawTachieFile(actor.bodyBackFile(), bitmap, actor);
|
||
//this.drawTachieFile(actor.bodyBackFileB(), bitmap, actor);
|
||
//this.drawTachieFile(actor.bodyBackFileC(), bitmap, actor);
|
||
//this.drawTachieFile(actor.breastsFile(), bitmap, actor);
|
||
};
|
||
this.drawTachieSeiekiMiddleBack = function (actor, bitmap) {
|
||
var bodyType = actor.bodyType();
|
||
var list = actor.getSeiekiMiddleAcceList();
|
||
for (var _b = 0, list_1 = list; _b < list_1.length; _b++) {
|
||
var acce = list_1[_b];
|
||
var fileId = acce.meta["acce"];
|
||
if (acce.meta["poseD"] && bodyType == "d") {
|
||
fileId = acce.meta["poseD"];
|
||
}
|
||
this.drawTachieFile(actor.acceBackFile(fileId), bitmap, actor);
|
||
}
|
||
};
|
||
this.drawTachieSeiekiFrontBack = function (actor, bitmap) {
|
||
var list = actor.getSeiekiFrontAcceList();
|
||
for (var _b = 0, list_2 = list; _b < list_2.length; _b++) {
|
||
var acce = list_2[_b];
|
||
this.drawTachieFile(
|
||
actor.acceBackFile(acce.meta["acce"]),
|
||
bitmap,
|
||
actor
|
||
);
|
||
}
|
||
};
|
||
this.drawTachieSeiekiMiddle = function (actor, bitmap) {
|
||
var bodyType = actor.bodyType();
|
||
var list = actor.getSeiekiMiddleAcceList();
|
||
for (var _b = 0, list_3 = list; _b < list_3.length; _b++) {
|
||
var acce = list_3[_b];
|
||
var fileId = acce.meta["acce"];
|
||
this.drawTachieFile(actor.acceFile(fileId), bitmap, actor);
|
||
}
|
||
};
|
||
this.drawTachieSeiekiFront = function (actor, bitmap) {
|
||
var list = actor.getSeiekiFrontAcceList();
|
||
for (var _b = 0, list_4 = list; _b < list_4.length; _b++) {
|
||
var acce = list_4[_b];
|
||
this.drawTachieFile(actor.acceFile(acce.meta["acce"]), bitmap, actor);
|
||
}
|
||
};
|
||
this.drawTachieBodyFront = function (actor, bitmap) {
|
||
this.drawTachieFile(actor.bodyFrontFile(), bitmap, actor);
|
||
};
|
||
this.drawTachieInnerBottom = function (actor, bitmap) {
|
||
this.drawTachieFile(actor.innerBottomFile(), bitmap, actor);
|
||
};
|
||
this.drawTachieInnerTop = function (actor, bitmap) {
|
||
if (!actor.innerTopFile()) {
|
||
return;
|
||
}
|
||
this.drawTachieFile(actor.innerTopFile(), bitmap, actor);
|
||
};
|
||
this.drawTachieInnerTop2 = function (actor, bitmap) {
|
||
if (!actor.innerTopFile()) {
|
||
return;
|
||
}
|
||
this.drawTachieFile(actor.innerTopFile(), bitmap, actor);
|
||
};
|
||
this.drawTachieHoppe = function (actor, bitmap) {
|
||
if (actor.hoppeId == 0) {
|
||
if (actor.hoppeAcceId()) {
|
||
var id = actor.hoppeAcceId();
|
||
this.drawTachieFile(actor.baseId + "hoppe" + id, bitmap, actor);
|
||
}
|
||
} else {
|
||
this.drawTachieFile(actor.hoppeFile(), bitmap, actor);
|
||
}
|
||
};
|
||
this.drawTachieNamida = function (actor, bitmap, faceId) {
|
||
if (actor.namidaId == 0) {
|
||
/*if (actor.hasHoppeAcce()) {
|
||
this.drawTachieFile(actor.baseId + 'hoppe', bitmap, actor);
|
||
}*/
|
||
} else {
|
||
this.drawTachieFile(actor.namidaFile(faceId), bitmap, actor);
|
||
}
|
||
};
|
||
this.drawTachieBackAcce = function (actor, bitmap) {
|
||
for (var _i = 0, _a = actor.getBackAcceList(); _i < _a.length; _i++) {
|
||
var acceId = _a[_i];
|
||
var acce = $dataArmors[acceId];
|
||
var alpha = actor.acceFileAlpha(acceId + 1000);
|
||
if (acce.meta["enableAlpha"]) {
|
||
alpha = $gameSystem.outerAlpha();
|
||
}
|
||
this.drawTachieFile(
|
||
actor.acceFile(acceId),
|
||
bitmap,
|
||
actor,
|
||
undefined,
|
||
undefined,
|
||
undefined,
|
||
undefined,
|
||
alpha
|
||
);
|
||
}
|
||
};
|
||
this.drawTachieSkinAcce = function (actor, bitmap) {
|
||
if (actor.hasAcce(1021)) {
|
||
var babyList = actor.babyList();
|
||
for (var i_1 = 0; i_1 < babyList.length; i_1++) {
|
||
var baby = babyList[i_1];
|
||
if (!baby.isSyusan()) {
|
||
continue;
|
||
}
|
||
var index = i_1 + 1;
|
||
var file = actor.getSyusanAcceFile(index, baby.isMale());
|
||
this.drawSyusanTachieFile(file, bitmap, actor, baby);
|
||
}
|
||
}
|
||
for (var _i = 0, _a = actor.getSkinAcceList(); _i < _a.length; _i++) {
|
||
var acceId = _a[_i];
|
||
this.drawTachieFile(
|
||
actor.acceFile(acceId),
|
||
bitmap,
|
||
actor,
|
||
undefined,
|
||
undefined,
|
||
undefined,
|
||
undefined,
|
||
actor.acceFileAlpha(acceId)
|
||
);
|
||
}
|
||
};
|
||
this.drawSyusanTachieFile = function (file, bitmap, actor, baby) {
|
||
if (!file) {
|
||
return;
|
||
}
|
||
var rect = new Rectangle(0, 0, 0, 0);
|
||
/*let hue = 1;
|
||
let tone = -50;
|
||
switch (baby.getTaneoyaType()) {
|
||
case TaneoyaId.banzoku:
|
||
hue = 22;
|
||
tone = -250;
|
||
break;
|
||
case TaneoyaId.charles: hue = 40; break;
|
||
case TaneoyaId.goblin: hue = 120; break;
|
||
}*/
|
||
this.drawTachieTextureAtlas(file, bitmap, actor, 0, 0, rect, 1, 1);
|
||
};
|
||
this.drawTachieMiddleAcce = function (actor, bitmap) {
|
||
for (var _i = 0, _a = actor.getMiddleAcceList(); _i < _a.length; _i++) {
|
||
var acceId = _a[_i];
|
||
this.drawTachieFile(actor.acceFile(acceId), bitmap, actor);
|
||
}
|
||
};
|
||
this.drawTachieMiddleFrontAcce = function (actor, bitmap) {
|
||
for (
|
||
var _i = 0, _a = actor.getMiddleFrontAcceList();
|
||
_i < _a.length;
|
||
_i++
|
||
) {
|
||
var acceId = _a[_i];
|
||
var acce = $dataArmors[acceId + 1000];
|
||
var alpha = 1;
|
||
if (acce.meta["enableAlpha"]) {
|
||
alpha = $gameSystem.outerAlpha();
|
||
}
|
||
this.drawTachieFile(
|
||
actor.acceFile(acceId),
|
||
bitmap,
|
||
actor,
|
||
undefined,
|
||
undefined,
|
||
undefined,
|
||
undefined,
|
||
alpha
|
||
);
|
||
}
|
||
};
|
||
this.drawTachieFrontRakugakiAcce = function (actor, bitmap) {
|
||
for (
|
||
var _i = 0, _a = actor.getFrontRakugakiAcceList();
|
||
_i < _a.length;
|
||
_i++
|
||
) {
|
||
var acceId = _a[_i];
|
||
var acce = $dataArmors[acceId + 1000];
|
||
var alpha = 1;
|
||
if (acce.meta["enableAlpha"]) {
|
||
alpha = $gameSystem.outerAlpha();
|
||
}
|
||
this.drawTachieFile(
|
||
actor.acceFile(acceId),
|
||
bitmap,
|
||
actor,
|
||
undefined,
|
||
undefined,
|
||
undefined,
|
||
undefined,
|
||
alpha
|
||
);
|
||
}
|
||
};
|
||
this.drawTachieFrontAcce = function (actor, bitmap) {
|
||
for (var _i = 0, _a = actor.getFrontAcceList(); _i < _a.length; _i++) {
|
||
var acceId = _a[_i];
|
||
var acce = $dataArmors[acceId + 1000];
|
||
var alpha = 1;
|
||
if (acce.meta["enableAlpha"]) {
|
||
alpha = $gameSystem.outerAlpha();
|
||
}
|
||
this.drawTachieFile(
|
||
actor.acceFile(acceId),
|
||
bitmap,
|
||
actor,
|
||
undefined,
|
||
undefined,
|
||
undefined,
|
||
undefined,
|
||
alpha
|
||
);
|
||
}
|
||
};
|
||
this.drawTachieFace = function (actor, bitmap, faceId) {
|
||
if (faceId === 0) {
|
||
faceId = actor.faceId;
|
||
}
|
||
var file = actor.faceFile(faceId);
|
||
this.drawTachieFile(file, bitmap, actor);
|
||
};
|
||
};
|
||
TachieDrawerMixin.call(Sprite.prototype);
|
||
TachieDrawerMixin.call(Window_Base.prototype);
|
||
var _Sprite_Picture_prototype_updateBitmap =
|
||
Sprite_Picture.prototype.updateBitmap;
|
||
Sprite_Picture.prototype.updateBitmap = function () {
|
||
_Sprite_Picture_prototype_updateBitmap.call(this);
|
||
var picture = this.picture();
|
||
if (picture && picture.tachieActorId !== 0 && picture._opacity > 0) {
|
||
var actorId = picture.tachieActorId;
|
||
var actor = $gameActors.actor(actorId);
|
||
if (actor.isDirty() || this._dirty || this._lastActorId != actorId) {
|
||
this._lastActorId = actorId;
|
||
this.redrawActorImage();
|
||
}
|
||
}
|
||
};
|
||
var _Sprite_Picture_prototype_loadBitmap =
|
||
Sprite_Picture.prototype.loadBitmap;
|
||
Sprite_Picture.prototype.loadBitmap = function () {
|
||
var picture = this.picture();
|
||
this.removeChildren();
|
||
if (picture && picture.tachieActorId !== 0) {
|
||
//this.bitmap = $gameTemp.getPictureBitmapCache($gameScreen.getPictureId(picture));
|
||
this.redrawActorImage();
|
||
} else {
|
||
_Sprite_Picture_prototype_loadBitmap.call(this);
|
||
}
|
||
};
|
||
Sprite_Picture.prototype.redrawActorImage = function () {
|
||
var picture = this.picture();
|
||
if (!picture) {
|
||
return;
|
||
}
|
||
var actorId = picture.tachieActorId;
|
||
if (actorId === 0) {
|
||
return;
|
||
}
|
||
if (this.lastDrawnActorId !== actorId) {
|
||
this.removeChildren();
|
||
}
|
||
if ($gameSystem.isEroEvent()) {
|
||
this.removeChildren();
|
||
return;
|
||
}
|
||
var actor = $gameActors.actor(actorId);
|
||
var success = this.drawTachie(actorId, null, 0, 0, null, 0, 1, true);
|
||
this._dirty = !success;
|
||
};
|
||
})((Tachie = Nore.Tachie || (Nore.Tachie = {})));
|
||
})(Nore || (Nore = {}));
|
||
var _TouchInput_clear = TouchInput.clear;
|
||
TouchInput.clear = function () {
|
||
_TouchInput_clear.call(this);
|
||
this.rightButton = false;
|
||
this.rightButtonCount = 0;
|
||
};
|
||
TouchInput._onRightButtonDown = function (event) {
|
||
var x = Graphics.pageToCanvasX(event.pageX);
|
||
var y = Graphics.pageToCanvasY(event.pageY);
|
||
if (Graphics.isInsideCanvas(x, y)) {
|
||
this._onCancel(x, y);
|
||
this.rightButtonCount = this.rightButtonCount || 0;
|
||
this.rightButtonCount++;
|
||
}
|
||
};
|
||
var _TouchInput_update = TouchInput.update;
|
||
TouchInput.update = function () {
|
||
_TouchInput_update.call(this);
|
||
if (this.rightButtonCount > 0) {
|
||
this.rightButtonCount++;
|
||
if (this.rightButtonCount > 5) {
|
||
this.rightButton = true;
|
||
}
|
||
}
|
||
};
|
||
function isSkipKey() {
|
||
if (ConfigManager.skipKey) {
|
||
if (Input.isPressed("control")) {
|
||
return true;
|
||
}
|
||
} else {
|
||
if (Input.isPressed("shift")) {
|
||
return true;
|
||
}
|
||
}
|
||
if (Input.isPressed("ok") && Input.isPressed("cancel")) {
|
||
return true;
|
||
}
|
||
if (ConfigManager.rightClickSkip) {
|
||
return TouchInput.rightButton;
|
||
}
|
||
return false;
|
||
//return Input.isPressed("control") || TouchInput.rightButton || Input.isPressed("shift");
|
||
}
|
||
var _Window_Message_prototype_updateWait = Window_Message.prototype.updateWait;
|
||
Window_Message.prototype.updateWait = function () {
|
||
if (isSkipKey()) {
|
||
this._waitCount = 0;
|
||
}
|
||
return _Window_Message_prototype_updateWait.call(this);
|
||
};
|
||
var _Window_Message_prototype_isTriggered =
|
||
Window_Message.prototype.isTriggered;
|
||
Window_Message.prototype.isTriggered = function () {
|
||
if (isSkipKey()) {
|
||
return true;
|
||
}
|
||
return _Window_Message_prototype_isTriggered.call(this);
|
||
};
|
||
var _TouchInput_onMouseUp = TouchInput._onMouseUp;
|
||
TouchInput._onMouseUp = function (event) {
|
||
if (event.button == 2) {
|
||
this.rightButton = false;
|
||
this.rightButtonCount = 0;
|
||
}
|
||
_TouchInput_onMouseUp.call(this, event);
|
||
};
|
||
Window_Message.prototype.updateBackOpacity = function () {
|
||
this.backOpacity = 255;
|
||
};
|
||
Window_Base.prototype.updateOpen = function () {
|
||
if (this._opening) {
|
||
this.openness += 32;
|
||
if (isSkipKey()) {
|
||
this.openness += 256;
|
||
}
|
||
if (this.isOpen()) {
|
||
this._opening = false;
|
||
}
|
||
}
|
||
};
|
||
Window_Base.prototype.updateClose = function () {
|
||
if (this._closing) {
|
||
this.openness -= 32;
|
||
if (isSkipKey()) {
|
||
this.openness = 0;
|
||
}
|
||
if (this.isClosed()) {
|
||
this._closing = false;
|
||
}
|
||
}
|
||
};
|