-
Notifications
You must be signed in to change notification settings - Fork 225
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
V1.7.0 #742
Merged
Merged
V1.7.0 #742
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…bat mods When a magic or explosion hit is registered it adds to the trainer counter instead of resetting the quest stage, doesn't matter which player or character hits Vilkas now.
…arious crashloggers to work with STR. CrashHandler is always constructed now, but is IS_MASTER aware and disables minidumps when IS_MASTER is true. Unless you turn the flag back on with a debugger.
…ATE flag, so need a special case.
Rebased to current /dev Made the fix a bit safer by only catching EXCEPTION_ACCESS_VIOLATION, at the risk of not getting crahs dumps/logs for a few obscure and infrequest crash types. This is consistent with when crash dumps were triggered before this PR.
Updated to `NiPointer` which uses refcount
…cter that the remote system is obviously not authoratative for. From the code comment: Only accept spawn position and inventory updates if not for local player The remote system is simply not authoritative for this info, and trying to take it from the remote can result in concurrent update corruption That's the real problem, either s_pRemoveAllItems or s_unequipAll have async behavior themselves or undocumented behavior that causes concurrency issues.
…ta looping back to themselves.
…hread-logging Better logging for debugging distributed multithreaded apps.
Fix cell-change crash caused by use-after-free of BGSAttackDataMap
…rkaround Exception handling fix so SetUnhandledExceptionFilter works
…spawn data looping back to themselves." This reverts commit ed79bf1.
…yerCharacter that the remote system is obviously not authoratative for." This reverts commit 49bfc73.
Fix cell-change crash from SetActorInventory() calling s_unequipAll followed by s_removeAllItems
…728) Black screen fix still applies. Dynamic invocation is needed in order not to link `d3d11.dll` at compile-time (compile-time linking breaks ENB and other mods that use d3d11.dll as a proxy) Co-authored-by: rfortier <[email protected]>
STR is up against the limit, using 62 of a hardwired 64 boolean behavior vars to be synced. This fix removes the limit before it becomes a barrier. Since "unlimited" will bite us, note the base code has some lengths encoded in 16-bit ints that will bite eventually. Trying to sync even a fraction of that many will cause problems, though. Reimplemented the Boolean long long as a (bit) Vector. This made all vars (bools, ints, floats) vectors, so some code simplification of the wire protocol is accessible. The Booleans are just passed "as is," no attempt to detect which ones changed as the space required to send the delta is more than just sending the bits. Overall impact on wire protocol: sending humanoids will be slightly longer, as the 64-bits available is almost full. But that's longer by a byte (or maybe two since I used String to simplify the code). Everything else sent will be shorter and less overhead. There's no avoiding iterating the bits of the Vector<bool>. But the overhead when translating the array of <bool> to an array of bits and back is about the same. There was a bunch of extra overhead if Serialization::WriteBool() were to be used, so optimized that part out. Overall, should be better on the wire, and neutral-to-better on CPU. 2nd commit msg: Reworked creating and applying Behavior variable diffs and serializing them. Simpler, easier to read, should usually save bytes on the wire.
…that it's a Vector; initial load-in animation variables might be empty.
…odded behavior. We want to detect this at runtime (like Edho did) so we can merge the STR team's behavior vars with the modded behavior vars (and not require mods to know what the STR devs picked to sync). This will also give substantial version independence, where this feature should work with multiple versions of STR.
Solve player 1st person woes Lighten intrusion into STR main body (References.cpp) Fixed sorting of AnimationGraphDescriptor behavior variables, this will help when Pandora is more widely adopted (and stops reordering behavior variables, maybe we can get to mod order independence). Added failList of modded behavior lookups that fail, so we don't repeat expensive failed calls. Even some built-in ones can fail, like wisps. Deleted dead code, marked some I'm not sure about for deletion. Update README.md with a decent description of the content and goals of the fork. Cleanups, comments about how it works.
Move SkyrimTogetherReborn\behaviors directory up a level to SkyrimTogetherRebornBehaviors. This gets modders out of the business of changing things in SkyrimTogetherReborn directory, and should make it it easire for mod authors to patch. Created default behavior mod directories for the supported creatures, so modders don't have to find hashes or signatures, they can just drop in behaviorvars they need. Translated Code\encoding\Struct\* files using code generation PowerShell script. Eventually will run automatically. Eventually may get STR Dev permission to eliminate it. Now when finding modded behavior with game base behaviors, translates the "old" numeric BehaviorVar values back to strings, then looks up the string to get the new numeric value. This means mod developers no longer need to know which variables STR Devs require. Better warning messages when lookups fail to aid hunting down the issue.
…game (lower case "speed"). If we get a miss on Speed try again with "speed". If this is the only one, this is a safer fix than going to case-insensitive search, which could have its own issues. Raised the log level to Error for these sorts of things.
Support remembering the modded humanoid/Master hash so exiting a beast modes can return to that (vs. a force-plug of the original unmodded behavior).
Feature: support for behavior mods
yeet fallout together
Updated Vilkas script to be more compatible with general magic effects
The call to retrieve the Actor:: can fail, so avoid the crash.
Duration is set to 6 seconds
…the UI This commit also fixes menu clipping on smaller screen sizes (like 1280x720) Part of the work was originally done in #634 (commit 39776df) Co-authored-by: Robbe Bryssinck <[email protected]>
This allows the function that explicitly removes magic effects to sync when applied to a player Cherry-pick to newest /dev branch needed to move Actor::RemoveSpell to Actor.cpp
Update TiltedUI submodule
Made the 'Reveal Players' feature more user-friendly
Set up automated CI for outputting weekly builds
Fix: Resolve animal sliding issue
…_MASTER builds. With Miredirex.
Make exception handling PR 705 fully compatible with IS_MASTER
Sync Remove Spell / Magic Cancel
CI update: correct artifact versioning, tags trigger, xmake deps caching
Closed
3 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changelog 1.7.0