fgsfdsfgs / perfect_dark

work in progress port of n64decomp/perfect_dark to modern platforms
MIT License
1.22k stars 75 forks source link

Elvis no longer reacts in Deep Sea: Nullify Threat #151

Closed bacyco closed 1 year ago

bacyco commented 1 year ago

He follows you like he should, but he won't dodge bullets, instead absorbing them and refuses to react to being shot. Enemies with or without the cloak elicit 0 reaction from him whatsoever. Beforehand he reacted almost instantly when he saw someone uncloaking or enter his field of view.

Relevant link https://youtu.be/o0RKDJ9f7RU

fgsfdsfgs commented 1 year ago

Wonder if this started happening after #134. Can you test on these builds?

bacyco commented 1 year ago

I currently don't have Linux installed, but he behaves far closer to his N64 counterpart in the Windows build within the link you provided.

fgsfdsfgs commented 1 year ago

It would likely be the same on Linux, thanks for checking. I suppose we'll need a different solution then.

bacyco commented 1 year ago

I meant he behaves more correctly in the provided build. He acts more like I would expect him to react on an actual n64. sorry if I worded that wrong in the last post.

fgsfdsfgs commented 1 year ago

No, I understand, I was referring to the issue that #134 was trying to solve.

bacyco commented 1 year ago

oh, my misunderstanding. thank you for all your hard work though!

Phnod commented 1 year ago

Oh dang, I'll take a look into this.

Phnod commented 1 year ago

This is an interesting one, Elvis calls the bottom path of chrHasLosToPosWasteful because they have the CHRFLAG1_NOOP_00200000 flag, which I'm not sure what that flag represents. Even if they didn't have that flag though Elvis is able to see and target enemies behind him in the original game, which the new angle check would prevent. Currently testing to see if having chrHasLosToProp use chrHasLosToPos instead of chrHasLosToPosWasteful would have any regressions. Though if the original chrHasLosToPosWasteful function just called chrHasLosToPos either way, it'd be interesting to see if there somehow was a regression. I'm worried this is entering hacky territory though, and there might be a better solution to the guard line of sight problem to begin with.

fgsfdsfgs commented 1 year ago

Okay, thank you for investigating. I guess I'll roll back the change for now.

fgsfdsfgs commented 1 year ago

I'll close this and reopen the old issue.