File tree Expand file tree Collapse file tree 2 files changed +21
-2
lines changed Expand file tree Collapse file tree 2 files changed +21
-2
lines changed Original file line number Diff line number Diff line change 36
36
#include <zlib.h>
37
37
38
38
#include "doomstat.h"
39
+ #include "doomtype.h"
39
40
#include "m_bbox.h"
40
41
#include "g_game.h"
41
42
#include "w_wad.h"
@@ -3288,6 +3289,18 @@ static void P_RemoveSlimeTrails(void) // killough 10/98
3288
3289
Z_Free (hit );
3289
3290
}
3290
3291
3292
+ // [crispy] fix long wall wobble
3293
+ static angle_t anglediff (angle_t a , angle_t b )
3294
+ {
3295
+ if (b > a )
3296
+ return anglediff (b , a );
3297
+
3298
+ if (a - b < ANG180 )
3299
+ return a - b ;
3300
+ else // [crispy] wrap around
3301
+ return b - a ;
3302
+ }
3303
+
3291
3304
static void R_CalcSegsLength (void )
3292
3305
{
3293
3306
int i ;
@@ -3301,6 +3314,12 @@ static void R_CalcSegsLength(void)
3301
3314
li -> halflength = (uint32_t )(length / 2.0 );
3302
3315
// [crispy] re-calculate angle used for rendering
3303
3316
li -> pangle = R_PointToAngleEx2 (li -> v1 -> px , li -> v1 -> py , li -> v2 -> px , li -> v2 -> py );
3317
+ // [crispy] more than just a little adjustment?
3318
+ // back to the original angle then
3319
+ if (anglediff (li -> pangle , li -> angle ) > ANG60 /2 )
3320
+ {
3321
+ li -> pangle = li -> angle ;
3322
+ }
3304
3323
}
3305
3324
}
3306
3325
Original file line number Diff line number Diff line change @@ -206,8 +206,8 @@ void R_FixWiggle(sector_t *sec)
206
206
207
207
static fixed_t R_ScaleFromGlobalAngle (angle_t visangle )
208
208
{
209
- int anglea = ANG90 + (visangle - viewangle );
210
- int angleb = ANG90 + (visangle - rw_normalangle );
209
+ angle_t anglea = ANG90 + (visangle - viewangle );
210
+ angle_t angleb = ANG90 + (visangle - rw_normalangle );
211
211
int den = FixedMul (rw_distance , finesine [anglea >> ANGLETOFINESHIFT ]);
212
212
// proff 11/06/98: Changed for high-res
213
213
fixed_t num = FixedMul (projectiony , finesine [angleb >> ANGLETOFINESHIFT ]);
You can’t perform that action at this time.
0 commit comments