From 743f3f3080fa917130ff63edab33adb348aaf317 Mon Sep 17 00:00:00 2001 From: KEKW555 <152369890+KEKW555@users.noreply.github.com> Date: Fri, 5 Jan 2024 17:57:16 +0530 Subject: [PATCH] Add Multi return syntatic sugar --- include/global.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/include/global.h b/include/global.h index 3cd7c1d0..dcb2a5b8 100644 --- a/include/global.h +++ b/include/global.h @@ -119,6 +119,21 @@ typedef struct { s8 y; } PACKED Coords8; +typedef union { + s64 DWORD; + u64 DWORD_U; + struct { + s32 LO, HI; + } HALF; + struct { + u32 LO, HI; + } HALF_U; +} SplitDWord; + +typedef u64 (*MultiReturnFunctionType)(); + +#define MULTI_RETURN_FUNCTION_CALL(func, ...) ((SplitDWord)((*(MultiReturnFunctionType)(&func))(__VA_ARGS__))) + union SplitWord { s32 WORD; u32 WORD_U;