327 lines
No EOL
9.2 KiB
JavaScript
327 lines
No EOL
9.2 KiB
JavaScript
var actorMap = {};
|
|
var actorGameMap = {};
|
|
var actor1Map = {};
|
|
var actor2Map = {};
|
|
var actorEroMap = {};
|
|
var actorEro2Map = {};
|
|
var actorEro3Map = {};
|
|
var clearActorIndex = 0;
|
|
|
|
function clearActorMap() {
|
|
actorMap = {};
|
|
actorGameMap = {};
|
|
actor1Map = {};
|
|
actor2Map = {};
|
|
actorEroMap = {};
|
|
actorEro2Map = {};
|
|
actorEro3Map = {};
|
|
setNaked(false);
|
|
root.log('clearActorMap' + clearActorIndex++);
|
|
}
|
|
|
|
ContentRenderer.drawUnitFace = function(x, y, unit, isReverse, alpha, isBig) {
|
|
var handle = unit.getFaceResourceHandle();
|
|
var pic = GraphicsRenderer.getGraphics(handle, GraphicsType.FACE);
|
|
|
|
if (pic === null) {
|
|
return;
|
|
}
|
|
if (isBig) {
|
|
var u;
|
|
var val = getNameByVal2(unit.getName());
|
|
var switchId = getEroEquipSwitchId(val, -2);
|
|
var isOn = root.getMetaSession().getGlobalSwitchTable().isSwitchOn(switchId);
|
|
if (isEro() || isOn) {
|
|
var session = root.getCurrentSession();
|
|
if (root.getCurrentScene() === SceneType.FREE && session != null) {
|
|
var mapType = session.getCurrentMapInfo().getMapType();
|
|
if (mapType === MapType.NORMAL) {
|
|
u = getActorEro3(unit);
|
|
} else {
|
|
u = getActorEro2(unit);
|
|
}
|
|
}
|
|
else {
|
|
u = getActorEro2(unit);
|
|
}
|
|
} else {
|
|
u = getActor2(unit);
|
|
}
|
|
if (u) {
|
|
handle = u.getFaceResourceHandle();
|
|
pic = GraphicsRenderer.getGraphics(handle, GraphicsType.FACE);
|
|
} else {
|
|
x += 20;
|
|
y += 12;
|
|
}
|
|
}
|
|
|
|
pic.setReverse(isReverse);
|
|
pic.setAlpha(alpha);
|
|
|
|
this._drawShrinkFace(x, y, handle, pic);
|
|
};
|
|
|
|
|
|
|
|
function getActor1(unit) {
|
|
if (! unit) {
|
|
return null
|
|
}
|
|
if (actor1Map[unit.getId()] !== undefined) {
|
|
if (actor1Map[unit.getId()] == null) {
|
|
return null;
|
|
} else {
|
|
return actor1Map[unit.getId()];
|
|
}
|
|
} else {
|
|
var list = root.getBaseData().getPlayerList();
|
|
for (var i = 0; i < list.getCount(); i++) {
|
|
var u = list.getData(i);
|
|
var name = unit.getName();
|
|
if (name.length > 4) {
|
|
name = name.substr(0, 4);
|
|
}
|
|
if ((name + '1') == u.getName()) {
|
|
actor1Map[unit.getId()] = u;
|
|
return u;
|
|
}
|
|
}
|
|
actor1Map[unit.getId()] = null;
|
|
return null;
|
|
}
|
|
}
|
|
function getActorByName2(name) {
|
|
if (actorMap[name] !== undefined) {
|
|
if (actorMap[name] == null) {
|
|
return null;
|
|
} else {
|
|
return actorMap[name];
|
|
}
|
|
} else {
|
|
var list = root.getBaseData().getPlayerList();
|
|
for (var i = 0; i < list.getCount(); i++) {
|
|
var u = list.getData(i);
|
|
if (u.getName() == name) {
|
|
actorMap[name] = u;
|
|
return u;
|
|
}
|
|
}
|
|
actorMap[name] = null;
|
|
return null;
|
|
}
|
|
}
|
|
function getActorByName3(name) {
|
|
if (actorGameMap[name] !== undefined) {
|
|
if (actorGameMap[name] == null) {
|
|
return null;
|
|
} else {
|
|
return actorGameMap[name];
|
|
}
|
|
} else {
|
|
var list = root.getCurrentSession().getPlayerList();
|
|
for (var i = 0; i < list.getCount(); i++) {
|
|
var u = list.getData(i);
|
|
if (u.getName() == name) {
|
|
actorGameMap[name] = u;
|
|
return u;
|
|
}
|
|
}
|
|
actorGameMap[name] = null;
|
|
return null;
|
|
}
|
|
}
|
|
function getActor2(unit) {
|
|
if (actor2Map[unit.getId()] !== undefined) {
|
|
if (actor2Map[unit.getId()] == null) {
|
|
return null;
|
|
} else {
|
|
return actor2Map[unit.getId()];
|
|
}
|
|
} else {
|
|
var list = root.getBaseData().getPlayerList();
|
|
for (var i = 0; i < list.getCount(); i++) {
|
|
var u = list.getData(i);
|
|
var name = unit.getName();
|
|
if (name.length > 4) {
|
|
name = name.substr(0, 4);
|
|
}
|
|
if ((name + '2') == u.getName()) {
|
|
actor2Map[unit.getId()] = u;
|
|
return u;
|
|
}
|
|
}
|
|
actor2Map[unit.getId()] = null;
|
|
return null;
|
|
}
|
|
}
|
|
function getActorEro(unit) {
|
|
if (! unit) {
|
|
return null;
|
|
}
|
|
if (actorEroMap[unit.getId()] !== undefined) {
|
|
if (actorEroMap[unit.getId()] == null) {
|
|
return null;
|
|
} else {
|
|
return actorEroMap[unit.getId()];
|
|
}
|
|
} else {
|
|
var name = getSearchName(unit);
|
|
var list = root.getBaseData().getPlayerList();
|
|
for (var i = 0; i < list.getCount(); i++) {
|
|
var u = list.getData(i);
|
|
|
|
if ((name + '_ero') == u.getName()) {
|
|
actorEroMap[unit.getId()] = u;
|
|
return u;
|
|
}
|
|
}
|
|
actorEroMap[unit.getId()] = null;
|
|
return null;
|
|
}
|
|
}
|
|
function getActorEro2(unit) {
|
|
if (actorEro2Map[unit.getId()] !== undefined) {
|
|
if (actorEro2Map[unit.getId()] == null) {
|
|
return null;
|
|
} else {
|
|
return actorEro2Map[unit.getId()];
|
|
}
|
|
} else {
|
|
var name = getSearchName(unit);
|
|
var list = root.getBaseData().getPlayerList();
|
|
for (var i = 0; i < list.getCount(); i++) {
|
|
var u = list.getData(i);
|
|
if ((name + '_ero2') == u.getName()) {
|
|
actorEro2Map[unit.getId()] = u;
|
|
return u;
|
|
}
|
|
}
|
|
actorEro2Map[unit.getId()] = null;
|
|
return null;
|
|
}
|
|
}
|
|
function getActorEro3(unit) {
|
|
if (actorEro3Map[unit.getId()] !== undefined) {
|
|
if (actorEro3Map[unit.getId()] == null) {
|
|
return null;
|
|
} else {
|
|
return actorEro3Map[unit.getId()];
|
|
}
|
|
} else {
|
|
var name = getSearchName(unit);
|
|
var list = root.getBaseData().getPlayerList();
|
|
for (var i = 0; i < list.getCount(); i++) {
|
|
var u = list.getData(i);
|
|
if ((name + '_ero3') == u.getName()) {
|
|
actorEro3Map[unit.getId()] = u;
|
|
return u;
|
|
}
|
|
}
|
|
actorEro3Map[unit.getId()] = null;
|
|
return null;
|
|
}
|
|
}
|
|
|
|
function getSearchName(unit) {
|
|
var name = unit.getName();
|
|
|
|
if (name.indexOf('_') > 1) {
|
|
name = name.substr(0, name.indexOf('_'));
|
|
}
|
|
if (name.length > 4) {
|
|
name = name.substr(0, 4);
|
|
}
|
|
|
|
return name;
|
|
}
|
|
|
|
ContentRenderer._drawShrinkFace = function(xDest, yDest, handle, pic) {
|
|
var xSrc, ySrc;
|
|
var destWidth = GraphicsFormat.FACE_WIDTH;
|
|
var destHeight = GraphicsFormat.FACE_HEIGHT;
|
|
var srcWidth = destWidth;
|
|
var srcHeight = destHeight;
|
|
xSrc = handle.getSrcX() * srcWidth;
|
|
|
|
if (root.isLargeFaceUse() && pic.isLargeImage()) {
|
|
srcWidth = root.getLargeFaceWidth();
|
|
srcHeight = root.getLargeFaceHeight();
|
|
destWidth = root.getLargeFaceWidth();
|
|
destHeight = root.getLargeFaceHeight();
|
|
xSrc = handle.getSrcX() * srcWidth;
|
|
}
|
|
|
|
ySrc = handle.getSrcY() * srcHeight;
|
|
pic.drawStretchParts(xDest, yDest, destWidth, destHeight, xSrc, ySrc, srcWidth, srcHeight);
|
|
};
|
|
|
|
BaseMessageView.drawFace = function(xDest, yDest) {
|
|
var pic, xSrc, ySrc;
|
|
var destWidth = GraphicsFormat.FACE_WIDTH;
|
|
var destHeight = GraphicsFormat.FACE_HEIGHT;
|
|
var srcWidth = destWidth;
|
|
var srcHeight = destHeight;
|
|
var handle = this._faceHandle;
|
|
var facialExpressionId = this._faceId;
|
|
|
|
if (handle === null) {
|
|
return;
|
|
}
|
|
|
|
pic = GraphicsRenderer.getGraphics(handle, GraphicsType.FACE);
|
|
if (pic === null) {
|
|
return;
|
|
}
|
|
|
|
/*if (root.isLargeFaceUse() && false) {
|
|
destWidth = root.getLargeFaceWidth();
|
|
destHeight = root.getLargeFaceHeight();
|
|
if (pic.isLargeImage()) {
|
|
srcWidth = destWidth;
|
|
srcHeight = destHeight;
|
|
}
|
|
}*/
|
|
|
|
if (facialExpressionId === 0) {
|
|
xSrc = handle.getSrcX();
|
|
ySrc = handle.getSrcY();
|
|
}
|
|
else {
|
|
xSrc = Math.floor(facialExpressionId % 6);
|
|
ySrc = Math.floor(facialExpressionId / 6);
|
|
}
|
|
|
|
if (this._messageLayout.isFaceReverse()) {
|
|
pic.setReverse(true);
|
|
}
|
|
|
|
xSrc *= srcWidth;
|
|
ySrc *= srcHeight;
|
|
pic.drawStretchParts(xDest, yDest, destWidth, destHeight, xSrc, ySrc, srcWidth, srcHeight);
|
|
};
|
|
|
|
BaseMessageView._setupName = function(messageViewParam) {
|
|
var name = '';
|
|
|
|
if (messageViewParam.unit !== null) {
|
|
name = messageViewParam.unit.getName();
|
|
}
|
|
else if (messageViewParam.npc !== null) {
|
|
name = messageViewParam.npc.getName();
|
|
}
|
|
if (name == '_') {
|
|
name = '';
|
|
}
|
|
|
|
if (name.indexOf('_') > 1) {
|
|
name = name.substr(0, name.indexOf('_'));
|
|
}
|
|
if (name == 'Char') {
|
|
name = 'Charlotte';
|
|
}
|
|
if (name == 'シャルロ') {
|
|
name = 'シャルロット';
|
|
}
|
|
this._name = name;
|
|
}; |