-
Notifications
You must be signed in to change notification settings - Fork 467
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
Improves the Block Pushing Speed Enhancement #2396
Improves the Block Pushing Speed Enhancement #2396
Conversation
Previously this enhancement only decreased the delay between pushes in any noticeable way because the top speed of the blocks was clamped. The enhancement now increases the top speed of the blocks according to the slider's value.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you so much for looking into this and fixing it! I know it's been an issue for far longer than it feels like it should have been.
I left a comment in there about the values being changed and how they relate to blocks not reaching the end of their paths. If you could let me know if that comment aligns with what you've figured out when looking into this that'd be great!
this->stateFlags |= PUSHBLOCK_PUSH; | ||
this->pushSpeed = CLAMP_MAX(this->pushSpeed, 2.0f); | ||
this->pushSpeed = CLAMP_MAX(this->pushSpeed, 2.0f + (CVarGetInteger("gFasterBlockPush", 0) * 0.5)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the "not being pushed all the way" fix #1363 changed this line from
this->pushSpeed = CLAMP_MAX(this->pushSpeed, 3.0f);
to
this->pushSpeed = CLAMP_MAX(this->pushSpeed, 2.0f);
with this logic it seems it's still possible to have that value be 3.0
if i'm understanding correctly, this means the issue with not reaching the end was actually a problem with the earlier line, which was changed from
this->pushSpeed = this->pushSpeed + (CVar_GetS32("gFasterBlockPush", 0) * 0.3) + 0.5f;
to
this->pushSpeed = this->pushSpeed + ((CVar_GetS32("gFasterBlockPush", 0) / 2) * 0.5) + 0.5f;
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Every time I've tried this I end up still having this issue as well, so I'm also interested if this fixes it.
Also should this not also be applied to the other block types? eg:
develop...garrettjoecox:OOT:faster-block-pushing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The fire temple block still worked with every block speed I tried. If I recall correctly the other pushable things work OK with the current enhancement, but I can check those today. Having the slider on +2 would put the top speed at 3.0, I feel like I tried that but I'll double check.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All the blocks currently “work” but all of them are far slower than they should be for the highest setting IMO
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can confirm with Block speed at +2 that one block still gets to the end of its track.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so it must have been the * 0.3
that was messing things up... (probably? i'm still not quite sure)
anyways, yes, we should update the speed of the rest of the things to use the same logic as this does (def want fast small blocks for the spirit temple sun block room)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've updated all the ones that are actually blocks. The other places are the shadow temple statue, the mirror statues in spirit temple, and the forest temple basement. I think the first one I had should have covered the spirit temple blocks, I'm fairly certain those are obj_oshihiki.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ugh nevermind, there's also a jya_block just for those blocks in child spirit temple... EDIT: actually those might be something else, I'm not seeing any logic for pushing those anywhere in their code.
(I believe these are the ones with the faces on them)
waiting to merge until a bit more testing of all the different block types happens |
All of the push blocks that I am aware of have been fixed at this point. It should be good to merge. |
Previously this enhancement only decreased the delay between pushes in any noticeable way because the top speed of the blocks was still clamped to authentic values. The enhancement now increases the top speed of the blocks according to the slider's value.
Build Artifacts