Commit 0c7eae59 authored by szefo09's avatar szefo09 Committed by GitHub

Merge pull request #4 from purerosefallen/Android

Android
parents ef14e19f e49b1497
...@@ -715,17 +715,6 @@ public static class BinaryExtensions ...@@ -715,17 +715,6 @@ public static class BinaryExtensions
{ {
l2 = r.ReadInt32(); l2 = r.ReadInt32();
} }
if (((flag & (int)Query.Level) != 0) || ((flag & (int)Query.Rank) != 0))
{
if (l1 > l2)
{
data.Level = l1;
}
else
{
data.Level = l2;
}
}
if ((flag & (int)Query.Attribute) != 0) if ((flag & (int)Query.Attribute) != 0)
data.Attribute = r.ReadInt32(); data.Attribute = r.ReadInt32();
...@@ -741,8 +730,8 @@ public static class BinaryExtensions ...@@ -741,8 +730,8 @@ public static class BinaryExtensions
r.ReadInt32(); r.ReadInt32();
if ((flag & (int)Query.Reason) != 0) if ((flag & (int)Query.Reason) != 0)
r.ReadInt32(); r.ReadInt32();
//if ((flag & (int)Query.ReasonCard) != 0) if ((flag & (int)Query.ReasonCard) != 0)
// r.ReadInt32(); r.ReadInt32();
if ((flag & (int)Query.EquipCard) != 0) if ((flag & (int)Query.EquipCard) != 0)
{ {
cardToRefresh.addTarget(Program.I().ocgcore.GCS_cardGet(r.ReadGPS(), false)); cardToRefresh.addTarget(Program.I().ocgcore.GCS_cardGet(r.ReadGPS(), false));
...@@ -788,6 +777,26 @@ public static class BinaryExtensions ...@@ -788,6 +777,26 @@ public static class BinaryExtensions
data.LScale = r.ReadInt32(); data.LScale = r.ReadInt32();
if ((flag & (int)Query.RScale) != 0) if ((flag & (int)Query.RScale) != 0)
data.RScale = r.ReadInt32(); data.RScale = r.ReadInt32();
int l3 = 0;
if ((flag & (int)Query.Link) != 0)
{
l3 = r.ReadInt32(); //link value
data.rDefense = r.ReadInt32(); //link marker
}
if (((flag & (int)Query.Level) != 0) || ((flag & (int)Query.Rank) != 0) || ((flag & (int)Query.Link) != 0))
{
if (l1 > l2)
{
data.Level = l1;
}
else
{
data.Level = l2;
}
if(l3 > data.Level)
data.Level = l3;
}
cardToRefresh.set_data(data); cardToRefresh.set_data(data);
// //
} }
......
...@@ -448,7 +448,7 @@ public class Ocgcore : ServantWithCardDescription ...@@ -448,7 +448,7 @@ public class Ocgcore : ServantWithCardDescription
case Condition.duel: case Condition.duel:
SetBar(Program.I().new_bar_duel, 0, 0); SetBar(Program.I().new_bar_duel, 0, 0);
UIHelper.registEvent(toolBar, "input_", onChat); UIHelper.registEvent(toolBar, "input_", onChat);
UIHelper.registEvent(toolBar, "gg_", onDuelResultConfirmed); UIHelper.registEvent(toolBar, "gg_", onSurrender);
UIHelper.registEvent(toolBar, "left_", on_left); UIHelper.registEvent(toolBar, "left_", on_left);
UIHelper.registEvent(toolBar, "right_", on_right); UIHelper.registEvent(toolBar, "right_", on_right);
UIHelper.registEvent(toolBar, "rush_", on_rush); UIHelper.registEvent(toolBar, "rush_", on_rush);
...@@ -769,6 +769,21 @@ public class Ocgcore : ServantWithCardDescription ...@@ -769,6 +769,21 @@ public class Ocgcore : ServantWithCardDescription
returnTo(); returnTo();
} }
public void onEmergencyExit()
{
if (TcpHelper.tcpClient != null)
{
/*if (TcpHelper.tcpClient.Connected)
{
Program.I().ocgcore.returnServant = Program.I().selectServer;
TcpHelper.tcpClient.Client.Shutdown(0);
TcpHelper.tcpClient.Close();
} */
TcpHelper.tcpClient = null;
}
returnTo();
}
public bool surrended = false; public bool surrended = false;
public void onChat() public void onChat()
...@@ -1303,6 +1318,7 @@ public class Ocgcore : ServantWithCardDescription ...@@ -1303,6 +1318,7 @@ public class Ocgcore : ServantWithCardDescription
logicalClearChain(); logicalClearChain();
surrended = false; surrended = false;
Program.I().room.duelEnded = false; Program.I().room.duelEnded = false;
Program.I().room.joinWithReconnect = false;
turns = 0; turns = 0;
deckReserved = false; deckReserved = false;
keys.Insert(0, currentMessageIndex); keys.Insert(0, currentMessageIndex);
...@@ -1367,7 +1383,7 @@ public class Ocgcore : ServantWithCardDescription ...@@ -1367,7 +1383,7 @@ public class Ocgcore : ServantWithCardDescription
gameField.currentPhase = GameField.ph.dp; gameField.currentPhase = GameField.ph.dp;
result = duelResult.disLink; result = duelResult.disLink;
deckReserved = false; deckReserved = false;
isFirst = true; //isFirst = true;
gameInfo.swaped = false; gameInfo.swaped = false;
logicalClearChain(); logicalClearChain();
surrended = false; surrended = false;
...@@ -3402,8 +3418,6 @@ public class Ocgcore : ServantWithCardDescription ...@@ -3402,8 +3418,6 @@ public class Ocgcore : ServantWithCardDescription
cancalable = (r.ReadByte() != 0) || finishable; cancalable = (r.ReadByte() != 0) || finishable;
ES_min = r.ReadByte(); ES_min = r.ReadByte();
ES_max = r.ReadByte(); ES_max = r.ReadByte();
ES_min = finishable ? 0 : 1; // SelectUnselectCard can actually always select 1 card
ES_max = 1; // SelectUnselectCard can actually always select 1 card
ES_level = 0; ES_level = 0;
count = r.ReadByte(); count = r.ReadByte();
for (int i = 0; i < count; i++) for (int i = 0; i < count; i++)
...@@ -3420,12 +3434,13 @@ public class Ocgcore : ServantWithCardDescription ...@@ -3420,12 +3434,13 @@ public class Ocgcore : ServantWithCardDescription
allCardsInSelectMessage.Add(card); allCardsInSelectMessage.Add(card);
} }
} }
count = r.ReadByte(); cardsSelected.Clear();
for (int i = 0; i < count; i++) int count2 = r.ReadByte();
for (int i = count; i < count + count2; i++)
{ {
code = r.ReadInt32(); code = r.ReadInt32();
gps = r.ReadGPS(); gps = r.ReadGPS();
/*card = GCS_cardGet(gps, false); card = GCS_cardGet(gps, false);
if (card != null) if (card != null)
{ {
card.set_code(code); card.set_code(code);
...@@ -3433,16 +3448,24 @@ public class Ocgcore : ServantWithCardDescription ...@@ -3433,16 +3448,24 @@ public class Ocgcore : ServantWithCardDescription
card.forSelect = true; card.forSelect = true;
card.selectPtr = i; card.selectPtr = i;
allCardsInSelectMessage.Add(card); allCardsInSelectMessage.Add(card);
}*/ cardsSelected.Add(card);
}
} }
if (cancalable && !finishable) if (cancalable && !finishable)
{ {
gameInfo.addHashedButton("cancleSelected", -1, superButtonType.no, InterString.Get("取消选择@ui")); gameInfo.addHashedButton("cancleSelected", -1, superButtonType.no, InterString.Get("取消选择@ui"));
} }
if (finishable)
{
gameInfo.addHashedButton("sendSelected", 0, superButtonType.yes, InterString.Get("完成选择@ui"));
}
realizeCardsForSelect(); realizeCardsForSelect();
cardsSelected.Clear();
if (ES_selectHint != "") if (ES_selectHint != "")
ES_selectUnselectHint = ES_selectHint;
if (ES_selectUnselectHint != "")
{ {
gameField.setHint(ES_selectHint + " " + ES_min.ToString() + "-" + ES_max.ToString()); gameField.setHint(ES_selectUnselectHint + " " + ES_min.ToString() + "-" + ES_max.ToString());
} }
else else
{ {
...@@ -5649,7 +5672,6 @@ public class Ocgcore : ServantWithCardDescription ...@@ -5649,7 +5672,6 @@ public class Ocgcore : ServantWithCardDescription
} }
break; break;
case GameMessage.SelectCard: case GameMessage.SelectCard:
case GameMessage.SelectUnselectCard:
if (cardsSelectable.Count <= ES_min) if (cardsSelectable.Count <= ES_min)
{ {
autoSendCards(); autoSendCards();
...@@ -5821,18 +5843,6 @@ public class Ocgcore : ServantWithCardDescription ...@@ -5821,18 +5843,6 @@ public class Ocgcore : ServantWithCardDescription
real_send = true; real_send = true;
} }
} }
if (currentMessage == GameMessage.SelectUnselectCard)
{
if (cardsSelected.Count >= ES_min)
{
sendable = true;
}
if (cardsSelected.Count == ES_max || cardsSelected.Count == cardsSelectable.Count)
{
sendable = true;
real_send = true;
}
}
if (currentMessage == GameMessage.SelectTribute) if (currentMessage == GameMessage.SelectTribute)
{ {
int all = 0; int all = 0;
...@@ -5879,7 +5889,7 @@ public class Ocgcore : ServantWithCardDescription ...@@ -5879,7 +5889,7 @@ public class Ocgcore : ServantWithCardDescription
} }
} }
} }
else else if (currentMessage != GameMessage.SelectUnselectCard)
{ {
gameInfo.removeHashedButton("sendSelected"); gameInfo.removeHashedButton("sendSelected");
} }
...@@ -8079,6 +8089,8 @@ public class Ocgcore : ServantWithCardDescription ...@@ -8079,6 +8089,8 @@ public class Ocgcore : ServantWithCardDescription
string ES_phaseString = ""; string ES_phaseString = "";
string ES_selectUnselectHint = "";
void toDefaultHint() void toDefaultHint()
{ {
gameField.setHint(ES_turnString + ES_phaseString); gameField.setHint(ES_turnString + ES_phaseString);
...@@ -8486,7 +8498,6 @@ public class Ocgcore : ServantWithCardDescription ...@@ -8486,7 +8498,6 @@ public class Ocgcore : ServantWithCardDescription
} }
break; break;
case GameMessage.SelectCard: case GameMessage.SelectCard:
case GameMessage.SelectUnselectCard:
case GameMessage.SelectTribute: case GameMessage.SelectTribute:
case GameMessage.SelectSum: case GameMessage.SelectSum:
if (card.forSelect) if (card.forSelect)
...@@ -8527,6 +8538,16 @@ public class Ocgcore : ServantWithCardDescription ...@@ -8527,6 +8538,16 @@ public class Ocgcore : ServantWithCardDescription
realizeCardsForSelect(); realizeCardsForSelect();
} }
break; break;
case GameMessage.SelectUnselectCard:
if (card.forSelect)
{
cardsSelected.Add(card);
gameInfo.removeHashedButton("sendSelected");
sendSelectedCards();
realize();
toNearest();
}
break;
case GameMessage.SelectChain: case GameMessage.SelectChain:
if (card.forSelect) if (card.forSelect)
{ {
...@@ -8589,16 +8610,9 @@ public class Ocgcore : ServantWithCardDescription ...@@ -8589,16 +8610,9 @@ public class Ocgcore : ServantWithCardDescription
{ {
BinaryMaster binaryMaster = new BinaryMaster(); BinaryMaster binaryMaster = new BinaryMaster();
for (int i = 0; i < allCardsInSelectMessage.Count; i++) for (int i = 0; i < allCardsInSelectMessage.Count; i++)
{
if (Config.ClientVersion>=0x133d)
{ {
binaryMaster.writer.Write((short)allCardsInSelectMessage[i].counterSELcount); binaryMaster.writer.Write((short)allCardsInSelectMessage[i].counterSELcount);
} }
else
{
binaryMaster.writer.Write((byte)allCardsInSelectMessage[i].counterSELcount);
}
}
sendReturn(binaryMaster.get()); sendReturn(binaryMaster.get());
} }
else else
...@@ -8812,8 +8826,9 @@ public class Ocgcore : ServantWithCardDescription ...@@ -8812,8 +8826,9 @@ public class Ocgcore : ServantWithCardDescription
public Dictionary<int, int> sideReference = new Dictionary<int, int>(); public Dictionary<int, int> sideReference = new Dictionary<int, int>();
void onDuelResultConfirmed() public void onDuelResultConfirmed()
{ {
Program.I().room.joinWithReconnect = false;
if (Program.I().room.duelEnded == true || surrended || TcpHelper.tcpClient == null || TcpHelper.tcpClient.Connected == false) if (Program.I().room.duelEnded == true || surrended || TcpHelper.tcpClient == null || TcpHelper.tcpClient.Connected == false)
{ {
...@@ -8845,7 +8860,23 @@ public class Ocgcore : ServantWithCardDescription ...@@ -8845,7 +8860,23 @@ public class Ocgcore : ServantWithCardDescription
return; return;
} }
//RMSshow_yesOrNoForce(InterString.Get("你确定要投降吗?"), new messageSystemValue { value = "yes", hint = "yes" }, new messageSystemValue { value = "no", hint = "no" });
surrended = false;
Program.I().room.duelEnded = false;
Program.I().room.needSide = false;
Program.I().room.sideWaitingObserver = false;
onEmergencyExit();
return;
}
void onSurrender() {
if (Program.I().room.duelEnded == true || surrended || TcpHelper.tcpClient == null || TcpHelper.tcpClient.Connected == false || Program.I().room.needSide == true || condition != Condition.duel)
{
onDuelResultConfirmed();
return;
}
RMSshow_yesOrNoForce(InterString.Get("你确定要投降吗?"), new messageSystemValue { value = "yes", hint = "yes" }, new messageSystemValue { value = "no", hint = "no" }); RMSshow_yesOrNoForce(InterString.Get("你确定要投降吗?"), new messageSystemValue { value = "yes", hint = "yes" }, new messageSystemValue { value = "no", hint = "no" });
return;
} }
private void sendSorted() private void sendSorted()
......
...@@ -302,7 +302,7 @@ public class Program : MonoBehaviour ...@@ -302,7 +302,7 @@ public class Program : MonoBehaviour
ANDROID_GAME_PATH = jo.Call<string>("GamePath", "/ygocore/"); ANDROID_GAME_PATH = jo.Call<string>("GamePath", "/ygocore/");
Screen.sleepTimeout = SleepTimeout.NeverSleep; Screen.sleepTimeout = SleepTimeout.NeverSleep;
if (!File.Exists(ANDROID_GAME_PATH + "updates/version2.0.txt")) if (!File.Exists(ANDROID_GAME_PATH + "updates/version2.2.txt"))
{ {
string filePath = Application.streamingAssetsPath + "/ygocore.zip"; string filePath = Application.streamingAssetsPath + "/ygocore.zip";
var www = new WWW(filePath); var www = new WWW(filePath);
...@@ -327,7 +327,7 @@ public class Program : MonoBehaviour ...@@ -327,7 +327,7 @@ public class Program : MonoBehaviour
#elif UNITY_IPHONE //iPhone #elif UNITY_IPHONE //iPhone
string GamePaths = Application.persistentDataPath + "/ygopro2/"; string GamePaths = Application.persistentDataPath + "/ygopro2/";
if (!File.Exists(GamePaths + "updates/version2.0.txt")) if (!File.Exists(GamePaths + "updates/version2.2.txt"))
{ {
string filePath = Application.streamingAssetsPath + "/ygocore.zip"; string filePath = Application.streamingAssetsPath + "/ygocore.zip";
ExtractZipFile(System.IO.File.ReadAllBytes(filePath), GamePaths); ExtractZipFile(System.IO.File.ReadAllBytes(filePath), GamePaths);
...@@ -350,17 +350,38 @@ public class Program : MonoBehaviour ...@@ -350,17 +350,38 @@ public class Program : MonoBehaviour
InterString.initialize("config/translation.conf"); InterString.initialize("config/translation.conf");
GameTextureManager.initialize(); GameTextureManager.initialize();
Config.initialize("config/config.conf"); Config.initialize("config/config.conf");
GameStringManager.initialize("strings.conf");//YGOMobile Paths if (File.Exists("cdb/cards.cdb"))
{
YGOSharp.CardsManager.initialize("cdb/cards.cdb");
}
if (File.Exists("cdb/strings.conf")) if (File.Exists("cdb/strings.conf"))
{ {
GameStringManager.initialize("cdb/strings.conf"); GameStringManager.initialize("cdb/strings.conf");
} }
if (File.Exists("expansions/strings.conf")) if (File.Exists("cdb/lflist.conf"))
{ {
GameStringManager.initialize("expansions/strings.conf"); YGOSharp.BanlistManager.initialize("cdb/lflist.conf");
} }
if (File.Exists("strings.conf"))
{
GameStringManager.initialize("strings.conf");//YGOMobile Paths
}
if (File.Exists("lflist.conf"))
{
YGOSharp.BanlistManager.initialize("lflist.conf");//YGOMobile Paths YGOSharp.BanlistManager.initialize("lflist.conf");//YGOMobile Paths
}
if (File.Exists("cards.cdb"))
{
YGOSharp.CardsManager.initialize("cards.cdb");//YGOMobile Paths YGOSharp.CardsManager.initialize("cards.cdb");//YGOMobile Paths
}
if (File.Exists("expansions/lflist.conf"))
{
YGOSharp.BanlistManager.initialize("expansions/lflist.conf");
}
if (File.Exists("expansions/strings.conf"))
{
GameStringManager.initialize("expansions/strings.conf");
}
if (Directory.Exists("expansions")) if (Directory.Exists("expansions"))
{ {
...@@ -480,10 +501,21 @@ public class Program : MonoBehaviour ...@@ -480,10 +501,21 @@ public class Program : MonoBehaviour
{ {
try try
{ {
if(!Directory.Exists("cdb")) {
Directory.CreateDirectory("cdb");
}
/*if(File.Exists("cdb/cards.cdb"))
File.Delete("cdb/cards.cdb");
if(File.Exists("cdb/lflist.conf"))
File.Delete("cdb/lflist.conf");
if(File.Exists("cdb/strings.conf"))
File.Delete("cdb/strings.conf");*/
HttpDldFile httpDldFile = new HttpDldFile(); HttpDldFile httpDldFile = new HttpDldFile();
httpDldFile.Download("http://koishi.222diy.gdn/ygopro/cards.cdb", Path.Combine("cdb/", "cards.cdb")); httpDldFile.Download("http://koishi.222diy.gdn/ygopro/cards.cdb", "cdb/cards.cdb");
httpDldFile.Download("http://koishi.222diy.gdn/ygopro/lflist.conf", Path.Combine("config/", "lflist.conf")); httpDldFile.Download("http://koishi.222diy.gdn/ygopro/lflist.conf", "cdb/lflist.conf");
httpDldFile.Download("http://koishi.222diy.gdn/ygopro/strings.conf", Path.Combine("config/", "strings.conf")); httpDldFile.Download("http://koishi.222diy.gdn/ygopro/strings.conf", "cdb/strings.conf");
} }
catch (Exception e) catch (Exception e)
{ {
......
...@@ -190,7 +190,7 @@ public class GameTextureManager ...@@ -190,7 +190,7 @@ public class GameTextureManager
public static Texture2D phase = null; public static Texture2D phase = null;
public static bool AutoPicDownload=true; public static bool AutoPicDownload;
public static Texture2D rs = null; public static Texture2D rs = null;
...@@ -817,8 +817,8 @@ public class GameTextureManager ...@@ -817,8 +817,8 @@ public class GameTextureManager
if (!File.Exists(path) && pic.code != 0 && AutoPicDownload) if (!File.Exists(path) && pic.code != 0 && AutoPicDownload)
{ {
//YGOMobile (177x254) //YGOMobile (177x254)
df.Download("http://koishi.222diy.gdn/smallpics/" + pic.code.ToString() + ".jpg", "expansions/pics/" + pic.code.ToString() + ".jpg"); df.Download("http://koishi.222diy.gdn/ygopro/pics/" + pic.code.ToString() + ".jpg", "picture/card/" + pic.code.ToString() + ".jpg");
path = "expansions/pics/" + pic.code.ToString() + ".jpg"; path = "picture/card/" + pic.code.ToString() + ".jpg";
} }
/*if (!File.Exists(path) && pic.code != 0 && AutoPicDownload) /*if (!File.Exists(path) && pic.code != 0 && AutoPicDownload)
{ {
......
...@@ -32,6 +32,14 @@ public class HttpDldFile ...@@ -32,6 +32,14 @@ public class HttpDldFile
{ {
client.Timeout = 3500; client.Timeout = 3500;
} }
if (Path.GetExtension(filename).Contains("cdb"))
{
client.Timeout = 15000;
}
if (Path.GetExtension(filename).Contains("conf"))
{
client.Timeout = 3000;
}
client.DownloadFile(new Uri(url), filename + ".tmp"); client.DownloadFile(new Uri(url), filename + ".tmp");
} }
flag = true; flag = true;
......
...@@ -497,6 +497,7 @@ public class Room : WindowServantSP ...@@ -497,6 +497,7 @@ public class Room : WindowServantSP
Program.I().ocgcore.returnServant = Program.I().selectServer; Program.I().ocgcore.returnServant = Program.I().selectServer;
needSide = false; needSide = false;
joinWithReconnect = true;
if (Program.I().deckManager.isShowed) if (Program.I().deckManager.isShowed)
{ {
Program.I().deckManager.hide(); Program.I().deckManager.hide();
...@@ -524,6 +525,9 @@ public class Room : WindowServantSP ...@@ -524,6 +525,9 @@ public class Room : WindowServantSP
is_host = ((type >> 4) & 0xf) != 0; is_host = ((type >> 4) & 0xf) != 0;
if (is_host) if (is_host)
{ {
if (selftype < 4 && roomPlayers[selftype] != null) {
roomPlayers[selftype].prep = false;
}
UIHelper.shiftButton(startButton(), true); UIHelper.shiftButton(startButton(), true);
lazyRoom.start.localScale = Vector3.one; lazyRoom.start.localScale = Vector3.one;
lazyRoom.duelist.localPosition = new Vector3(lazyRoom.duelist.localPosition.x, -94.2f, 0); lazyRoom.duelist.localPosition = new Vector3(lazyRoom.duelist.localPosition.x, -94.2f, 0);
...@@ -570,12 +574,16 @@ public class Room : WindowServantSP ...@@ -570,12 +574,16 @@ public class Room : WindowServantSP
public bool needSide = false; public bool needSide = false;
public bool joinWithReconnect = false;
public void StocMessage_ChangeSide(BinaryReader r) public void StocMessage_ChangeSide(BinaryReader r)
{ {
Program.I().ocgcore.surrended = false; Program.I().ocgcore.surrended = false;
Program.I().ocgcore.returnServant = Program.I().deckManager; Program.I().ocgcore.returnServant = Program.I().deckManager;
needSide = true; needSide = true;
if(Program.I().ocgcore.condition != Ocgcore.Condition.duel || joinWithReconnect) { //Change side when reconnect
Program.I().ocgcore.onDuelResultConfirmed();
}
} }
GameObject handres = null; GameObject handres = null;
...@@ -741,7 +749,7 @@ public class Room : WindowServantSP ...@@ -741,7 +749,7 @@ public class Room : WindowServantSP
code = r.ReadInt32(); code = r.ReadInt32();
string hexOutput = "0x"+String.Format("{0:X}", code); string hexOutput = "0x"+String.Format("{0:X}", code);
Program.I().selectServer.set_version(hexOutput); Program.I().selectServer.set_version(hexOutput);
RMSshow_none(InterString.Get("你输入的版本号和服务器不一致,[7CFC00]YGOPro2已经智能切换版本号[-],请重新链接。")); RMSshow_none(InterString.Get("你输入的版本号和服务器不一致,[7CFC00]KoishiPro2已经智能切换版本号[-],请重新链接。"));
break; break;
default: default:
break; break;
......
...@@ -111,8 +111,8 @@ public class RoomList : WindowServantSP ...@@ -111,8 +111,8 @@ public class RoomList : WindowServantSP
string versionString = UIHelper.getByName<UIInput>(Program.I().selectServer.gameObject, "version_").value; string versionString = UIHelper.getByName<UIInput>(Program.I().selectServer.gameObject, "version_").value;
if (versionString == "") if (versionString == "")
{ {
UIHelper.getByName<UIInput>(Program.I().selectServer.gameObject, "version_").value = "0x1348"; UIHelper.getByName<UIInput>(Program.I().selectServer.gameObject, "version_").value = "0x1349";
versionString = "0x1348"; versionString = "0x1349";
} }
Program.I().roomList.hide(); Program.I().roomList.hide();
Program.I().selectServer.KF_onlineGame(Name, ipString, portString, versionString, pswString); Program.I().selectServer.KF_onlineGame(Name, ipString, portString, versionString, pswString);
......
...@@ -52,7 +52,7 @@ public class Setting : WindowServant2D ...@@ -52,7 +52,7 @@ public class Setting : WindowServant2D
{ {
if (collection[i].name.Length > 0 && collection[i].name[0] == '*') if (collection[i].name.Length > 0 && collection[i].name[0] == '*')
{ {
if (collection[i].name == "*mouseParticle" || collection[i].name == "*showOff" || collection[i].name == "*Efield") if (collection[i].name == "*mouseParticle" || collection[i].name == "*showOff" || collection[i].name == "*Efield" || collection[i].name == "*AutoPicDownload")
{ {
collection[i].value = UIHelper.fromStringToBool(Config.Get(collection[i].name, "1")); collection[i].value = UIHelper.fromStringToBool(Config.Get(collection[i].name, "1"));
} }
......
...@@ -164,8 +164,8 @@ public class SelectServer : WindowServantSP ...@@ -164,8 +164,8 @@ public class SelectServer : WindowServantSP
string versionString = UIHelper.getByName<UIInput>(gameObject, "version_").value; string versionString = UIHelper.getByName<UIInput>(gameObject, "version_").value;
if (versionString == "") if (versionString == "")
{ {
UIHelper.getByName<UIInput>(gameObject, "version_").value = "0x1348"; UIHelper.getByName<UIInput>(gameObject, "version_").value = "0x1349";
versionString = "0x1348"; versionString = "0x1349";
} }
KF_onlineGame(Name, ipString, portString, versionString, pswString); KF_onlineGame(Name, ipString, portString, versionString, pswString);
} }
......
...@@ -19,17 +19,13 @@ namespace YGOSharp ...@@ -19,17 +19,13 @@ namespace YGOSharp
{ {
nullName = InterString.Get("未知卡片"); nullName = InterString.Get("未知卡片");
nullString = ""; nullString = "";
nullString += "欢迎使用:\r\nYGOPro2 For Android"; nullString += "欢迎使用 KoishiPro2 iOS,本软件免责声明:[url=http://koishi.222diy.gdn/lab.html][u]http://koishi.222diy.gdn/lab.html[/u][/url]";
nullString += "\r\n\r\n"; nullString += "\r\n\r\n";
nullString += "源码:"; nullString += "KoishiPro2 iOS的用户QQ群627975038,游戏中遇到任何bug欢迎提交";
nullString += "\r\n「Android」\r\n[url=https://github.com/purerosefallen/ygopro2][u]https://github.com/purerosefallen/ygopro2[/u][/url]"; nullString += "\r\n\r\n";
//nullString += "\r\nWindows:[url=https://github.com/lllyasviel/YGOProUnity_V2][u]https://github.com/lllyasviel/YGOProUnity_V2[/u][/url]"; nullString += "更多关于电脑/安卓版KoishiPro及7210服务器的信息可加QQ群338443272";
//nullString += "\r\n\r\n「Windows」\r\n[url=https://github.com/mercury233/ygopro2][u]https://github.com/mercury233/ygopro2[/u][/url]"; nullString += "\r\n\r\n";
nullString += "\r\n\r\n\r\n"; nullString += "喜欢游戏王DIY的朋友欢迎来222服QQ群642043095";
//nullString += "欢迎加入QQ群:";
//nullString += "\r\n①:[url=https://jq.qq.com/?_wv=1027&k=5nq6xJe][u]649612818[/u][/url]";
//nullString += "\r\n③:[url=https://jq.qq.com/?_wv=1027&k=50MZVQA][u]831010207[/u][/url]";
//nullString += "\r\n②:[url=https://jq.qq.com/?_wv=1027&k=5idyod3][u]559276772[/u][/url]";
using (SqliteConnection connection = new SqliteConnection("Data Source=" + databaseFullPath)) using (SqliteConnection connection = new SqliteConnection("Data Source=" + databaseFullPath))
{ {
connection.Open(); connection.Open();
......
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
Owner = 0x40000, Owner = 0x40000,
Status = 0x80000, Status = 0x80000,
LScale = 0x200000, LScale = 0x200000,
RScale = 0x400000 RScale = 0x400000,
Link = 0x800000
} }
} }
Assets/face/0.png

11.1 KB | W: | H:

Assets/face/0.png

10.7 KB | W: | H:

Assets/face/0.png
Assets/face/0.png
Assets/face/0.png
Assets/face/0.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/1.png

11.9 KB | W: | H:

Assets/face/1.png

9.07 KB | W: | H:

Assets/face/1.png
Assets/face/1.png
Assets/face/1.png
Assets/face/1.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/10.png

10.8 KB | W: | H:

Assets/face/10.png

9.34 KB | W: | H:

Assets/face/10.png
Assets/face/10.png
Assets/face/10.png
Assets/face/10.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/11.png

10.7 KB | W: | H:

Assets/face/11.png

10.4 KB | W: | H:

Assets/face/11.png
Assets/face/11.png
Assets/face/11.png
Assets/face/11.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/12.png

10.9 KB | W: | H:

Assets/face/12.png

8.93 KB | W: | H:

Assets/face/12.png
Assets/face/12.png
Assets/face/12.png
Assets/face/12.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/13.png

11.2 KB | W: | H:

Assets/face/13.png

11.4 KB | W: | H:

Assets/face/13.png
Assets/face/13.png
Assets/face/13.png
Assets/face/13.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/14.png

12.3 KB | W: | H:

Assets/face/14.png

10.1 KB | W: | H:

Assets/face/14.png
Assets/face/14.png
Assets/face/14.png
Assets/face/14.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/15.png

11.3 KB | W: | H:

Assets/face/15.png

7.47 KB | W: | H:

Assets/face/15.png
Assets/face/15.png
Assets/face/15.png
Assets/face/15.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/16.png

12.7 KB | W: | H:

Assets/face/16.png

8.44 KB | W: | H:

Assets/face/16.png
Assets/face/16.png
Assets/face/16.png
Assets/face/16.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/17.png

13.3 KB | W: | H:

Assets/face/17.png

11.2 KB | W: | H:

Assets/face/17.png
Assets/face/17.png
Assets/face/17.png
Assets/face/17.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/18.png

10.5 KB | W: | H:

Assets/face/18.png

10.6 KB | W: | H:

Assets/face/18.png
Assets/face/18.png
Assets/face/18.png
Assets/face/18.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/19.png

12.7 KB | W: | H:

Assets/face/19.png

11.1 KB | W: | H:

Assets/face/19.png
Assets/face/19.png
Assets/face/19.png
Assets/face/19.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/2.png

11.1 KB | W: | H:

Assets/face/2.png

8.67 KB | W: | H:

Assets/face/2.png
Assets/face/2.png
Assets/face/2.png
Assets/face/2.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/20.png

14.3 KB | W: | H:

Assets/face/20.png

10.2 KB | W: | H:

Assets/face/20.png
Assets/face/20.png
Assets/face/20.png
Assets/face/20.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/21.png

13.9 KB | W: | H:

Assets/face/21.png

8.65 KB | W: | H:

Assets/face/21.png
Assets/face/21.png
Assets/face/21.png
Assets/face/21.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/22.png

14 KB | W: | H:

Assets/face/22.png

10.4 KB | W: | H:

Assets/face/22.png
Assets/face/22.png
Assets/face/22.png
Assets/face/22.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/23.png

13.9 KB | W: | H:

Assets/face/23.png

10.5 KB | W: | H:

Assets/face/23.png
Assets/face/23.png
Assets/face/23.png
Assets/face/23.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/24.png

12.8 KB | W: | H:

Assets/face/24.png

9.18 KB | W: | H:

Assets/face/24.png
Assets/face/24.png
Assets/face/24.png
Assets/face/24.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/25.png

13.5 KB | W: | H:

Assets/face/25.png

9.07 KB | W: | H:

Assets/face/25.png
Assets/face/25.png
Assets/face/25.png
Assets/face/25.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/26.png

13.8 KB | W: | H:

Assets/face/26.png

11 KB | W: | H:

Assets/face/26.png
Assets/face/26.png
Assets/face/26.png
Assets/face/26.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/27.png

13.3 KB | W: | H:

Assets/face/27.png

10.2 KB | W: | H:

Assets/face/27.png
Assets/face/27.png
Assets/face/27.png
Assets/face/27.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/28.png

13.7 KB | W: | H:

Assets/face/28.png

10.4 KB | W: | H:

Assets/face/28.png
Assets/face/28.png
Assets/face/28.png
Assets/face/28.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/29.png

13.9 KB | W: | H:

Assets/face/29.png

9.22 KB | W: | H:

Assets/face/29.png
Assets/face/29.png
Assets/face/29.png
Assets/face/29.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/3.png

11.1 KB | W: | H:

Assets/face/3.png

10.8 KB | W: | H:

Assets/face/3.png
Assets/face/3.png
Assets/face/3.png
Assets/face/3.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/30.png

13.2 KB | W: | H:

Assets/face/30.png

10.1 KB | W: | H:

Assets/face/30.png
Assets/face/30.png
Assets/face/30.png
Assets/face/30.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/31.png

14.3 KB | W: | H:

Assets/face/31.png

9.22 KB | W: | H:

Assets/face/31.png
Assets/face/31.png
Assets/face/31.png
Assets/face/31.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/32.png

12.7 KB | W: | H:

Assets/face/32.png

6.96 KB | W: | H:

Assets/face/32.png
Assets/face/32.png
Assets/face/32.png
Assets/face/32.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/33.png

9.77 KB | W: | H:

Assets/face/33.png

11.6 KB | W: | H:

Assets/face/33.png
Assets/face/33.png
Assets/face/33.png
Assets/face/33.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/34.png

14 KB | W: | H:

Assets/face/34.png

9.12 KB | W: | H:

Assets/face/34.png
Assets/face/34.png
Assets/face/34.png
Assets/face/34.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/35.png

10.5 KB | W: | H:

Assets/face/35.png

9.74 KB | W: | H:

Assets/face/35.png
Assets/face/35.png
Assets/face/35.png
Assets/face/35.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/36.png

12.9 KB | W: | H:

Assets/face/36.png

8.95 KB | W: | H:

Assets/face/36.png
Assets/face/36.png
Assets/face/36.png
Assets/face/36.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/37.png

14 KB | W: | H:

Assets/face/37.png

8.29 KB | W: | H:

Assets/face/37.png
Assets/face/37.png
Assets/face/37.png
Assets/face/37.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/38.png

13.8 KB | W: | H:

Assets/face/38.png

10.5 KB | W: | H:

Assets/face/38.png
Assets/face/38.png
Assets/face/38.png
Assets/face/38.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/39.png

5.52 KB | W: | H:

Assets/face/39.png

9.29 KB | W: | H:

Assets/face/39.png
Assets/face/39.png
Assets/face/39.png
Assets/face/39.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/4.png

9.18 KB | W: | H:

Assets/face/4.png

11.6 KB | W: | H:

Assets/face/4.png
Assets/face/4.png
Assets/face/4.png
Assets/face/4.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/40.png

13.1 KB | W: | H:

Assets/face/40.png

10.3 KB | W: | H:

Assets/face/40.png
Assets/face/40.png
Assets/face/40.png
Assets/face/40.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/41.png

14.2 KB | W: | H:

Assets/face/41.png

11.6 KB | W: | H:

Assets/face/41.png
Assets/face/41.png
Assets/face/41.png
Assets/face/41.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/42.png

14.2 KB | W: | H:

Assets/face/42.png

11 KB | W: | H:

Assets/face/42.png
Assets/face/42.png
Assets/face/42.png
Assets/face/42.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/43.png

12.7 KB | W: | H:

Assets/face/43.png

10.7 KB | W: | H:

Assets/face/43.png
Assets/face/43.png
Assets/face/43.png
Assets/face/43.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/44.png

13.2 KB | W: | H:

Assets/face/44.png

10.7 KB | W: | H:

Assets/face/44.png
Assets/face/44.png
Assets/face/44.png
Assets/face/44.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/45.png

13.3 KB | W: | H:

Assets/face/45.png

7.68 KB | W: | H:

Assets/face/45.png
Assets/face/45.png
Assets/face/45.png
Assets/face/45.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/46.png

8.5 KB | W: | H:

Assets/face/46.png

10.4 KB | W: | H:

Assets/face/46.png
Assets/face/46.png
Assets/face/46.png
Assets/face/46.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/47.png

13.9 KB | W: | H:

Assets/face/47.png

8.66 KB | W: | H:

Assets/face/47.png
Assets/face/47.png
Assets/face/47.png
Assets/face/47.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/48.png

12.6 KB | W: | H:

Assets/face/48.png

10.2 KB | W: | H:

Assets/face/48.png
Assets/face/48.png
Assets/face/48.png
Assets/face/48.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/49.png

13.9 KB | W: | H:

Assets/face/49.png

11.2 KB | W: | H:

Assets/face/49.png
Assets/face/49.png
Assets/face/49.png
Assets/face/49.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/5.png

12.1 KB | W: | H:

Assets/face/5.png

10.9 KB | W: | H:

Assets/face/5.png
Assets/face/5.png
Assets/face/5.png
Assets/face/5.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/50.png

13.1 KB | W: | H:

Assets/face/50.png

9.86 KB | W: | H:

Assets/face/50.png
Assets/face/50.png
Assets/face/50.png
Assets/face/50.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/51.png

13.8 KB | W: | H:

Assets/face/51.png

9.45 KB | W: | H:

Assets/face/51.png
Assets/face/51.png
Assets/face/51.png
Assets/face/51.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/52.png

13.5 KB | W: | H:

Assets/face/52.png

10.1 KB | W: | H:

Assets/face/52.png
Assets/face/52.png
Assets/face/52.png
Assets/face/52.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/53.png

14.2 KB | W: | H:

Assets/face/53.png

10.7 KB | W: | H:

Assets/face/53.png
Assets/face/53.png
Assets/face/53.png
Assets/face/53.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/54.png

11.6 KB | W: | H:

Assets/face/54.png

8.48 KB | W: | H:

Assets/face/54.png
Assets/face/54.png
Assets/face/54.png
Assets/face/54.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/55.png

13.5 KB | W: | H:

Assets/face/55.png

8.02 KB | W: | H:

Assets/face/55.png
Assets/face/55.png
Assets/face/55.png
Assets/face/55.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/56.png

13.7 KB | W: | H:

Assets/face/56.png

9.1 KB | W: | H:

Assets/face/56.png
Assets/face/56.png
Assets/face/56.png
Assets/face/56.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/57.png

10.9 KB | W: | H:

Assets/face/57.png

11 KB | W: | H:

Assets/face/57.png
Assets/face/57.png
Assets/face/57.png
Assets/face/57.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/58.png

14.3 KB | W: | H:

Assets/face/58.png

11.8 KB | W: | H:

Assets/face/58.png
Assets/face/58.png
Assets/face/58.png
Assets/face/58.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/59.png

13.4 KB | W: | H:

Assets/face/59.png

10.5 KB | W: | H:

Assets/face/59.png
Assets/face/59.png
Assets/face/59.png
Assets/face/59.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/6.png

11 KB | W: | H:

Assets/face/6.png

8.57 KB | W: | H:

Assets/face/6.png
Assets/face/6.png
Assets/face/6.png
Assets/face/6.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/60.png

14.2 KB | W: | H:

Assets/face/60.png

8.21 KB | W: | H:

Assets/face/60.png
Assets/face/60.png
Assets/face/60.png
Assets/face/60.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/61.png

13.9 KB | W: | H:

Assets/face/61.png

8.27 KB | W: | H:

Assets/face/61.png
Assets/face/61.png
Assets/face/61.png
Assets/face/61.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/62.png

14.2 KB | W: | H:

Assets/face/62.png

10.1 KB | W: | H:

Assets/face/62.png
Assets/face/62.png
Assets/face/62.png
Assets/face/62.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/63.png

13.2 KB | W: | H:

Assets/face/63.png

10 KB | W: | H:

Assets/face/63.png
Assets/face/63.png
Assets/face/63.png
Assets/face/63.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/64.png

14.1 KB | W: | H:

Assets/face/64.png

9.6 KB | W: | H:

Assets/face/64.png
Assets/face/64.png
Assets/face/64.png
Assets/face/64.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/65.png

14.1 KB | W: | H:

Assets/face/65.png

9.55 KB | W: | H:

Assets/face/65.png
Assets/face/65.png
Assets/face/65.png
Assets/face/65.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/66.png

13.8 KB | W: | H:

Assets/face/66.png

9.82 KB | W: | H:

Assets/face/66.png
Assets/face/66.png
Assets/face/66.png
Assets/face/66.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/67.png

13.4 KB | W: | H:

Assets/face/67.png

9.8 KB | W: | H:

Assets/face/67.png
Assets/face/67.png
Assets/face/67.png
Assets/face/67.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/68.png

12.1 KB | W: | H:

Assets/face/68.png

9.95 KB | W: | H:

Assets/face/68.png
Assets/face/68.png
Assets/face/68.png
Assets/face/68.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/69.png

12.4 KB | W: | H:

Assets/face/69.png

9.37 KB | W: | H:

Assets/face/69.png
Assets/face/69.png
Assets/face/69.png
Assets/face/69.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/7.png

8.75 KB | W: | H:

Assets/face/7.png

9.09 KB | W: | H:

Assets/face/7.png
Assets/face/7.png
Assets/face/7.png
Assets/face/7.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/70.png

13.5 KB | W: | H:

Assets/face/70.png

10.6 KB | W: | H:

Assets/face/70.png
Assets/face/70.png
Assets/face/70.png
Assets/face/70.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/71.png

13.9 KB | W: | H:

Assets/face/71.png

9.56 KB | W: | H:

Assets/face/71.png
Assets/face/71.png
Assets/face/71.png
Assets/face/71.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/72.png

14.3 KB | W: | H:

Assets/face/72.png

10.2 KB | W: | H:

Assets/face/72.png
Assets/face/72.png
Assets/face/72.png
Assets/face/72.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/73.png

12.6 KB | W: | H:

Assets/face/73.png

11.2 KB | W: | H:

Assets/face/73.png
Assets/face/73.png
Assets/face/73.png
Assets/face/73.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/74.png

5.09 KB | W: | H:

Assets/face/74.png

10.7 KB | W: | H:

Assets/face/74.png
Assets/face/74.png
Assets/face/74.png
Assets/face/74.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/75.png

9.57 KB | W: | H:

Assets/face/75.png

9.52 KB | W: | H:

Assets/face/75.png
Assets/face/75.png
Assets/face/75.png
Assets/face/75.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/76.png

12.1 KB | W: | H:

Assets/face/76.png

11.3 KB | W: | H:

Assets/face/76.png
Assets/face/76.png
Assets/face/76.png
Assets/face/76.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/77.png

11.4 KB | W: | H:

Assets/face/77.png

10.7 KB | W: | H:

Assets/face/77.png
Assets/face/77.png
Assets/face/77.png
Assets/face/77.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/78.png

11 KB | W: | H:

Assets/face/78.png

11 KB | W: | H:

Assets/face/78.png
Assets/face/78.png
Assets/face/78.png
Assets/face/78.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/79.png

11 KB | W: | H:

Assets/face/79.png

10.9 KB | W: | H:

Assets/face/79.png
Assets/face/79.png
Assets/face/79.png
Assets/face/79.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/8.png

10.9 KB | W: | H:

Assets/face/8.png

9.66 KB | W: | H:

Assets/face/8.png
Assets/face/8.png
Assets/face/8.png
Assets/face/8.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/80.png

13.6 KB | W: | H:

Assets/face/80.png

12.1 KB | W: | H:

Assets/face/80.png
Assets/face/80.png
Assets/face/80.png
Assets/face/80.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/81.png

14.1 KB | W: | H:

Assets/face/81.png

11.1 KB | W: | H:

Assets/face/81.png
Assets/face/81.png
Assets/face/81.png
Assets/face/81.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/82.png

12.7 KB | W: | H:

Assets/face/82.png

11.5 KB | W: | H:

Assets/face/82.png
Assets/face/82.png
Assets/face/82.png
Assets/face/82.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/83.png

12.8 KB | W: | H:

Assets/face/83.png

10.1 KB | W: | H:

Assets/face/83.png
Assets/face/83.png
Assets/face/83.png
Assets/face/83.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/84.png

14.1 KB | W: | H:

Assets/face/84.png

10.2 KB | W: | H:

Assets/face/84.png
Assets/face/84.png
Assets/face/84.png
Assets/face/84.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/85.png

13.6 KB | W: | H:

Assets/face/85.png

11.5 KB | W: | H:

Assets/face/85.png
Assets/face/85.png
Assets/face/85.png
Assets/face/85.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/86.png

14 KB | W: | H:

Assets/face/86.png

10.9 KB | W: | H:

Assets/face/86.png
Assets/face/86.png
Assets/face/86.png
Assets/face/86.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/87.png

14.2 KB | W: | H:

Assets/face/87.png

10.7 KB | W: | H:

Assets/face/87.png
Assets/face/87.png
Assets/face/87.png
Assets/face/87.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/88.png

14 KB | W: | H:

Assets/face/88.png

9.82 KB | W: | H:

Assets/face/88.png
Assets/face/88.png
Assets/face/88.png
Assets/face/88.png
  • 2-up
  • Swipe
  • Onion skin
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment