Jump to content
The Dark Mod Forums

Footstep sound bug in version 2.10


Gadavre
 Share

Recommended Posts

Hello dear developers! I tested version 2.10 and noticed a performance improvement over version 2.09. This pleases us! But I also noticed a bug with the sound... The player, when walking to the left (button A), the volume of the sound of his steps goes down. In some missions even this sound is inaudible...
Please, if possible, make the volume of the step sounds the same for all four directions for realism.
 


I ask you, if possible, to make a fix to version 2.10, as it is a very long time to wait for the release of version 2.11

 

Edited by Gadavre
  • Like 3
Link to comment
Share on other sites

I can confirm this, on Linux anyway. Walking left, you make the same footstep sounds as crouching and creeping forwards.

Edited by thebigh
  • Like 1

{ 0 | 🞵 } = funk_tastic

My missions:           Stand-alone                                                      Duncan Lynch series                              

                                      Down and Out on Newford Road              the Factory Heist

                                                                                                  A House Call

                              

Link to comment
Share on other sites

Confirmed in Windows. Only when sidestepping left. That's rather strange.

  • Like 2

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 could be wrong because it was a fast look at the code but based on my debug section of the Move code, the problem seems to be that, when the player steeps to the left the "moveType" string, is set to "creep" and when moving right, is set to "walk", that causes different sound volumes to be set for the final steep sound. 

Link to comment
Share on other sites

I think I found the real problem

on the player cpp file on UpdateConditions() function

this code 

// DarkMod: Catch the creep modifier
...
	else {
		int creepLimit = cv_pm_creepmod.GetFloat() * 127;
		AI_CREEP = (usercmd.buttons & BUTTON_CREEP) ||
			(idMath::Abs(usercmd.forwardmove) <= creepLimit && idMath::Abs(usercmd.rightmove <= creepLimit));
	}

 

Needs to be like this

// DarkMod: Catch the creep modifier
...
	else {
		int creepLimit = cv_pm_creepmod.GetFloat() * 127;
		AI_CREEP = (usercmd.buttons & BUTTON_CREEP) |
			(idMath::Abs(usercmd.forwardmove) <= creepLimit && idMath::Abs(usercmd.rightmove) <= creepLimit);
	}

 

The close ) for the idMath::Abs was on the wrong place.

The change to bitwise OR |  instead of the logic OR || was a recommendation of visual studio 2022, not something I really know if necessary, changing that didn't solved the bug nor the behavior, a better programmer may explain why VS recommended that change.

  • Like 4
Link to comment
Share on other sites

Posted (edited)
1 hour ago, HMart said:

on the player cpp file on UpdateConditions() function

I don't understand. Where can I find player cpp file ? Please give me the path to this file and I'll fix it myself.

Edited by Gadavre
Link to comment
Share on other sites

I'm talking about the engine and game source code, the c++ source code. 

Unfortunately, unless you know how to code in c++ and how to compile the engine than you will have to wait for the TDM team to solve that bug.

The best way is to make a bug report and link this thread there.

Link to comment
Share on other sites

Posted (edited)
8 minutes ago, HMart said:

The best way is to make a bug report and link this thread there.

Where do I write  a bug report? What topic?

 

Edited by Gadavre
Link to comment
Share on other sites

Posted (edited)

HMart

I tested the old version 2.07, it doesn't have this bug...   For some reason, creating new versions of the game leads to new bugs.
I already thought about trying to transfer all the new textures, models, scripts and sounds from the new version 2.10 to the old version 2.07. But I'm not a programmer, it's very complicated.

Edited by Gadavre
  • Haha 2
Link to comment
Share on other sites

7 minutes ago, Gadavre said:

HMart

... For some reason, creating new versions of the game leads to new bugs. ...

haha yes that is true, is a fact of game development, is because people are writing new code, copying or moving code around and sometimes simple mistakes are made, in code, even a simple comma in the wrong place, can break a entire game. And even code that worked fine before, after some new work can stop working for some obscure reason, is called regressions, 3 steeps forward, 1 steep backward. :)

Have patience and just wait, I'm sure that when someone in the team sees this, they will solve it and maybe, make a patch or solve it for the next TDM version but only them can decided that. 

Link to comment
Share on other sites

58 minutes ago, HMart said:

3 steeps forward, 1 steep backward.

Some of which make a creep sound, other normal footstep sounds.

  • Haha 1

{ 0 | 🞵 } = funk_tastic

My missions:           Stand-alone                                                      Duncan Lynch series                              

                                      Down and Out on Newford Road              the Factory Heist

                                                                                                  A House Call

                              

Link to comment
Share on other sites

On 4/16/2022 at 2:36 PM, HMart said:

I think I found the real problem

on the player cpp file on UpdateConditions() function

this code 

// DarkMod: Catch the creep modifier
...
	else {
		int creepLimit = cv_pm_creepmod.GetFloat() * 127;
		AI_CREEP = (usercmd.buttons & BUTTON_CREEP) ||
			(idMath::Abs(usercmd.forwardmove) <= creepLimit && idMath::Abs(usercmd.rightmove <= creepLimit));
	}

 

Needs to be like this

