Skip to content
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

Changed E2 spawn behavior to only run once ever #3215

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Denneisk
Copy link
Member

@Denneisk Denneisk commented Dec 11, 2024

If AdvDupe2 is undefined, duped() will always run,
else, duped() will only run if the chip is not strict.

This also changes duped() and dupefinished() to be synonymous when AdvDupe2 is installed. Both will be 1 when the dupefinished() case is ran. Although it's not equivalent (because duped() is ran before constraints are created), you can now use duped() to flag both post-AdvDupe2 and regular post-dupe.

I'm not sure if this is the best solution, but AdvDupe2 is the only addon that provides a hook to run after all of pasting is finished for both the normal and alternate duplicator.

@deltamolfar
Copy link
Contributor

Bit controversial, but I see more good then bad in that

@thegrb93
Copy link
Contributor

Might break a lot of chips

@thegrb93
Copy link
Contributor

thegrb93 commented Dec 11, 2024

I think the policy for compatibility breaks calls for community involvement

@Denneisk
Copy link
Member Author

I'm not sure how many E2s out in the wild rely on doing something different between duped() and dupefinished(), and were made within the past 3 years, and have @strict, but I'll oblige making a community vote.

@Vurv78
Copy link
Contributor

Vurv78 commented Dec 11, 2024

Might break a lot of chips

It seems to be @strict only? If so that's probably fine. I have made the precedent that @strict opts out of backwards compatibility, at least for things that are objectively not good.

@thegrb93
Copy link
Contributor

That said... behavior differences depending on 'strict' also sounds really strange. It makes sense for 'strict' to invoke errors or warnings, but to function differently when duping is kind of uncanny.

@deltamolfar
Copy link
Contributor

Well, behavioral differences is kinda already a thing with persist/global scope vars. Tho it would make more sense to have API versioning instead of strict mode, so we can forget about backwards compatibilities on major releases

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants