6991
Recycle Bin / Re: Bug fix for parabolic projectile collisions
« on: September 06, 2016, 01:59:29 pm »
Thanks for the update.
I am also looking at this, but can spend only very little time on it now, so it goes slowly.
I think most of what has been said here is true and these are actual bugs.
The nature of the bugs however requires to proceed very carefully.
The fix you have provided will work in this case, but maybe there are other cases... for example object on level below will have height 21, not 23... which for the user is almost indistinguishable.
So instead of going one voxel up, I would probably leave the collision point as it is... and change the check of validity to accept both the target tile and one tile below as well.
This would not require any change in the "sensitive" methods.
I was also wondering, how these methods came to be... if Warboy wrote them from scratch... or if they were reverse-engineered. I almost believe they were reverse-engineered, because it's the "same" behavior as original. And if that's the case, I think the DEVs will not want to make any change there at all:
Just as examples:
1. same arc shot miss issue is in 1994 original ("best defense" against deep ones is just to stand diagonally to them... I remember as a kid they usually didn't kill my rookie aquanauts in no armor even though they stood right next to me and fired many times) ... which now makes sense.
2. as clownagent pointed out, it's not only new terrain that has this issue, but also some original terrain... which might even mean the original xcom developers "made this bug intentionally" so that it somehow works... but that's pure speculation.
I am now thinking how to check the various terrains (vanilla and terrain pack from hobbes) for these anomalies automatically. I'd like to see some statistics before deciding which "workaround" would be the best.
PS: and yes, in general I also think that bugs should be fixed, even if they cause other new issues... however I don't have access to source code of OXC and if I did bigger changes in OXCE+, I would have problems with merging later... that's why I am hesitant to do big refactorings and sometimes my changes look like "hacks/workarounds"... because they are.
PS2: Also, unrelated, that's why I am hesitant to merge bigger/complicated changes from other people into my branch... like for example FOV improvements from Stian. If it wasn't so damned good, I wouldn't take it purely because I don't understand it enough and wouldn't be able to fix merge conflicts later. Fortunately, Yankes took that change into OXCE as well... so the burden of merging will be on his shoulders
I am also looking at this, but can spend only very little time on it now, so it goes slowly.
I think most of what has been said here is true and these are actual bugs.
The nature of the bugs however requires to proceed very carefully.
The fix you have provided will work in this case, but maybe there are other cases... for example object on level below will have height 21, not 23... which for the user is almost indistinguishable.
So instead of going one voxel up, I would probably leave the collision point as it is... and change the check of validity to accept both the target tile and one tile below as well.
This would not require any change in the "sensitive" methods.
I was also wondering, how these methods came to be... if Warboy wrote them from scratch... or if they were reverse-engineered. I almost believe they were reverse-engineered, because it's the "same" behavior as original. And if that's the case, I think the DEVs will not want to make any change there at all:
Just as examples:
1. same arc shot miss issue is in 1994 original ("best defense" against deep ones is just to stand diagonally to them... I remember as a kid they usually didn't kill my rookie aquanauts in no armor even though they stood right next to me and fired many times) ... which now makes sense.
2. as clownagent pointed out, it's not only new terrain that has this issue, but also some original terrain... which might even mean the original xcom developers "made this bug intentionally" so that it somehow works... but that's pure speculation.
I am now thinking how to check the various terrains (vanilla and terrain pack from hobbes) for these anomalies automatically. I'd like to see some statistics before deciding which "workaround" would be the best.
PS: and yes, in general I also think that bugs should be fixed, even if they cause other new issues... however I don't have access to source code of OXC and if I did bigger changes in OXCE+, I would have problems with merging later... that's why I am hesitant to do big refactorings and sometimes my changes look like "hacks/workarounds"... because they are.
PS2: Also, unrelated, that's why I am hesitant to merge bigger/complicated changes from other people into my branch... like for example FOV improvements from Stian. If it wasn't so damned good, I wouldn't take it purely because I don't understand it enough and wouldn't be able to fix merge conflicts later. Fortunately, Yankes took that change into OXCE as well... so the burden of merging will be on his shoulders