Jump to content
The Dark Mod Forums

Object manipulation issue in Crucible of Omens


Tirek

Recommended Posts

Hi,

I've recently (with 2.07) got back into playing TDM and have been enjoying it immensely. That said, I'm having a strange issue in the Crucible of Omens campaign mission that I don't remember ever encountering in any other FM:

I'm having trouble picking objects up and manipulating them; it's fairly erratic, but it seems as if most of the time they get dropped immediately after being frobbed, which makes it impossible to reposition/manipulate them. This has gameplay implications as well, since it makes it impossible to snuff out candles.

I've been searching all over the forum for any other mention of this issue, but found nothing, other than a fairly old thread where someone suggested using a modified "de-clunking" build. I meant to link it here, but curiously, I haven't been able to find the topic again.

Looking forward to any suggestions. The mission is extremely well made otherwise and I would hate to have it spoiled by this bug.

Cheers!

 

Link to comment
Share on other sites

If you use "Uncapped FPS" in Video->Advanced settings, try turning it off.

The best thing would be if you upload a video recording of the problem. Otherwise, I'll probably try to reproduce it myself. Could you please report some particular place where you always have the problem (e.g. output of setviewpos command)?

By the way, could you please attach you darkmod.cfg file?

Link to comment
Share on other sites

Thanks for taking the time to look into this.

I'm not sure how much help a video would be... Even while playing, it took me while to recognise the nature of the issue. At first I even had a notion that it might be an intended mission-specific limitation.

Here's a description of what happens, assuming I have a weapon equipped (say, the blackjack):

I click my right mouse button while the object (say, a chair) is within frobbing distance and highlighted.

The object is grabbed (the blackjack lowers) for a very short duration of time that varies between barely perceptible and just enough to slightly move the object. Half a second at most.

After the aforementioned short duration of time, the object is dropped and (the blackjack reappears).

 

I've attached the files you requested. The condump was generated immediately after loading the quicksave, attempting (and failing) to lift the chair and getting the coordinates. I've also tried toggling the "Uncap FPS" option, with no apparent effect on the issue.

condump_CoO_bug.txt Darkmod.cfg

Link to comment
Share on other sites

I could not reproduce it locally. Here is the video: except for the case when I hit the table, I can lift and move chair normally.

There is a chance that the problem is caused by your savegame file. Could you attach it too? Did you try to start a new game, execute setviewpos 2812.2 -1174.9 565.25   52.7 -29.5 0.0, and check if the issue is present on a fresh game?

Another wild guess: could you execute com_forceGenericSIMD 1 in console and check if the issue is gone? Your CPU has different capabilities.

 

Link to comment
Share on other sites

I looked why it happens, and it turns out the the following function is buggy:

void idEntity::CheckCollision(idEntity* collidedWith)
{
    ...
    ...
	// Check everyone on my team.

	idEntity *bindMaster = GetBindMaster();
	idEntity *parent = NULL;
	while ( bindMaster != NULL )
	{
		parent = bindMaster;
		bindMaster = parent->GetBindMaster();
	}

	// If we found a parent, am I on the list of all children?
	if (parent)
	{
		idList<idEntity *> children;
		parent->GetTeamChildren(&children); // gets all children
		for ( int i = 0 ; i < children.Num() ; i++ )
		{
			idEntity *child = children[i];
			if ( child == this )
			{
				grabber->StopDrag();
				return;
			}
		}
	}
}

Interestingly, grabber drops any item because mill_cityguard_1 collides with func_static_1872, which happens to be in the list of children of its parent atdm_door_104x56_2hinge_1. Not sure yet what it means, but it is clear that this code forces player to drop item on completely unrelated collisions. I wonder why doesn't everyone have your problem, and how you got into this situation.

 

Link to comment
Share on other sites

I won't pretend to understand the code, as I have only minor experience with programming and certainly none with TDM codebase, or even C++ in general.

I'm not even sure that I understand your explanation; are you saying that collisions between objects elsewhere in the level can somehow cause the player to drop currently held objects? If so, does this happen only when the collisions involve specific combinations of entities? If that is the case, then I suppose I might have just been unlucky. I can't remember doing anything unusual in the level, except that I vaguely remember getting stuck on a piece of geometry and having to use noclip to free myself.

A pertinent question now is whether I can be of any further help, as well as whether I'm likely to keep encountering this bug in the future.

Link to comment
Share on other sites

10 hours ago, Tirek said:

are you saying that collisions between objects elsewhere in the level can somehow cause the player to drop currently held objects?

Ahem... yes 🥴

Quote

A pertinent question now is whether I can be of any further help, as well as whether I'm likely to keep encountering this bug in the future.

In future... update to TDM 2.08 when it is out.

For now, here is the way to resolve the problem on your save:

  1. Execute: notarget
  2. Execute: setviewpos 3505.6 688.81 116.25   23.8 -2.9 0.0
  3. You see the guy marching into a door? Take him out. Make sure his body does not touch this door. Hide it in darkness, or throw into water, so that nobody finds it.
  4. Execute: setviewpos 2842.95 -1065.07 565.25   -22.0 -102.1 0.0
  5. Execute: notarget
  6. Continue playing. You should be able to manipulate objects now.

I'm afraid it is not some specific action from your side, just some bad luck which led this guard into such situation. If you have this problem again, feel free to write here, and I'll find someone to kill to resolve the problem 😉

Link to comment
Share on other sites

There is something so delightfully odd about this problem and its "solution" makes for a hilarious mental image. TDM universe's own version of quantum entanglement phenomena... spooky action at a distance, indeed.

 

Anyway, thank you. I'm glad to have been of some help.

 

  • Like 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.

  • Recent Status Updates

    • 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
    • The Black Arrow

      Hope everyone has the blessing of undying motivation for "The Dark Mod 15th Anniversary Contest". Can't wait to see the many magnificent missions you all may have planned. Good luck, with an Ace!
      · 0 replies
×
×
  • Create New...