diff --git a/src/xenia/kernel/util/object_table.h b/src/xenia/kernel/util/object_table.h index f992b8b5f..f1f7e7d0d 100644 --- a/src/xenia/kernel/util/object_table.h +++ b/src/xenia/kernel/util/object_table.h @@ -38,10 +38,22 @@ class ObjectTable { template object_ref LookupObject(X_HANDLE handle) { auto object = LookupObject(handle, false); + if (object) { + assert_true(object->type() == T::kType); + } + auto result = object_ref(reinterpret_cast(object)); return result; } + // Generic lookup + template <> + object_ref LookupObject(X_HANDLE handle) { + auto object = LookupObject(handle, false); + auto result = object_ref(reinterpret_cast(object)); + return result; + } + X_STATUS AddNameMapping(const std::string& name, X_HANDLE handle); void RemoveNameMapping(const std::string& name); X_STATUS GetObjectByName(const std::string& name, X_HANDLE* out_handle);