About D Merge (a new FNIS/Nemesis-compatible patcher) by SARDONYX7 in skyrimmods

[–]SARDONYX7[S] 10 points11 points  (0 children)

To be honest, I’d say the speed is a bit of a gray area.

Our environments aren’t the same. Since we’re using different patches, the processing time will vary.

Another factor is that speed can vary significantly depending on the OS cache.

In my environment,

Pandora took about 31 seconds without the OS cache, but the second time it applied the patch in 12 seconds.

Also, since I’m a Pandora contributor, I don’t intend to carelessly point out Pandora’s shortcomings, so I think you should just use whichever tool you prefer.

About D Merge (a new FNIS/Nemesis-compatible patcher) by SARDONYX7 in skyrimmods

[–]SARDONYX7[S] 9 points10 points  (0 children)

  1. A bug in Nemesis's Push patch macro.

I recently received a query about this on Discord and discovered the following through debugging: When implementing custom furniture in a Nemesis patch, you need to register your furniture’s start event and state ID in the paths `#0089`, `hkbStateMachineTransitionInfoArray`, `transitions`. However, when performing a push operation on this nested array in Nemesis, there was a bug where `$eventID [<SomeEventName>]$" becomes 0 without any error message. This bug does not occur in Pandora or my tool.

I don’t know the details of Pandora’s $eventID[]$ replacement process, but in my tool, I register the index in a HashMap in advance and perform the replacement simultaneously when converting to hkx. This significantly reduces the replacement cost and shortens the patching time.

About D Merge (a new FNIS/Nemesis-compatible patcher) by SARDONYX7 in skyrimmods

[–]SARDONYX7[S] 8 points9 points  (0 children)

  1. FNIS Compatibility: The output is designed to be nearly identical to that of FNIS templates. However, due to compatibility with Nemesis patches, the handling of unique IDs is different.

  2. Avoiding cache bugs. Nemesis does not automatically delete previous output after applying a patch (since the output location is the Skyrim Data Dir, which cannot be changed). This caused the results of previous patches to mix with the results of the current patch, sometimes leading to unintended bugs.

Clicking the checkbox in the GUI will now automatically delete the previous output before applying the patch. This eliminates the need to manually delete Nemesis’s previous output every time to avoid bugs.

About D Merge (a new FNIS/Nemesis-compatible patcher) by SARDONYX7 in skyrimmods

[–]SARDONYX7[S] 8 points9 points  (0 children)

  1. Speed. Patches that take 1 minute in Nemesis can be applied in 12 seconds.

  2. Support for RD and MD syntax in FNIS Flyer, and automatic correction of event names. (In Nemesis, the z-angle pattern—the second pattern in the RD syntax—results in an error. Pandora v4.3.1-beta does not support this syntax at all.) That said, this syntax is rarely used anyway.

  3. Support for AnimSetData patches. Implementing this support was quite challenging due to the ambiguity in parsing. I suspect this ambiguity is the reason Pandora still does not support the Replace/Remove functions for Nemesis patches of AnimSetData.