View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005157 | The Dark Mod | Physics | public | 17.02.2020 04:47 | 17.02.2020 05:09 |
Reporter | stgatilov | Assigned To | stgatilov | ||
Priority | normal | Severity | normal | Reproducibility | sometimes |
Status | resolved | Resolution | fixed | ||
Product Version | TDM 2.07 | ||||
Target Version | TDM 2.08 | Fixed in Version | TDM 2.08 | ||
Summary | 0005157: Random collisions force player to drop held item | ||||
Description | Reported on forums here: https://forums.thedarkmod.com/index.php?/topic/20254-object-manipulation-issue-in-crucible-of-omens/&tab=comments#comment-443685 Basically, after some gameplay on Behind Closed Doors FM the player cannot hold/manipulate any item. It gets auto-dropped half-a-second after player takes it. The issue persists in a save file, but disappears after mission restart. Initially I thought that the objects somehow got into the floor under them, but it is not the problem. | ||||
Steps To Reproduce | Boot TDM 2.07 hotfix, and load the attached save on Behind Closed Doors FM. Try to lift chair or candle: they are dropped very fast, you cannot move them normally. | ||||
Tags | No tags attached. | ||||
Attached Files | |||||
Here is stack trace which forces the drops: > TheDarkModx64.exe!idEntity::CheckCollision(idEntity * collidedWith) Line 13680 C++ TheDarkModx64.exe!idAI::CheckTactile() Line 11730 C++ TheDarkModx64.exe!idAI::Think() Line 2528 C++ TheDarkModx64.exe!idGameLocal::RunFrame(const usercmd_t * clientCmds) Line 3424 C++ TheDarkModx64.exe!idSessionLocal::RunGameTic() Line 2954 C++ [Inline Frame] TheDarkModx64.exe!idSessionLocal::RunGameTics() Line 3022 C++ TheDarkModx64.exe!idSessionLocal::ActivateFrontend() Line 3118 C++ TheDarkModx64.exe!idRenderSystemLocal::EndFrame(int * frontEndMsec, int * backEndMsec) Line 613 C++ TheDarkModx64.exe!idSessionLocal::UpdateScreen(bool outOfSequence) Line 2654 C++ TheDarkModx64.exe!idCommonLocal::Frame() Line 2478 C++ Looking into idEntity::CheckCollision, I see: + this 0x00000290d84de964 Entity "func_static_1872": num=2131 def=45 idEntity * {idStaticEntity} + collidedWith 0x00000290d847e014 Entity "mill_cityguard_1": num=1929 def=173 idEntity * {idAI} + parent 0x00000290d822d7a4 Entity "atdm_door_104x56_2hinge_1": num=2144 def=1714 idEntity * {CFrobDoor} - children [2] { 0x00000290d84de964 Entity "func_static_1872": num=2131 def=45, 0x00000290d82ec354 Entity "atdm_handle_curved_rotate_double_right_1": num=2145 def=1747 } idList<idEntity *> + [0] 0x00000290d84de964 Entity "func_static_1872": num=2131 def=45 idEntity * {idStaticEntity} + [1] 0x00000290d82ec354 Entity "atdm_handle_curved_rotate_double_right_1": num=2145 def=1747 idEntity * {CFrobDoorHandle} The drop happens on the last StopDrag call. Apparently, the code here is wrong, since it does not take entHeld into account at all. |
|
Fixed in svn rev 8592. | |
Date Modified | Username | Field | Change |
---|---|---|---|
17.02.2020 04:47 | stgatilov | New Issue | |
17.02.2020 04:47 | stgatilov | Status | new => assigned |
17.02.2020 04:47 | stgatilov | Assigned To | => stgatilov |
17.02.2020 04:47 | stgatilov | File Added: quicksave.7z | |
17.02.2020 04:50 | stgatilov | Note Added: 0012216 | |
17.02.2020 05:03 | stgatilov | Relationship added | related to 0003516 |
17.02.2020 05:09 | stgatilov | Note Added: 0012218 | |
17.02.2020 05:09 | stgatilov | Status | assigned => resolved |
17.02.2020 05:09 | stgatilov | Resolution | open => fixed |
17.02.2020 05:09 | stgatilov | Fixed in Version | => TDM 2.08 |