diff --git a/VPet-Simulator.Core/Display/Main.xaml.cs b/VPet-Simulator.Core/Display/Main.xaml.cs index 9a7b955..46d4d21 100644 --- a/VPet-Simulator.Core/Display/Main.xaml.cs +++ b/VPet-Simulator.Core/Display/Main.xaml.cs @@ -52,7 +52,7 @@ namespace VPet_Simulator.Core public bool IsWorking { get; private set; } = false; public SoundPlayer soundPlayer = new SoundPlayer(); public bool windowMediaPlayerAvailable = true; - public Main(GameCore core, bool loadtouchevent = true) + public Main(GameCore core, bool loadtouchevent = true, IGraph startUPGraph = null) { //Console.WriteLine(DateTime.Now.ToString("T:fff")); InitializeComponent(); @@ -74,7 +74,7 @@ namespace VPet_Simulator.Core } if (!core.Controller.EnableFunction) Core.Save.Mode = NoFunctionMOD; - var ig = Core.Graph.FindGraph(Core.Graph.FindName(GraphType.StartUP), AnimatType.Single, core.Save.Mode); + IGraph ig = startUPGraph ?? Core.Graph.FindGraph(Core.Graph.FindName(GraphType.StartUP), AnimatType.Single, core.Save.Mode); ig ??= Core.Graph.FindGraph(Core.Graph.FindName(GraphType.Default), AnimatType.Single, core.Save.Mode); //var ig2 = Core.Graph.FindGraph(GraphType.Default, core.GameSave.Mode); PetGrid2.Visibility = Visibility.Collapsed; @@ -84,17 +84,17 @@ namespace VPet_Simulator.Core //{ // Thread.Sleep(100); //}//新功能:等待所有图像加载完成再跑 - foreach(var igs in Core.Graph.GraphsList.Values) + foreach (var igs in Core.Graph.GraphsList.Values) { - foreach(var ig2 in igs.Values) + foreach (var ig2 in igs.Values) { - foreach(var ig3 in ig2) + foreach (var ig3 in ig2) { while (!ig3.IsReady) { Thread.Sleep(100); } - } + } } } @@ -381,7 +381,7 @@ namespace VPet_Simulator.Core private DateTime wavespan; private void MainGrid_MouseWave(object sender, MouseEventArgs e) { - if(e.LeftButton == MouseButtonState.Pressed) + if (e.LeftButton == MouseButtonState.Pressed) return; isPress = false; if (rasetype >= 0 || State != WorkingState.Nomal) diff --git a/VPet-Simulator.Core/Display/MainDisplay.cs b/VPet-Simulator.Core/Display/MainDisplay.cs index 752427e..de4e8b2 100644 --- a/VPet-Simulator.Core/Display/MainDisplay.cs +++ b/VPet-Simulator.Core/Display/MainDisplay.cs @@ -295,15 +295,24 @@ namespace VPet_Simulator.Core { var idelname = list[i]; var ig = Core.Graph.FindGraphs(idelname, AnimatType.A_Start, Core.Save.Mode); - if (ig != null) + if (ig != null && ig.Count != 0) { looptimes = 0; CountNomal = 0; - DisplayBLoopingToNomal(idelname, Core.Graph.GraphConfig.GetDuration(idelname)); + Display(ig[Function.Rnd.Next(ig.Count)], () => + DisplayBLoopingToNomal(idelname, Core.Graph.GraphConfig.GetDuration(idelname))); return true; } else { + ig = Core.Graph.FindGraphs(idelname, AnimatType.Single, Core.Save.Mode); + if (ig != null && ig.Count != 0) + { + looptimes = 0; + CountNomal = 0; + Display(ig[Function.Rnd.Next(ig.Count)], DisplayToNomal); + return true; + } list.RemoveAt(i); } } diff --git a/VPet-Simulator.Core/VPet-Simulator.Core.csproj b/VPet-Simulator.Core/VPet-Simulator.Core.csproj index 502cf1f..6ad6c6c 100644 --- a/VPet-Simulator.Core/VPet-Simulator.Core.csproj +++ b/VPet-Simulator.Core/VPet-Simulator.Core.csproj @@ -26,7 +26,7 @@ - + diff --git a/VPet-Simulator.Windows.Interface/ExtensionFunction.cs b/VPet-Simulator.Windows.Interface/ExtensionFunction.cs index 29370d0..df19ca5 100644 --- a/VPet-Simulator.Windows.Interface/ExtensionFunction.cs +++ b/VPet-Simulator.Windows.Interface/ExtensionFunction.cs @@ -52,6 +52,8 @@ namespace VPet_Simulator.Windows.Interface /// 是否超模 public static bool IsOverLoad(this Work work) {//判断这个工作是否超模 + if (work.LevelLimit > 1000) + return true; if (work.FinishBonus < 0) return true; var spend = work.Spend(); diff --git a/VPet-Simulator.Windows.Interface/GameSave_v2.cs b/VPet-Simulator.Windows.Interface/GameSave_v2.cs index 6d9dff7..0747bfd 100644 --- a/VPet-Simulator.Windows.Interface/GameSave_v2.cs +++ b/VPet-Simulator.Windows.Interface/GameSave_v2.cs @@ -10,7 +10,9 @@ using System.Security.Cryptography; using System.Security.Policy; using System.Text; using System.Threading.Tasks; +using System.Xml.Linq; using VPet_Simulator.Core; +using static System.Net.Mime.MediaTypeNames; namespace VPet_Simulator.Windows.Interface { @@ -31,7 +33,7 @@ namespace VPet_Simulator.Windows.Interface { if (lps.FindLine("statistics") == null) {//尝试从老存档加载 - Statistics = oldStatistics; + Statistics = oldStatistics ?? new Statistics(); } else { @@ -46,8 +48,26 @@ namespace VPet_Simulator.Windows.Interface hash = vpet.GetInt64("hash"); if (vpet.Remove("hash")) { - HashCheck = vpet.GetLongHashCode() == hash; nohashcheck = false; + try + { + using (MD5 md5 = MD5.Create()) + { + long hs = BitConverter.ToInt64(md5.ComputeHash(Encoding.UTF8.GetBytes(vpet.Name)), 0) + * 2 + BitConverter.ToInt64(md5.ComputeHash(Encoding.UTF8.GetBytes(vpet.info)), 0) + * 3 + BitConverter.ToInt64(md5.ComputeHash(Encoding.UTF8.GetBytes(vpet.text)), 0) * 4; + foreach (ISub su in vpet.ToList()) + { + hs += BitConverter.ToInt64(md5.ComputeHash(Encoding.UTF8.GetBytes(su.Name)), 0) * 2 + + BitConverter.ToInt64(md5.ComputeHash(Encoding.UTF8.GetBytes(su.Info)), 0) * 3; + } + HashCheck = hs == hash; + } + } + catch + { + nohashcheck = true; + } } } else if (oldGameSave != null) diff --git a/VPet-Simulator.Windows.Interface/IMainWindow.cs b/VPet-Simulator.Windows.Interface/IMainWindow.cs index d57f98b..37f3e7e 100644 --- a/VPet-Simulator.Windows.Interface/IMainWindow.cs +++ b/VPet-Simulator.Windows.Interface/IMainWindow.cs @@ -1,6 +1,7 @@ using LinePutScript; using LinePutScript.Dictionary; using System.Collections.Generic; +using System.Windows; using System.Windows.Media; using VPet_Simulator.Core; @@ -146,7 +147,13 @@ namespace VPet_Simulator.Windows.Interface /// 如果你的mod属于作弊mod/有作弊内容,请在作弊前调用这个方法 /// void HashCheckOff(); - + /// + /// 游戏打开过的窗口, 会在退出时统一调用退出 + /// + List Windows { get; set; } + /// + /// 游戏存档数据 + /// GameSave_v2 GameSavesData { get; } } diff --git a/VPet-Simulator.Windows.Interface/Setting.cs b/VPet-Simulator.Windows.Interface/Setting.cs index 83862b2..ee0f264 100644 --- a/VPet-Simulator.Windows.Interface/Setting.cs +++ b/VPet-Simulator.Windows.Interface/Setting.cs @@ -145,7 +145,7 @@ namespace VPet_Simulator.Windows.Interface /// public int BackupSaveMaxNum { - get => Math.Max(GetInt("bakupsave", 30), 1); + get => Math.Max(GetInt("bakupsave", 50), 1); set => SetInt("bakupsave", value); } /// @@ -222,7 +222,7 @@ namespace VPet_Simulator.Windows.Interface { get { - int list = GetInt("savetimes", 100000) + 1 ; + int list = GetInt("savetimes", 100000) + 1; SetInt("savetimes", list); return list; } @@ -419,7 +419,7 @@ namespace VPet_Simulator.Windows.Interface /// public double MusicCatch { - get => this["gameconfig"].GetDouble("musiccatch", 0.3); + get => Math.Max(this["gameconfig"].GetDouble("musiccatch", 0.3), 0.02); set => this["gameconfig"].SetDouble("musiccatch", value); } /// @@ -427,7 +427,7 @@ namespace VPet_Simulator.Windows.Interface /// public double MusicMax { - get => this["gameconfig"].GetDouble("musicmax", 0.70); + get => Math.Max(this["gameconfig"].GetDouble("musicmax", 0.70), 0.02); set => this["gameconfig"].SetDouble("musicmax", value); } /// diff --git a/VPet-Simulator.Windows.Interface/VPet-Simulator.Windows.Interface.csproj b/VPet-Simulator.Windows.Interface/VPet-Simulator.Windows.Interface.csproj index 63b2c61..796126e 100644 --- a/VPet-Simulator.Windows.Interface/VPet-Simulator.Windows.Interface.csproj +++ b/VPet-Simulator.Windows.Interface/VPet-Simulator.Windows.Interface.csproj @@ -19,6 +19,6 @@ - + \ No newline at end of file diff --git a/VPet-Simulator.Windows/Function/CoreMOD.cs b/VPet-Simulator.Windows/Function/CoreMOD.cs index 2a7fc16..e5f7a32 100644 --- a/VPet-Simulator.Windows/Function/CoreMOD.cs +++ b/VPet-Simulator.Windows/Function/CoreMOD.cs @@ -231,6 +231,17 @@ namespace VPet_Simulator.Windows string authtype = ""; foreach (FileInfo tmpfi in di.EnumerateFiles("*.dll")) { +#if X64 + if (tmpfi.Name.Contains("x86")) + { + continue; + } +#else + if (tmpfi.Name.Contains("x64")) + { + continue; + } +#endif try { var path = tmpfi.Name; diff --git a/VPet-Simulator.Windows/MainWindow.cs b/VPet-Simulator.Windows/MainWindow.cs index c44223a..2b9094d 100644 --- a/VPet-Simulator.Windows/MainWindow.cs +++ b/VPet-Simulator.Windows/MainWindow.cs @@ -34,9 +34,9 @@ using Application = System.Windows.Application; using Line = LinePutScript.Line; using static VPet_Simulator.Windows.Interface.ExtensionFunction; using Image = System.Windows.Controls.Image; - +#if SteamOutput using VPet.Solution; - +#endif namespace VPet_Simulator.Windows { public partial class MainWindow : IMainWindow @@ -335,9 +335,16 @@ namespace VPet_Simulator.Windows startInfo.UseShellExecute = false; Process.Start(startInfo); } - catch (Exception e) + catch { - MessageBoxX.Show("快捷键运行失败:无法运行指定内容".Translate() + '\n' + e.Message); + try + { + Process.Start(content); + } + catch (Exception e) + { + MessageBoxX.Show("快捷键运行失败:无法运行指定内容".Translate() + '\n' + e.Message); + } } } else if (content.Contains("://")) @@ -380,7 +387,7 @@ namespace VPet_Simulator.Windows { if (Set.AutoBuy && Core.Save.Money >= 100) { - var havemoney = Core.Save.Money * 1.2 - 120; + var havemoney = Core.Save.Money * 0.8; List food = Foods.FindAll(x => x.Price >= 2 && x.Health >= 0 && x.Exp >= 0 && x.Likability >= 0 && x.Price < havemoney //桌宠不吃负面的食物 && !x.IsOverLoad() // 不吃超模食物 ); @@ -719,6 +726,18 @@ namespace VPet_Simulator.Windows if (tmp.GameSave.Money == 0 && tmp.GameSave.Likability == 0 && tmp.GameSave.Exp == 0 && tmp.GameSave.StrengthDrink == 0 && tmp.GameSave.StrengthFood == 0)//数据全是0,可能是bug return false; + if (tmp.GameSave.Exp < -1000000000) + { + tmp.GameSave.Exp = 1000000; + tmp.Data[(gbol)"round"] = true; + Dispatcher.Invoke(() => MessageBoxX.Show("检测到经验值超过 9,223,372,036 导致算数溢出\n已经自动回正".Translate(), "数据溢出警告".Translate())); + + } + if (tmp.GameSave.Money < -1000000000) + { + tmp.GameSave.Money = 100000; + Dispatcher.Invoke(() => MessageBoxX.Show("检测到金钱超过 9,223,372,036 导致算数溢出\n已经自动回正".Translate(), "数据溢出警告".Translate())); + } GameSavesData = tmp; Core.Save = tmp.GameSave; HashCheck = HashCheck; @@ -899,8 +918,8 @@ namespace VPet_Simulator.Windows CurrMusicType = null; MusicTimer.Start(); Task.Run(() => - {//等2秒看看识别结果 - Thread.Sleep(2500); + {//等3秒看看识别结果 + Thread.Sleep(3000); if (CurrMusicType != null && Main.IsIdel) {//识别通过,开始跑跳舞动画 @@ -941,7 +960,7 @@ namespace VPet_Simulator.Windows return; catch_MusicVolSum += AudioPlayingVolume(); catch_MusicVolCount++; - if (catch_MusicVolCount >= 20) + if (catch_MusicVolCount >= 10) { double ans = catch_MusicVolSum / catch_MusicVolCount; catch_MusicVolSum /= 4; @@ -1414,7 +1433,7 @@ namespace VPet_Simulator.Windows } //音乐识别timer加载 - MusicTimer = new System.Timers.Timer(100) + MusicTimer = new System.Timers.Timer(200) { AutoReset = false }; @@ -1428,11 +1447,19 @@ namespace VPet_Simulator.Windows LoadingText.Content = "尝试加载动画和生成缓存\n该步骤可能会耗时比较长\n请耐心等待".Translate(); Core.Graph = petloader.Graph(Set.Resolution); +#if NewYear + //临时更新:新年进入动画, + if (DateTime.Now < new DateTime(2024, 2, 19)) + { + Main = new Main(Core, startUPGraph: Core.Graph.FindGraph("newyear", AnimatType.Single, Core.Save.Mode)); + } + else +#endif Main = new Main(Core); Main.NoFunctionMOD = Set.CalFunState; - LoadingText.Content = "正在加载游戏".Translate(); + LoadingText.Content = "正在加载游戏\n该步骤可能会耗时比较长\n请耐心等待".Translate(); //加载数据合理化:工作 @@ -1770,24 +1797,17 @@ namespace VPet_Simulator.Windows Main.Say("哼哼~主人,我的考试成绩出炉了哦,快来和我一起看我的成绩单喵".Translate(), "shining"); }); } -#if DEMO - else +#if NewYear + //仅新年功能 + if (DateTime.Now < new DateTime(2024, 2, 18)) { - notifyIcon.ShowBalloonTip(10, "正式版更新通知".Translate(), //本次更新内容 - "虚拟桌宠模拟器 现已发布正式版, 赶快前往下载吧!", ToolTipIcon.Info); - Process.Start("https://store.steampowered.com/app/1920960/VPet/"); + Main.TimeHandle += NewYearHandle; + Task.Run(() => + { + Thread.Sleep(5000); + NewYearSay(); + }); } -#else - //else if (Set["SingleTips"].GetDateTime("update") <= new DateTime(2023, 8, 11) && LocalizeCore.CurrentCulture.StartsWith("cn")) - //{ - // if (Set["SingleTips"].GetDateTime("update") > new DateTime(2023, 8, 1)) // 上次更新日期时间 - // notifyIcon.ShowBalloonTip(10, "更新通知 08/11", //本次更新内容 - // "新增跳舞功能,桌宠会在播放音乐的时候跳舞\n新增不开心大部分系列动画\n更好买支持翻页", ToolTipIcon.Info); - // else// 累计更新内容 - // notifyIcon.ShowBalloonTip(10, "更新通知 08/01", - // "更新了新的动画系统\n新增桌宠会在播放音乐的时候跳舞\n新增不开心大部分系列动画\n更好买支持翻页", ToolTipIcon.Info); - // Set["SingleTips"].SetDateTime("update", DateTime.Now); - //} #endif //MOD报错 foreach (CoreMOD cm in CoreMODs) @@ -1814,6 +1834,56 @@ namespace VPet_Simulator.Windows //} } +#if NewYear + int newyearsay = 0; + private void NewYearHandle(Main main) + { + if (DateTime.Now.Hour == 0 && newyearsay != DateTime.Now.Day) + {//跨时间 + NewYearSay(); + } + } + /// + /// 新年说 + /// + private void NewYearSay() + { + newyearsay = DateTime.Now.Day; + string sayny; + switch (newyearsay) + { + default: + case 9: + sayny = "除夕除夕,燃炮祭祖,贴春联,换窗花,主人来一起吃年夜饭!一起包饺砸!{0}祝主人新年快乐!饺子饺子饺饺子!".Translate(GameSavesData.GameSave.Name); + break; + case 10: + sayny = "初一初一,开门炮仗,主人~恭喜发财,红包拿来~".Translate(); + break; + case 11: + sayny = "初二初二,回娘家去,左手一只鸡,右手一只鸭,一起回家吧主人~".Translate(); + break; + case 12: + sayny = "初三初三,晚起早睡,不待客,过年辛苦了主人,好好休息吧~".Translate(); + break; + case 13: + sayny = "初四初四,接五路,迎灶神,吃折箩,恭迎灶神爷!绝对不是肚子饿了!".Translate(); + break; + case 14: + sayny = "初五初五,赶五穷!拿扫帚把垃圾清扫出去!把脏东西都赶出去!今日宜,清屏工作。".Translate(); + break; + case 15: + sayny = "初六初六,送穷鬼,辞旧迎新,送走旧日贫穷困苦,迎接新一年!诶诶,别赶我啊。".Translate(); + break; + case 16: + sayny = "初七初七,登高出游,戴人胜,人胜是一种头饰,又叫彩胜,华胜,从晋朝开始有剪彩为花、剪彩戴在头发上哦。主人我好看吗~".Translate(); + break; + case 17: + sayny = "初八初八,放生祈福,拜谷神,今天是假期最后一天了,和主人过年很开心哦,最后~主人~您还有许多事需要处理,现在还不能休息哦~".Translate(); + break; + } + Main.SayRnd(sayny); + } +#endif /// /// 显示捏脸情况 /// diff --git a/VPet-Simulator.Windows/VPet-Simulator.Windows.csproj b/VPet-Simulator.Windows/VPet-Simulator.Windows.csproj index 851ce93..b788f62 100644 --- a/VPet-Simulator.Windows/VPet-Simulator.Windows.csproj +++ b/VPet-Simulator.Windows/VPet-Simulator.Windows.csproj @@ -37,12 +37,12 @@ x64 bin\x64\Debug\ - TRACE;DEBUG;X64 + $(DefineConstants);X64 x64 bin\x64\Release\ - TRACE;X64 + $(DefineConstants);X64 x86 @@ -125,11 +125,6 @@ - - - - - True @@ -241,6 +236,10 @@ - + + + + + \ No newline at end of file diff --git a/VPet-Simulator.Windows/WinDesign/winGameSetting.xaml b/VPet-Simulator.Windows/WinDesign/winGameSetting.xaml index 1c62989..ce7ee60 100644 --- a/VPet-Simulator.Windows/WinDesign/winGameSetting.xaml +++ b/VPet-Simulator.Windows/WinDesign/winGameSetting.xaml @@ -714,7 +714,7 @@ diff --git a/VPet-Simulator.Windows/WinDesign/winGameSetting.xaml.cs b/VPet-Simulator.Windows/WinDesign/winGameSetting.xaml.cs index 422d5b6..e084d34 100644 --- a/VPet-Simulator.Windows/WinDesign/winGameSetting.xaml.cs +++ b/VPet-Simulator.Windows/WinDesign/winGameSetting.xaml.cs @@ -1272,8 +1272,7 @@ namespace VPet_Simulator.Windows { try { - var l = new LPS(File.ReadAllText(path)); - GameSave_v2 gs = new GameSave_v2(l); + GameSave_v2 gs = new GameSave_v2(new LPS(File.ReadAllText(path))); if (MessageBoxX.Show("存档名称:{0}\n存档等级:{1}\n存档金钱:{2}\nHashCheck:{3}\n是否加载该备份存档? 当前游戏数据会丢失" .Translate(gs.GameSave.Name, gs.GameSave.Level, gs.GameSave.Money, gs.HashCheck), "是否加载该备份存档? 当前游戏数据会丢失".Translate(), MessageBoxButton.YesNo, MessageBoxIcon.Info) == MessageBoxResult.Yes) { @@ -1284,7 +1283,7 @@ namespace VPet_Simulator.Windows mw.Main.WorkTimer.Visibility = Visibility.Collapsed; mw.Main.State = Main.WorkingState.Nomal; } - if (!mw.SavesLoad(l)) + if (!mw.SavesLoad(new LPS(File.ReadAllText(path)))) MessageBoxX.Show("存档损毁,无法加载该存档\n可能是上次储存出错或Steam云同步导致的\n请在设置中加载备份还原存档", "存档损毁".Translate()); } catch (Exception ex) @@ -1441,7 +1440,7 @@ namespace VPet_Simulator.Windows if (oldsave.HashCheck) // 对于重开无作弊的玩家保留统计 { mw.GameSavesData.Statistics = oldsave.Statistics; - if(oldsave.GameSave.Money > 10000000 || oldsave.GameSave.Money < -1000000000 || oldsave.GameSave.Exp > 100000000 || oldsave.GameSave.Exp < -10000000000) + if (oldsave.GameSave.Money > 10000000 || oldsave.GameSave.Money < -1000000000 || oldsave.GameSave.Exp > 100000000 || oldsave.GameSave.Exp < -10000000000) { mw.Core.Save.Money = 10000; mw.Core.Save.Exp = 10000; diff --git a/VPet-Simulator.Windows/mklink.bat b/VPet-Simulator.Windows/mklink.bat index 1ce6ea0..4bb8dce 100644 --- a/VPet-Simulator.Windows/mklink.bat +++ b/VPet-Simulator.Windows/mklink.bat @@ -5,6 +5,7 @@ mklink /d "%~dp0\bin\x64\Debug\net462\mod" "%~dp0\mod" echo The following is the automatic link generation for other related MODs. If an error is prompted, it is a normal phenomenon and can be ignored +mklink /d "%~dp0\bin\x86\Debug\net462\mod" "%~dp0\mod" mklink /d "%~dp0\bin\x64\Release\net462\mod" "%~dp0\mod" mklink /d "%~dp0\..\VPet.Solution\bin\Debug\mod" "%~dp0\mod" diff --git a/VPet-Simulator.Windows/mod/0000_core/lang/en/Base2306.lps b/VPet-Simulator.Windows/mod/0000_core/lang/en/Base2306.lps index aacbf1d..d713048 100644 --- a/VPet-Simulator.Windows/mod/0000_core/lang/en/Base2306.lps +++ b/VPet-Simulator.Windows/mod/0000_core/lang/en/Base2306.lps @@ -227,7 +227,7 @@ text#Text Set:| 直播中#Livestreaming:| 和桌宠说#Send message:| 按 Ctrl+Enter 发送#Press Ctrl+Enter to send:| -正在加载游戏#Loading game:| +正在加载游戏\n该步骤可能会耗时比较长\n请耐心等待#Loading the game\nThis step may take a long time\nPlease be patient:| 退出桌宠#Exit:| 开发控制台#Console:| 反馈中心#Feedback:| diff --git a/VPet-Simulator.Windows/mod/0000_core/lang/en/Base2401.lps b/VPet-Simulator.Windows/mod/0000_core/lang/en/Base2401.lps index a768d75..4d26cee 100644 --- a/VPet-Simulator.Windows/mod/0000_core/lang/en/Base2401.lps +++ b/VPet-Simulator.Windows/mod/0000_core/lang/en/Base2401.lps @@ -1,3 +1,6 @@ 由于操作系统的设计,通过我们软件启动的程序可能会在任务管理器中归类为我们软件的子进程,这可能导致CPU/内存占用显示较高#Due to the design of the operating system, programs launched by our software may be categorized as sub-processes of our software in the task manager, which may result in higher displayed CPU/memory usage.:| 关于CPU/内存占用显示较高的一次性提示#One-time Notice Regarding Higher Displayed CPU/Memory Usage:| -尝试加载动画和生成缓存\n该步骤可能会耗时比较长\n请耐心等待#Attempting to load animations and generate cache\nThis step may take a while\nPlease be patient:| \ No newline at end of file +尝试加载动画和生成缓存\n该步骤可能会耗时比较长\n请耐心等待#Attempting to load animations and generate cache\nThis step may take a while\nPlease be patient:| +检测到经验值超过 9,223,372,036 导致算数溢出\n已经自动回正#Detected experience value exceeding 9,223,372,036 causing arithmetic overflow\nAutomatically corrected:| +检测到金钱超过 9,223,372,036 导致算数溢出\n已经自动回正#Detected money exceeding 9,223,372,036 causing arithmetic overflow\nAutomatically corrected:| +数据溢出警告#Data Overflow Warning:| \ No newline at end of file diff --git a/VPet-Simulator.Windows/mod/0000_core/lang/en/Limit.lps b/VPet-Simulator.Windows/mod/0000_core/lang/en/Limit.lps index 9449cdf..d63b637 100644 --- a/VPet-Simulator.Windows/mod/0000_core/lang/en/Limit.lps +++ b/VPet-Simulator.Windows/mod/0000_core/lang/en/Limit.lps @@ -17,4 +17,13 @@ 圣诞草莓奶茶#Christmas strawberry milk tea:| 圣诞草莓奶茶_giftintor#I don't know why it's Christmas cream tea and not Christmas cake, maybe the artist likes Christmas strawberry cream tea:| 萝莉丝姜饼人#Gingerbread Lolis:| -萝莉丝姜饼人_giftintor#Lolis made her own gingerbread man, and Lolis would get mad if she couldn't eat it because it was too cute!:| \ No newline at end of file +萝莉丝姜饼人_giftintor#Lolis made her own gingerbread man, and Lolis would get mad if she couldn't eat it because it was too cute!:| +初三初三,晚起早睡,不待客,过年辛苦了主人,好好休息吧~#The third day of the first month, get up late and go to bed early, don't wait for guests, happy new year, master, have a good rest~:| +初二初二,回娘家去,左手一只鸡,右手一只鸭,一起回家吧主人~#The second day of the first month, go back to your mother's house, a chicken in your left hand, a duck in your right hand, let's go home together, master~:| +初一初一,开门炮仗,主人~恭喜发财,红包拿来~#The first day of the first month, open the door and set off firecrackers, master~ Congratulations on making a fortune, bring me a red envelope~:| +除夕除夕,燃炮祭祖,贴春联,换窗花,主人来一起吃年夜饭!一起包饺砸!{0}祝主人新年快乐!饺子饺子饺饺子!#New Year's Eve, set off firecrackers to worship ancestors, paste spring couplets, change window flowers, master, come and have a New Year's Eve dinner together! Let's make dumplings together! {0} wishes the master a happy new year! Dumplings dumplings dumplings!:| +初四初四,接五路,迎灶神,吃折箩,恭迎灶神爷!绝对不是肚子饿了!#The fourth day of the first month, meet the five roads, welcome the kitchen god, eat the zheluo, welcome the kitchen god! Absolutely not hungry!:| +初五初五,赶五穷!拿扫帚把垃圾清扫出去!把脏东西都赶出去!今日宜,清屏工作。#The fifth day of the first month, drive away the five poor! Use a broom to sweep away the garbage! Drive away the dirty things! Today is suitable for clearing the screen.:| +初六初六,送穷鬼,辞旧迎新,送走旧日贫穷困苦,迎接新一年!诶诶,别赶我啊。#The sixth day of the first month, send the poor ghost, bid farewell to the old and welcome the new, send away the old poverty and hardship, and welcome the new year! Hey hey, don't drive me away.:| +初七初七,登高出游,戴人胜,人胜是一种头饰,又叫彩胜,华胜,从晋朝开始有剪彩为花、剪彩戴在头发上哦。主人我好看吗~#The seventh day of the first month, go out to climb high, wear a human victory, human victory is a kind of headdress, also called colored victory, Hua victory, from the Jin Dynasty began to cut colored flowers, cut colored hair on the head oh. Master, do I look good~:| +初八初八,放生祈福,拜谷神,今天是假期最后一天了,和主人过年很开心哦,最后~主人~您还有许多事需要处理,现在还不能休息哦~#The eighth day of the first month, release life and pray for blessings, worship the god of grain, today is the last day of the holiday, and I am very happy to spend the New Year with the master, finally~ master~ you still have many things to deal with, you can't rest now~:| \ No newline at end of file diff --git a/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hans/Base2306.lps b/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hans/Base2306.lps index be5fe8a..ac5fb20 100644 --- a/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hans/Base2306.lps +++ b/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hans/Base2306.lps @@ -227,7 +227,7 @@ text#文本集:| 直播中#直播中:| 和桌宠说#和桌宠说:| 按 Ctrl+Enter 发送#按 Ctrl+Enter 发送:| -正在加载游戏#正在加载游戏:| +正在加载游戏\n该步骤可能会耗时比较长\n请耐心等待#正在加载游戏\n该步骤可能会耗时比较长\n请耐心等待:| 退出桌宠#退出桌宠:| 开发控制台#开发控制台:| 反馈中心#反馈中心:| diff --git a/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hans/Base2401.lps b/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hans/Base2401.lps index 1829f98..ea53eea 100644 --- a/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hans/Base2401.lps +++ b/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hans/Base2401.lps @@ -1,3 +1,6 @@ 由于操作系统的设计,通过我们软件启动的程序可能会在任务管理器中归类为我们软件的子进程,这可能导致CPU/内存占用显示较高#由于操作系统的设计,通过我们软件启动的程序可能会在任务管理器中归类为我们软件的子进程,这可能导致CPU/内存占用显示较高:| 关于CPU/内存占用显示较高的一次性提示#关于CPU/内存占用显示较高的一次性提示:| -尝试加载动画和生成缓存\n该步骤可能会耗时比较长\n请耐心等待#尝试加载动画和生成缓存\n该步骤可能会耗时比较长\n请耐心等待:| \ No newline at end of file +尝试加载动画和生成缓存\n该步骤可能会耗时比较长\n请耐心等待#尝试加载动画和生成缓存\n该步骤可能会耗时比较长\n请耐心等待:| +检测到经验值超过 9,223,372,036 导致算数溢出\n已经自动回正#检测到经验值超过 9,223,372,036 导致算数溢出\n已经自动回正:| +检测到金钱超过 9,223,372,036 导致算数溢出\n已经自动回正#检测到金钱超过 9,223,372,036 导致算数溢出\n已经自动回正:| +数据溢出警告#数据溢出警告:| \ No newline at end of file diff --git a/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hans/Limit.lps b/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hans/Limit.lps index 04dae7b..d7d6909 100644 --- a/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hans/Limit.lps +++ b/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hans/Limit.lps @@ -17,4 +17,13 @@ 圣诞草莓奶茶#圣诞草莓奶茶:| 圣诞草莓奶茶_giftintor#我不知道为什么是圣诞奶茶而不是圣诞蛋糕,可能画师喜欢圣诞草莓奶茶吧:| 萝莉丝姜饼人#萝莉丝姜饼人:| -萝莉丝姜饼人_giftintor#萝莉丝做的自己样子的姜饼人,要是因为太可爱舍不得吃萝莉丝会生气的哦:| \ No newline at end of file +萝莉丝姜饼人_giftintor#萝莉丝做的自己样子的姜饼人,要是因为太可爱舍不得吃萝莉丝会生气的哦:| +初三初三,晚起早睡,不待客,过年辛苦了主人,好好休息吧~#初三初三,晚起早睡,不待客,过年辛苦了主人,好好休息吧~:| +初二初二,回娘家去,左手一只鸡,右手一只鸭,一起回家吧主人~#初二初二,回娘家去,左手一只鸡,右手一只鸭,一起回家吧主人~:| +初一初一,开门炮仗,主人~恭喜发财,红包拿来~#初一初一,开门炮仗,主人~恭喜发财,红包拿来~:| +除夕除夕,燃炮祭祖,贴春联,换窗花,主人来一起吃年夜饭!一起包饺砸!{0}祝主人新年快乐!饺子饺子饺饺子!#除夕除夕,燃炮祭祖,贴春联,换窗花,主人来一起吃年夜饭!一起包饺砸!{0}祝主人新年快乐!饺子饺子饺饺子!:| +初四初四,接五路,迎灶神,吃折箩,恭迎灶神爷!绝对不是肚子饿了!#初四初四,接五路,迎灶神,吃折箩,恭迎灶神爷!绝对不是肚子饿了!:| +初五初五,赶五穷!拿扫帚把垃圾清扫出去!把脏东西都赶出去!今日宜,清屏工作。#初五初五,赶五穷!拿扫帚把垃圾清扫出去!把脏东西都赶出去!今日宜,清屏工作。:| +初六初六,送穷鬼,辞旧迎新,送走旧日贫穷困苦,迎接新一年!诶诶,别赶我啊。#初六初六,送穷鬼,辞旧迎新,送走旧日贫穷困苦,迎接新一年!诶诶,别赶我啊。:| +初七初七,登高出游,戴人胜,人胜是一种头饰,又叫彩胜,华胜,从晋朝开始有剪彩为花、剪彩戴在头发上哦。主人我好看吗~#初七初七,登高出游,戴人胜,人胜是一种头饰,又叫彩胜,华胜,从晋朝开始有剪彩为花、剪彩戴在头发上哦。主人我好看吗~:| +初八初八,放生祈福,拜谷神,今天是假期最后一天了,和主人过年很开心哦,最后~主人~您还有许多事需要处理,现在还不能休息哦~#初八初八,放生祈福,拜谷神,今天是假期最后一天了,和主人过年很开心哦,最后~主人~您还有许多事需要处理,现在还不能休息哦~:| \ No newline at end of file diff --git a/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hant/Base2306.lps b/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hant/Base2306.lps index 9ace3c4..78fd11a 100644 --- a/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hant/Base2306.lps +++ b/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hant/Base2306.lps @@ -227,7 +227,7 @@ text#對話文字:| 直播中#實況中:| 和桌宠说#和桌寵說:| 按 Ctrl+Enter 发送#按Ctrl+Enter傳送:| -正在加载游戏#正在載入遊戲…:| +正在加载游戏\n该步骤可能会耗时比较长\n请耐心等待#正在載入遊戲\n該步驟可能會耗時比較長\n請耐心等待:| 退出桌宠#退出桌寵:| 开发控制台#開發控制台:| 反馈中心#意見回饋中心:| diff --git a/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hant/Base2401.lps b/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hant/Base2401.lps index 80cfd49..417ee77 100644 --- a/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hant/Base2401.lps +++ b/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hant/Base2401.lps @@ -1,3 +1,6 @@ -由于操作系统的设计,通过我们软件启动的程序可能会在任务管理器中归类为我们软件的子进程,这可能导致CPU/内存占用显示较高#由於操作系統的設計,透過我們軟體啟動的程序可能會在任務管理器中歸類為我們軟體的子進程,這可能導致CPU/內存占用顯示較高:| -关于CPU/内存占用显示较高的一次性提示#關於CPU/內存占用顯示較高的一次性提示:| -尝试加载动画和生成缓存\n该步骤可能会耗时比较长\n请耐心等待#嘗試加載動畫和生成緩存\n該步驟可能會耗時比較長\n請耐心等待:| \ No newline at end of file +由于操作系统的设计,通过我们软件启动的程序可能会在任务管理器中归类为我们软件的子进程,这可能导致CPU/内存占用显示较高#因作業系統的設計,透過本軟體啟動的程式可能會在工作管理員中被歸於本程式的子程序,這可能使CPU/記憶體使用率顯示成較平常高的數值:| +关于CPU/内存占用显示较高的一次性提示#關於CPU/記憶體使用率顯示較高的一次性提示:| +尝试加载动画和生成缓存\n该步骤可能会耗时比较长\n请耐心等待#嘗試載入動畫並產生快取\n該步驟可能會耗時比較長\n請耐心等待:| +检测到经验值超过 9,223,372,036 导致算数溢出\n已经自动回正#偵測到經驗值超過 9,223,372,036 導致算術溢位\n已經自動修正:| +检测到金钱超过 9,223,372,036 导致算数溢出\n已经自动回正#偵測到金錢超過 9,223,372,036 導致算術溢位\n已經自動修正:| +数据溢出警告#數據溢出警告:| diff --git a/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hant/Limit.lps b/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hant/Limit.lps index 4c7cf73..ee64cee 100644 --- a/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hant/Limit.lps +++ b/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hant/Limit.lps @@ -7,7 +7,7 @@ 主人,sbeam秋季促销开始了哦,还有游戏大奖赛,快去给{name}去投一票吧。#主人,sbeam秋季促銷開始了哦,還有遊戲大獎賽,快去給{name}去投一票吧。:| 主人主人,{name}参加了sbeam大奖赛哦,给人家投一票喵#主人主人,{name}參加了sbeam大獎賽哦,給人家投一票喵:| 那个。。主人。。\n人家参加了sbeam大奖赛哦。能不能。。给{name}投一票呢~#那個。。主人。。\n人家參加了sbeam大獎賽哦。能不能。。給{name}投一票呢~:| -电脑里有一款《虚拟桌宠模拟器》的游戏正在参加2023的sbeam大奖赛,快来给桌宠投一票吧#電腦裡有一款《虛擬桌寵模擬器》的遊戲正在參加2023的sbeam大獎賽,快來給桌寵投一票吧:| +电脑里有一款《虚拟桌宠模拟器》的游戏正在参加2023的sbeam大奖赛,快来给桌宠投一票吧#電腦裡有一款《虛擬桌寵模擬器》的遊戲正在參加2023的sbeam大獎賽,快來給桌寵投一票吧!:| 圣诞帽#聖誕帽:| 圣诞帽_giftintor#一頂普通的帽子,但帶上它誰都可以成為聖誕老人:| 礼物盒子#禮物盒子:| @@ -17,4 +17,13 @@ 圣诞草莓奶茶#聖誕草莓奶茶:| 圣诞草莓奶茶_giftintor#我不知道為什麼是聖誕奶茶而不是聖誕蛋糕,可能繪師喜歡聖誕草莓奶茶吧:| 萝莉丝姜饼人#蘿莉斯薑餅人:| -萝莉丝姜饼人_giftintor#蘿莉絲做的自己樣子的薑餅人,要是因為太可愛捨不得吃蘿莉絲會生氣的哦:| +萝莉丝姜饼人_giftintor#蘿莉斯做的自己樣子的薑餅人,要是因為太可愛而捨不得吃,蘿莉絲會生氣的哦:| +初三初三,晚起早睡,不待客,过年辛苦了主人,好好休息吧~#初一早,初二早,初三睡到飽。過年辛苦了主人,今天初三好好休息吧~:| +初二初二,回娘家去,左手一只鸡,右手一只鸭,一起回家吧主人~#初二回娘家,左手一隻雞,右手一隻鴨,一起回家吧主人~:| +初一初一,开门炮仗,主人~恭喜发财,红包拿来~#初一拜拜走春領紅包,主人~恭喜發財,紅包拿來~:| +除夕除夕,燃炮祭祖,贴春联,换窗花,主人来一起吃年夜饭!一起包饺砸!{0}祝主人新年快乐!饺子饺子饺饺子!#除夕祭祖守歲貼春聯,主人來一起吃年夜飯!一起包餃砸!{0}祝主人新年快樂!餃子餃子餃餃子!:| +初四初四,接五路,迎灶神,吃折箩,恭迎灶神爷!绝对不是肚子饿了!#初四接神日,迎灶神,安太歲,點光明燈。恭迎灶神爺!(絕對不是肚子餓了!):| +初五初五,赶五穷!拿扫帚把垃圾清扫出去!把脏东西都赶出去!今日宜,清屏工作。#初五隔開迎財神!把垃圾拿出去,從外往內掃地!把髒東西都趕出去,金銀財寶帶回家!今日宜,清理畫面。:| +初六初六,送穷鬼,辞旧迎新,送走旧日贫穷困苦,迎接新一年!诶诶,别赶我啊。#初六開工送窮神,辭舊迎新。送走舊日貧窮困苦,迎接新一年!欸欸,別趕我啊!:| +初七初七,登高出游,戴人胜,人胜是一种头饰,又叫彩胜,华胜,从晋朝开始有剪彩为花、剪彩戴在头发上哦。主人我好看吗~#初七人日,出遊登高,不可罵下屬或孩子。略略略~今天做什麼事情都不會被罵~:| +初八初八,放生祈福,拜谷神,今天是假期最后一天了,和主人过年很开心哦,最后~主人~您还有许多事需要处理,现在还不能休息哦~#初八榖日順星節,點金燈,祭八仙。雖然主人這時已在上班,但希望主人還是能開開心心的。:| diff --git a/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hant/Solution.lps b/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hant/Solution.lps index df3396a..e9d476b 100644 --- a/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hant/Solution.lps +++ b/VPet-Simulator.Windows/mod/0000_core/lang/zh-Hant/Solution.lps @@ -1,10 +1,10 @@ VPET 设置编辑器#VPET設定編輯器:| -打开文件#打開文件:| -从资源管理器打开文件#從資料總管打開文件:| +打开文件#打開檔案:| +从资源管理器打开文件#從檔案總管打開檔案:| 重置#重置:| -全部保存#全部保存:| -Mod管理#Mod管理:| -保存为退出位置#保存為退出位置:| +全部保存#全部儲存:| +Mod管理#模組管理:| +保存为退出位置#儲存為退出位置:| 设为当前位置#設為當前位置:| 设为当前窗口左上角顶点坐标的位置#設為當前視窗左上角頂點座標的位置:| 每次间隔#每次間隔:| @@ -14,10 +14,10 @@ Mod管理#Mod管理:| 启用桌宠状态#啟用桌寵狀態:| 分钟左右主动进行一次互动 (走路发呆爬墙等) #分鐘左右主動進行一次互動(走路發呆爬牆等):| 清空全部#清空全部:| -搜索名称#蒐索名稱:| -链接#鏈接:| +搜索名称#搜尋名稱:| +链接#連結:| 每周期一次#每週期一次:| -搜索模组#蒐索模組:| +搜索模组#搜尋模組:| 清除失效模组#清除失效模組:| 清除全部模组#清除全部模組:| 模组名称:#模組名稱::| @@ -28,13 +28,13 @@ Mod管理#Mod管理:| 启用模组#啟用模組:| 启用模组代码#啟用模組程式碼:| 打开所在文件夹#打開所在資料夾:| -打开创意工坊页面#打開創意工坊頁面:| +打开创意工坊页面#打開工作坊頁面:| VPET 存档查看器#VPET存檔檢視器:| -搜索存档#蒐索存檔:| -保存时间#保存時間:| -游玩时长#遊玩時長:| +搜索存档#搜尋存檔:| +保存时间#儲存時間:| +游玩时长#遊戲時長:| 数据#數據:| -保存日期#保存日期:| +保存日期#儲存日期:| 模式#模式:| 等级#等級:| 哈希检查#雜湊檢查:| @@ -45,4 +45,4 @@ VPET 问题解决工具#VPET問題解决工具:| 打开翻译文本#打開翻譯文字:| 全部重置#全部重置:| 哈希#雜湊:| -第一次启动桌宠打不开?#第一次啟動桌寵打不開?:| \ No newline at end of file +第一次启动桌宠打不开?#第一次啟動,桌寵打不開?:| diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_000_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_000_125.png new file mode 100644 index 0000000..f72ffda Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_000_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_001_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_001_125.png new file mode 100644 index 0000000..e2c817b Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_001_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_002_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_002_125.png new file mode 100644 index 0000000..1339826 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_002_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_003_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_003_125.png new file mode 100644 index 0000000..699f091 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_003_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_004_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_004_125.png new file mode 100644 index 0000000..470ce67 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_004_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_005_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_005_125.png new file mode 100644 index 0000000..cf0e762 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_005_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_006_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_006_125.png new file mode 100644 index 0000000..430d365 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_006_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_007_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_007_125.png new file mode 100644 index 0000000..08f73f6 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_007_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_008_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_008_125.png new file mode 100644 index 0000000..1aab16d Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_008_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_009_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_009_125.png new file mode 100644 index 0000000..0385394 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_009_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_010_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_010_125.png new file mode 100644 index 0000000..95322e3 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_010_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_011_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_011_125.png new file mode 100644 index 0000000..32cad19 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_011_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_012_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_012_125.png new file mode 100644 index 0000000..5be5ef6 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_012_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_013_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_013_125.png new file mode 100644 index 0000000..4361365 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_013_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_014_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_014_125.png new file mode 100644 index 0000000..d7f20c9 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_014_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_015_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_015_125.png new file mode 100644 index 0000000..311b7e1 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_015_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_016_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_016_125.png new file mode 100644 index 0000000..fc4bc84 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_016_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_017_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_017_125.png new file mode 100644 index 0000000..13f656e Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_017_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_018_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_018_125.png new file mode 100644 index 0000000..a511bf4 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_018_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_019_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_019_125.png new file mode 100644 index 0000000..d0bead9 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_019_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_020_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_020_125.png new file mode 100644 index 0000000..1e30a27 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Happy/_020_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_000_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_000_125.png new file mode 100644 index 0000000..780c04a Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_000_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_001_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_001_125.png new file mode 100644 index 0000000..fb1cf88 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_001_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_002_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_002_125.png new file mode 100644 index 0000000..0fd3141 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_002_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_003_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_003_125.png new file mode 100644 index 0000000..1b7fde5 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_003_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_004_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_004_125.png new file mode 100644 index 0000000..5075841 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_004_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_005_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_005_125.png new file mode 100644 index 0000000..7c228a0 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_005_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_006_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_006_125.png new file mode 100644 index 0000000..df49f54 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_006_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_007_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_007_125.png new file mode 100644 index 0000000..fb7c849 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_007_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_008_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_008_125.png new file mode 100644 index 0000000..694b692 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_008_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_009_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_009_125.png new file mode 100644 index 0000000..184504c Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_009_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_010_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_010_125.png new file mode 100644 index 0000000..71656e0 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_010_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_011_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_011_125.png new file mode 100644 index 0000000..913d86b Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_011_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_012_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_012_125.png new file mode 100644 index 0000000..d88d213 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_012_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_013_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_013_125.png new file mode 100644 index 0000000..de54b98 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_013_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_014_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_014_125.png new file mode 100644 index 0000000..d00fa8d Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_014_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_015_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_015_125.png new file mode 100644 index 0000000..ce39435 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_015_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_016_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_016_125.png new file mode 100644 index 0000000..bd3230d Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_016_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_017_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_017_125.png new file mode 100644 index 0000000..7e65dbd Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_017_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_018_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_018_125.png new file mode 100644 index 0000000..e08f4df Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_018_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_019_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_019_125.png new file mode 100644 index 0000000..d272179 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_019_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_020_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_020_125.png new file mode 100644 index 0000000..3e86374 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_020_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_021_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_021_125.png new file mode 100644 index 0000000..a9162cb Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_021_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_022_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_022_125.png new file mode 100644 index 0000000..48b73f3 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_022_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_023_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_023_125.png new file mode 100644 index 0000000..e02152a Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_023_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_024_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_024_125.png new file mode 100644 index 0000000..b8bc479 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_024_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_025_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_025_125.png new file mode 100644 index 0000000..6f87481 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_025_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_026_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_026_125.png new file mode 100644 index 0000000..56e69a8 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_026_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_027_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_027_125.png new file mode 100644 index 0000000..a2dfdef Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_027_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_028_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_028_125.png new file mode 100644 index 0000000..2147cec Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_028_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_029_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_029_125.png new file mode 100644 index 0000000..dd21e25 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_029_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_030_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_030_125.png new file mode 100644 index 0000000..9d2a4e8 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_030_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_031_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_031_125.png new file mode 100644 index 0000000..b1b67ae Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_031_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_032_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_032_125.png new file mode 100644 index 0000000..21ff59b Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELH/_032_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_000_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_000_125.png new file mode 100644 index 0000000..ba4d8b2 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_000_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_001_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_001_125.png new file mode 100644 index 0000000..e936e94 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_001_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_002_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_002_125.png new file mode 100644 index 0000000..85fa0ba Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_002_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_003_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_003_125.png new file mode 100644 index 0000000..940c39c Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_003_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_004_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_004_125.png new file mode 100644 index 0000000..faa84ae Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_004_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_005_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_005_125.png new file mode 100644 index 0000000..771af2b Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_005_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_006_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_006_125.png new file mode 100644 index 0000000..55fb700 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_006_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_007_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_007_125.png new file mode 100644 index 0000000..e965683 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_007_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_008_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_008_125.png new file mode 100644 index 0000000..daa7419 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_008_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_009_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_009_125.png new file mode 100644 index 0000000..184504c Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_009_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_010_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_010_125.png new file mode 100644 index 0000000..71656e0 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_010_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_011_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_011_125.png new file mode 100644 index 0000000..913d86b Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_011_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_012_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_012_125.png new file mode 100644 index 0000000..d88d213 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_012_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_013_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_013_125.png new file mode 100644 index 0000000..de54b98 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_013_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_014_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_014_125.png new file mode 100644 index 0000000..d00fa8d Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_014_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_015_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_015_125.png new file mode 100644 index 0000000..ce39435 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_015_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_016_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_016_125.png new file mode 100644 index 0000000..bd3230d Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_016_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_017_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_017_125.png new file mode 100644 index 0000000..5c1cb8a Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_017_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_018_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_018_125.png new file mode 100644 index 0000000..58db621 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_018_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_019_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_019_125.png new file mode 100644 index 0000000..d272179 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_019_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_020_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_020_125.png new file mode 100644 index 0000000..3e86374 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_020_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_021_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_021_125.png new file mode 100644 index 0000000..a9162cb Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_021_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_022_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_022_125.png new file mode 100644 index 0000000..e8c2b61 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_022_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_023_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_023_125.png new file mode 100644 index 0000000..82dafa5 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_023_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_024_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_024_125.png new file mode 100644 index 0000000..1eaf6c3 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_024_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_025_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_025_125.png new file mode 100644 index 0000000..92deef9 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_025_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_026_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_026_125.png new file mode 100644 index 0000000..77aa0ac Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_026_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_027_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_027_125.png new file mode 100644 index 0000000..4332ada Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_027_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_028_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_028_125.png new file mode 100644 index 0000000..f42b9f3 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_028_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_029_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_029_125.png new file mode 100644 index 0000000..254acec Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_029_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_030_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_030_125.png new file mode 100644 index 0000000..36ba307 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_030_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_031_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_031_125.png new file mode 100644 index 0000000..6a263d1 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_031_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_032_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_032_125.png new file mode 100644 index 0000000..91220c7 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELN/_032_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_000_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_000_125.png new file mode 100644 index 0000000..ba4d8b2 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_000_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_001_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_001_125.png new file mode 100644 index 0000000..71d81b8 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_001_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_002_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_002_125.png new file mode 100644 index 0000000..0c06d01 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_002_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_003_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_003_125.png new file mode 100644 index 0000000..268d001 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_003_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_004_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_004_125.png new file mode 100644 index 0000000..c12ee53 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_004_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_005_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_005_125.png new file mode 100644 index 0000000..2038838 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_005_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_006_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_006_125.png new file mode 100644 index 0000000..a2a6948 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_006_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_007_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_007_125.png new file mode 100644 index 0000000..4791a4d Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_007_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_008_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_008_125.png new file mode 100644 index 0000000..e120edd Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_008_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_009_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_009_125.png new file mode 100644 index 0000000..6d9310d Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_009_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_010_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_010_125.png new file mode 100644 index 0000000..988558a Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_010_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_011_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_011_125.png new file mode 100644 index 0000000..913d86b Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_011_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_012_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_012_125.png new file mode 100644 index 0000000..d88d213 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_012_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_013_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_013_125.png new file mode 100644 index 0000000..287295c Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_013_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_014_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_014_125.png new file mode 100644 index 0000000..419354b Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_014_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_015_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_015_125.png new file mode 100644 index 0000000..60fe100 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_015_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_016_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_016_125.png new file mode 100644 index 0000000..44d7c74 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_016_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_017_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_017_125.png new file mode 100644 index 0000000..3edf789 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_017_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_018_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_018_125.png new file mode 100644 index 0000000..3072bea Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_018_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_019_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_019_125.png new file mode 100644 index 0000000..2871578 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_019_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_020_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_020_125.png new file mode 100644 index 0000000..3e1d3b7 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_020_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_021_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_021_125.png new file mode 100644 index 0000000..ae07962 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_021_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_022_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_022_125.png new file mode 100644 index 0000000..8fb6817 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_022_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_023_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_023_125.png new file mode 100644 index 0000000..d760788 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_023_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_024_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_024_125.png new file mode 100644 index 0000000..37be090 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_024_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_025_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_025_125.png new file mode 100644 index 0000000..e544dc3 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_025_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_026_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_026_125.png new file mode 100644 index 0000000..a89bf91 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_026_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_027_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_027_125.png new file mode 100644 index 0000000..82837ac Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_027_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_028_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_028_125.png new file mode 100644 index 0000000..d77ca30 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_028_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_029_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_029_125.png new file mode 100644 index 0000000..b7f57a3 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_029_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_030_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_030_125.png new file mode 100644 index 0000000..217e967 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_030_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_031_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_031_125.png new file mode 100644 index 0000000..1ec7e2f Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_031_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_032_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_032_125.png new file mode 100644 index 0000000..91220c7 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/IDELPC/_032_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_000_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_000_125.png new file mode 100644 index 0000000..f72ffda Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_000_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_001_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_001_125.png new file mode 100644 index 0000000..e2c817b Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_001_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_002_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_002_125.png new file mode 100644 index 0000000..1339826 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_002_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_003_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_003_125.png new file mode 100644 index 0000000..699f091 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_003_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_004_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_004_125.png new file mode 100644 index 0000000..470ce67 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_004_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_005_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_005_125.png new file mode 100644 index 0000000..cf0e762 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_005_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_006_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_006_125.png new file mode 100644 index 0000000..430d365 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_006_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_007_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_007_125.png new file mode 100644 index 0000000..08f73f6 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_007_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_008_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_008_125.png new file mode 100644 index 0000000..1aab16d Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_008_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_009_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_009_125.png new file mode 100644 index 0000000..0385394 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_009_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_010_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_010_125.png new file mode 100644 index 0000000..95322e3 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_010_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_011_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_011_125.png new file mode 100644 index 0000000..32cad19 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_011_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_012_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_012_125.png new file mode 100644 index 0000000..5be5ef6 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_012_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_013_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_013_125.png new file mode 100644 index 0000000..4361365 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_013_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_014_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_014_125.png new file mode 100644 index 0000000..d7f20c9 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_014_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_015_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_015_125.png new file mode 100644 index 0000000..311b7e1 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_015_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_016_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_016_125.png new file mode 100644 index 0000000..fc4bc84 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_016_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_017_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_017_125.png new file mode 100644 index 0000000..13f656e Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_017_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_018_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_018_125.png new file mode 100644 index 0000000..a511bf4 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_018_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_019_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_019_125.png new file mode 100644 index 0000000..d0bead9 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_019_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_020_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_020_125.png new file mode 100644 index 0000000..1e30a27 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_020_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_021_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_021_125.png new file mode 100644 index 0000000..f5e91c9 Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_021_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_022_125.png b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_022_125.png new file mode 100644 index 0000000..52b206b Binary files /dev/null and b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/Nomal/_022_125.png differ diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/info.lps b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/info.lps new file mode 100644 index 0000000..e26da06 --- /dev/null +++ b/VPet-Simulator.Windows/mod/0000_core/pet/vup/newyear/info.lps @@ -0,0 +1,5 @@ +PNGAnimation#newyear:|path#Happy:|mode#Happy:|graph#StartUP:| +PNGAnimation#newyear:|path#Nomal:|mode#Nomal:|graph#StartUP:| +PNGAnimation#newyearidel:|path#IDELH:|mode#Happy:|graph#Idel:|animat#single:| +PNGAnimation#newyearidel:|path#IDELN:|mode#Nomal:|graph#Idel:|animat#single:| +PNGAnimation#newyearidel:|path#IDELPC:|mode#PoorCondition:|graph#Idel:|animat#single:| \ No newline at end of file diff --git a/VPet.Solution/Converters/AllIsBoolConverter.cs b/VPet.Solution/Converters/AllIsBoolConverter.cs index 80a9a09..50dd217 100644 --- a/VPet.Solution/Converters/AllIsBoolConverter.cs +++ b/VPet.Solution/Converters/AllIsBoolConverter.cs @@ -47,6 +47,6 @@ public class AllIsBoolConverter : MultiValueToBoolConverter { var boolValue = TargetBoolValue; var nullValue = BoolOnNull; - return values.All(o => Utils.GetBool(o, boolValue, nullValue)); + return values.All(o => HKWUtils.HKWUtils.GetBool(o, boolValue, nullValue)); } } diff --git a/VPet.Solution/Converters/AllIsBoolToVisibilityConverter.cs b/VPet.Solution/Converters/AllIsBoolToVisibilityConverter.cs index b2ec4c9..998db68 100644 --- a/VPet.Solution/Converters/AllIsBoolToVisibilityConverter.cs +++ b/VPet.Solution/Converters/AllIsBoolToVisibilityConverter.cs @@ -90,7 +90,7 @@ public class AllIsBoolToVisibilityConverter { var boolValue = TargetBoolValue; var nullValue = BoolOnNull; - return values.All(o => Utils.GetBool(o, boolValue, nullValue)) + return values.All(o => HKWUtils.HKWUtils.GetBool(o, boolValue, nullValue)) ? VisibilityOnTrue : VisibilityOnFalse; } diff --git a/VPet.Solution/Converters/BoolToVisibilityConverter.cs b/VPet.Solution/Converters/BoolToVisibilityConverter.cs index a24c4c9..bd30319 100644 --- a/VPet.Solution/Converters/BoolToVisibilityConverter.cs +++ b/VPet.Solution/Converters/BoolToVisibilityConverter.cs @@ -56,7 +56,7 @@ public class BoolToVisibilityConverter : BoolToValueConverterBase #endregion #region Language - private string _language = Languages.First(); + private string _language; /// /// 语言 @@ -118,9 +118,7 @@ public class GraphicsSettingModel : ObservableClass set => SetProperty(ref _language, value); } - public static ObservableCollection Languages { get; } = - new() { "zh-Hans", "zh-Hant", "en" }; - // NOTE: 实际上这里面并没有文化 new(LocalizeCore.AvailableCultures); + public static IEnumerable Languages => LocalizeCore.AvailableCultures; #endregion diff --git a/VPet.Solution/Models/SettingEditor/InteractiveSettingModel.cs b/VPet.Solution/Models/SettingEditor/InteractiveSettingModel.cs index 6ab7376..602b797 100644 --- a/VPet.Solution/Models/SettingEditor/InteractiveSettingModel.cs +++ b/VPet.Solution/Models/SettingEditor/InteractiveSettingModel.cs @@ -205,7 +205,7 @@ public class InteractiveSettingModel : ObservableClass /// 当实时播放音量达到该值时运行音乐动作 /// [ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.MusicCatch))] - [ReflectionPropertyConverter(typeof(DoubleToInt32Converter))] + [ReflectionPropertyConverter(typeof(PercentageConverter))] public int MusicCatch { get => _musicCatch; @@ -220,7 +220,7 @@ public class InteractiveSettingModel : ObservableClass /// 当实时播放音量达到该值时运行特殊音乐动作 /// [ReflectionProperty(nameof(VPet_Simulator.Windows.Interface.Setting.MusicMax))] - [ReflectionPropertyConverter(typeof(DoubleToInt32Converter))] + [ReflectionPropertyConverter(typeof(PercentageConverter))] public int MusicMax { get => _musicMax; @@ -297,15 +297,15 @@ public class SecondToMinuteConverter : ReflectionConverterBase } } -public class DoubleToInt32Converter : ReflectionConverterBase +public class PercentageConverter : ReflectionConverterBase { public override double Convert(int sourceValue) { - return sourceValue; + return sourceValue / 100.0; } public override int ConvertBack(double targetValue) { - return System.Convert.ToInt32(targetValue); + return System.Convert.ToInt32(targetValue * 100); } } diff --git a/VPet.Solution/Models/SettingEditor/ModSettingModel.cs b/VPet.Solution/Models/SettingEditor/ModSettingModel.cs index 7619f7b..43d12db 100644 --- a/VPet.Solution/Models/SettingEditor/ModSettingModel.cs +++ b/VPet.Solution/Models/SettingEditor/ModSettingModel.cs @@ -8,8 +8,10 @@ using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; +using System.Windows; using System.Windows.Media; using System.Windows.Media.Imaging; +using VPet.Solution.Views.SettingEditor; using VPet_Simulator.Windows.Interface; namespace VPet.Solution.Models.SettingEditor; @@ -21,15 +23,8 @@ public class ModSettingModel : ObservableClass public const string MsgModLineName = "msgmod"; public const string WorkShopLineName = "workshop"; public static string ModDirectory = Path.Combine(Environment.CurrentDirectory, "mod"); - public static Dictionary LocalMods = Directory.Exists(ModDirectory) is false - ? new(StringComparer.OrdinalIgnoreCase) - : new( - Directory - .EnumerateDirectories(ModDirectory) - .Select(d => new ModLoader(d)) - .ToDictionary(m => m.Name, m => m), - StringComparer.OrdinalIgnoreCase - ); + public static Dictionary LocalMods { get; private set; } = null; + #region Mods private ObservableCollection _mods = new(); public ObservableCollection Mods @@ -40,14 +35,15 @@ public class ModSettingModel : ObservableClass public ModSettingModel(Setting setting) { + LocalMods ??= GetLocalMods(); foreach (var item in setting[ModLineName]) { - var modName = item.Name; - if (LocalMods.TryGetValue(modName, out var loader) && loader.IsSuccesses) + var modID = item.Name; + if (LocalMods.TryGetValue(modID, out var loader) && loader.IsSuccesses) { var modModel = new ModModel(loader); - modModel.IsPass = setting[PassModLineName].Contains(modName); - modModel.IsMsg = setting[MsgModLineName].Contains(modModel.Name); + modModel.IsMsg = setting[MsgModLineName].GetBool(modModel.ID); + modModel.IsPass = setting[PassModLineName].Contains(modID); Mods.Add(modModel); } else @@ -55,8 +51,8 @@ public class ModSettingModel : ObservableClass Mods.Add( new() { - Name = modName, - ModPath = "未知, 可能是{0}".Translate(Path.Combine(ModDirectory, modName)) + Name = modID, + ModPath = "未知, 可能是{0}".Translate(Path.Combine(ModDirectory, modID)) } ); } @@ -64,18 +60,38 @@ public class ModSettingModel : ObservableClass foreach (var modPath in setting[WorkShopLineName]) { var loader = new ModLoader(modPath.Name); - if (loader.IsSuccesses is false) + if (loader.IsSuccesses) + { + var modModel = new ModModel(loader); + modModel.IsMsg = setting[MsgModLineName].GetBool(modModel.ID); + modModel.IsPass = setting[PassModLineName].Contains(modModel.ID.ToLower()); + Mods.Add(modModel); + } + else { Mods.Add(new() { Name = loader.Name, ModPath = loader.ModPath }); - return; } - var modModel = new ModModel(loader); - modModel.IsPass = setting[PassModLineName].Contains(modModel.Name); - modModel.IsMsg = setting[MsgModLineName].Contains(modModel.Name); - Mods.Add(modModel); } } + private static Dictionary GetLocalMods() + { + var dic = new Dictionary(StringComparer.OrdinalIgnoreCase); + foreach (var dir in Directory.EnumerateDirectories(ModDirectory)) + { + try + { + var loader = new ModLoader(dir); + dic.TryAdd(loader.Name, loader); + } + catch (Exception ex) + { + MessageBox.Show("模组载入错误\n路径:{0}\n异常:{1}".Translate(dir, ex)); + } + } + return dic; + } + public void Close() { foreach (var modLoader in LocalMods) @@ -93,10 +109,10 @@ public class ModSettingModel : ObservableClass return; foreach (var mod in Mods) { - setting[ModLineName].Add(new Sub(mod.Name.ToLower())); - setting[MsgModLineName].Add(new Sub(mod.Name, "True")); + setting[ModLineName].Add(new Sub(mod.ID.ToLower())); + setting[MsgModLineName].Add(new Sub(mod.ID, "True")); if (mod.IsPass) - setting[PassModLineName].Add(new Sub(mod.Name.ToLower())); + setting[PassModLineName].Add(new Sub(mod.ID.ToLower())); } } #endregion @@ -104,6 +120,15 @@ public class ModSettingModel : ObservableClass public class ModModel : ObservableClass { + #region ID + private string _id; + public string ID + { + get => _id; + set => SetProperty(ref _id, value); + } + #endregion + #region Name private string _name; @@ -297,6 +322,7 @@ public class ModModel : ObservableClass PropertyChanged += ModModel_PropertyChanged; ReflectionUtils.SetValue(loader, this); RefreshState(); + ID = Name; Name = Name.Translate(); Description = Description.Translate(); LocalizeCore.BindingNotify.PropertyChanged += BindingNotify_PropertyChanged; diff --git a/VPet.Solution/Models/SettingEditor/SettingModel.cs b/VPet.Solution/Models/SettingEditor/SettingModel.cs index a3be916..6f30625 100644 --- a/VPet.Solution/Models/SettingEditor/SettingModel.cs +++ b/VPet.Solution/Models/SettingEditor/SettingModel.cs @@ -1,6 +1,7 @@ using FastMember; using HKW.HKWUtils.Observable; using LinePutScript; +using LinePutScript.Localization.WPF; using System.ComponentModel; using System.Reflection; using System.Runtime.CompilerServices; @@ -22,6 +23,19 @@ public class SettingModel : ObservableClass /// public string FilePath { get; set; } + #region IsChanged + private bool _isChanged; + + /// + /// 已更改 + /// + public bool IsChanged + { + get => _isChanged; + set => SetProperty(ref _isChanged, value); + } + #endregion + #region GraphicsSetting private GraphicsSettingModel _graphicsSetting; public GraphicsSettingModel GraphicsSetting @@ -88,13 +102,38 @@ public class SettingModel : ObservableClass public SettingModel(Setting setting) { _setting = setting; + GraphicsSetting = LoadSetting(); + if (string.IsNullOrWhiteSpace(GraphicsSetting.Language)) + GraphicsSetting.Language = LocalizeCore.CurrentCulture; + InteractiveSetting = LoadSetting(); + SystemSetting = LoadSetting(); + CustomizedSetting = LoadCustomizedSetting(setting); + DiagnosticSetting = LoadSetting(); - DiagnosticSetting.SetAutoCalToSetting(setting); + DiagnosticSetting.GetAutoCalFromSetting(setting); + ModSetting = LoadModSetting(setting); + MergePropertyChangedNotify(); + } + + private void MergePropertyChangedNotify() + { + var accessor = ObjectAccessor.Create(this); + foreach (var property in typeof(SettingModel).GetProperties()) + { + var value = accessor[property.Name]; + if (value is INotifyPropertyChanged model) + model.PropertyChanged += Notify_PropertyChanged; + } + } + + private void Notify_PropertyChanged(object sender, PropertyChangedEventArgs e) + { + IsChanged = true; } private ModSettingModel LoadModSetting(Setting setting) @@ -137,6 +176,7 @@ public class SettingModel : ObservableClass _setting[CustomizedSettingModel.TargetName].Add(new Sub(link.Name, link.Link)); ModSetting.Save(_setting); File.WriteAllText(FilePath, _setting.ToString()); + IsChanged = false; } private void SaveSetting(object settingModel) diff --git a/VPet.Solution/Utils/CompareUtils.cs b/VPet.Solution/Utils/CompareUtils.cs new file mode 100644 index 0000000..abd6b79 --- /dev/null +++ b/VPet.Solution/Utils/CompareUtils.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HKW.HKWUtils; + +/// +/// 比较工具 +/// +/// 比较类型 +public class CompareUtils : IEqualityComparer, IEquatable> +{ + /// + /// (Comparer, CompareUtils) + /// + public static Dictionary, CompareUtils> Comparers = new(); + + public static CompareUtils Create(Func comparer) + { + if (Comparers.TryGetValue(comparer, out var value) is false) + value = Comparers[comparer] = new CompareUtils(comparer); + return value; + } + + public Func Comparer { get; set; } + + public CompareUtils(Func comparer) + { + Comparer = comparer; + } + + public bool Equals(T x, T y) + { + return Comparer(x).Equals(Comparer(y)); + } + + public int GetHashCode(T obj) + { + return Comparer(obj).GetHashCode(); + } + + public bool Equals(CompareUtils other) + { + return Comparer.Equals(other.Comparer); + } +} diff --git a/VPet.Solution/Utils/Expansions.cs b/VPet.Solution/Utils/Expansions.cs index fbe15d4..6e78a73 100644 --- a/VPet.Solution/Utils/Expansions.cs +++ b/VPet.Solution/Utils/Expansions.cs @@ -369,6 +369,11 @@ public static class Extensions return; if (_windowCloseStates.TryGetValue(window, out var state) is false) return; + if (state.HasFlag(WindowCloseState.SkipNext)) + { + _windowCloseStates[window] = state &= WindowCloseState.SkipNext; + return; + } if (state is WindowCloseState.Close) return; e.Cancel = true; @@ -378,11 +383,13 @@ public static class Extensions } } +[Flags] public enum WindowCloseState { - Close, - Hidden, - Collapsed + SkipNext = 0, + Close = 1 << 0, + Hidden = 1 << 1, + Collapsed = 1 << 2 } /// diff --git a/VPet.Solution/Utils/Utils.cs b/VPet.Solution/Utils/HKWUtils.cs similarity index 84% rename from VPet.Solution/Utils/Utils.cs rename to VPet.Solution/Utils/HKWUtils.cs index 7b1aec3..76fc63a 100644 --- a/VPet.Solution/Utils/Utils.cs +++ b/VPet.Solution/Utils/HKWUtils.cs @@ -1,11 +1,12 @@ -using System.Windows.Media.Imaging; +using System.Text; +using System.Windows.Media.Imaging; namespace HKW.HKWUtils; /// /// 工具 /// -public static class Utils +public static class HKWUtils { /// /// 解码像素宽度 @@ -123,4 +124,17 @@ public static class Utils .Start("Explorer", $"/select,{Path.GetFullPath(filePath)}") ?.Close(); } + + /// + /// 从文件获取只读流 (用于目标文件被其它进程访问的情况) + /// + /// 文件 + /// 编码 + /// 流读取器 + public static StreamReader StreamReaderOnReadOnly(string path, Encoding? encoding = null) + { + encoding ??= Encoding.UTF8; + var fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); + return new StreamReader(fs, encoding); + } } diff --git a/VPet.Solution/VPet.Solution.csproj b/VPet.Solution/VPet.Solution.csproj index 7a6db90..450f342 100644 --- a/VPet.Solution/VPet.Solution.csproj +++ b/VPet.Solution/VPet.Solution.csproj @@ -39,20 +39,20 @@ icon.ico - + ..\packages\FastMember.1.5.0\lib\net461\FastMember.dll - + ..\packages\LinePutScript.1.10.2\lib\net462\LinePutScript.dll - + ..\packages\LinePutScript.Localization.WPF.1.0.6\lib\net462\LinePutScript.Localization.WPF.dll - + ..\packages\Panuon.WPF.1.0.3\lib\net462\Panuon.WPF.dll - - ..\packages\Panuon.WPF.UI.1.1.16.5\lib\net462\Panuon.WPF.UI.dll + + ..\packages\Panuon.WPF.UI.1.1.17.3\lib\net462\Panuon.WPF.UI.dll @@ -107,6 +107,7 @@ + @@ -116,7 +117,6 @@ - @@ -226,7 +226,7 @@ - + diff --git a/VPet.Solution/ViewModels/MainWindowVM.cs b/VPet.Solution/ViewModels/MainWindowVM.cs index 08b817b..213f0df 100644 --- a/VPet.Solution/ViewModels/MainWindowVM.cs +++ b/VPet.Solution/ViewModels/MainWindowVM.cs @@ -6,16 +6,28 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using VPet.Solution.Models.SettingEditor; +using VPet.Solution.ViewModels.SettingEditor; +using VPet_Simulator.Windows.Interface; namespace VPet.Solution.ViewModels; public class MainWindowVM : ObservableClass { + private readonly SettingModel _mainSetting; + public MainWindowVM() { LocalizeCore.StoreTranslation = true; LocalizeCore.LoadDefaultCulture(); - CurrentCulture = LocalizeCore.CurrentCulture; + _mainSetting = SettingWindowVM.Current.ShowSettings.FirstOrDefault( + m => m.Name == nameof(Setting) + ); + if (string.IsNullOrWhiteSpace(_mainSetting?.GraphicsSetting?.Language)) + CurrentCulture = LocalizeCore.CurrentCulture; + else + CurrentCulture = _mainSetting.GraphicsSetting.Language; + FirstStartFailedCommand.ExecuteCommand += FirstStartFailedCommand_ExecuteCommand; OpenLocalTextCommand.ExecuteCommand += OpenLocalTextCommand_ExecuteCommand; } @@ -31,9 +43,11 @@ public class MainWindowVM : ObservableClass private void FirstStartFailedCommand_ExecuteCommand() { if (LocalizeCore.CurrentCulture == "zh-Hans") - Utils.OpenLink("https://www.bilibili.com/read/cv26510496/"); + HKWUtils.OpenLink("https://www.bilibili.com/read/cv26510496/"); else - Utils.OpenLink("https://steamcommunity.com/games/1920960/announcements/detail/3681184905256253203"); + HKWUtils.OpenLink( + "https://steamcommunity.com/games/1920960/announcements/detail/3681184905256253203" + ); } #region Property @@ -47,6 +61,13 @@ public class MainWindowVM : ObservableClass { SetProperty(ref _currentCulture, value); LocalizeCore.LoadCulture(_currentCulture); + if ( + _mainSetting is not null && _mainSetting.GraphicsSetting.Language != _currentCulture + ) + { + _mainSetting.GraphicsSetting.Language = _currentCulture; + _mainSetting.Save(); + } } } #endregion diff --git a/VPet.Solution/ViewModels/SaveViewer/SaveWindowVM.cs b/VPet.Solution/ViewModels/SaveViewer/SaveWindowVM.cs index f3a04ea..34fb4e6 100644 --- a/VPet.Solution/ViewModels/SaveViewer/SaveWindowVM.cs +++ b/VPet.Solution/ViewModels/SaveViewer/SaveWindowVM.cs @@ -72,12 +72,12 @@ public class SaveWindowVM : ObservableClass private void OpenFileInExplorerCommand_ExecuteCommand(SaveModel parameter) { - Utils.OpenFileInExplorer(parameter.FilePath); + HKWUtils.OpenFileInExplorer(parameter.FilePath); } private void OpenFileCommand_ExecuteCommand(SaveModel parameter) { - Utils.OpenLink(parameter.FilePath); + HKWUtils.OpenLink(parameter.FilePath); } public void RefreshShowSaves(string name) diff --git a/VPet.Solution/ViewModels/SettingEditor/ModSettingModelModel.cs b/VPet.Solution/ViewModels/SettingEditor/ModSettingModelModel.cs deleted file mode 100644 index 709f687..0000000 --- a/VPet.Solution/ViewModels/SettingEditor/ModSettingModelModel.cs +++ /dev/null @@ -1,5 +0,0 @@ -namespace VPet.Solution.ViewModels.SettingEditor; - -internal class ModSettingModelModel -{ -} \ No newline at end of file diff --git a/VPet.Solution/ViewModels/SettingEditor/ModSettingPageVM.cs b/VPet.Solution/ViewModels/SettingEditor/ModSettingPageVM.cs index cf262e1..8d8af74 100644 --- a/VPet.Solution/ViewModels/SettingEditor/ModSettingPageVM.cs +++ b/VPet.Solution/ViewModels/SettingEditor/ModSettingPageVM.cs @@ -120,17 +120,17 @@ public class ModSettingPageVM : ObservableClass is not MessageBoxResult.Yes ) return; - foreach (var mod in ModSetting.Mods.AsEnumerable()) + for (var i = 0; i < ModSetting.Mods.Count; i++) { - if (mod.IsEnabled is null) - ModSetting.Mods.Remove(mod); + if (ModSetting.Mods[i].IsEnabled is null) + ModSetting.Mods.RemoveAt(i); } SearchMod = string.Empty; } private void OpenSteamCommunityCommand_ExecuteCommand(ModModel parameter) { - Utils.OpenLink( + HKWUtils.OpenLink( "https://steamcommunity.com/sharedfiles/filedetails/?id=" + parameter.ItemId ); } @@ -139,7 +139,7 @@ public class ModSettingPageVM : ObservableClass { try { - Utils.OpenLink(parameter.ModPath); + HKWUtils.OpenLink(parameter.ModPath); } catch { diff --git a/VPet.Solution/ViewModels/SettingEditor/SettingWindowVM.cs b/VPet.Solution/ViewModels/SettingEditor/SettingWindowVM.cs index 14265f6..0b275d9 100644 --- a/VPet.Solution/ViewModels/SettingEditor/SettingWindowVM.cs +++ b/VPet.Solution/ViewModels/SettingEditor/SettingWindowVM.cs @@ -1,7 +1,7 @@ using HKW.HKWUtils.Observable; using LinePutScript; using LinePutScript.Localization.WPF; -using Panuon.WPF.UI; +using Panuon.WPF; using System; using System.Collections.Generic; using System.Collections.ObjectModel; @@ -20,13 +20,35 @@ namespace VPet.Solution.ViewModels.SettingEditor; public class SettingWindowVM : ObservableClass { public static SettingWindowVM Current { get; private set; } - #region Properties - private SettingModel _currentSettings; + private SettingModel _currentSetting; public SettingModel CurrentSetting { - get => _currentSettings; - set => SetProperty(ref _currentSettings, value); + get => _currentSetting; + set + { + if (_currentSetting?.IsChanged is true) + { + var result = MessageBox.Show( + "当前设置未保存 确定要保存吗".Translate(), + "", + MessageBoxButton.YesNoCancel + ); + if (result is MessageBoxResult.Yes) + { + _currentSetting.Save(); + } + else if (result is MessageBoxResult.No) + { + _currentSetting.IsChanged = false; + } + else if (result is MessageBoxResult.Cancel) + { + return; + } + } + SetProperty(ref _currentSetting, value); + } } private readonly ObservableCollection _settings = new(); @@ -81,8 +103,8 @@ public class SettingWindowVM : ObservableClass public SettingWindowVM() { Current = this; - ShowSettings = _settings; LoadSettings(); + ShowSettings = _settings = new(_settings.OrderBy(m => m.Name)); PropertyChanged += MainWindowVM_PropertyChanged; OpenFileCommand.ExecuteCommand += OpenFileCommand_ExecuteCommand; @@ -112,12 +134,12 @@ public class SettingWindowVM : ObservableClass private void OpenFileInExplorerCommand_ExecuteCommand(SettingModel parameter) { - Utils.OpenFileInExplorer(parameter.FilePath); + HKWUtils.OpenFileInExplorer(parameter.FilePath); } private void OpenFileCommand_ExecuteCommand(SettingModel parameter) { - Utils.OpenLink(parameter.FilePath); + HKWUtils.OpenLink(parameter.FilePath); } private void SaveAllSettingCommand_ExecuteCommand() @@ -204,9 +226,13 @@ public class SettingWindowVM : ObservableClass "载入设置出错".Translate(), MessageBoxButton.YesNo, MessageBoxImage.Warning - ) is MessageBoxResult.Yes + ) + is not MessageBoxResult.Yes ) - _settings.Add(new SettingModel() { Name = fileName, FilePath = file }); + return; + var setting = new SettingModel() { Name = fileName, FilePath = file }; + _settings.Add(setting); + setting.Save(); } } } @@ -220,7 +246,7 @@ public class SettingWindowVM : ObservableClass { if (s.EndsWith(".lps") is false) return false; - return Path.GetFileName(s).StartsWith("Setting"); + return Path.GetFileName(s).StartsWith(nameof(Setting)); } ); } diff --git a/VPet.Solution/Views/MainWindow.xaml.cs b/VPet.Solution/Views/MainWindow.xaml.cs index 28e700b..df87ac5 100644 --- a/VPet.Solution/Views/MainWindow.xaml.cs +++ b/VPet.Solution/Views/MainWindow.xaml.cs @@ -5,9 +5,11 @@ using System.ComponentModel; using System.Text; using System.Windows; using System.Windows.Controls; +using VPet.Solution.Models.SettingEditor; using VPet.Solution.ViewModels; using VPet.Solution.Views.SaveViewer; using VPet.Solution.Views.SettingEditor; +using VPet_Simulator.Windows.Interface; namespace VPet.Solution.Views; diff --git a/VPet.Solution/Views/SettingEditor/GraphicsSettingPage.xaml b/VPet.Solution/Views/SettingEditor/GraphicsSettingPage.xaml index f249265..0830bf9 100644 --- a/VPet.Solution/Views/SettingEditor/GraphicsSettingPage.xaml +++ b/VPet.Solution/Views/SettingEditor/GraphicsSettingPage.xaml @@ -70,6 +70,7 @@ diff --git a/VPet.Solution/Views/SettingEditor/SettingWindow.xaml b/VPet.Solution/Views/SettingEditor/SettingWindow.xaml index d9f5c5a..945ef3d 100644 --- a/VPet.Solution/Views/SettingEditor/SettingWindow.xaml +++ b/VPet.Solution/Views/SettingEditor/SettingWindow.xaml @@ -15,8 +15,33 @@ MinWidth="400" MinHeight="200" d:DataContext="{d:DesignInstance Type=vm:SettingWindowVM}" + Closing="SettingWindow_Closing" WindowStartupLocation="CenterScreen" mc:Ignorable="d"> + + + @@ -115,7 +140,8 @@ Command="{Binding SaveSettingCommand}" CommandParameter="{Binding SelectedItem, ElementName=ListBox_Saves}" Content="{ll:Str 保存}" - Style="{StaticResource Button_BaseStyle}" /> + Style="{StaticResource RemindStyle}" + Tag="{Binding CurrentSetting.IsChanged}" />