95d6d9c3f9
32-bit builds fail due to the following error. Apply a patch from master to fix the issue. [ 25%] Building CXX object plugins/gtav/CMakeFiles/gtav.dir/gtav.cpp.o In file included from /build/source/plugins/gtav/Game.h:9, from /build/source/plugins/gtav/gtav.cpp:6: /build/source/plugins/gtav/structs.h:218:37: error: static assertion failed 218 | static_assert(sizeof(CCameraAngles) == 0x408, ""); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /build/source/plugins/gtav/structs.h:218:37: note: the comparison reduces to '(1028 == 1032)' Signed-off-by: Felix Singer <felixsinger@posteo.net>
31 lines
900 B
Diff
31 lines
900 B
Diff
From 13c051b36b387356815cff5d685bc628b74ba136 Mon Sep 17 00:00:00 2001
|
|
From: Davide Beatrici <git@davidebeatrici.dev>
|
|
Date: Thu, 1 Sep 2022 23:32:57 +0200
|
|
Subject: [PATCH] FIX(positional-audio): Force 8 bytes alignment for
|
|
CCameraAngles in GTAV plugin
|
|
|
|
https://en.cppreference.com/w/cpp/language/alignas
|
|
|
|
This fixes compilation when the implicit alignment is not 8 bytes.
|
|
|
|
It can be the case with 32 bit targets.
|
|
---
|
|
plugins/gtav/structs.h | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/plugins/gtav/structs.h b/plugins/gtav/structs.h
|
|
index 2829dc11e..0e4f76eda 100644
|
|
--- a/plugins/gtav/structs.h
|
|
+++ b/plugins/gtav/structs.h
|
|
@@ -118,7 +118,7 @@ struct CCameraManagerAngles {
|
|
ptr_t cameraAngles; // CCameraAngles *
|
|
};
|
|
|
|
-struct CCameraAngles {
|
|
+struct alignas(8) CCameraAngles {
|
|
uint8_t pad1[960];
|
|
ptr_t playerAngles; // CPlayerAngles *
|
|
uint8_t pad2[60];
|
|
--
|
|
2.38.5
|
|
|