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

    • OrbWeaver

      Does anyone actually use the Normalise button in the Surface inspector? Even after looking at the code I'm not quite sure what it's for.
      · 0 replies
    • Ansome

      Turns out my 15th anniversary mission idea has already been done once or twice before! I've been beaten to the punch once again, but I suppose that's to be expected when there's over 170 FMs out there, eh? I'm not complaining though, I love learning new tricks and taking inspiration from past FMs. Best of luck on your own fan missions!
      · 4 replies
    • The Black Arrow

      I wanna play Doom 3, but fhDoom has much better features than dhewm3, yet fhDoom is old, outdated and probably not supported. Damn!
      Makes me think that TDM engine for Doom 3 itself would actually be perfect.
      · 6 replies
    • Petike the Taffer

      Maybe a bit of advice ? In the FM series I'm preparing, the two main characters have the given names Toby and Agnes (it's the protagonist and deuteragonist, respectively), I've been toying with the idea of giving them family names as well, since many of the FM series have named protagonists who have surnames. Toby's from a family who were usually farriers, though he eventually wound up working as a cobbler (this serves as a daylight "front" for his night time thieving). Would it make sense if the man's popularly accepted family name was Farrier ? It's an existing, though less common English surname, and it directly refers to the profession practiced by his relatives. Your suggestions ?
      · 9 replies
    • nbohr1more

      Looks like the "Reverse April Fools" releases were too well hidden. Darkfate still hasn't acknowledge all the new releases. Did you play any of the new April Fools missions?
      · 5 replies
×
×
  • Create New...