// DarkMod: Catch the creep modifier
...
	else {
		int creepLimit = cv_pm_creepmod.GetFloat() * 127;
		AI_CREEP = (usercmd.buttons & BUTTON_CREEP) |
			(idMath::Abs(usercmd.forwardmove) <= creepLimit && idMath::Abs(usercmd.rightmove) <= creepLimit);
	}

 

The close ) for the idMath::Abs was on the wrong place.

The change to bitwise OR |  instead of the logic OR || was a recommendation of visual studio 2022, not something I really know if necessary, changing that didn't solved the bug nor the behavior, a better programmer may explain why VS recommended that change.

 

Confirmed this code change fixes the issue, and I can't find any bugs that it could possibly introduce, though my testing was limited to just playing the game and trying to break it.

  • Like 3

I always assumed I'd taste like boot leather.

 

Link to comment
Share on other sites

Posted (edited)
On 4/23/2022 at 5:16 PM, AluminumHaste said:

I think I found the real problem

thank you.  Has this already been fixed in the latest dev16485-9903 build?

Edited by Gadavre
Link to comment
Share on other sites

On 4/16/2022 at 8:36 PM, HMart said:

I think I found the real problem

on the player cpp file on UpdateConditions() function

this code 

// DarkMod: Catch the creep modifier
...
	else {
		int creepLimit = cv_pm_creepmod.GetFloat() * 127;
		AI_CREEP = (usercmd.buttons & BUTTON_CREEP) ||
			(idMath::Abs(usercmd.forwardmove) <= creepLimit && idMath::Abs(usercmd.rightmove <= creepLimit));
	}

 

Needs to be like this

// DarkMod: Catch the creep modifier
...
	else {
		int creepLimit = cv_pm_creepmod.GetFloat() * 127;
		AI_CREEP = (usercmd.buttons & BUTTON_CREEP) |
			(idMath::Abs(usercmd.forwardmove) <= creepLimit && idMath::Abs(usercmd.rightmove) <= creepLimit);
	}

 

The close ) for the idMath::Abs was on the wrong place.

The change to bitwise OR |  instead of the logic OR || was a recommendation of visual studio 2022, not something I really know if necessary, changing that didn't solved the bug nor the behavior, a better programmer may explain why VS recommended that change.

VS probably recommended to change to bitwise OR because a bitwise AND was used in the term before that and VS did not understand that what we actually want is a boolean. I bet if you changed it to 

AI_CREEP = (usercmd.buttons & BUTTON_CREEP) != 0 ||
   (idMath::Abs(usercmd.forwardmove) <= creepLimit && idMath::Abs(usercmd.rightmove) <= creepLimit);

, i.e., convert the bitwise AND result directly to bool, VS would not recommend to change the OR operator.

  • Thanks 1
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.

 Share

  • Recent Status Updates

    • duzenko

      Please, can we finally group the missions by year in the game menu?
      · 3 replies
    • duzenko

      I vaguely recall someone recently complained about two-sided materials (curtains?) not getting lighting from both sides
      I just found a piece of code that's supposed to do just that
      Where was that discussed? (@nbohr1more?)
      · 8 replies
    • Xolvix

      I still play classic Doom (albeit with user-made mods and maps rather than the original campaign) on a regular basis. A game from the early 90's which has still got a healthy following in 2022. Pretty amazing.
      · 3 replies
    • Nort

      I'm beginning to understand why people who aren't into social clubbing "don't last long" on this project, and why it's so full of holes. When moderators are siding with bullies, by closing down threads that they derail, then I start to wonder if I should support the platform to begin with.
      I'm sure that the core development is solid, but when you're constantly tone policed and bullied, and moderators are playing into it too, then the project will just drive away talent, and replace it with socialites instead. ...and without talent, you only end up with a small skeleton crew trying to do everything themselves.
      ...so Dragofer and Airship Ballet, and all you other socialites, you win. From now on I'll just keep to myself. You'll never be able to do my work, but at least you'll be happy together, and that's what matters to you.
       
      Update
      Actually, I have to revise my statement:
      I actually messaged greebo - the top dog, I gather - about nbohr1more's outburst of insanity below, and since I haven't even heard back from him, I just have to assume that there's not a single core programmer here, who's not backing nbohr's threats. ...and that's bad.
      ...so if you're a newbie reading this, or an honest soul like ZergRush, then just slowly back out of these forums, run, and don't look back. This is nothing more than a cult posing as a game development project, using Thief and IDTech4 to sucker hopefuls in, to do work for them, while trying to cajole them into something going on behind the scenes, which apparently - according to nbohr - is something that should be hidden from the state. These people aren't programmers - they don't even understand things like how to fix the simplest bugs. All they have, is an engine, and an IP, and some sort of fascist social cult. There was some other project I saw being made in the Unreal Engine. Try joining that project. ...or start a project of your own. Anything but this asylum.
      Hopefully that was "divisive" enough for a final post, because at this point I really want people to leave this place. This project is, on a management level, just awful garbage, run by garbage people, apparently from the top down, and I'm just glad that they have a garbage place to stay, together, and hopefully forever.
      Nort
      · 9 replies
    • The Black Arrow  »  Araneidae

      A spidey! I love spideys 🕷️
      · 0 replies
×
×
  • Create New...