fix(client): restore retail interaction parity
Harden keyboard and camera routing, inventory and vendor interactions, chat/emotes, relog portal flow, and paperdoll rendering. Add retail research, connected gate coverage, and release-gate validation.
This commit is contained in:
parent
0c699240e0
commit
f6fe0f2a4f
151 changed files with 10162 additions and 1211 deletions
|
|
@ -63,6 +63,36 @@ internal sealed class FrameScreenshotController
|
|||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Queues the first free retail-style screenshot name. Retail scans
|
||||
/// <c>ScreenShot00000.jpg</c> through <c>ScreenShot99999.jpg</c> beside
|
||||
/// its preferences file; acdream keeps the exact stem/numbering while
|
||||
/// writing lossless PNGs in the portable screenshots directory.
|
||||
/// </summary>
|
||||
public bool TryRequestRetailScreenshot(out string path, out string error)
|
||||
{
|
||||
for (int index = 0; index < 100_000; index++)
|
||||
{
|
||||
string name = $"ScreenShot{index:D5}";
|
||||
string candidate = Path.Combine(_directory, name + ".png");
|
||||
if (File.Exists(candidate) || _status.ContainsKey(name))
|
||||
continue;
|
||||
|
||||
if (TryRequest(name, out error))
|
||||
{
|
||||
path = candidate;
|
||||
return true;
|
||||
}
|
||||
|
||||
path = string.Empty;
|
||||
return false;
|
||||
}
|
||||
|
||||
path = string.Empty;
|
||||
error = "all retail screenshot names ScreenShot00000 through ScreenShot99999 are in use";
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool IsComplete(string name) =>
|
||||
_status.TryGetValue(name, out CaptureStatus? status)
|
||||
&& status.State == CaptureState.Complete;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue