diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/director/lingo/lingo.h | 8 | ||||
-rw-r--r-- | engines/fullpipe/utils.h | 8 |
2 files changed, 4 insertions, 12 deletions
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h index 6cf7ceb923..479f8855a9 100644 --- a/engines/director/lingo/lingo.h +++ b/engines/director/lingo/lingo.h @@ -92,12 +92,8 @@ struct Pointer_EqualTo { struct Pointer_Hash { uint operator()(const void *x) const { -#ifdef SCUMM_64BITS - uint64 v = (uint64)x; - return (v >> 32) ^ (v & 0xffffffff); -#else - return (uint)x; -#endif + uint x = static_cast<uint>(reinterpret_cast<uintptr>(v)); + return x + (x >> 3); } }; diff --git a/engines/fullpipe/utils.h b/engines/fullpipe/utils.h index bb8c9651da..e53db3d26a 100644 --- a/engines/fullpipe/utils.h +++ b/engines/fullpipe/utils.h @@ -38,12 +38,8 @@ struct Pointer_EqualTo { struct Pointer_Hash { uint operator()(const void *x) const { -#ifdef SCUMM_64BITS - uint64 v = (uint64)x; - return (v >> 32) ^ (v & 0xffffffff); -#else - return (uint)x; -#endif + uint x = static_cast<uint>(reinterpret_cast<uintptr>(v)); + return x + (x >> 3); } }; |