From 8b0c47c1dbc5034d46877781567093dc7f132d3a Mon Sep 17 00:00:00 2001 From: jaby Date: Fri, 6 Oct 2023 14:50:44 +0200 Subject: [PATCH] Replace define private with __friends --- include/PSX/File/Processor/file_processor.hpp | 4 ++-- include/PSX/Timer/frame_timer.hpp | 2 +- include/PSX/Timer/high_res_timer.hpp | 2 +- include/PSX/jabyengine_defines.h | 4 ++++ src/Library/Library.code-workspace | 3 ++- src/Library/Makefile | 2 +- src/Library/src/BootLoader/timer_boot.cpp | 2 -- src/Library/src/File/Processor/simplehelper.hpp | 2 -- src/Library/src/GPU/gpu.cpp | 3 --- src/Library/src/Timer/high_res_timer.cpp | 2 -- 10 files changed, 11 insertions(+), 15 deletions(-) diff --git a/include/PSX/File/Processor/file_processor.hpp b/include/PSX/File/Processor/file_processor.hpp index e60b8482..a0110f60 100644 --- a/include/PSX/File/Processor/file_processor.hpp +++ b/include/PSX/File/Processor/file_processor.hpp @@ -5,7 +5,7 @@ namespace JabyEngine { namespace FileProcessor { class State { - private: + __friends: struct Reserved { uint32_t reserved[4]; }; @@ -33,7 +33,7 @@ namespace JabyEngine { } }; - private: + __friends: Configuration config; Reserved reserved; diff --git a/include/PSX/Timer/frame_timer.hpp b/include/PSX/Timer/frame_timer.hpp index 251f644f..d3bb0716 100644 --- a/include/PSX/Timer/frame_timer.hpp +++ b/include/PSX/Timer/frame_timer.hpp @@ -5,7 +5,7 @@ namespace JabyEngine { class MasterTime { - private: + __friends: static uint32_t value; public: diff --git a/include/PSX/Timer/high_res_timer.hpp b/include/PSX/Timer/high_res_timer.hpp index 1621838f..d3aa88be 100644 --- a/include/PSX/Timer/high_res_timer.hpp +++ b/include/PSX/Timer/high_res_timer.hpp @@ -54,7 +54,7 @@ namespace JabyEngine { friend class HighResTime; }; - private: + __friends: static constexpr uint16_t TicksFor100us = CPUTicks::ticks_per_us(CPUTicks::Frequency_Hz_Div8, 100.0); static constexpr uint16_t TicksFor1ms = CPUTicks::ticks_per_ms(CPUTicks::Frequency_Hz_Div8, 1.0); static constexpr uint16_t TicksFor10ms = CPUTicks::ticks_per_ms(CPUTicks::Frequency_Hz_Div8, 10.0); diff --git a/include/PSX/jabyengine_defines.h b/include/PSX/jabyengine_defines.h index b5be8173..53433d59 100644 --- a/include/PSX/jabyengine_defines.h +++ b/include/PSX/jabyengine_defines.h @@ -10,6 +10,10 @@ #define __section(name) __attribute__((section(name))) #define __collect(...) __VA_ARGS__ +#ifndef __friends + #define __friends private +#endif //!__friends + #ifdef __cplusplus #define __constexpr constexpr #define START_C_FUNCTIONS extern "C" { diff --git a/src/Library/Library.code-workspace b/src/Library/Library.code-workspace index 7a95da37..1833c689 100644 --- a/src/Library/Library.code-workspace +++ b/src/Library/Library.code-workspace @@ -62,7 +62,8 @@ "C_Cpp.default.compilerArgs": [ ], "C_Cpp.default.defines": [ - "JABYENGINE_PAL" + "JABYENGINE_PAL", + "__friends=public" ], "files.exclude": { "**/*.o": true, diff --git a/src/Library/Makefile b/src/Library/Makefile index 3bade11d..216c4597 100644 --- a/src/Library/Makefile +++ b/src/Library/Makefile @@ -7,7 +7,7 @@ BUILD_DIR = bin SPLASH_IMAGE = src/BootLoader/splash_image_pal_boot.hpp SPLASH_IMAGE_NTSC = src/BootLoader/splash_image_ntsc_boot.hpp -CCFLAGS += -Iinclude -I../../include +CCFLAGS += -Iinclude -I../../include -D__friends=public CCFLAGS += -save-temps=obj include ../../lib/Wildcard.mk diff --git a/src/Library/src/BootLoader/timer_boot.cpp b/src/Library/src/BootLoader/timer_boot.cpp index e0be68fa..b5ab4e07 100644 --- a/src/Library/src/BootLoader/timer_boot.cpp +++ b/src/Library/src/BootLoader/timer_boot.cpp @@ -1,8 +1,6 @@ #include #include -#define private public #include -#undef private namespace JabyEngine { namespace Timer { diff --git a/src/Library/src/File/Processor/simplehelper.hpp b/src/Library/src/File/Processor/simplehelper.hpp index bdcfcae5..a04de427 100644 --- a/src/Library/src/File/Processor/simplehelper.hpp +++ b/src/Library/src/File/Processor/simplehelper.hpp @@ -1,8 +1,6 @@ #ifndef __JABYENGINE_INTERNAL_SIMPLE_HELPER_HPP__ #define __JABYENGINE_INTERNAL_SIMPLE_HELPER_HPP__ -// Instead of using friend we use this to access the private members -#define private public #include namespace JabyEngine { diff --git a/src/Library/src/GPU/gpu.cpp b/src/Library/src/GPU/gpu.cpp index e9029b29..64f81e53 100644 --- a/src/Library/src/GPU/gpu.cpp +++ b/src/Library/src/GPU/gpu.cpp @@ -1,8 +1,5 @@ #include "../../internal-include/GPU/gpu_internal.hpp" -// We need to access the master time -#define private public #include -#undef private #include #include diff --git a/src/Library/src/Timer/high_res_timer.cpp b/src/Library/src/Timer/high_res_timer.cpp index 71037176..8b81b63c 100644 --- a/src/Library/src/Timer/high_res_timer.cpp +++ b/src/Library/src/Timer/high_res_timer.cpp @@ -1,8 +1,6 @@ -#define private public #include #include #include -#undef private namespace JabyEngine { volatile uint16_t HighResTime :: global_counter_10ms = 0;