-
Notifications
You must be signed in to change notification settings - Fork 66
Add GetFootIK and SetFootIK GECK script commands to NVSE #212
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
base: master
Are you sure you want to change the base?
Conversation
Also modified PluginManager.cpp to ensure successful build in Release CS configuration.
|
Seems a bit redundant, everything you did here is functionally identical to calling SetINISetting "bFootIK:RagdollAnim" value or GetINISetting "bFootIK:RagdollAnim". |
|
Thanks for the feedback — much appreciated! You're absolutely right that the current FootIK flag can be read/modified via: However, I still believe GetFootIK and SetFootIK offer a few meaningful advantages:
That said, if it still feels too redundant for the core plugin, I totally understand and respect the decision — OpCodes are a limited resource, and must be preserved. :) Thanks again for your time and review! |
|
Thanks for the detailed response — your points are well-reasoned, but I’d like to push back on a few of them to clarify why I still believe this functionality deserves a place in the core plugin.
In summary, while this addition may appear small, its inclusion would promote better coding practices, improve usability, and reduce subtle bugs tied to manual INI manipulation — all with minimal overhead. I strongly believe it adds real value to the core plugin, and I hope you’ll reconsider its place within it. Thanks again for taking the time to review and discuss — I appreciate the thoughtful dialogue. |
|
Thanks for the thoughtful reply — you make a strong case, but I’d like to challenge a few of the assumptions underlying it, particularly regarding the trade-offs between clarity, scope, and long-term plugin maintenance. Redundancy Can’t Just Be Justified by Readability Yes, SetFootIK(true) is more readable than an INI call. But scripting clarity is the responsibility of the script author. It’s fully possible to wrap that INI call in your own function and name it whatever you want. Elevating that readability concern into the core plugin is solving a problem that’s already solvable without adding new overhead. The “Core Plugin = Expressiveness” Argument Doesn’t Hold Fragmentation Isn’t Avoided by Centralization Besides, shared scripts and collaborative work benefit far more from clear conventions than from the core plugin trying to be the one-stop-shop for everything. If a wrapper is that useful, the community will standardize around it — organically. Summary Appreciate the discussion — always good to sharpen our thinking with opposing views. |
The current ToggleFootIK (or TFIK) command simply toggles the FootIK state, but it does not return any value. This makes it impossible to determine whether FootIK is currently enabled or disabled — which can be problematic when multiple mods interact with it.
This PR introduces two new script commands:
(bool) GetFootIK
Returns the current state of FootIK.
0: FootIK is disabled
1: FootIK is enabled
SetFootIK value:int
Enables or disables FootIK
SetFootIK 1 → enables FootIK
SetFootIK 0 → disables FootIK
Also modified PluginManager.cpp to ensure successful build in Release CS configuration (I'm not sure about this part, so just feel free to ignore it).