diff options
| author | Anghelo Carvajal <angheloalf95@gmail.com> | 2023-06-24 04:40:26 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-06-24 18:40:26 +1000 |
| commit | 9b341a4d6a721b46baa81ee2f47815b6073f5096 (patch) | |
| tree | e1c5794f5111d3db2d628b8590e1c5a1b4b34d12 /include | |
| parent | 19da43859e700a3f312133130e9d897b33e5f389 (diff) | |
A few UB fixes (#1272)
* Fix OoB in ObjDriftie
* Fix OoB in EnHorseLinkChild
* Fix negative shift in jpegdecode
* more oob fixes
* AVOID_UB
* clean
* huh?
* change viint.h macros
* objdriftice
* ub labelling
* review
* review
* fix z_parameter arrays
* u32 cast
* missing &
Diffstat (limited to 'include')
| -rw-r--r-- | include/ultra64/viint.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/include/ultra64/viint.h b/include/ultra64/viint.h index 4fea2259a..6f61307eb 100644 --- a/include/ultra64/viint.h +++ b/include/ultra64/viint.h @@ -17,17 +17,17 @@ // For use in initializing OSViMode structures #define BURST(hsync_width, color_width, vsync_width, color_start) \ - (hsync_width | (color_width << 8) | (vsync_width << 16) | (color_start << 20)) -#define WIDTH(v) v -#define VSYNC(v) v -#define HSYNC(duration, leap) (duration | (leap << 16)) -#define LEAP(upper, lower) ((upper << 16) | lower) -#define START(start, end) ((start << 16) | end) + (((u32)(hsync_width) & 0xFF) | (((u32)(color_width) & 0xFF) << 8) | (((u32)(vsync_width) & 0xF) << 16) | (((u32)(color_start) & 0xFFFF) << 20)) +#define WIDTH(v) (v) +#define VSYNC(v) (v) +#define HSYNC(duration, leap) (((u32)(leap) << 16) | ((u32)(duration) & 0xFFFF)) +#define LEAP(upper, lower) (((u32)(upper) << 16) | ((u32)(lower) & 0xFFFF)) +#define START(start, end) (((u32)(start) << 16) | ((u32)(end) & 0xFFFF)) -#define FTOFIX(val, i, f) ((u32)(val * (f32)(1 << f)) & ((1 << (i + f)) - 1)) +#define FTOFIX(val, i, f) ((u32)((val) * (f32)(1 << (f))) & ((1 << ((i) + (f))) - 1)) #define F210(val) FTOFIX(val, 2, 10) -#define SCALE(scaleup, off) (F210((1.0f / (f32)scaleup)) | (F210((f32)off) << 16)) +#define SCALE(scaleup, off) (F210((1.0f / (f32)(scaleup))) | (F210((f32)(off)) << 16)) #define VCURRENT(v) v #define ORIGIN(v) v |
