mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-04-10 18:33:51 +02:00
43 lines
1.4 KiB
C#
43 lines
1.4 KiB
C#
using System;
|
|
using System.Diagnostics;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Threading;
|
|
using Newtonsoft.Json;
|
|
using Newtonsoft.Json.Linq;
|
|
using Newtonsoft.Json.Serialization;
|
|
|
|
namespace VRCX
|
|
{
|
|
public partial class AppApiElectron
|
|
{
|
|
public override string AddScreenshotMetadata(string path, string metadataString, string worldId, bool changeFilename = false)
|
|
{
|
|
if (path.Length >= 3 && path[1] == ':' &&
|
|
(path[2] == '\\' || path[2] == '/'))
|
|
{
|
|
var driveLetter = path[0].ToString().ToLower();
|
|
var winePrefix = Path.Join(_vrcPrefixPath, $"dosdevices/{driveLetter}:");
|
|
var winePath = path[3..]; // remove C:\
|
|
path = Path.Join(winePrefix, winePath);
|
|
}
|
|
|
|
path = path.Replace("\\", "/");
|
|
|
|
var fileName = Path.GetFileNameWithoutExtension(path);
|
|
if (!File.Exists(path) || !path.EndsWith(".png") || !fileName.StartsWith("VRChat_"))
|
|
return string.Empty;
|
|
|
|
if (changeFilename)
|
|
{
|
|
var newFileName = $"{fileName}_{worldId}";
|
|
var newPath = Path.Join(Path.GetDirectoryName(path), newFileName + Path.GetExtension(path));
|
|
File.Move(path, newPath);
|
|
path = newPath;
|
|
}
|
|
|
|
ScreenshotHelper.WriteVRCXMetadata(metadataString, path);
|
|
return path;
|
|
}
|
|
}
|
|
} |