Conversation
- Hopefully fix double references while casting to other COM Object, causing memory leaks in some areas. - Switching from UniqueComInterfaceMarshaller to ComInterfaceMarshaller in some cases - Add new ComMarshal<T>.TryCreateComObject which outputs the direct reference/pointer to the created COM Object.
As per recent 1.84 initiative, we are focusing on optimizing the binary to use -O2. The static libs were also recompiled with -O2 optimization in-mind.
This reverts commit 2af63f6.
This reverts commit 2af63f6.
+ Re-re-refactor the ComMarshal
This due to absence of the ScreenSettingData while the game has never been played before.
- Fix news panel not collapsed while no news in any entries are present - Ensure the height of the carousel news images adjustable - Move EventImage Icon element from MainPage to HomePage - Adjust carousel news images icons
- Switching from Timer + Background Thread based to Storyboard. This to avoiding UI Thread overhead due to frequent DispatcherQueue.TryEnqueue calls.
+ Also removes some additional unused ML/AI-related libraries used by Windows App SDK
| for (offset = 0; offset < CBufferSize - offsetRemained; offset += Vector128<byte>.Count) | ||
| { | ||
| Vector128<byte> newVector = Vector128.LoadUnsafe(ref newDataRef, (nuint)offset); | ||
| Vector128<byte> oldVector = Vector128.LoadUnsafe(ref oldDataRef, (nuint)offset); | ||
| Vector128<byte> resultVector = Vector128.Add(newVector, oldVector); | ||
|
|
||
| resultVector.StoreUnsafe(ref newDataRef, (nuint)offset); | ||
| } | ||
| } |
This comment was marked as outdated.
This comment was marked as outdated.
Sorry, something went wrong.
| static bool IsCgOnCurrentVersionOrPresent(string assetName, GameVersion gameVersion) => | ||
| GameVersion.TryParse(assetName.GetSplit(0, '_'), out GameVersion fileVersion) && | ||
| fileVersion >= gameVersion; |
There was a problem hiding this comment.
Bug: The IsCgOnCurrentVersionOrPresent function assumes filenames contain a version prefix and an underscore. If not, version parsing fails, and a required URL availability check is silently skipped.
Severity: MEDIUM
Suggested Fix
Add logging for when GameVersion.TryParse fails within IsCgOnCurrentVersionOrPresent to make these cases visible. Consider adding a fallback behavior or explicitly handling filenames that do not match the expected VERSION_CGNAME.usm format to ensure the URL check is not skipped incorrectly.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.
Location:
CollapseLauncher/Classes/RepairManagement/HonkaiV2/HonkaiRepairV2.AsbExt.Video.cs#L171-L173
Potential issue: The function `IsCgOnCurrentVersionOrPresent` parses a version from a
filename using `assetName.GetSplit(0, '_')`. If a filename does not contain an
underscore, `GameVersion.TryParse` will fail, causing the function to return `false`.
This bypasses a crucial URL availability check for certain CG assets. As a result,
assets with malformed filenames are added to the download list without verifying their
existence on the server, potentially leading to 404 errors during the download process.
This undermines the intended fix, which was to prevent such errors.
+ Cache NavigationViewItem creation + Avoid FindDescendants() every page reload as it causes hang for 1-2 seconds on page initialization sometimes
| builder.AppendFormatted(screenSize.Width, "-screen-width 0 "); | ||
| builder.AppendFormatted(screenSize.Height, "-screen-height 0 "); |
There was a problem hiding this comment.
Bug: The call to builder.AppendFormatted uses an invalid format string, which will throw a FormatException and crash the launcher when starting the game with custom resolution enabled.
Severity: HIGH
Suggested Fix
Replace the AppendFormatted calls with standard string interpolation to build the launch arguments. For example: builder.Append($"-screen-width {screenSize.Width} -screen-height {screenSize.Height} ");.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.
Location:
CollapseLauncher/Classes/GameManagement/GameSettings/Zenless/Settings.cs#L86-L87
Potential issue: In `ZenlessSettings.GetLaunchArguments`, the code incorrectly uses
`builder.AppendFormatted`. The second argument to this method is expected to be a
numeric format specifier (like 'D' or 'X'), but instead it is being passed a full string
prefix like `"-screen-width 0 "`. This is an invalid format string and will cause a
`FormatException` to be thrown at runtime. The bug occurs when a user attempts to launch
the game Zenless Zone Zero with the `UseCustomResolution` setting enabled, resulting in
a crash that prevents the game from starting.
Preview 1.84.4 (Codename: Columbina)
What's Changed? - 1.84.4
MhyMurmurHash264B(like Blocks and Audio files) sometimes causes exception if data length doesn't matchSwitching from Timer + Background Thread based to Storyboard. This to avoiding UI Thread overhead due to frequent DispatcherQueue.TryEnqueue calls.
Full Changelog: CL-v1.84.3-pre...CL-v1.84.4-pre
Code Signing Policy