Jump to content
The Dark Mod Forums

"Toggle Crouch" is not as responsive.


The Black Arrow

Recommended Posts

Hey there, while playing TDM, I have noticed that "Toggle Crouch" is not as responsive as I want it to be.

To detail the issue, it's simply that, by holding the Control key, I won't crouch until I stop holding it. Is there any way to make it so the moment you press Control, you crouch?
I know that in Thief 1 and 2 you could press Control without holding it and you already toggle crouching, if it happens there, why not in The Dark Mod as well?

Hopefully it is possible to make it so.

Link to comment
Share on other sites

That's because 'Toggle Crouch' is for toggling or 'switching' it off and on, without holding a button down.  You would have to disable toggle crouch to make it crouch upon button press.

It's in Settings / Controls / General

Oh wait, are you saying you would like it to go into crouch mode upon button press instead of release?

Link to comment
Share on other sites

7 minutes ago, The Black Arrow said:

Yes, that's what I mean, just like in Thief 1 and 2 itself.

Ok, gotcha.  It may be that way due to limitations of the sdk prior to the full D3 source release.  I don't know if it would be a big deal if it were changed or how to go about doing it.  

 

Coders want to chime in?

Link to comment
Share on other sites

What is tdm_toggle_crouch set to?

What is in_toggleCrouch set to?

If you set tdm_toggle_crouch to the opposite value ( 0 vs 1 ), does it work as expected?

Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Link to comment
Share on other sites

1 hour ago, nbohr1more said:

What is tdm_toggle_crouch set to?

What is in_toggleCrouch set to?

If you set tdm_toggle_crouch to the opposite value ( 0 vs 1 ), does it work as expected?

It's set to 1
The other is set to 0
If I set tdm_toggle_crouch to 0, it works in a way I consider more responsive, but the moment I release from my control key it goes back to standing up.

Link to comment
Share on other sites

Yes this is probably by design, crouch toggle is designed to crouch player and stay that way without holding a button down, so activating on key up event makes sense.

Hold crouch only works while you hold the button down, so activating on key down event makes sense.

Not sure if anyone wants to or should change it, it's been this way for 16 years.

I always assumed I'd taste like boot leather.

 

Link to comment
Share on other sites

I think I get the point of their concern. I just did some tests and The Dark Mod is the only game I found that triggers crouch toggle on key release, not key press. All other games will activate crouch toggle on key press. The fact that it sticks out as being different might bother some people.

A word of warning, Agent Denton. This was a simulated experience; real LAMs will not be so forgiving.

Link to comment
Share on other sites

I think way back in the early days there may have been discussion about this behavior but I'm pretty sure there were things we just couldn't change back then due to the limited nature of the Doom 3 SDK at the time.  By the time the full source code was released we probably just had gotten used to it.  I honestly seen no reason why it couldn't be changed to follow convention.  Anyone able to take a look into the code for that function and see if it can be changed to 'key press' for crouch instead of 'key release'?

  • Like 1
Link to comment
Share on other sites

If it does end up getting modified, consider adding some sort of cvar to allow for switching between the updated and traditional crouch toggle response. Muscle memory goes both ways and people used to how TDM does it normally may be put off by the change.

A word of warning, Agent Denton. This was a simulated experience; real LAMs will not be so forgiving.

Link to comment
Share on other sites

2 hours ago, Xolvix said:

If it does end up getting modified, consider adding some sort of cvar to allow for switching between the updated and traditional crouch toggle response. Muscle memory goes both ways and people used to how TDM does it normally may be put off by the change.

Or they may not even notice since it's just that the keypress will just be a second more responsive 

  • Like 1
Link to comment
Share on other sites

I'd also like to see an option to have toggle crouch on "key press".

I started playing TDM for the first time today, and I felt that crouching was very delayed. I'm used to Thief's toggle crouch.

I'm glad to know that I can quickly tap "toggle crouch" to crouch sooner until an option is added.

Cheers

Link to comment
Share on other sites

  • 1 month later...
Spoiler

Not sure if the best idea but doing the following change on this code bellow, makes crouch work has you want but it needs extensive testing to see if it breaks the game, my testing was very limited.

 

void ButtonStateTracker::Update()
{
	int timeSinceLastCheck = gameLocal.time - _lastCheckTime;

	if (timeSinceLastCheck == 0) return; // no double-checking in the same frame

	//DM_LOG(LC_FROBBING, LT_INFO)LOGSTRING("Updating button states\r");
	for (ButtonHoldTimeMap::iterator i = _buttons.begin(); i != _buttons.end(); /* in-loop increment */)
	{
		int impulse = i->first;

		if (impulse != IMPULSE_CROUCH)
		{
			if (common->ButtonState(KEY_FROM_IMPULSE(impulse)))
			{
				// Key is still held down, increase the hold time 
				i->second += timeSinceLastCheck;

				_owner->PerformKeyRepeat(impulse, i->second);

				// Increase the iterator
				++i;
			}
			else
			{
				int holdTime = i->second + timeSinceLastCheck;

				// Delete the impulse from the map, and increase the iterator immediately afterwards
				_buttons.erase(i++);

				// Notify the player class about the keyrelease event
				_owner->PerformKeyRelease(impulse, holdTime);
			}
		}
		else
		{
			int holdTime = i->second + timeSinceLastCheck;

			// Delete the impulse from the map, and increase the iterator immediately afterwards
			_buttons.erase(i++);

			// Notify the player class about the keyrelease event
			_owner->PerformKeyRelease(impulse, holdTime);
		}
	}

	// Remember the last time the buttons have been checked
	_lastCheckTime = gameLocal.time;
}


For TDM programmers and people that know how to edit and compile the engine.

Edited by HMart
  • Like 1
Link to comment
Share on other sites

Is this really such an issue? I never noticed any difference to the original Thiefs or Dishonored in terms of how quick the toggle key reacts to input... And, I consider myself quite sensitive in that regard.

Anyway, if it can be changed to act more like other games out there (if it reacts on key down in any other game), then it's a good thing.

Edited by chakkman
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • Petike the Taffer

      I've finally managed to log in to The Dark Mod Wiki. I'm back in the saddle and before the holidays start in full, I'll be adding a few new FM articles and doing other updates. Written in Stone is already done.
      · 4 replies
    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
    • JackFarmer

      @TheUnbeholden
      You cannot receive PMs. Could you please be so kind and check your mailbox if it is full (or maybe you switched off the function)?
      · 1 reply
    • OrbWeaver

      I like the new frob highlight but it would nice if it was less "flickery" while moving over objects (especially barred metal doors).
      · 4 replies
    • nbohr1more

      Please vote in the 15th Anniversary Contest Theme Poll
       
      · 0 replies
×
×
  • Create New...